RWE plays skirmish only. The campaign is the largest piece of the original still missing, and the ending movies wait on it: 3.zrb (victory) and 4.zrb (defeat) have nothing to hang off until missions exist (ROADMAP, "The ending movies and the credits belong to the campaign"; B4 #6).
This is an umbrella. Open one issue per piece as you start it, one PR each.
What is there already
MovieScene and the Smacker decoder; a missing movie file is already a no-op.
GameSimulation::processVictoryCondition for skirmish, and the igvictory / igdefeat title art is loaded (LoadingScene.cpp).
ccdata.ccx carries camps/ with per-language briefing folders (Briefs-German/CoreCampaign5.txt and so on). Find where the base game's Arm and Core campaigns live in the shipped archives; they were not under camps/ in totala1-3.hpi or rev31.gp3 at a first look.
Pieces, roughly in order
- Decode the campaign definition files and the mission fields the original reads from a mission map's OTA: description, win and lose conditions, starting units, the AI's setup. Read
docs/TOTALA-EXE.md first, and decode from TotalA.exe with tools/exe/ where behaviour matters.
- The campaign menus: side select, mission list, the briefing screen with its voice-over.
- Loading a mission through
LoadingScene with its own units and players instead of a skirmish setup.
- Mission win and lose conditions in the sim. They are sim state, so the four-place rule in CLAUDE.md applies (save, hash, dump).
- Victory and defeat: the title art, then
3.zrb / 4.zrb, then back to the campaign menu.
🤖 Generated with Claude Code
https://claude.ai/code/session_018moxVoyHDBoHqkw8uqS3HX
RWE plays skirmish only. The campaign is the largest piece of the original still missing, and the ending movies wait on it:
3.zrb(victory) and4.zrb(defeat) have nothing to hang off until missions exist (ROADMAP, "The ending movies and the credits belong to the campaign"; B4 #6).This is an umbrella. Open one issue per piece as you start it, one PR each.
What is there already
MovieSceneand the Smacker decoder; a missing movie file is already a no-op.GameSimulation::processVictoryConditionfor skirmish, and theigvictory/igdefeattitle art is loaded (LoadingScene.cpp).ccdata.ccxcarriescamps/with per-language briefing folders (Briefs-German/CoreCampaign5.txtand so on). Find where the base game's Arm and Core campaigns live in the shipped archives; they were not undercamps/intotala1-3.hpiorrev31.gp3at a first look.Pieces, roughly in order
docs/TOTALA-EXE.mdfirst, and decode fromTotalA.exewithtools/exe/where behaviour matters.LoadingScenewith its own units and players instead of a skirmish setup.3.zrb/4.zrb, then back to the campaign menu.🤖 Generated with Claude Code
https://claude.ai/code/session_018moxVoyHDBoHqkw8uqS3HX