Skip to content

GoG symbol map — index#

Behavioral mapping from src/LORDS2.EXE.c to src/Lords2-gog.exe.c. Retail and GoG VAs differ; names are matched by fingerprint, call graph, and manual anchors — not by address.

Loop progress: gog-sync-progress.md.
Skill: .cursor/skills/gog-sync-loop/SKILL.md.

Phases#

Phase Subsystem Mapped Report JSON
1 ui 47 gog-symbol-map-ui.md gog-symbol-map-ui.json
2 startup 478 gog-symbol-map-startup.md gog-symbol-map-startup.json
3 game 915 gog-symbol-map-game.md gog-symbol-map-game.json
4 gfx 186 gog-symbol-map-gfx.md gog-symbol-map-gfx.json
5 map 151 gog-symbol-map-map.md gog-symbol-map-map.json
6 combat 378 gog-symbol-map-combat.md gog-symbol-map-combat.json

Generate / refresh:

python3 tools/ghidra/map_gog_symbols.py --subsystem <ui|startup|game|gfx|map|combat>

Apply:

python3 tools/ghidra/apply_gog_renames.py --subsystem <name>
python3 tools/ghidra/apply_gog_renames.py --all

Workflow: RENAME_WORKFLOW.md (GoG parallel track).

Net subsystem note#

GoG export has no DirectPlay / DPLAYX strings. Retail lotr2_net_* symbols are intentionally excluded from GoG sync until ASIGS equivalents are identified.