GEX format

From ENIGMA

Jump to: navigation, search

The GEX is an installable Game Maker Extension Package containing the GED and DAT, albeit encrypted. A DAT is simply the DLL, Scripts, or whatever, encrypted, compressed, and prefixed with some header information.

Generally a user opens Game Maker, goes to Extensions, clicks the Install Button to manage their extensions, and then clicks the Install button to locate and add a new extension via the GEX file. Game Maker then decrypts and splices the file into their own component GED and DAT files, and stores them in C:\Users\Owner\AppData\Local\VirtualStore\Program Files\Game Maker 8\extensions\ (note that Owner is your username, AppData is a hidden folder, and Game Maker 8 is whatever folder name your respective GM version decides to use). The filenames follow the GED's Name field, with either the .ged or .dat extension thrown on.

Please note again that the Raw DAT File here is simply the DLL or scripts or whatever, and should not be confused with a DAT, which includes header information prior to the zlib compressed contents of the Raw DAT File. For example, suppose you have a DLL and you make an extension for it. The DLL then is the Raw DAT File. It becomes zlib compressed, giving us a Zlib Compressed Raw DAT File. This is then used twice - once in the GEX, in which case it is thrown on the end after the header info and GED - and the second time in the DAT file, where it is simply prefixed with some header information (the seed and zlib compressed size).


Standard Format info applies here. See also GMKrypt, although only the seed and lookup table are used.

GEX

File format identifier (1234321)
GM version (701)
Seed (randomly generated)
<The remainder of file is GMKrypted with the lookup table>
{ GED with Editable set to 0 }
Size of ZLib Compressed Raw DAT File { ZLib Compressed Raw DAT File }

DAT

Seed (randomly generated)
<The remainder of the file is GMKrypted with the lookup table>
Size of ZLib Compressed Raw DAT File { ZLib Compressed Raw DAT File }
Personal tools
Namespaces
Variants
Actions
Navigation
ENIGMA
Other
Toolbox