10 Commits
Author SHA1 Message Date
duffyduck 916f67a455 F12 = DOSBox-Videoaufnahme (mapper-tony.map; Strg+Alt+F5 kollidiert mit Linux-Konsolenwechsel) -- headless verifiziert: ZMBV 70fps + Tastatur intakt 2026-07-26 12:16:40 +02:00
duffyduck 6123320d07 DOSBox-Config: captures-Ordner fuer Stefans Durchspiel-Aufnahmen (Strg+Alt+F5) 2026-07-26 12:09:40 +02:00
duffyduckandClaude Opus 4.8 95e5b1edb4 Intro: Endlosschleife raus, Alt+Enter-Vollbild, kelloggs.ini
- Keine Endlosschleife mehr: nach der Titelbild-Animation bleibt das fertige,
  voll-farbige Titelbild STEHEN und die Titelmusik loopt weiter, bis Leertaste
  oder ESC das Programm beendet (neue wait_for_key()). run_once() laeuft nur
  noch einmal; scene_title haelt am Ende auf Tastendruck (hold_forever), --once
  haelt stattdessen kurz (fuer headless/Tests).
- ALT+ENTER schaltet zwischen Fenster- und Vollbildmodus um (SCALED-Display
  skaliert das 960x720-Logikbild sauber hoch). Zentrale Event-Behandlung in
  _process_event(); Zeichenroutinen holen die aktuelle Surface per
  pygame.display.get_surface(), damit das Neuerzeugen des Display-Modes beim
  Umschalten keinen veralteten Screen-Bezug hinterlaesst (screen-Parameter aus
  den Scenes entfernt).
- Vollbild-Zustand wird in kelloggs.ini gemerkt (load/save_fullscreen_pref) und
  beim naechsten Start wiederhergestellt; ohne kelloggs.ini = Fenstermodus.
  kelloggs.ini ist gitignored (pro-Rechner-Laufzeitzustand).

Verifiziert (headless): Config load/save, Alt+Enter-Toggle, Space/ESC,
wait_for_key(Space)->quit; python -m game --once exit 0 in ~17s.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-24 01:49:47 +02:00
duffyduckandClaude Opus 4.8 e7d95190eb .gitignore: veraltete Eintraege entfernt
- extracted_pre/ raus: der PCKELL.PRE-Workflow (split_pre.py) ist laengst durch
  den DAT-Weg ersetzt, Ordner existiert nicht mehr, kein Code referenziert ihn.
- *.ppm raus: stammte aus dem alten ImageMagick-convert-Zwischenschritt; die
  aktuellen Tools nutzen Pillow und erzeugen kein PPM mehr.
- extracted_dat/ mit Kurzkommentar versehen (was es ist).

Rest unveraendert und weiterhin korrekt (game/original/, audio_cache/,
tfmx_player-Binary, __pycache__).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-24 00:43:22 +02:00
duffyduckandClaude Opus 4.8 4e4110b67b Original-Spieldateien nach game/original/ verschoben
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>
2026-07-24 00:38:59 +02:00
duffyduckandClaude Opus 4.8 85404c91f4 Projektstruktur: game/-Package angelegt, README ergaenzt
Laufzeit-Code vom Dev-Werkzeug getrennt:
- game/: das eigentliche Spiel, startbar per `python -m game [--once]`.
  - formats.py  (war tools/kellogg_formats.py) -- Asset-Parser, Kern-Bibliothek
  - audio.py    (war tools/tfmx_audio.py)      -- TFMX-Musik-Wrapper
  - intro.py    (war tools/intro_sequence.py)  -- Boot-/Intro-Sequenz
  - tfmx_player/(war tools/tfmx_player/)        -- MIT-C-Renderer
  - __init__.py / __main__.py fuer `python -m game`
- tools/: nur noch Dev-Werkzeuge (dat_extract, pcc_to_png, render_assets),
  importieren jetzt aus game.formats.
- README.md: Ueberblick, Start, Struktur, Voraussetzungen, Rechtliches.
- .gitignore: tfmx_player-Binary-Pfad auf game/ nachgezogen.

Intro laeuft unveraendert (headless-Smoke-Test `python -m game --once` exit 0).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-24 00:29:03 +02:00
ARIA 8509cbcfe5 Aufraeumen: __pycache__ gitignored 2026-07-23 06:43:59 +00:00
ARIA a34be7ce05 Sound (TFMX) geloest: MIT-lizenzierter Player eingebunden, Titelmusik in Intro-Sequenz 2026-07-22 16:19:25 +00:00
ARIAandClaude Sonnet 5 3410a53ee7 BOB/ICO/MAP-Formate geloest, PCKELL.DAT als echten Asset-Container entdeckt
- 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>
2026-07-22 08:21:12 +00:00
ARIA 3c650e6aef Initial commit: PCC-Decoder (mit Xmax/Ymax-Bugfix), Notes, DOSBox-Config
- tools/pcc_to_png.py: PCX-artiger Decoder fuer die 77 PCC-Vollbild-/Logo-
  Dateien, mit Fix fuer falsch gelesene Width/Height (muss aus Xmax-Xmin+1/
  Ymax-Ymin+1 statt Offset 12-15 berechnet werden)
- tools/split_pre.py: Extrahiert alle 181 Dateien aus PCKELL.PRE
- png_out/: alle 77 konvertierten PNGs (Arbeitsergebnis, kein Original-Asset)
- NOTES.md: vollstaendiger Analyse-Stand inkl. offener Punkte
- dosbox/dosbox.conf: funktionierende Testkonfiguration (IRQ-Fix)

Bewusst ausgeschlossen (.gitignore): raw/ und extracted_pre/, da Original-
Spieldaten von Kellogg's Tony and Friends (1994), keine Weiterverbreitung.
2026-07-22 07:20:13 +00:00