DEX - simonomi/ff1-binary-formats GitHub Wiki
DEX files are used to store cutscenes/scripted events. At a high level, a DEX file is simply a nested list of commands, each executed one after the other.
0x00 0x04 0x08 0xC
โญโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโฌโโโโโโโโโโโโฎ
โ Raw โ 44 45 58 00 โ 17 00 00 00 โ 0C 00 00 00 โ โ โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโค โ โ
โ Little-endian โ 00584544 โ 00000017 โ 0000000C โ Indexes... โ Scenes... โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโค โ โ
โ Formatted โ "DEX" โ 23 โ 12 โ โ โ
โฐโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโดโโโโโโโโโโโโโดโโโโโโโโโโโโฏ
โฐโดFile Format โฐโดScene count โฐโดConstant offset to indexes
Source: episode/e0047
Index
โญโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโฎ
โ Raw โ 94 00 00 00 โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโค
โ Little-endian โ 00000094 โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโค
โ Formatted โ 148 โ
โฐโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโฏ
โฐโดOffset to scene (from DEX+0)
Source: episode/e0047
Scene
Each scene is a list of commands. I'm not sure what role scenes serve, but they at least serve to break the list of commands into chunks.
0x00 0x04 0x8
โญโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโฌโโโโโโโโโโโโโโฎ
โ Raw โ 25 00 00 00 โ 08 00 00 00 โ โ โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโค โ โ
โ Little-endian โ 00000025 โ 00000008 โ Indexes... โ Commands... โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโค โ โ
โ Formatted โ 37 โ 8 โ โ โ
โฐโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโดโโโโโโโโโโโโโดโโโโโโโโโโโโโโฏ
โ โฐโด Constant offset to indexes
โฐโดCommand count
Source: episode/e0047
Index
โญโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโฎ
โ Raw โ 9C 00 00 00 โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโค
โ Little-endian โ 0000009C โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโค
โ Formatted โ 156 โ
โฐโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโฏ
โฐโด Offset to command (from Scene+0)
Source: episode/e0047
Command
There are many different types of commands, but they're all stored in the same way. A type of command always has the same number of arguments.
0x00 0x04 0x08 0x0C
โญโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโฎ
โ Raw โ 14 00 00 00 โ 01 00 00 00 โ 0C 00 00 00 โ โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโค โ
โ Little-endian โ 00000014 โ 00000001 โ 0000000C โ Arguments... โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโค โ
โ Formatted โ 20 โ 1 โ 12 โ โ
โฐโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโฏ
โฐโดType โ โฐโดConstant offset to arguments
โฐโดArgument count
Source: episode/e0047
Argument
โญโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโฎ
โ Raw โ 1E 00 00 00 โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโค
โ Little-endian โ 0000001E โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโค
โ Formatted โ 30 โ
โฐโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโฏ
โฐโดArgument value (a signed integer)
Source: episode/e0047
Found
episode/e*