Match game/ object system TUs - #20
Open
monde-lointain wants to merge 30 commits into
Open
monde-lointain wants to merge 30 commits into
monde-lointain wants to merge 30 commits into
Conversation
Decompile libhu/setvf.c to a byte-matching object (libhu SDK math). Verified byte-exact (ninja diff exit 0). Source ported verbatim from the Mario Party 4 sibling decomp.
Decompile libhu/subvf.c to a byte-matching object (libhu SDK math). Verified byte-exact (ninja diff exit 0). Source ported verbatim from the Mario Party 4 sibling decomp.
Decompile game/main.c to a byte-matching object (core system). Verified byte-exact (ninja diff exit 0).
Decompile game/init.c to a byte-matching object (core system). Verified byte-exact (ninja diff exit 0).
Decompile game/jmp.c to a byte-matching object (core system). Verified byte-exact (ninja diff exit 0).
Decompile game/malloc.c to a byte-matching object (core system). Verified byte-exact (ninja diff exit 0).
Decompile game/memory.c to a byte-matching object (core system). Verified byte-exact (ninja diff exit 0).
Decompile game/process.c to a byte-matching object (core system). Verified byte-exact (ninja diff exit 0).
Decompile game/fault.c to a byte-matching object (core system). Verified byte-exact (ninja diff exit 0).
Decompile game/sreset.c to a byte-matching object (core system). Verified byte-exact (ninja diff exit 0).
Decompile game/kerent.c to a byte-matching object (core system). Verified byte-exact (ninja diff exit 0).
Decompile game/pad.c to a byte-matching object (low-level I/O). Verified byte-exact (ninja diff exit 0).
Decompile game/dvd.c to a byte-matching object (low-level I/O). Verified byte-exact (ninja diff exit 0).
Decompile game/data.c to a byte-matching object (low-level I/O). Verified byte-exact (ninja diff exit 0).
Decompile game/decode.c to a byte-matching object (low-level I/O). Verified byte-exact (ninja diff exit 0).
Decompile game/printfunc.c to a byte-matching object (low-level I/O). Verified byte-exact (ninja diff exit 0).
Decompile game/hsfload.c to a byte-matching object (HSF model/animation). Verified byte-exact (ninja diff exit 0).
Decompile game/hsfmotion.c to a byte-matching object (HSF model/animation). Verified byte-exact (ninja diff exit 0).
Decompile game/hsfanim.c to a byte-matching object (HSF model/animation). Verified byte-exact (ninja diff exit 0).
Decompile game/hsfex.c to a byte-matching object (HSF model/animation). Verified byte-exact (ninja diff exit 0).
Decompile game/sprman.c to a byte-matching object (sprite/effects). Verified byte-exact (ninja diff exit 0).
Decompile game/sprput.c to a byte-matching object (sprite/effects). Verified byte-exact (ninja diff exit 0).
Decompile game/esprite.c to a byte-matching object (sprite/effects). Verified byte-exact (ninja diff exit 0).
Decompile game/EnvelopeExec.c to a byte-matching object (sprite/effects). Verified byte-exact (ninja diff exit 0).
Decompile game/ClusterExec.c to a byte-matching object (sprite/effects). Verified byte-exact (ninja diff exit 0).
Decompile game/ShapeExec.c to a byte-matching object (sprite/effects). Verified byte-exact (ninja diff exit 0).
Decompile game/objmain.c to a byte-matching object (object system). Verified byte-exact (ninja diff exit 0).
Decompile game/objsysobj.c to a byte-matching object (object system). Verified byte-exact (ninja diff exit 0).
Decompile game/objdll.c to a byte-matching object (object system). Verified byte-exact (ninja diff exit 0).
Decompile game/objsub.c to a byte-matching object (object system). Verified byte-exact (ninja diff exit 0).
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.
Summary
Decompiles the game-object system: main object manager, system objects, DLL objects, and sub-objects to byte-matching objects and flips them to
Matchinginconfigure.py.Units (4):
game/objmain.c,game/objsysobj.c,game/objdll.c,game/objsub.cWhy
Each TU was reverse-engineered to C that compiles (CodeWarrior
mwccGC/2.6, effective-O0,p) to an object that is byte-identical to the one dtk extracts from the retail DOL, so the relinkedbuild/GP7E01/main.dolreproduces the original image exactly.Verification
ninja diffexit 0 (dtk whole-DOL SHA-1 guard) at this branch tip;build.sha1130/130.Stack (6/8)
Part of a stacked series decompiling the DOL
game/+libhulibraries, built on the previous PR (decomp/game-sprite-fx). Please review/merge in stack order. Because GitHub can't base a cross-fork PR on a fork-only branch, the diff shown againstmainis cumulative until the earlier PRs merge — the net-new change here is the 4Match ...commit(s) at the tip.Scope is strictly decompiled source + build-script config (
configure.py,config/GP7E01/{symbols,config}.txt/yml, headers); no tooling or workflow files are included.