Skip to content

Campaign: missions, briefings, and the victory and defeat movies #38

Description

@CubeB

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

  1. 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.
  2. The campaign menus: side select, mission list, the briefing screen with its voice-over.
  3. Loading a mission through LoadingScene with its own units and players instead of a skirmish setup.
  4. Mission win and lose conditions in the sim. They are sim state, so the four-place rule in CLAUDE.md applies (save, hash, dump).
  5. 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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestfidelityMatching what TotalA.exe doesmediaMovies, sound and music

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions