Commit Graph

5 Commits

Author SHA1 Message Date
m3ultra
cdafb83a33 Six new fighters: RAVER CHEF EXEC JINX ELVA UMBRA (batch-built, base+torn); trim dizzy to standing sway
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-29 00:07:43 +10:00
m3ultra
d743216b54 Character select screen + fatality-style finisher system
- Select scene (new main scene): roster cards from characters/* with
  portraits, dual cursors (P1 A/D+J, P2 arrows+O), picks via GameState
- finisher flow: KO puts loser in DIZZY with a 5s flashing FINISH! window;
  winner lands QCF+K in range -> finisher move (Brutal Assassination /
  Hell Slammer B) with darkened stage, victim plays synced death anim;
  window expiry or any stray hit = normal collapse
- new moves rendered for both fighters in all wardrobe states:
  dizzy (Stunned), finisher, death (Standing Death Backward)
- CHAR_TUNE per-character move overrides in tune_fighters.py

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 23:27:51 +10:00
m3ultra
54a54f2467 Torn-clothing wardrobe mechanic (Phase A)
- engine: wardrobe states per character (manifest wardrobe.states),
  frames@<state> variant frame-sets per move with base fallback,
  tears:true moves advance state, hp threshold forces final state
- pipeline: --torn punches jagged alpha holes into clothing textures
  (alpha-clip materials) and renders @torn variants; pack maps them
- both fighters: full torn frame-sets for all 12 moves
- special gets designed forward lunge (clip travel was backward)
- verified: demo QCF+P connects, knockdown shows torn frames

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 21:09:06 +10:00
m3ultra
6c1c48c7c6 Phase 2: crouch/win/lose moves, vesper differentiated (bouncing idle + hurricane kick special)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 19:53:44 +10:00
m3ultra
da1cceadc2 Two real fighters: KACHUJIN and VESPER, 11 moves each from Mixamo combat clips
- per-frame hips-centred rendering + root-motion export (the BKB .geo
  approach modernised): traveling clips stay pivot-stable, movement data
  goes to root_motion_frames in data.json
- engine: frame-indexed root motion, pushbox widened for real sprites
- clip set: ginga idle, walks, jump, block, punching/boxing/martelo
  normals, chapa-giratoria QCF special, hit react, knockdown
- verified in-game: demo jab connects, damage applied, mirroring correct

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 19:50:56 +10:00