Skip to content

Expose actual native GSC volatile state without retaining retired battle owners - #392

Closed
Roxas2712 wants to merge 10 commits into
UNDERdecoded:mainfrom
Roxas2712:codex/upstream-gen2-volatile-state
Closed

Roxas2712 wants to merge 10 commits into
UNDERdecoded:mainfrom
Roxas2712:codex/upstream-gen2-volatile-state

Conversation

@Roxas2712

@Roxas2712 Roxas2712 commented Oct 28, 2026 •

Copy link
Copy Markdown

Add the source-facing volatile(mon) contract to the live native Gen2 model: confusion, flinch, Endure, recharge, protection counters, Focus Energy and X Accuracy address the actual shared-controller battler. Cache views on the transient model and retire withdrawn wrappers, avoiding LuaJIT weak-key closure retention and party/serialized view state. GSC counter retention follows actual protection effects rather than IDs.

Depends on #351 (native model), #390 (priority) and the established native-mod host prerequisite #124. This older-host branch is independently exercised; it does not depend on the fork-only semantic-checkpoint backend. The compare against upstream main includes the still-unmerged priority/model prerequisites; the new delta is the volatile bridge and fixture.

Validation on this offered branch: 423/423 real native state/mechanics/ownership checks, 262/262 model checks, 83/83 priority checks. Actual API2 consumer; Gold/Silver/Crystal, Prism and Polished Crystal. A separately executed frozen Gen1 model comparison on this offered source passes 108 field/admission checks with unchanged reference hashes. GPU, unchanged-mod, complete source-model and release acceptance remain open. Protection RNG/opponent-first/Substitute mechanics are explicitly separate work.

Contributions by Roxas2712 — https://github.com/Roxas2712. These original integration contributions are offered to Cedric / UNDERdecoded under the specific PR permission in https://github.com/Roxas2712/Gen2Recomped/blob/main/LICENSE-ROXAS2712.md, including visible credit and preservation of existing licences; earlier/third-party permissions remain intact.

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