NeoLemmix SYSTEM.DAT Format

The SYSTEM.DAT file is used by Flexi players to hold various information about the pack. Note that the format is identical for both NeoLemmix Flexi and traditional Lemmix Flexi, but certain settings may only apply to one or the other. Note that even data that is unused, the bytes for it must still be present - they are not skipped. However, their value is ignored, so they can be left as 00 for binary data (or left off for bitwise settings) or blanked out with spaces for text data; they don't need to contain an actual value of any kind.

All plaintext values should be padded with spaces (0x20).

OffsetData
0x0000Pack name. Plaintext, 32 characters.
0x0020Second text line on title screen. Plaintext, 32 characters.
0x0040Rank names. 15 rank names (regardless of how many the pack actually uses), plaintext, 16 characters each.
0x0130Number of ranks. Do not include ghost ranks (ie: ranks containing levels used solely for oddtabling).
0x0131Number of secret levels in each rank, 15 bytes (1 per rank). If this exceeds the total number of levels in a rank, the rank will be marked as a secret rank; note that setting the first rank as a secret rank may have glitchy results.
This byte is ignored in traditional Lemmix.
0x0140Number of music tracks in standard rotation. You can have other tracks beyond this (by specifying the exact track number in a level's data).
0x0141Code seed. This number is used to generate level codes, and in replay security checks.
0x0142Cheat code. Plaintext, 10 characters.
0x014COptions flags bytes. See below for info. 4 bytes.
0x0150Game texts. There are 58 texts, see below for a list. Each text is 36 characters.
0x0978Graphic set names. 256 names, 16 characters each. The first corresponds to GROUND0O.DAT / VGAGR0.DAT, the second to GROUND1O.DAT / VGAGR1.DAT, and so on.
These are ignored in traditional Lemmix.
0x1978VGASPEC names. 256 names, 16 characters each. The first should be set to "none". The second corresponds to VGASPEC0.DAT, the third to VGASPEC1.DAT, and so on.
These are ignored in traditional Lemmix.

Options Flags Bytes
Each bit corresponds to a certain option, or in some cases one option may be spread over multiple bits. Note that for the bit ordering here, the bytes should be read as little-endian; ie: the first byte is the least significant. The usual bit order applies; ie: Bit0 refers to the lowest bit of the first byte.
BitOption
Bit0Enables the "Look For LVL Files" option
Bit1Enables saving the status of cheat mode in the INI file (traditional) or save file (Neo)
Bit2Enables accessing secret levels via cheat codes (ignored in traditional)
Bit3Enables the replay security checks (ignored in traditional)
Bit4Uses the traditional-style timed bombers (this setting is observed by both traditional and Neo!)
Bit5Enables "Extra Modes" (Challenge Mode, Debug Steel, etc) (ignored in traditional)
Bit6Enables Autosteel and Ignore Levelsteel options on all levels (ignored in traditional)
Bit7Enables Simple Autosteel on all levels (ignored in traditional)
Bit8Fixes the one-way-right miner glitch (ignored in Neo)
Bit9Uses the Xmas Palette for the menu, lemmings and skill panel
Bit10Centers the skill count if it's a single-digit number (ignored in traditional)
Bit11
Bit12
Should be read as a 2-bit value; sets the default percentage mode (but does not prevent the user from changing to their own preference).
0 or 3: Cloner-Adjusted Percentages
1: Lemming Counts (no percentages)
2: Standard Percentages
Bit13Disables the bomber mask symmetry fix (ignored in traditional)
Bit14Uses the Orig/OhNo fall distance rather than the CustLemm one (ignored in Neo)
Bit15Uses the Orig entrance order (A/B/B/A) on two-entrance levels (ignored in Neo)
Bit16Entrances spawn lemmings at X=24 instead of X=25 (ignored in Neo)
Bit17Causes the shrugger+climber glitch to occur (ignored in Neo)
Bit18Allows dumping of level files and mass-dumping of images from the title screen
OthersCurrently unused

Game Texts
These are various texts used in-game. The order of them is:
  1. Result Screen: Karoshi Level Failed (Line 1) (Unused in traditional Lemmix)
  2. Result Screen: Karoshi Level Failed (Line 2) (Unused in traditional Lemmix)
  3. Result Screen: Karoshi Level Passed (Line 1) (Unused in traditional Lemmix)
  4. Result Screen: Karoshi Level Passed (Line 2) (Unused in traditional Lemmix)
  5. Result Screen: Karoshi Level 100% (Line 1) (Unused in traditional Lemmix)
  6. Result Screen: Karoshi Level 100% (Line 2) (Unused in traditional Lemmix)
  7. Result Screen: No Lemmings Saved (Line 1)
  8. Result Screen: No Lemmings Saved (Line 2)
  9. Result Screen: Very Bad Result (Line 1)
  10. Result Screen: Very Bad Result (Line 2)
  11. Result Screen: Bad Result (Line 1)
  12. Result Screen: Bad Result (Line 2)
  13. Result Screen: Near-Pass (Line 1)
  14. Result Screen: Near-Pass (Line 2)
  15. Result Screen: One Lemming Short (Line 1)
  16. Result Screen: One Lemming Short (Line 2)
  17. Result Screen: Exact Pass (Line 1)
  18. Result Screen: Exact Pass (Line 2)
  19. Result Screen: Good Result (Line 1)
  20. Result Screen: Good Result (Line 2)
  21. Result Screen: Great Result (Line 1)
  22. Result Screen: Great Result (Line 2)
  23. Result Screen: 100% (Line 1)
  24. Result Screen: 100% (Line 2)
The next 18 lines are the text for the Congrats screen (unused in NeoLemmix as of V1.27n-B), and the remaining 16 are additional texts for the scroller at the bottom of the title screen.

Note that the above descriptions for results texts aren't completely accurate for Traditional Lemmix. For example, the one described as "one lemming short" could actually come up when the player is 2 or 3 lemmings short if the level has a large number of lemmings.