Repository navigation
feat(framework): the framework moves in: one-command build, named addresses, split modules - #12
Merged
Merged
Conversation
…resses, split modules The PRX builds with `make -C framework` in a pinned pspdev image; every address comes from the generated header; lua_host and inject are split; C names follow one convention. Behaviour is unchanged: compared function by function with the old build. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2 of 3 tasks
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.
Part of sp00ktober/MHFU-ModKit#64 (all of it) and sp00ktober/MHFU-ModKit#65 (the splits, names, addresses and dropped code). Behaviour is unchanged; #65's behaviour changes follow in a second PR.
make -C frameworkbuildsmhfu_framework.prxandmhfu_boot.prxinpspdev/pspdev:v20260901, pinned by digest, with nopsp-pacman. The syslib export, the linker script and the e_flags patch are build steps with a one-line reason each. The PRX is built locally, not in CI..incbin:_prelude.luaand the address table, and no.lua.h. Thetigrex_spinfallback is gone.addresses.gen.h(37 new addresses, 19 new fields). Lua gets them asmhfu.addr, built on first use from an embedded copy without doc comments.addresses.pynow accepts the extra-RAM window's end address, so it can be named.lua_hostis split by domain: VM, event bridge, scripts and hot reload, one bindings file per domain, freecam (still not installed), capture, combat.inject.cppis split into injection, the extra-RAM platform and the real-PSP volatile interposer.mhfu_<domain>_*, andmhfu.hincludes the whole API. Lua names are unchanged.em_vhook_arm/seam29/stats, the extra-RAM probes,mhfu_unregister_event,ai_script.h, …), the region table, and the tools not carried over.monster_nameplatesstays as the C example: it is compiled by every build and linked only when enabled inmods.manifest.Parity: the old code, rebuilt with the pinned image, reproduces the PRX in use today byte for byte. Against that build, 1,261 functions are the same. 24 differ, each because of dropped code, the region table becoming constants, inlining across the split, or one filled delay slot.
Test plan
uv run pytestwith and without game data;pre-commit run --all-files🤖 Generated with Claude Code