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
@@ -1,4 +1,4 @@
# Iron Coast — Mission 6: Iron Crown
# Iron Coast S1 M06: Iron Crown
API 1 package, version 1.0.2. Enable it in Mods at the main menu and apply the selection. The normal dependency selection also enables `iron_coast_scout`, `iron_coast_turret`, `iron_coast_boss_6`, `iron_coast_music`, `pulse_cannon`, `seeker_swarm`, `ion_lance`.
@@ -0,0 +1,10 @@
{
"purpose": "Full RGB SD briefing for the menu; replaces inherited palette posterization",
"source": "briefing_hd.png",
"source_sha256": "cb87cd81b6d8e87c0ceb5469d1832879906c9cee48728e2c56459b51d8a07b2a",
"old_sd_sha256": "7e6304191345cc1f9cffcd30c075887077cd5f2351eaa75fc8c41b792780cd53",
"sd_sha256": "e1e8ca85d0ee8039b97b420e082f278967402038e681c46f1b064da58cd4c8ab",
"recipe": "rebuild_briefing_sd.py",
"method": "RGB 320x200 Lanczos downsample of unchanged approved HD; no image generation",
"scope": "Menu illustration only; gameplay terrain, sprites, missions and audio unchanged"
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 124 KiB

@@ -0,0 +1,10 @@
#!/usr/bin/env python3
"""Refresh only this menu briefing SD image; gameplay artwork is untouched."""
from pathlib import Path
import hashlib
from PIL import Image
root = Path(__file__).resolve().parent
source = root / "briefing_hd.png"
assert hashlib.sha256(source.read_bytes()).hexdigest() == "cb87cd81b6d8e87c0ceb5469d1832879906c9cee48728e2c56459b51d8a07b2a", "Unexpected HD briefing"
with Image.open(source) as image:
image.convert("RGB").resize((320,200), Image.Resampling.LANCZOS).save(root / "briefing_sd.png")
+1 -1
View File
@@ -104,7 +104,7 @@ def main():
terrain_sd.save(art / "terrain-preview-sd.png")
terrain_hd.save(art / "terrain-preview-hd.png")
briefing = Image.open(art / "briefing-source-hd.png").convert("RGBA")
palette_sd(briefing, (320, 200), palette).save(art / "briefing_sd.png")
briefing.resize((1280, 800), Image.Resampling.LANCZOS).convert("RGB").resize((320, 200), Image.Resampling.LANCZOS).save(art / "briefing_sd.png")
briefing.resize((1280, 800), Image.Resampling.LANCZOS).save(art / "briefing_hd.png")
audio = {
"approach": wav("approach", 1.1, [110, 147, 165, 220]),
+1 -1
View File
@@ -40,7 +40,7 @@
"missions": [
{
"id": "iron_coast_mission_6:mission_06",
"name": "Iron Coast 6 — Iron Crown",
"name": "Iron Coast S1 M06: Iron Crown",
"duration": 3800,
"auto_complete": false,
"columns": 9,
+1 -1
View File
@@ -1,5 +1,5 @@
id = "iron_coast_mission_6"
name = "Iron Coast — Mission 6: Iron Crown"
name = "Iron Coast S1 M06: Iron Crown"
version = "1.0.2"
api_version = 1
description = "Assault the offshore command citadel, disable six anchored batteries and destroy both command cruisers. The Iron Coast finale includes SD/HD fortress terrain, an optional Ion Lance loan and synthesized mission audio."