Skip to content

Back Gen2 battle models and sprite captures with live native state - #223

Closed
Roxas2712 wants to merge 2 commits into
UNDERdecoded:mainfrom
Roxas2712:codex/native-gen2-battle-view
Closed

Roxas2712 wants to merge 2 commits into
UNDERdecoded:mainfrom
Roxas2712:codex/native-gen2-battle-view

Conversation

@Roxas2712

@Roxas2712 Roxas2712 commented Oct 25, 2026 •

Copy link
Copy Markdown

Gen2 mods currently read battler wrappers through screen.battle.player/enemy, so native Pokémon levels and HP disappear from replacement HUDs. The shared screen also lacks the Gen2 native picture-capture boundary, leaving those actors absent from staged battles.

Expose a stable read-only Gen2 model backed by the actual native Pokémon and party, plus shown HP backed by stepHPDrain. Add front/rear sprite capture using the live sprite resolver and the existing native visibility, substitute, grow-in and faint effects. A player front capture retains the original player battler and rear sprite; other generations keep their existing model identity.

Validation: 306 native checks pass independently, including real move damage, HP draining, native switching, sprite visibility and player-front FX clipping. The preceding source fails the clipping regression, and unchanged main fails the model/picture contract. Existing timing, multihit HP and 2,946 API-3 snapshot checks pass.

Combined with #224, source d6149206 passes all 263 engine suites, three SDK suites and B30. Actual imported Crystal with the unchanged ASC OMEGA 1.7 package passes GPU battle loops on OpenGL/VSync 0 and Metal/VSync 1: field-camera First/Third entries, visible native front sprites and correct HUDs, real QUICK_ATTACK damage/native HP draining, native party switch to the actual second Pokemon, RUN and return to a presented map. Input is injected through native key edges, not OS keyboard hardware. Native no-mod ice/random-floor-battle/RUN flows also pass on both backends. The later unrelated marker-retirement fix (#227) raises the combined suite count to 264.

These are native sprite cards in the mod scene, not acceptance of the full generated model renderer. Full reference battle text/move-menu/controller/animation contracts, default visible-wild contacts, continuous movement, Windows GPU and the generated VoxelScene upvalue failure remain open. ASC OMEGA 1.8 differs only in its manifest and Fly anchor; the same native damage/switch/RUN loop now passes independently on both OpenGL and Metal with normal VSync. The Fly sequence itself was not exercised. Packages and evidence stay private/source-bound; the existing release has not been replaced.

@Roxas2712 Roxas2712 closed this Nov 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant