zondag 16 december 2007

CardGames.dll Demystified

Recently I discovered that a lot of people are searching for answers on the mysterious CardGames.dll file, found in the system32 folder of any Windows Vista installation.

As I already suspected, this file acts as a resource container and does not contain or expose functionality to the outside world.

I downloaded a tool called XN Resource Editor to take an extensive look at the contents of CardGames.dll.

First thing I noticed is the root of the resources: It consists of Version information and a folder called DATA. Under DATA the following structure can be found:

  • DATA
    various XML files.

    • Animations
      various XML files describing the animations available.
    • Audio
      XML file describing the various sound files.

      • Sfx
        various WMA sound files.

    • Backgrounds
      XML, JPG and PNG files, combined to backgrounds of the different card games.
    • Decks
      XML and PNG files describing the different decks available.
    • DialogMce
      XML and PNG files for User Interface building.
    • Layouts
      XML files for User Interface layout of different card games.
    • Sheets
      CAB and JPG files with the different decks available.
    • Tips
      XML files with tooltip information and game help.

      • Styles

        • Green
        • Red
        • White

      • Freecell
      • Hearts
      • Solitaire
      • SpiderSolitaire