Mod packages: feature-oriented loader with guarded stock-disc operations - #81
Closed
mstan wants to merge 13 commits into
Closed
Mod packages: feature-oriented loader with guarded stock-disc operations#81mstan wants to merge 13 commits into
mstan wants to merge 13 commits into
Conversation
# Conflicts: # runtime/src/main.cpp
Merged
Owner
Author
|
Closing as superseded by the separately integrated mod-package series now on master. The feature was not rejected: commits 316eaa4 through 05e569c carried the loader, guarded stock-disc operations, conflict handling, typed patches, resolver context, prerequisites, tests, docs, and sparse fields into master. Master has since added substantial follow-up functionality and tests, so merging this older branch would conflict with or roll back the evolved implementation. The final framework suite (36/36) and four-title regeneration/build regression passed on the current implementation. |
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 framework half of the mod-package work: a feature-oriented mod loader whose operations resolve against the user's own verified stock disc, before boot, with no patched image and no per-permutation recomp build.
What this adds
.psxmodarchive is an install and trust boundary that may contain many features; a feature is the user-facing toggle with its own state and options; an operation is the runtime primitive it resolves into. Enumeration, persistence, resolution and diagnostics live here.u8/u16le/u32le), a register-linkedmips_lui_ori_u32transform, feature-local ordered-integer constraints,omit_when_default, and format-4 sparse owned fields so independent features can share one semantic record when their complete guards agree and their owned ranges are disjoint. Typed integer predicates select bounded templates before boot.builtin:<id>resolvers for cases where several features must compose into a shared bitfield, table or allocation, and the package only names the resolver plus its selections.Design constraints held
Scope
Deliberately excludes two things that build on top of this and are in review separately:
feat/coop-second-actorMMX6 is the consuming game and the large-scale proving ground; its conversion is a separate PR in that repo.