DICT files are 1'024-byte long files that contain the 'Huffman dictionary' used to decompress a game's data. They are used by Keen Dreams and Keen Galaxy and come in three kinds, depending on what data is being dealt with:
- AUDIODCT: Used in conjunction with audio data.
- EGADICT: Used in conjunction with graphics data.
- MAPDICT: Used in conjunction with map data. (Keen Dreams only)
By default the dictionaries are internal, stored in the game executable. It is possible to modify the data without altering the method of its compression, in which case the dictionaries do not need to be patched. However some programs do alter the compression, in which case an external DICT file must be created. (E.g. EGADICT.CK4)
Location of dictionaries
Like most 'internal files' the location of the dictionaries depends on a pointer stored elsewhere in the executable. In the case of the dictionaries this is an offset from the start of the 'data segment'. Each dictionary cannot overlap with another (So the same dictionary cannot be used for two different types of data.)
|Patch: Huffman dictionary calls|
Don't compress data\need dictionaries
Certain graphics and sound programs (Notably KeenWave and Keengraph) produce 'minimally compressed' data, that is, data that is essentially uncompressed but still adheres to the basic compression schematic. If all of a game's data is 'compressed' in this manner then all the compression does is slow loading times.
As such it is possible to remove the compression entirely, replacing it with code that simply copies the input to the output. Doing so greatly decreases loading times as well as freeing up code space. This does however require that all data is treated this way, which is only the case when certain specific programs are used.
|Patch: Totally remove Huffman compression|