Repository navigation
Expose drawable presentation size through rcore and CoreLink - #7
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A core cannot adapt its native widescreen projection when the frontend resizes because the runner receives only pads. Add an optional
rcore_host_api::presentation_sizecallback and carry the available drawable pixel area in each CoreLink grant, before aspect letterboxing. The runner freezes that area for the grant, including resims; headless or unavailable dimensions return zero.The append-only contract becomes rcore draft 9 / CoreLink 2.3. The callback is guarded by host
struct_size; the grant retains its 240-byte 2.2 prefix and sends that prefix to older peers. Shared-memory frame layout and protocol major stay unchanged. This is local presentation policy, outside guest input and serialized simulation state.Validation: MSVC Release build; all 32 CTests passed, including resize/unavailable/recovery callback checks and old-prefix decoding. Actual 2.2 host with 2.3 runner and 2.3 host with 2.2 runner both completed successfully. Independent C layout measurement: host API size 160, callback offset 152.
Prerequisite for the dependent Retro-Launcher adaptive presentation PR and n64lle Fit consumer. Merge this first; no release or merge is requested here.
Related adaptive Smash stack: RetroPortingToolKit/n64lle#97 and RetroPortingToolKit/SuperSmashBrosRecomp#1. Merge Runtime #7 first, then Launcher #35 with its Runtime pin preserved or updated to the merged commit; merge n64lle #97 before the game PR. No merge or release has been performed by the agent.