From dc3cb3485dc511cdb8c9cf83f9c018c93ad4bb7e Mon Sep 17 00:00:00 2001 From: duffyduck Date: Sun, 26 Jul 2026 02:46:38 +0200 Subject: [PATCH] Sprunghoehe auf Ast/Blatt-Referenz justiert: JUMP_VELOCITY -380 (Scheitel 77px) -- Tony-Kopf erreicht den Ast, Smacks-Kopf das Blatt, gleiche Sprungkraft wie im Original --- NOTES.md | 14 ++++++++++++++ game/level.py | 7 ++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/NOTES.md b/NOTES.md index 7711715..a07a40f 100644 --- a/NOTES.md +++ b/NOTES.md @@ -1913,3 +1913,17 @@ Exit nur per Space). --once exit 0. Vorher: Wasserschaden-Fix eb798a8 Rueckwechsel ins Level sofort einen Sprung aus (Taste noch gehalten). Fix: player.jump_lock -- Sprung/Stoss gesperrt, bis die Taste einmal losgelassen wurde; nach dem Tuer-Menue gesetzt + Eventqueue geleert. + +## 26.07.2026 (22) -- Sprunghoehe nachjustiert (Ast/Blatt-Referenz) + +Stefans Referenz am Haus (W1L1): Tony springt "bis zum Ast", Smacks "bis +zum Blatt" (das unterm Ast haengt). Aufloesung: im Original haben BEIDE +dieselbe Sprungkraft (-0x18000 aus dem Binary, ~72px Scheitel) -- der +Unterschied ist die Koerpergroesse (Tony 56px, Smacks 44px), dadurch +beruehren die Koepfe verschiedene Ziele. Bei uns fehlten ein paar Pixel +(SPRITE_SINK=4 + Frame-Diskretisierung): JUMP_VELOCITY -360 -> -380 +(Scheitel gemessen 77px). Verifiziert: Tony-Kopf am Scheitel y=510 +(Ast-Band 499-516), Smacks-Kopf y=522 (Blatt-Band 511-526). +Nebenfund: smacks_jump-DOSBox-Serie zeigt auch KURZE Huepfer (~30px) +-- das Original hat variable Sprunghoehe (Taste frueh loslassen), steht +noch auf der Offen-Liste. diff --git a/game/level.py b/game/level.py index 3033119..f96d2cf 100644 --- a/game/level.py +++ b/game/level.py @@ -38,7 +38,12 @@ RUN_SPEED = 200.0 # Stefans Nachmessung: Rennsprung muss bis GRAVITY = 900.0 # Sprunghoehe ~72px (Stefans Referenz: Tonys Kopf erreicht gerade den Ast # ueber dem Spawn): v = sqrt(2*g*h) ~= 360. -JUMP_VELOCITY = -360.0 +# Nachjustiert (Stefans Referenz am Haus in W1L1): Tonys Kopf muss am +# Scheitel den AST (~y505-516) erreichen, Smacks' Kopf das darunter +# haengende BLATT (~y511-526) -- gleiche Sprungkraft, verschiedene +# Koerpergroessen (56 vs 44 px), wie im Original (-0x18000 fuer alle). +# Mit SPRITE_SINK=4 und Diskretisierung braucht das ~80px Scheitelhoehe. +JUMP_VELOCITY = -380.0 SWIM_GRAVITY = 240.0 # Smacks im Wasser: traege sinken SWIM_KICK = -140.0 # Schwimmstoss mit Space WALK_ANIM_FPS = 17.5 # Original: delay 4 Ticks @70Hz (Binary-Tabelle)