Charaktersystem komplett auf Original-Slots umgebaut: alle 4 Figuren mit echten Animationen, Toucan-Flug, Coco-Hangeln, Smacks Sprung/Duck-Fix, Anker aus BOB-Headern, Wasser-Sofortschaden

This commit is contained in:
2026-07-25 16:10:21 +02:00
parent 6ac9d7fc6b
commit 09264109ca
3 changed files with 224 additions and 117 deletions
+38
View File
@@ -1848,3 +1848,41 @@ Die 14-Byte-Frame-Header (Felder u0/u1/u2 vor width/height) bedeuten:
vermutlich Levelobjekt-/Gegner-Slots (Ladeliste 'ani',A-O,gamebar,keys,
vitamin,platfw1,doors,blume,wolke,KROKO,BOSSNAKE,w2snake,DRAGON @4984).
Noch offen.
## 26.07.2026 (19) -- Charaktersystem auf Original-Slots umgebaut (alle 4 Figuren)
Umsetzung von Eintrag (18) in game/level.py + game/formats.py:
- formats.BobFrame traegt jetzt slot/anchor_x/anchor_y aus dem Frame-Header.
- Player haelt Sprites als {slot: (Surface, Anker)}; Blickrichtung links =
Slot+50 (Original-Regel), Einzel-Frames fallen auf die Rechts-Variante
zurueck. Gezeichnet wird am Original-ANKER (Fusspunkt) + SPRITE_SINK.
- CHAR_DEFS auf bob/item_icon/head_index geschrumpft; FAEHIGKEITEN werden
aus den vorhandenen Slots abgeleitet (can_run=13, can_swim=25,
can_fly=29+79 als Paar, can_hang=35) -- deckt sich exakt mit Handbuch.
- Animationen = Original-Tabellen: Walk [4][0-7], Run [4][13-16],
Schwimmstoss [10][25-28], Fluegelschlag [12][29,30,31,30], Idle-Warten
[25][23,24,23,22,...,10x5] (= Schachtel-essen-Posen 22-24!).
- Dabei 3 Alt-Bugs gefixt: Smacks Sprung/Ducken waren VERTAUSCHT (Sprung
ist Slot 9 = BOB 18, Ducken Slot 12 = BOB 24 -- Stefans Verdacht war
richtig); Smacks' alte Schwimm-Frames waren die LINKS-Varianten;
Smacks-Idle war ein Laufframe (Slot 6) statt Slot 8.
- NEU Toucan: Flugkette wie im Original -- Absprung armiert
flap_strength=-300, jeder Schlag (Space-Edge in der Luft) wird um 48
schwaecher, unter -70 nur noch Gleiten (Slot 34, Sinken max 55 px/s,
Pfeil-runter bricht ab). Test: exakt 5 Schlaege bis zum Gleiten ✓.
- NEU Coco: Hangeln -- greift mit Hoch-Taste in der Luft einen "Ast",
hangelt seitlich (Slots 35-44, Anker-Y 64), Runter laesst los.
EXPERIMENTELL: Ast-Trigger = ctype-Bit 8; in W1L2 liegen solche Tiles
aber nur in Zeile 1 (unsichtbar oben) -> echter Ast-ctype noch per
DOSBox/W2-Level zu verifizieren.
- Wasser-Schaden: erster Kontakt kostet SOFORT ein Herz (+Blinken), danach
alle 1.5s (Stefans Erinnerung; DOSBox-Nachmessung steht noch aus).
- Tod: Slot 19 + fallendes Accessoire Slots 48/49 im Wechsel (16x16,
Muetze/Tuch); Tuer-Gucken = Slot 45 (alle Charaktere, wie vorher).
- Smacks-Slots 29-31 = WASSERBLASEN-Posen (Handbuch: ALT-Aktion) -- fuer
spaeter (Projektil fehlt noch); Slots 20/21 (32x16) = Spritzer?, offen.
Verifiziert headless: alle 4 Chars idle/walk/duck/squat/fall = Slots
8/0/12/10/9; Smacks schwimmt (25, Stoss 25-28); Toucan 5 Schlaege ->
gleiten; Coco haengt/hangelt/loest. --once exit 0.