From 104d9a2a644e5300a7e28bee28ff11f833921c3c Mon Sep 17 00:00:00 2001 From: duffyduck Date: Sun, 26 Jul 2026 11:17:11 +0200 Subject: [PATCH] Sprungphasen korrekt: Slot 8 aufwaerts / Slot 9 fallen (Stefans Zuordnung), seitliches Stehen = Slot 0 --- NOTES.md | 11 +++++++++++ game/level.py | 13 +++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/NOTES.md b/NOTES.md index ec901cd..00c5267 100644 --- a/NOTES.md +++ b/NOTES.md @@ -1999,3 +1999,14 @@ Wichtig fuers Protokoll: die DOSBox-"Checks" liefen gegen GESPEICHERTE Frameserien aus frueheren Capture-Sessions (Scratchpad), nicht live -- und die zeigten nur den Spawn-Fall. Idle-Warteanimation (Schachtel nach 4s) unveraendert. + +## 26.07.2026 (28) -- Slot 8/9 = Sprungphasen, seitliches Stehen = Slot 0 + +Stefans Zuordnung: Tony 016.png (Slot 8) = Sprung AUFWAERTS, 018.png +(Slot 9) = FALLEN. Seitliche Steh-Pose (nach Bewegung) = Slot 0 (Beine +zusammen, zugleich erster Walkframe -- per Sprite-Vergleich mit Stefans +Original-Screenshots bestaetigt, auch bei Smacks). Damit: +Sprung = Hocke(10) -> aufwaerts(8) -> abwaerts(9); Stehen = frontal(17) +am Spawn, seitlich(0) nach Bewegung. Die Tabelle [4][8,8,8] ist also die +Aufwaerts-Sprungpose (Set beim Absprung), nicht "Idle" -- Eintrag (26)/ +(27) entsprechend ueberholt. diff --git a/game/level.py b/game/level.py index 4b59fc8..01224bc 100644 --- a/game/level.py +++ b/game/level.py @@ -86,11 +86,15 @@ SLOPE_CT = 16 # Charakter hat, ergibt sich daraus, WELCHE Slots sein BOB enthaelt # (nur Tony hat 13-16 = rennen, nur Smacks/Toucan 25-28 = schwimmen, # nur Toucan 29-31 als Richtungs-Paare = fliegen, nur Coco 35-44 = hangeln). -# Steh-Posen (Stefans Screenshots + DOSBox-Serien, 26.07.2026): +# Steh-/Sprung-Posen (Stefans Screenshots + Zuordnung 26.07.2026): # - Am SPAWN (noch nie bewegt) steht das Original FRONTAL: Slot 17. -# - Nach Bewegung steht es SEITLICH in Blickrichtung: Slot 8 (BOB 16). +# - Nach Bewegung steht es SEITLICH in Blickrichtung: Slot 0 (Beine +# zusammen, zugleich erster Walkframe). +# - Slot 8 (BOB 16) = SPRUNG AUFWAERTS, Slot 9 (BOB 18) = FALLEN +# (Stefans Zuordnung: "016.png bis oben, 018.png beim Runterfallen"). SLOT_STAND_FRONT = 17 -SLOT_STAND_SIDE = 8 +SLOT_STAND_SIDE = 0 +SLOT_RISE = 8 SLOT_IDLE = SLOT_STAND_SIDE # Fallback-Slot (existiert bei allen Chars) SLOT_JUMP = 9 # Springen/Fallen SLOT_SQUAT = 10 # Absprung-Hocke @@ -577,7 +581,8 @@ class Player: return SLOT_GLIDE if self.jump_squat_t > 0: return SLOT_SQUAT # Absprung-Hocke (Original-Tabelle [4][10,10,10]) - return SLOT_JUMP + # aufwaerts = Slot 8, abwaerts = Slot 9 (Stefans Zuordnung) + return SLOT_RISE if self.vy < 0 else SLOT_JUMP if self.vx: seq, fps = (ANIM_RUN, RUN_ANIM_FPS) if (self.running and self.can_run) \ else (ANIM_WALK, WALK_ANIM_FPS)