crimson.cfg. This is not the save file (that’s game.cfg).
File Properties
Path:<game_dir>\crimson.cfgSize:
0x480 bytes (1152 bytes)Endianness: Little-endian
Encryption: None
Binary Structure
Key Fields
Display Settings
| Offset | Field | Type | Default | Description |
|---|---|---|---|---|
| 0x1b8 | display_bpp | i32 | 32 | Bits per pixel (16/32) |
| 0x1bc | screen_width | i32 | 800 | Screen width in pixels |
| 0x1c0 | screen_height | i32 | 600 | Screen height in pixels |
| 0x1c4 | windowed | i32 | 0 | Windowed mode (0=fullscreen, 1=windowed) |
Audio Settings
| Offset | Field | Type | Default | Description |
|---|---|---|---|---|
| 0x000 | sound_disabled | u8 | 0 | Sound FX disabled flag |
| 0x001 | music_disabled | u8 | 0 | Music disabled flag |
| 0x464 | sfx_volume | float | 1.0 | SFX volume (0.0-1.0) |
| 0x468 | music_volume | float | 1.0 | Music volume (0.0-1.0) |
Graphics Detail
| Offset | Field | Type | Default | Description |
|---|---|---|---|---|
| 0x00e | fx_detail_flag0 | u8 | 1 | Shadows enabled |
| 0x010 | fx_detail_flag1 | u8 | 1 | Extra FX passes |
| 0x011 | fx_detail_flag2 | u8 | 1 | Additional effects |
| 0x46c | gore_disabled | u8 | 0 | Gore disabled flag |
| 0x470 | detail_preset | i32 | 5 | Graphics preset (1-5) |
| Preset | flag0 | flag1 | flag2 | Description |
|---|---|---|---|---|
| 1 | 0 | 0 | 0 | Low |
| 2 | 0 | 0 | unchanged | Medium |
| 3 | 1 | 1 | 1 | High |
| 4 | 1 | 1 | 1 | Very High |
| 5 | 1 | 1 | 1 | Ultra |
Keybinds
Player 1: Offset0x1c8 (13 dwords)Player 2: Offset
0x208 (13 dwords)
Each block:
| Index | Action | P1 Default | P2 Default |
|---|---|---|---|
| 0 | Move Forward | 0x11 (W) | 0xc8 (Up) |
| 1 | Move Backward | 0x1f (S) | 0xd0 (Down) |
| 2 | Turn Left | 0x1e (A) | 0xcb (Left) |
| 3 | Turn Right | 0x20 (D) | 0xcd (Right) |
| 4 | Fire | 0x100 (LMB) | 0x9d (RCtrl) |
| 5-6 | Reserved | 0x17e | 0x17e |
| 7 | Aim Left | 0x10 (Q) | 0xd3 (Del) |
| 8 | Aim Right | 0x12 (E) | 0xd1 (PgDn) |
| 9 | Axis Aim Y | 0x140 (Mouse Y) | 0x17e |
| 10 | Axis Aim X | 0x13f (Mouse X) | 0x17e |
| 11 | Axis Move Y | 0x153 | 0x17e |
| 12 | Axis Move X | 0x17e | 0x17e |
Player Names
| Offset | Field | Type | Description |
|---|---|---|---|
| 0x0a8 | saved_names | char[8][27] | 8 saved player names (27 bytes each) |
| 0x180 | player_name | char[32] | Current player name |
| 0x1a0 | player_name_length | i32 | Length of player_name |
Example Config
Hex dump of a typicalcrimson.cfg:
Python Decoder
Related Pages
Save Files
Save game format (game.cfg)
PAQ Archives
Asset archive format