Repository navigation
Conversation
# Conflicts: # src/mods/Loader.lua
# Conflicts: # docs/modding.md # src/mods/Loader.lua # src/world/WorldAPI.lua
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.
The generic link codec rebuilds native GBA Pokémon from the older DV/stat-experience fields. It drops PID, IVs, EVs, nature, ability slot and secret trainer ID. A clean #215 negative control loses all six fields and changes the example's maximum HP from 92 to 67.
Dispatch GBA party serialization to a separate versioned codec. Preserve six-stat investments, personality, selected valid ability slot, original-trainer identity, PP-Ups/current PP, item/ball, friendship, contest/origin data, ribbons, language, markings, Pokerus and extension namespaces. Rebuild stats/nature/gender from authoritative data; auto-level heals HP/status while retaining genotype. Keep both public
gender.rollentry points and preserve the native toxic/sleep representation.Advertise native party revision 1 and refuse older/different codecs before trade or battle party exchange, in either role. Hash the codec revision and include native genotype in active/bench state components. Older-generation codecs/digests stay unchanged. The raw GBA fixture changes from
3a76cc5fce47a5c3to2fd444270c3d90db, independently audited using the unchanged #215 hasher plus the explicit new surface token. No golden is reblessed.This stacks on #215. Gen1 remains an unchanged read-only reference; no Gen1 changes or publication.
Validation on clean feature
b1795a79cb03a4de7171d50db93a39ce49dddd64:535a5ec088c1ae1bf4d91dd3e35a56f64cf46d91. All prior modes remain. The new actual-codec matrix covers 25 natures; levels 1/35/100 plus forced levels; alternate/single abilities; Shedinja; zero/max/mixed IVs/EVs; canonical/raw/translated registries; native metadata and five public gender-hook policies. Only explicit engine ID/stat-key/gender-code schemas are mapped; no compared observations/calls are removed.TOX/personality reads in a CPU-only smoke. No imported data/assets/saves are published.The packet contract is engine-local, with explicit schema mapping in comparisons; this does not assert cross-engine network packet compatibility. Full native egg-legality checks, other-generation codecs, timed side/volatile producers, whole-game RNG/VBlank scheduling and demo controller playback remain separate. No live UI/full-playthrough claim. Reproduction commands and limits are in
docs/native-gen3-party-codec.md.Combined fork acceptance: clean runtime
abeaf23461ee80e95a7ff0f9cfd98bb5e5075062passes 224/224 engine suites, SDK 3/3 and B30. All 80 workers / 59,394 paired observations remain identical there, and the actual imported FireRed/Emerald party smoke also passes. The documented snapshot is pushed asd0e5b52ef2857a7d2eee8c7e662cf38e95d9f46dtoRoxas2712/Gen2Recomped:codex/portability-testing. Forkmainremains13af468b.All seven hosted workflows currently require maintainer approval (
action_required). The dedicated contract run has zero jobs. Local acceptance does not claim hosted execution. The app's 100-artifact limit prevented another PR attachment; the regular PR remains published and linked.