User:Lucas Brooks/ThemeTool
Developer(s) | Lucas Brooks |
---|---|
Operating system | Longhorn |
Latest release version | 0.00-debug-24 (Internal) |
Latest release date | N/A |
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.