raw/ -> game/original/ (die Original-DOS-Dateien liegen jetzt neben dem Code,
der sie liest). Bleibt gitignored -- ist das Original-Spiel selbst, gehoert
nicht ins Repo.
Nachgezogen:
- Default-DAT-Pfad in game/intro.py, tools/dat_extract.py, tools/render_assets.py
-> game/original/PCKELL.DAT (KELLOGG_DAT-Override unveraendert).
- .gitignore: raw/ -> game/original/.
- Docstrings (game/audio.py, game/__init__.py), dosbox/dosbox.conf-Mountpfad,
README-Struktur/Verweise angepasst.
tfmx_player: KEINE Aenderung -- der Quellcode ist bereits getrackt (benoetigt),
nur das kompilierte Binary render_tfmx bleibt bewusst gitignored (plattform-
spezifisch, wird von build.sh automatisch neu gebaut).
Verifiziert: python -m game --once (headless) exit 0 mit neuem Pfad.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- intro_sequence.py, tfmx_audio.py, render_assets.py, dat_extract.py:
/home/aria/kellogg_remake/... durch PROJECT_ROOT-relative Pfade ersetzt
(mit optionalem ENV-Override), laeuft jetzt von jedem Checkout aus.
- Rauser-Logo: war 1:1 nativ gezeichnet (viel zu gross) und weisser statt
grauer Hintergrund. Per frischer DOSBox-Referenzaufnahme (Xvfb-Screenshot-
Serie) neu vermessen: 0.5x Skalierung, Slide-in-Animation (RAUSER-Box von
links, "!"-Box von oben, ADVERTAINMENT steht fest), Sound-Sting (TITEL2,
einmalig) bei Ankunft, danach Fade weiss->grau.
- Titelbild: fruehere Annahme (4 Quadranten voll gestapelt = 320x480) war
falsch und die Ursache fuer den gemeldeten Squish-Bug. Per Pixel-
Rekonstruktion verifiziert: jeder Quadrant wird nur auf halber HOEHE
(160x120 statt 160x240, Breite bleibt nativ) im 2x2-Raster angeordnet ->
korrektes 320x240-Bild. Zusaetzlich neu entdeckter und nachgebauter
Scanline/Graustufen-Reveal-Effekt auf der unteren Bildhaelfte.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- PCKELL.DAT ist der eigentliche Asset-Container (Index am Dateiende),
nicht PCKELL.PRE -- alle 178 Assets fehlerfrei extrahierbar
(tools/dat_extract.py, tools/kellogg_formats.DATContainer)
- BOB (Sprites): self-modifying x86 draw-code decodiert, alle 32 Dateien /
462 Frames korrekt (Tony, Gegner, Items) -- tools/kellogg_formats.parse_bob
- ICO (16x16 EGA-Tilesets) und MAP (Level-Grids, big-endian) decodiert und
gerendert -- alle 19 ICO- und 22 MAP-Dateien fehlerfrei, Level W1L0 sieht
korrekt aus (Haeuser, Baeume, Berge an den erwarteten Stellen)
- Palette-Regeln (BOB/ICO/MAP -> passende PCC) aus der C#-Referenz
uebernommen und in Python neu implementiert
- Aufraeumen: PRE-basierte Extraktion (split_pre.py, extracted_pre) und
alle Blindflug-Explorationsskripte aus der ersten BOB-Sackgasse entfernt,
VM-Arbeitsverzeichnis von Debug-Screenshots befreit
- pcc_to_png.py aktualisiert (Xmax/Ymin-Dimensionsfix, jetzt visuell
gegen DOSBox-Referenz verifiziert statt nur behauptet)
Offen: ARE (Kollisionszonen, auch Referenz-Projekt unvollstaendig) und
SAM/TFX (TFMX-Sound) noch nicht angefasst.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>