Unify Iron Coast mission names and cinematic mission previews
This commit is contained in:
1 parent
668b3ff86d
commit
2d95e145a5
406 files changed
+134963
-245
No files matched your search
@@ -1,4 +1,4 @@
|
||||
# Iron Coast — Mission 4: Stormwall
|
||||
# Iron Coast S1 M04: Stormwall
|
||||
|
||||
API 1 package, version 1.0.1. 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_4`, `pulse_cannon`, `seeker_swarm`, `ion_lance`, `iron_coast_music`.
|
||||
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"purpose": "Full RGB SD briefing for the menu; replaces inherited palette posterization",
|
||||
"source": "briefing_hd.png",
|
||||
"source_sha256": "cd987c13bc55bba2620379ca435c0cccf08d7564364d730c65d0be285bb82221",
|
||||
"old_sd_sha256": "11c8b492cd2df36ff05eeccded9a398da4af9113194b355fb4c6630f196d167d",
|
||||
"sd_sha256": "9bd490c5c341303bea69f55bc323f5cced581d64740371703f70d3e7a1012256",
|
||||
"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: 86 KiB After Width: | Height: | Size: 134 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() == "cd987c13bc55bba2620379ca435c0cccf08d7564364d730c65d0be285bb82221", "Unexpected HD briefing"
|
||||
with Image.open(source) as image:
|
||||
image.convert("RGB").resize((320,200), Image.Resampling.LANCZOS).save(root / "briefing_sd.png")
|
||||
@@ -100,7 +100,7 @@ def main():
|
||||
standard.save(art / "terrain-preview-sd.png")
|
||||
briefing = Image.open(art / "briefing-source-hd.png")
|
||||
briefing.convert("RGBA").resize((1280,800), Image.Resampling.LANCZOS).save(art / "briefing_hd.png")
|
||||
sd(briefing, (320,200), palette).save(art / "briefing_sd.png")
|
||||
briefing.convert("RGBA").resize((1280,800), Image.Resampling.LANCZOS).convert("RGB").resize((320,200), Image.Resampling.LANCZOS).save(art / "briefing_sd.png")
|
||||
palette_colors = {tuple(colors[i:i+3]) for i in range(0,768,3)}
|
||||
rgb_pixels = standard.convert("RGB").tobytes()
|
||||
sd_colors = {tuple(rgb_pixels[i:i+3]) for i in range(0,len(rgb_pixels),3)}
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
"missions": [
|
||||
{
|
||||
"id": "iron_coast_mission_4:mission_04",
|
||||
"name": "Iron Coast 4 — Stormwall",
|
||||
"name": "Iron Coast S1 M04: Stormwall",
|
||||
"duration": 3000,
|
||||
"auto_complete": false,
|
||||
"columns": 9,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
id = "iron_coast_mission_4"
|
||||
name = "Iron Coast — Mission 4: Stormwall"
|
||||
name = "Iron Coast S1 M04: Stormwall"
|
||||
version = "1.0.1"
|
||||
api_version = 1
|
||||
description = "Breach a storm-lashed cliff battery, silence four emplacements and destroy the Stormwall Arsenal. Original curved and crossing fighter patrols mix with Iron Coast scouts. Includes SD/HD storm-coast art, mission-only Pulse Cannon loan, warning cues and the Iron Coast soundtrack."
|
||||
|
||||
Reference in new issue
Block a user