Commit Graph

5 Commits

Author SHA1 Message Date
m3ultra
4e2004e740 Settings page, pause menu, menu navigation; fix packed-app portraits
- select screen portraits load via pck-safe loader (the blank-cards bug
  in the shipped build)
- Settings (title menu + persisted user://settings.json): fullscreen,
  hitbox viewer default, master volume
- Esc: pause menu in fights (resume/rematch/select/menu), back-to-title
  from select/editor/settings
- FOITIN_SHOT env hook smoke-tests exported builds end-to-end

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-29 21:31:16 +10:00
m3ultra
ab087659f0 MIRPAMO wave: SIREN + DAPHNE (fighters 17-18), roster grid 3rd size tier
- batch_roster kit_glb mode: pre-retargeted MIRPAMO kits render via
  --self-anim; unmapped actions dropped
- both nude bases fully playable: 16 moves, auto finisher timing,
  base-only wardrobe until WARDROBEGOD garments arrive
- select grid scales to 18+ (9 per row tier)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-29 14:44:28 +10:00
m3ultra
1005422053 Closed-loop camera calibration: pixel servo handles arbitrary rig conventions
MeshGod/TRELLIS Mixamo re-rigs pose half a metre underground and compressed
(bone-space origin at hips, 0.01/100 scale sandwich). Instead of fighting
transform conventions, the renderer probes the first posed frame, measures
the actual sprite in pixels, and servo-corrects ortho scale + camera z:
unclip -> converge height -> pin feet to the ground row. Also: normalize
scales all root objects, deformed-height helper.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-29 13:37:58 +10:00
m3ultra
0f83637fcc Roster batch tooling: 6 new fighters from the asset library
- pipeline/batch_roster.py: model + clip-kit per fighter, renders
  base+torn, packs, hitboxes, tunes, portraits — sequential batch
- --strip flag (mesh removal) added; Mixamo pack models turn out hollow
  under clothes, so this batch ships base+torn; true clothes-off waits
  on rigging the wardrobegod nude bases (phrtt2, daphne)
- tune_fighters: manifests + default finisher timing for raver/chef/
  exec/jinx/elva/umbra; getup move tuned
- select screen wraps to a 4-per-row grid

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 23:38:16 +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