Skip to content

Share Crystal caught-data APIs with native arrivals and SRAM - #403

Draft
Roxas2712 wants to merge 207 commits into
UNDERdecoded:mainfrom
Roxas2712:codex/upstream-gen2-caught-data
Draft

Roxas2712 wants to merge 207 commits into
UNDERdecoded:mainfrom
Roxas2712:codex/upstream-gen2-caught-data

Conversation

@Roxas2712

@Roxas2712 Roxas2712 commented Oct 29, 2026 •

Copy link
Copy Markdown

Crystal source Mon caught-data edits were not connected to native SRAM export or consumers. This shares the real metadata owner with native catches/PC storage, contest catches before gate transfer, GivePoke, NPC/fixed-OT gifts, hatching, friendship and trade OT marks. All native party/box/daycare codec paths import and export the live fields. Gold/Silver reserved words and unreviewed hack layouts remain opaque.

Depends on offered #402 and its stated prerequisites. The older host additionally lacked native landmark identities and pokemonRecord export; their actual implementations are included and independently tested, without changing test outcome assertions or adding a simulated facade.

Qualification on actual combined implementation 6ce0e17: 393,307 caught-data/API checks (all 65,536 byte pairs), 7,970 native codec checks, 133 native SDK/arrival/consumer/RTC checks, plus fields170, friendship24,270, identity262,168 and actual identity SDK450 checks. All seven selected groups passed. Final commit differs only by the qualification document. Full official suites/GPU/final release acceptance are not claimed for this older upstream candidate.

No supplied mod, ROM, Gen1 install or player profile edits. This is a scoped missing engine API/ownership contribution; it does not complete source Mon/Battle or full VASC parity. Details: docs/NATIVE-GEN2-CAUGHT-DATA-UPSTREAM.md.

Contributions by Roxas2712 — https://github.com/Roxas2712. Independently owned additions are offered to Cedric/UNDERdecoded under LICENSE-ROXAS2712.md, including its visible credit terms. Existing authorship and upstream/Gen1/third-party grants remain effective; no whole foreign file is claimed.

Final setter-preservation follow-up: source setters retain the opaque historical word, and expanded native codec tests invoke both setters directly on all reserved layouts. All seven groups passed again on 6ce0e17; final head dd31d24 differs only by documentation.

# Conflicts:
#	src/mods/Loader.lua
# Conflicts:
#	docs/modding.md
#	src/mods/Loader.lua
#	src/world/WorldAPI.lua
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