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.
Depends on #107 and its API ancestors; merge those first and rebase before merging. Implementation-only commit
569b78980a0586b1ed8ee9662e0a94da134f254a(focused diff).API-3 getFlag/setFlag now resolve validated cartridge symbols/numbers to the exact flag keys used by this host's VM and save converter. Red/Blue and Yellow use their own named bit catalogs; Gold/Silver reuse Gen2Flags; Crystal retains the pinned reference's numeric-only contract. FireRed/Emerald use version-specific symbols/aliases and numeric ranges. Unknown/hack mappings decline; private mod flags remain available without assuming Gold numbering for Prism/Polished Crystal.
Preserve the host's false-versus-untouched native clear semantics. Gen3 flag writes target only affected active object templates through native visibility synchronization. Flags remain usable from menus/scripts with a current save. Add the common mod.. private alias and refuse foreign namespaces. Retire retained setters on owner unload/rollback/reload; refuse recursive writes during the flag event/visibility callback.
Identifier catalogs contain data only, not Gen1 engine code or ROMs. A deterministic pinned-reference generator/checker verifies every shipped catalog and all 1235 Gold/Silver symbol mappings. CI verifies provenance.
Public contract, event labels and reproduction. For cross-engine Gen3 flag identity use event.id: the pinned Gen1 native emitter uses its base FireRed labels on Emerald, so labels are not normalized as a false equivalence. The identical shared mod consumes event.id or event.name on both engines.
Validation
79ea62f45fb2ea8f65d081a109431e4eb1bbdb36.f56b126e970283139a9e7194e243eef5e6dd3bc5): 87/97 engine, SDK3/3, B30 PASS; identical baseline failures. All72 comparisons/144runs and provenance checks pass there too.Unchanged failing suites: gate_fingerprint, gate_meta_coverage, quit_thread_shutdown, rebind_capture_bug510, rebind_swap_clear_bug589, soft_reset_bug563, tool_mod_hooks, update_check_tests, update_tests, wide_battle_layout. Full test entry remains nonzero because of these baseline failures.
Hosted CI
Published open/non-draft at the tested head. API 3 contracts and ci currently conclude
action_requiredpending maintainer fork-workflow approval. Hosted CI is not green; validation above ran locally.