| Field |
Value |
| Game |
Lords of the Realm 2 |
| Executable filename |
LORDS2.EXE |
| PE machine type |
i386 (expected) |
| SHA-256 |
ff33c884eb49701b2ead4439e05984cd7f4a053cfbc78a3e0214688fa35b034b |
| File size |
1,152,000 bytes |
| Ghidra version |
TBD |
| Ghidra program hash |
TBD |
| Last export date |
TBD |
| Export layout |
Flat → src/ (LORDS2.EXE.c, LORDS2.EXE.h) |
GoG release (Lords2-gog.exe)
GoG differs from retail LORDS2.EXE: no DirectPlay / DPLAYX strings in the
export (ASIGS session strings present instead). All code VAs differ; GoG renames
use behavioral mapping from retail lotr2_* names, not address equality.
Narrative comparison (features, interop, evidence workflow):
builds.md.
Build comparison summary
| Field |
Retail LORDS2.EXE |
GoG Lords2-gog.exe |
| Export |
src/LORDS2.EXE.c |
src/Lords2-gog.exe.c |
| SHA-256 |
ff33c884eb49701b2ead4439e05984cd7f4a053cfbc78a3e0214688fa35b034b |
TBD |
| File size |
1,152,000 bytes |
TBD |
| Campaign |
yes |
yes |
| Skirmish mode |
no |
yes |
| Multiplayer stack |
DirectPlay 3 (DPLAYX.DLL) |
ASIGS (no DirectPlay strings) |
| Symbol policy |
canonical lotr2_* names |
behavioral map from retail |
| API |
Import / usage |
| DirectDraw |
DirectDrawCreate (4 call sites) |
| DirectSound |
DirectSoundCreate (4 call sites) |
| WinMM |
mmioOpenA / mmioRead, timeSetEvent / timeKillEvent |
DirectPlay (confirmed from decompilation)
| Field |
Value |
| DirectPlay version |
DirectPlay 3 (IID_IDirectPlay3, vtable offsets) |
| Imports |
DPLAYX.DLL ordinal 1 = DirectPlayCreate, ordinal 2 = DirectPlayEnumerate (stubs at 0x4db1e4 / 0x4db1de) |
| Object |
IDirectPlay3 at lotr2_net_dplay3 (0x4ff400) |
| Provider CLSID / GUID |
TBD (selected at runtime via DirectPlayEnumerate) |
| Session / lobby notes |
Host opens a DPSESSIONDESC2 (default name Lords2 Session1); custom app-message framing over Send/Receive. See net module, protocol, struct |
Notes
- Record any re-export that shifts addresses or renames symbols in the commit message.
- First anchor renaming pass documented in
architecture/symbol-map.md.
- DirectPlay networking pass:
lotr2_net_* renames + provenance comments in
src/LORDS2.EXE.c; docs under protocols/ and structs/.
- Link new protocol docs from
protocols/README.md.
Game data files
| File |
SHA-256 |
Notes |
L2.ENG |
86ec67261c1e41a5233fcc5d7cbbe19fb0811e7d920f9592ccc521f136cea433 |
English strings; noble names in group 7 (not embedded in EXE). See nobles/README.md. |
Parser: tools/parse_l2_eng.py. Noble AI tables:
tools/ghidra/dump_noble_tables.py.