GST Format - KCreator/Earth-Defence-Force-Documentation GitHub Wiki
#GST = Global Save Table? EDF uses the same IV and keys for encryption 4.1-6
Header
| Offset | Size | Description |
|---|---|---|
| 0x0 | 0x4 | File Type, MDB0 |
| 0x4 | 0x4 | GST Version EDF6=3? |
| 0x8 | 0x4 | Unknown |
| 0xC | 0x4 | CRC32C checksum |
| 0x10 | 0x4 | Unknown |
| 0x14 | 0x4 | Ranger Armor Points as total crate picked up in total |
| 0x18 | 0x4 | Wing Diver Armor Points as total crate picked up in total |
| 0x1C | 0x4 | Air Raider Armor Points as total crate picked up in total |
| 0x20 | 0x4 | Fencer Armor Points as total crate picked up in total |
| - | - | - |
| 0x134 | 0x4 | Ranger Armor Points as current AP amount available |
| 0x138 | 0x4 | Wing Diver Armor Points as current AP amount available |
| 0x13C | 0x4 | Air Raider Armor Points as current AP amount available |
| 0x140 | 0x4 | Fencer Armor Points as current AP amount available |
| - | - | - |
| 0x7CFC | 0x60F0 | Weapon Stat Level Unlock Table (2068 entries × 0xC) |
| Per Entry | 0x4 | Weapon Index / ID (or average level byte + 3 padding?) |
| 0x8 | 8 stat level values (1 byte each) | |
| 0xDCEB | Last byte of this file |
Common.cfg
Header
| Offset | Size | Description |
|---|---|---|
| 0x0 | 0x4 | File Type, MDB0 |
| 0x4 | 0x4 | DAT Version EDF6=3? |
| - | - | - |
| 0x5014 | 0x28 | Save Profile Name |
| - | - | - |
Trophy.dat
Header
| Offset | Size | Description |
|---|---|---|
| 0x0 | 0x4 | File Type, MDB0 |
| 0x4 | 0x4 | DAT Version EDF6=3? |
| 0XC | 0x4 | CRC32C Checksum data |
| 0X14 | 0x32 | Progress achievement flags 00 for not unlocked 01 unlocked, 5% to 100% in order |
| 0X34 | 0x7 | Other achievement flags 00 for not unlocked 01 unlocked, rescue and AP level reached |
| 0X3B | 0xA1 | Unallocated Memory |
| 0XDC | 0x4 | unknown |
| 0XE0 | 0x4 | unknown |
| 0XE4 | 0x4 | unknown |
| 0XE8 | 0x4 | unknown |
| 0XEC | 0x4 | Game's Player has started |
| 0XF0 | 0x4 | unknown |
| 0XF4 | 0x4 | Missions Played as Air Raider |
| 0XF8 | 0x4 | unknown |
| 0XFC | 0x4 | Teleport Device Kills |
| 0X100 | 0x4 | unknown |
| 0X104 | 0x4 | Android Kills |
| 0X108 | 0x4 | Super Android Kills |
| 0X10C | 0x4 | High Mobility Android Kills |
| 0x110 | 0x4 | Grenadier Kills |
| 0x114 | 0x4 | Cyclops Kills |
| 0x118 | 0x4 | Giant Grenadier Kills |
| 0x11C | 0x4 | Giant Android Kills |
| 0x120 | 0x4 | King Kills |
| 0x124 | 0x4 | Unallocated Memory ? |
| 0x128 | 0x4 | Teleport Ship Kills |
| 0x12C | 0x4 | Gamma Kills |
| 0x130 | 0x4 | Deroys Kills |
| 0x134 | 0x4 | Giant Tadpole Kills |
| 0x138 | 0x4 | unknown |
| 0x13C | 0x4 | unknown |
| 0x140 | 0x4 | unknown |
| 0x144 | 0x4 | unknown |
| 0x148 | 0x4 | unknown |
| 0x14C | 0x4 | unknown |
| 0x150 | 0x4 | unknown |
| 0x154 | 0x4 | unknown |
| 0X158 | 0x4 | Missions Played as Fencer |
| 0x15C | 0x4 | Mobile Base, Ring, Mothership Kills ???????????? |
| 0x160 | 0x4 | TOTAL TIME PLAYED ON THIS SAVE Hours = value // 0x34bc0, Minutes = (value // 0xe10) % 60, Seconds = (total_value // 0x3c) % 60 |
| 0x164 | 0x4 | unknown |
| 0x168 | 0x4 | unknown |
| 0x16C | 0x4 | Mother Monster kills |
| 0x170 | 0x4 | Flying Aggressors kills |
| 0x174 | 0x4 | Queen kills |
| 0x178 | 0x4 | Beta Kills |
| 0x17C | 0x4 | High Grade Drone kills |
| 0x180 | 0x4 | unknown |
| 0x184 | 0x4 | unknown |
| 0x188 | 0x4 | unknown |
| 0x18C | 0x4 | unknown |
| 0x190 | 0x4 | unknown |
| 0x194 | 0x4 | unknown |
| 0x198 | 0x4 | unknown |
| 0x19C | 0x4 | Small Hive Kills |
| 0x1A0 | 0x4 | Imperial Drone Kills |
| 0x1A4 | 0x4 | Tier 2 Drone Kills |
| 0x1A8 | 0x4 | unknown |
| 0x1AC | 0x4 | Primer Kills |
| 0x1B0 | 0x4 | unknown |
| 0x1B4 | 0x4 | Scylla Kills |
| 0x1B8 | 0x4 | Erginues Kills |
| 0x1BC | 0x4 | Archeluses Kills |
| 0x1C0 | 0x4 | Mobile Base, Ring, Mothership Kills ???????????? |
| 0x1C4 | 0x4 | Arnea Kills |
| 0x1C8 | 0x4 | unknown |
| 0x1CC | 0x4 | unknown |
| 0x1D0 | 0x4 | Online Games Started |
| 0x1D4 | 0x4 | Offline Games Started +1 |
| 0x1D8 | 0x4 | unknown |
| 0x1DC | 0x4 | unknown |
| 0x1E0 | 0x4 | unknown |
| 0x1E4 | 0x4 | unknown |
| 0x1E8 | 0x4 | unknown |
| 0x1EC | 0x4 | unknown |
| 0x1F0 | 0x4 | unknown |
| 0X1F4 | 0x4 | Missions Played as Ranger |
| 0x1F8 | 0x4 | Rescues Done |
| 0x1FC | 0x4 | Mobile Base, Ring, Mothership Kills ???????????? |
| 0X200 | 0x4 | High Grade Excavators Kills |
| 0X204 | 0x4 | Excavators Kills |
| 0X208 | 0x4 | Shield Bearer Kills |
| 0X20C | 0x4 | High Grade Tier 3 Drone Kills |
| 0X210 | 0x4 | Tier 3 Drone Kills |
| 0X214 | 0x4 | Haze Kills |
| 0X218 | 0x4 | Teleport Anchor Kills |
| 0X21C | 0x4 | Tail Anchor Kills |
| 0X220 | 0x4 | Kraken Kills |
| 0X224 | 0x4 | Weapon's Collected Out of 1572 for EDF 6 |
| 0X228 | 0x4 | unknown |
| 0X22C | 0x4 | unknown |
| 0X230 | 0x4 | unknown |
| 0X234 | 0x4 | unknown |
| 0X238 | 0x4 | unknown |
| 0X23C | 0x4 | unknown |
| 0X220 | 0x4 | unknown |
| 0X244 | 0x4 | Missions Played as Wingdiver |
| 0X248 | 0x1A4 | Unallocated Memory |
DEFP_XXX.MST
Header
| Offset | Size | Description |
|---|---|---|
| 0x0 | 0x4 | File Type, MDB0 |
| 0x4 | 0x4 | MST Version EDF6=3? |
| 0x1C | 0x200 | Ranger Mission Save Table |
| 0x21C | 0x200 | Wing Diver Mission Save Table |
| 0x41C | 0x200 | Air Raider Mission Save Table |
| 0x61C | 0x200 | Fencer Mission Save Table |
| 0x81C | 0xC00 | UNKNOWN VOID |
| 0x141B | 0x5C | Lobby Name (UTF-16LE, max 92 bytes) |
| 0x1477 | 0x04 | Flag 1 unknown |
| 0x147B | 0x04 | Flag 2 unknown |
| 0x1480 | 0x08 | unknown |
| 0x1487 | 0x04 | unknown |
| 0x148B | 0x04 | unknown |
| 0x1490 | 0x04 | unknown |
| 0x1497 | 0x04 | unknown |
| 0x149B | 0x10 | Password (UTF-16LE, max 8 chars) |
| 0x14AB | 0x04 | unknown |
| 0x16C7 | 0x04 | unknown |
| 0x16CB | 0x04 | unknown |
| 0x16D0 | 0x7 | End of File 00 |
Per-byte Encoding for Mission Entries
Each class chunk (512 bytes) uses additive difficulty flags per mission:
| Size | Additive Value | Description |
|---|---|---|
| 0x01 | 0x01 | Easy |
| 0x01 | 0x02 | Normal |
| 0x01 | 0x04 | Hard |
| 0x01 | 0x08 | Hardest |
| 0x01 | 0x10 | Inferno |