Unify Iron Coast mission names and cinematic mission previews

This commit is contained in:
raptorreplica committed 2026-10-19 00:10:38 +11:00
1 parent 668b3ff86d
commit 2d95e145a5
406 files changed
+134963 -245

No files matched your search

+1 -1
View File
@@ -180,7 +180,7 @@ checks do not establish every loadout’s balance or hardware audio quality.
## Using the update
Enable **Iron Coast — Complete Campaign** or **Iron Coast II — Black Tide** in
Enable **Iron Coast S1: Complete Campaign** or **Iron Coast S2: Black Tide** in
Mods and apply at the main menu. Dependencies select automatically. Existing
pilots may receive the normal changed-mod warning; accepting it preserves saved
equipment and progression. Use Ctrl to fire, Alt/Shift to cycle equipment, Z for
+5 -4
View File
@@ -1,11 +1,11 @@
# Iron Coast II: Black Tide
# Iron Coast S2: Black Tide
Stage 2 is an eight-sortie expansion built from independent local mods. It
preserves the original 70/3 Hz simulation, native classic enemy movement and
the normal shop, firing controls, shield economy and pilot saves.
Enable **Iron Coast II: Black Tide** in **Mods**, apply at the main menu, then
select **Nightbreak Inlet** in the Hangar's mission menu. Its dependency selection
Enable **Iron Coast S2: Black Tide** in **Mods**, apply at the main menu, then
select **Iron Coast S2 M01: Nightbreak Inlet** in the Hangar's mission menu. Its dependency selection
includes the eight mission packages, their bosses and shared enemies, music
and the two weapon packages. Enabling a single mission selects only its actual
dependencies and leaves the other missions and optional weapons disabled.
@@ -43,7 +43,8 @@ confirmation popup.
target/range/cadence constraints. Their weapons and projectiles have
separate IDs from their inventory items.
Every package uses API 1 and version 1.0.0. Stage 2 introduces no overrides
Every package uses API 1. The manifests record exact current versions;
mission and boss updates retain compatible 1.x dependency requirements. Stage 2 introduces no overrides
of original or Stage 1 content. Mission scripts use `auto_complete=false`:
elapsed duration does not grant victory. Required targets stay reachable;
destroying them and the final boss earns the ending. Every sortie resets its
+39 -4
View File
@@ -1,9 +1,8 @@
# Iron Coast content packages
Iron Coast Stage I contains six independently toggleable mission mods, five shared
Iron Coast Stage 1 contains six independently toggleable mission mods, five shared
weapon and enemy mods, a shared soundtrack, six stage boss mods, and an optional
campaign assembly mod. Enable **Iron
Coast — Complete Campaign** (`iron_coast_campaign`) to select the full campaign
campaign assembly mod. Enable **Iron Coast S1: Complete Campaign** (`iron_coast_campaign`) to select the full campaign
and its eighteen dependencies automatically. Each individual mission can also be
enabled separately; it selects the five shared content mods, soundtrack and its
own boss. Disabling a package also deselects unused dependencies. When this
@@ -13,13 +12,49 @@ needed by another enabled mod remain selected. The Mods manager validates versio
and dependency order and applies the change at the main menu. The new weapons can also be used in the original campaigns;
the enemy packages can be referenced from other missions.
Stage II — **Black Tide** adds eight more independent missions, eight bosses,
Stage 2 — **Black Tide** adds eight more independent missions, eight bosses,
three shared enemies, two weapons and a three-track soundtrack. Enable
`iron_coast_stage2_campaign` to select that route and its dependencies. See
[Black Tide’s package instructions](../mods/iron_coast_stage2_campaign/README.md).
The [pacing and presentation update](iron-coast-retune.md) documents the current
waves, enemy patterns, weapon feedback and all four difficulty comparisons.
## Mission names
Mission packages and the mission menu share `Iron Coast S<stage> M<mission>: <title>`.
Stages use S1 and S2; mission numbers are zero-padded within each stage. The
campaign packages are **Iron Coast S1: Complete Campaign** and
**Iron Coast S2: Black Tide**. Stable package IDs, mission IDs and dependency
IDs retain their original spelling.
| Stage | Mission | Display name |
| --- | --- | --- |
| 1 | 01 | Iron Coast S1 M01: Breakwater |
| 1 | 02 | Iron Coast S1 M02: Tidal Relay |
| 1 | 03 | Iron Coast S1 M03: Saltworks Convoy |
| 1 | 04 | Iron Coast S1 M04: Stormwall |
| 1 | 05 | Iron Coast S1 M05: Cinder Docks |
| 1 | 06 | Iron Coast S1 M06: Iron Crown |
| 2 | 01 | Iron Coast S2 M01: Nightbreak Inlet |
| 2 | 02 | Iron Coast S2 M02: Undertow Run |
| 2 | 03 | Iron Coast S2 M03: Stormglass Refinery |
| 2 | 04 | Iron Coast S2 M04: Floodgate Zero |
| 2 | 05 | Iron Coast S2 M05: Skybreaker Arsenal |
| 2 | 06 | Iron Coast S2 M06: Emberwake Shipyards |
| 2 | 07 | Iron Coast S2 M07: Siege of the Iron Fleet |
| 2 | 08 | Iron Coast S2 M08: Black Tide |
These labels also identify the standalone Stage 2 campaign entries. The Stage 1
campaign is **Iron Coast S1**, whether Breakwater is enabled alone or the full
six-mission assembly is selected. Artwork, scripts, objectives, waves, rewards
and equipment are unchanged by this naming update.
Changing these display labels changes package content hashes, including when
package versions are unchanged. Existing pilots therefore show the normal changed-mod
confirmation. Accept it only when ready to use the updated packages; stable IDs
preserve equipment and progression, and the game keeps its normal original-save
backup before the next write. This update does not modify pilot files.
| Package | Content |
| --- | --- |
| `iron_coast_campaign` | Links all six missions into one campaign without replacing mission scripts or artwork |
+7 -3
View File
@@ -4,7 +4,7 @@ This is an experimental API for the Rust engine. It provides local content packa
## Try the example
`mods/aurora/` adds two projectiles, a pulse cannon, a repair cell, two enemies, a mission and a campaign. The weapon adds angled shots in Rhai; enemy movement, item rewards and mission objectives also use scripts. Its artwork references asset IDs in the locally extracted original catalog. The example contains no original or generated game artwork.
`mods/aurora/` adds two projectiles, a pulse cannon, a repair cell, two enemies, a mission and a campaign. The weapon adds angled shots in Rhai; enemy movement, item rewards and mission objectives also use scripts. Its gameplay sprites reference original catalog asset IDs. The package also includes authored SD/HD mission-briefing artwork for the menu; these illustrations do not replace its gameplay sprites.
Validate the package against your original game data:
@@ -122,7 +122,11 @@ An `art` object requires exactly one of `asset` (an original numeric catalog ID)
}
```
PNG animations are horizontal strips of equally sized frames. For example, four 64×64 frames use a 256×64 PNG and may declare logical dimensions of 16×16. The strip width must divide evenly by `frames`; supply consistent canvases and alignment across frames. Alpha below 128 is transparent. Opaque colors are mapped to ordinary entries 0–239 of the selected game palette. Plain PNGs carry no palette-animation labels, so their highlights cannot acquire reserved water, fire or blinking indices 240–255. Artwork already detailed enough for the selected rendering scale bypasses automatic sprite enlargement. Original asset animations use consecutive catalog IDs and retain their native palette labels. Terrain artwork and destroyed terrain replacements follow the same format.
PNG animations are horizontal strips of equally sized frames. For example, four 64×64 frames use a 256×64 PNG and may declare logical dimensions of 16×16. The strip width must divide evenly by `frames`; supply consistent canvases and alignment across frames. Gameplay rendering treats alpha below 128 as transparent and maps opaque PNG colors to ordinary entries 0–239 of the selected game palette. Plain gameplay PNGs carry no palette-animation labels, so their highlights cannot acquire reserved water, fire or blinking indices 240–255. Artwork already detailed enough for the selected rendering scale bypasses automatic sprite enlargement. Original asset animations use consecutive catalog IDs and retain their native palette labels. Terrain artwork and destroyed terrain replacements follow the same format.
Mission briefing PNGs keep their full RGB colors in mission menus. They follow the same checked artwork paths, logical dimensions, horizontal frame strips and SD/HD selection rules as other artwork. The menu displays frame 0 in a shared 132×70 logical-pixel landscape viewport, scaling without distortion and cropping centrally to fill it. Keep the aircraft and destination readable near the center; titles, mission numbers and controls belong in menu text. Original missions use `data/briefings/sector_<sector>_wave_<wave>_{sd,hd}.png`. These new menu illustrations do not increase Original sprite or terrain remaster coverage.
Both `--verify-assets` and mod activation use the shared referenced-PNG artwork validator for base and mod owners. It checks weapon, item, enemy, mission, campaign, terrain and destroyed-terrain references, including bundled Original mission briefings. PNG file errors identify the content ID, owner and artwork path. Native catalog sprites keep their existing catalog validation path. A candidate mod selection is applied only after its artwork and other content checks succeed.
Artwork dimensions and decoding allocation are bounded. PNGs may be up to 4096 pixels in either direction, with at most 4,194,304 pixels and a 64 MiB decoding allocation limit. Logical dimensions are separately validated and stay independent of physical PNG resolution. The packaged original catalog, approved runtime remasters and authored mod artwork/sounds are included in Git; working remaster proofs and source references remain external.
@@ -222,7 +226,7 @@ Rhai uses an explicit package allowlist for arithmetic, strings, collections, it
Rust pilots use separate, versioned JSON files under `$XDG_DATA_HOME/RaptorReplica`, and settings use TOML under `$XDG_CONFIG_HOME/RaptorReplica`. Atomic writes replace completed saves after file and directory synchronization. Legacy saves are read and imported; their original bytes are not modified.
Each pilot records the ordered mod IDs, package versions, full content hashes, script states and script RNG positions. The load screen reports missing packages, changed versions or hashes, changed required load order, and unavailable equipment or missions. Changing a package without changing its version still changes its hash and therefore requires confirmation. Cancel leaves the current pilot and original save untouched; choosing to load accepts the differences for that pilot session.
Each pilot records the ordered mod IDs, package versions, full content hashes, script states and script RNG positions. The load screen reports missing packages, changed versions or hashes, changed required load order, and unavailable equipment or missions. Changing a package without changing its version still changes its hash and therefore requires confirmation. This includes cosmetic changes to display names, artwork filenames inside the package or artwork bytes. Keep stable content IDs when updating presentation: the usual changed-mod confirmation applies, while equipment and progression retain their existing ID references. Cancel leaves the current pilot and original save untouched; choosing to load accepts the differences for that pilot session.
Unavailable equipment stays in the pilot's inventory with its saved quantity and occupies its original inventory slots, but cannot be fired, selected or traded until its definition is available. Unavailable completed missions remain recorded. If the saved current mission is missing, choose an available mission in the hangar before flying. Runtime saves retain inactive package pins, script state and script RNG alongside the active packages, so restoring a disabled package can recover its data. Current active versions and hashes are recorded after an accepted load is successfully saved; the original save is backed up before its first replacement. Structural corruption, unsupported save versions and invalid IDs still cannot be loaded. This API does not yet provide scripted mod save migrations, so a changed script must handle its earlier serializable state.
+12
View File
@@ -1,3 +1,15 @@
# Current presentation checkpoint — 19 October 2026
All 42 missions have SD/HD cinematic briefing previews: 27 Original missions, 14 Iron Coast missions and Aurora. Iron Coast names include stage/mission prefixes without changing stable content IDs. Forty illustrations are new; two HD illustrations are retained, with their SD counterparts refreshed separately. The refreshed Stormwall and Iron Crown SD cards passed replacement menu capture and review. Cosmetic mod naming/artwork changes use the normal changed-package save confirmation and retain equipment and progression references.
Briefings preserve full RGB in a shared 132×70 logical-pixel viewport with an aspect-preserving centered crop. Four actual SourceG SDL controls confirmed 16:9 menus and 4:3 intro/gameplay presentation. SourceG2 changes only diagnostic error context; both its Linux ELF and Windows executable were rebuilt. Native Windows CI for this new source is not yet claimed.
The initial integrated 29-target test run recorded 481 passes, one known display-diagnostic failure and 37 ignored tests. SourceG2's 14 targeted reruns passed, resolving that failure. Together these results cover 482 distinct passing tests and 37 ignored tests; this is combined evidence, not a fresh single 482-test run. Fourteen Python synthetic/archive tests also passed.
The checked runtime snapshot contains **10,689 data files / 8,691,739,470 bytes**, including 240 new data files for the briefing pass. Mod SD refreshes live outside that data count. Original sprite/terrain HD coverage remains **5,596 reviewed pictures / 157 awaiting approval**; new briefing illustrations add no remaster credit. Earlier SourceF artwork proofs and captured pixel epochs remain literal and retain their original scope.
# Earlier SourceF H5596 checkpoint — retained verbatim
# Current checkpoint — 18 October 2026
Current artwork/runtime checkpoint — 18 October 2026: **5,596 reviewed pictures in 3,700 complete sequences**. **157 originals await approval**: 123 Terrain, 32 enemies/ground objects and two UI/other pictures. This adds corrugated terrain (4), SHIP15G1 (3), STAG03G3 (1), green destroyed terrain (7) and the complete TARGT animation (14).
+10
View File
@@ -1,3 +1,13 @@
# Current standalone packaging checkpoint — 19 October 2026
The runtime includes SD/HD mission briefings for all 42 missions: 27 Original, 14 Iron Coast and Aurora. Menu previews use a shared 132×70 logical-pixel full-RGB viewport with aspect-preserving centered cropping; original intro and gameplay retain 4:3 presentation within the 16:9 display. Iron Coast display names include stage/mission numbers; stable IDs and saved equipment/progression references remain unchanged. Cosmetic mod updates can trigger the usual changed-package save confirmation.
The current checked snapshot contains **6,449 catalog entries, 5,596 approved Original HD pictures and 10,689 data files / 8,691,739,470 bytes**, plus the 45 bundled mod packages. The briefing pass adds 240 data files; mod SD refreshes do not change that data count. The 157 remaining Original sprite/terrain remasters are unchanged. Linux and Windows SourceG2 executables were rebuilt; new native Windows CI evidence remains pending.
The assembler prefers `RustRaptor/data` when its `INDEX` is present and selects the complete contained data tree, including `data/briefings/` and its provenance. An explicit `--hd-source PATH` replaces the selected `hd/` subtree with that complete checked pack. With an external catalog, missing required Original briefing pairs are supplied from the bundled briefing tree while existing external files keep priority. Selection checks preserve package containment and required briefing files. This checkpoint records the refreshed runtime and selector checks; earlier full archive/export and relocation receipts below retain their dated scope.
# Earlier standalone package notes — retained historical snapshot
# Standalone game packages
`RustRaptor/` contains the Rust executable, its original data catalog, approved