![]() ![]() This way you can get perfect results without the need of Longhorn's uxtheme.dll. Since I now have a working theme decompiler, a better way to port those themes is to decompile them back to INIs and recompile with the leaked Windows XP packthem app. Most Longhorn themes were ported to Windows XP by replacing Luna's resources with ones from Longhorn themes. Theme Decompilation/Porting to Windows XP I believe the theme compiler automatically assigns resource IDs upon the compilation of a theme file. Finally, the theme resources such as bitmaps and streams are referred by the VARIANTs as IDs, instead of names like in Windows XP. There are a few basic types defined in STBL (like int, bool, font, etc.), each with a different size (some are variable). Class ID will always be interpreted as something, and the rest can be zero. Finally, the state ID will again be used to work out the state (like normal, hovered or pressed) each section represents. The part ID will be compared against the values defined in STBL to work out the part (like checkbox, background) that section belongs to. The class ID will be used by the theme engine to work out which class that section belongs to, and class names are stored in a binary image named CMAP (Class Map). Each section is equivalent to a line in an INI file, and contains name, type, class ID, part ID, and state ID. VARIANT files are headerless, and can be broken into individual sections. ![]() The actual theme files are stored as VARIANTs and they are named as SIZE + COLOR SCHEME. The size and color scheme names are in a plain binary image named VMAP (Variant Map). VARIANT is the binary representation of INI. In Longhorn, they are mostly in a VARIANT called RMAP. In Windows XP, the information about a theme (name, author, date, blah blah blah), sizes and color schemes are defined in themes.ini. I guess Microsoft moved to a binary format for performance improvements and to prevent unauthorized modifications/decompilation. The biggest difference between the two is Microsoft Longhorn themes are mostly binary, whereas Windows XP themes are largely plaintext. A theme can have multiple sizes and color schemes defined, and the theme engine will load your desired size/color scheme. The underlying principles of the theme format, however remained the same. The theme format (.msstyles) changed fundamentally compared to Windows XP, even with the earliest leaked build of Microsoft Longhorn. INIs and resources (like Windows XP themes). msstyles decompiler, that can turn compiled packthem v4 themes into. I did a bit of research on Longhorn's theme format, and figured out some things perhaps never fully documented before. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |