User:Lucas Brooks/ThemeTool

ThemeTool
Placeholder.png
Type
Developer(s)Lucas Brooks
Operating systemLonghorn
Supported platforms
Initial release version
Initial release date
Latest release version0.00-debug-24 (Internal)
Latest release dateN/A
Latest pre-release version
Latest pre-release date
Other name(s)
License
Website
Succeeds
Successor

ThemeTool is a tool to decompile and recompile visual styles for Microsoft Longhorn (and potentially Windows Vista - Windows 11). Unlike all other visual style tools, ThemeTool is a decompiler/recompiler instead of an editor. ThemeTool turns the visual style into plain text .ini files and can turn .ini files back to a .msstyles file. Full theme decompilation and recompilation gives people the ability to add/remove sections, change class names and even recompile the theme for a different version of Windows. ThemeTool used to be called LHThemeDump before the implementation of theme recompilation. Currently only mid-late pre-reset and early post-reset Longhorn themes can be decompiled/recompiled, but the tool internally supports all packthem v4 .msstyles files with embedded symbols.

Features[edit | edit source]

ThemeTool is a command-line application, but in the future there will be a GUI version as well. Currently there are 5 options:

ThemeTool by Lucas Brooks - Compiles and decompiles Longhorn .msstyles files.

ThemeTool [filename] [/C] [/L] [/D] [/X] [/E]

[filename]  Specifies the file to compile/decompile.
  /C          Compiles a Longhorn theme.
  /L          Compiles a ThemeTool XML output.
  /D          Decompiles a Longhorn .msstyles file to .ini files.
  /X          Decompiles a Longhorn .msstyles file to recompilable .xml files.
  /E          Extract resources such as bitmaps and streams.

Only /D and /C are currently supported. Bitmap resources extracted may not be
correct, please use a different tool for that.

Only /C and /D will be supported in the initial public release of this tool. /C takes a Theme Project file in the .themeproj format and /D takes a packthem v4 theme with 8-byte alignment and an embedded symbol table. .themeproj is a format only compatible with ThemeTool and cannot be used with Microsoft's Theme Packager (packthem). There will be no theme signing support.

Theme Project Format[edit | edit source]

ThemeTool Project 0.00

; Use ThemeTool by Lucas Brooks to build this theme project.
; Please do not modify sections other than General.

[General]
; Defines the file to be used as the 'root map'.
RootMap = themes.ini

; Defines the private symbol table.
SymTable = symbols.csv

; Defines the list of public symbol tables.
PublicSymTables = public1.csv, public2.csv

; Defines the binary resource type, BLOB or STREAM.
BinaryType = BLOB

; Defines Theme Packager version.
PackThemVer = 4

; Defines minimum color depth.
MinColorDepth = 15

; Defines the output file.
Filename = aero.mst

; Defines the class inheritance table.
ClassData = class.csv

; Defines whether or not to sign the theme. Internal only.
SignTheme = false


;Sections for different 'variants'. Should not be modified.

[NormalDefault]
NamePad = 1
Size = Normal
SizePad = 0
Color = Default
ColorPad = 0
File = Aero\NormalDefault.ini

[LargeFontsDefault]
NamePad = 1
Size = Large
SizePad = 1
Color = Default
ColorPad = 0
File = Aero\LargeFontsDefault.ini

[ExtraLargeDefault]
NamePad = 1
Size = ExtraLarge
SizePad = 0
Color = Default
ColorPad = 0
File = Aero\ExtraLargeDefault.ini

Download[edit | edit source]

This project is not available for download yet.