Skip to content

Bind field-move presentation to native admissions and owned GBA surfaces - #297

Closed
Roxas2712 wants to merge 9 commits into
UNDERdecoded:mainfrom
Roxas2712:codex/upstream-native-field-move
Closed

Roxas2712 wants to merge 9 commits into
UNDERdecoded:mainfrom
Roxas2712:codex/upstream-native-field-move

Conversation

@Roxas2712

Copy link
Copy Markdown

Depends on #296 and its existing native-session/asset-stream prerequisites. This follow-up binds field-move presentation to the actual native Gen3FieldMove admission. Until the parent merges, GitHub also shows its field-sheet prerequisites; those remain in #296.

Start/update/draw wrappers use the native admission, with no additional gameplay clock. Explicit source draws render the same native picture, and the renderer frame serial prevents the UI pass from painting that externally drawn cut-in again. Streak motion advances during native updates rather than draws. The effect owns its 240x160 GBA surface independently of dialogue-box themes.

Native images, prior player poses and once-only continuations are scoped to the active game/dataset/save/mod-set/edition. Covered admissions cannot pop a foreign screen; retired source owners release their captures even behind retained wrappers. Observer teardown preserves engine-owned callbacks. Extend the parent's loaded-field-resource cleanup after wrapper unwind to retire source-owned field-move admissions on reload/teardown.

Validation:

  • Exact offered sources on the current upstream API-2 prerequisite composition: 316 focused assertions and 13 actual SDK lifecycle assertions pass; the full engine retains exactly the same 29 existing failure lines as the qualified parent. That prerequisite baseline is not all-green.
  • Actual upstream-composed LÖVE 12 OpenGL and Metal each pass 142 assertions, 40 pixel comparisons and 55 readbacks over synthetic asymmetric artwork and two view sizes.
  • The composed fork also passes the GPU host on LÖVE 11.5 OpenGL, API1 lifecycle 14/14 and API3 lifecycle 13/13. Its native source passes 440 engine suites and all 3 SDK suites before the final composition refresh.

Original band artwork, task/window timings, cry modes/ducking and full renderer/mod gameplay acceptance remain open. The native band is still reconstructed. No original _fx task tables are fabricated, and unsupported noDuck starts refuse rather than silently claim support. No cartridge payloads/player profiles are used; QA reserves 20 GiB.

Contributions by Roxas2712 — https://github.com/Roxas2712. The parent's LICENSE-ROXAS2712.md grants Cedric / UNDERdecoded permission to integrate the covered contributions with credit; existing third-party rights and licence grants remain unchanged.

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