Messenger Plus! Live - Skinning Documentation

Being able to replace the resources of Messenger is not enough to make a complete skinning system. You have to know what to replace exactly and the effects it will have on other windows of the program. Remember that a single image can be used in many places so you can't arbitrarily change one picture for one window without considering the global impact of the modification.

For that reason, Messenger Plus! offers a special feature integrated in Messenger called the Resource Extractor. As its name implies, this feature extracts all the resources from your version of Messenger, however, it does not stop there. The resources are also categorized, decrypted, analyzed and reformatted to be more understandable. All of this is done automatically and the whole process takes about a minute to complete.

The Resource Extractor can be found in the Preferences panel of Messenger Plus! (Customize!\Skins section). By default, all the resources will be extracted in a new directory in your documents, named with the version string of your Messenger. The only option not enabled by default concerns Messenger Plus!'s own resources. Leave this option unchecked until you read the Skinning Messenger Plus! Itself (keep that one for a later date). Also, note that if a hard-patch skin (a skin not made for Messenger Plus!) is installed on your Messenger, its resources will be extracted the same way but some of the more advanced analyses may not be achieved properly.

Resource Extraction

Once the resources are extracted, the log file of the operation called Extraction Log is automatically opened. You can quickly verify if everything went well by checking the last line of the log. This file sums-up some primary information regarding the extraction: version of Messenger Plus!, version and language of Messenger, number of resources extracted grouped by categories, result of each consolidation operation along with the name of the associated window if available, and finally, the number of pictures that were cross-referenced to generate the Picture Map file.

Directories and sub-directories are created for clarity reasons. Overall, you'll find four different kinds of files in these directories:

RLE Encrypted Files

One thing that discouraged many skinners in the recent releases of Messenger is the use of a proprietary RLE encryption system for pictures. Fortunately, Messenger Plus! deals with this and can successfully decrypt most of the encrypted files. In most cases, Messenger accepts both encrypted and un-encrypted picture files in its windows which means that you don't need to worry about the need to re-encrypt your pictures when replacing encrypted content. Most of the pictures decrypted by Messenger Plus! are not named in a particular way so you won't even know if the file was previously encrypted or not. Here are the known limitations of the current decryption system:

Consolidation of Windows Files

If you're among the more experienced skinners (or are working toward this goal), the consolidated windows files are exactly what you'll need to study to create skins that are truly different from the original Messenger layout. This subject is discussed in details in the Windows Definitions and Styles section. Here, you'll find a list of what exactly Messenger Plus! does to the files to make them more understandable. In the Consolidated Windows directory, you'll find a sub-directory for each window. If the name of the window is available in the style file, it is added to the name of the directory. For each window, a modified version of the definition file and the style sheet file is copied along with the associated pictures.

Note that because Messenger uses ANSI encoding for its style and definition files, string replacements applied in Messenger versions using extended character sets (such as Japanese) will produce files that are not readable by Messenger (the files will possibly be accepted on some systems and not others). In that case, Messenger won't be able to read the modified files if specified in a skin, the strings will need to be kept separated from those files.

Except for some minor limitations (like explained above), it is interesting to note that the consolidated versions of definition and style files are created to stay compatible with Messenger. This means that if needed, you can do your changes in the consolidated version of the file and use it in your skin without any problem. That being said, it is recommended to use this practice for testing purposes only, especially for style sheet files. Public versions of your skin should use the original raw version of the files with the appropriate modifications included into them. This ensures that compatibility with localized versions of Messenger (as well as with future updates) is kept at its maximum.

Final Word

Although this section of the documentation may seem quite technical, you'll quickly get used to it while working on your skins. Don't give it too much thoughts in the beginning and just use this page as a reference when needed. All you need to remember is that you can count on Messenger Plus! to extract the resources of Messenger and present them to you in the best possible way. The main reason you'll generally want to look at the extracted files is to get the id of a resource you want to modify, whether it's a string, a picture, a window definition or anything else belonging to Messenger.

With that in mind, you're now ready to create your very first skin!

See Also

Introduction to Skinning, Your First Skin.