Skip to content

Connect native GBA field draw scopes, owned terrain and integer Flash windows - #301

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

Roxas2712 wants to merge 12 commits into
UNDERdecoded:mainfrom
Roxas2712:codex/upstream-native-field-view

Conversation

@Roxas2712

Copy link
Copy Markdown

A source field renderer could not enter the native GBA world draw phase. This adds that boundary and a default terrain/actor capture over the admitted native world, with owned source atlases, explicit viewports and the native actor/effect state. Rendering does not construct another world or advance another simulation clock.

True 16px room boundaries remain separate from even layout storage padding. Connected pairs retain their own atlases; stationary batches rebind palette/animation uploads. Native and source drawing share integer Flash scanlines. Capture options, camera panning, graphics-state fencing and resource retirement are explicit. The existing native GraphicsScope guard is reused because it is absent from the public base.

Stacked on #291; the new review units are 8d33d66 and 7ab8d41. The separately offered map/palette/atlas prerequisites (#240, #245, #246, #250, #251, #259, #260) and native player/session facade (#254, #265) are reused. This does not replace a missing native stack with a simulated world. Fork persistent-world map admission is a separate follow-up.

Validation:

  • Fork integration: PR Roxas2712/Gen2Recomped#71 merged. Combined main 96a39a0 passes 451/451 engine suites and 3/3 SDK suites; feature CI 69 successful, one unchanged-target iOS skip.
  • Actual fork GPU hosts: LÖVE 11.5 OpenGL and LÖVE 12 OpenGL/Metal, each 187 checks, 110 image comparisons and 135 readbacks across all five GBA editions, three viewports, panning, palette reload and upload-buffer rotation. Independent pinned scanline comparison: 5,025 cases match.
  • Actual public API-2 prerequisite composition: 256 field + 6 Flash checks, SDK 3/3, and the same 187 GPU checks/110 comparisons on LÖVE 12 OpenGL and Metal. Baseline and candidate retain exactly the same 35 failure lines across 15 existing engine suites; this is not an all-green public engine result. The extra prerequisite failures include palette/import fixture issues and are recorded separately from the earlier smaller baseline.
  • Unchanged original-package entry advances past field_view in every GBA edition and stops at the next missing battle interface. Full initialization/gameplay, original effect-task/art/timing parity, source-specific mosaic/order/void-fade behavior and iOS/Android/Switch acceptance remain open.

Contribution permission and credit: Roxas2712 contribution licence. Existing third-party rights and notices remain effective.

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