Decompile we_object3 - #74
Merged
Merged
Conversation
Report for SLUS_008.92 (be7b8c3 - 7be9495)Total code: 1161040 bytes (+4112 bytes) ✅ 20 new matches
🥀 1 broken match
|
roengstrom
force-pushed
the
decompile-we_object3
branch
from
August 24, 2026 11:01
143d538 to
9d19907
Compare
…r poll renderWorldMapFrame, func_800A2D50, func_800A47A4, func_800A2920, func_800A1F10, func_800A1678, func_800A358C, func_800A39BC and func_800A0388, with the unit-privacy, naming and doc passes that followed each one: WorldSprite moves into the unit, the render callback's sentinels and the command visibility bits get names, and we_object3's exports are reached through its header.
func_80027DB4's axis selectors become the PadAxis enum in thread.h, the parameter is typed with it, and the callers in btl_anim, fe_object1, be_object4, menucfg and we_object3 pick up the declaration from the header instead of local externs.
menucfg.h holds the unit's public surface; the file-local functions go static with their private types at the top of the .c, func_801E587C gets the context type it already had, and the permuter leftovers in func_801E5820 are named.
…lookup func_800A3C9C, func_800A26E8, func_800A3EE4, func_800A5B48, func_800A4420, func_800A01DC and func_800A568C, each with its review pass: WORLD_BANK_RECORDS and WORLD_FAN_SPRITES get names, load-bearing casts get their rationale, and the doc blocks stop claiming things the code cannot support.
…allees The 4112-byte function at 0x800987D8 sat inside the [0x7C0] rodata blob, invisible to the split -- it is the overlay's main loop, and it jals every "dead island" root. Give it a unit (we_object0), pin D_800D2452 (its undefined_syms entry vanished once the func_800A84xx family decompiled), and make the fifteen callees it reaches public: prototypes move to the owning unit headers, and the stale dead-code notes they carried are corrected. Also integrates func_800A246C (prim-pool init, 100% match) with the SDK setPolyFT3 macro it revealed. Coverage 89.48% -> 91.55%; all 25 targets Match.
Five-vector reachability: split-asm jal/%lo/%hi/.word references, a raw address-word scan of the built images, and a jal-encoded-word scan minus the split-asm jal counts (calls from unsplit regions). dead = zero inbound references; unreachable = referenced only from dead roots. --seed adds live roots by hand; --no-reach/--no-deep disable the passes.
roengstrom
force-pushed
the
decompile-we_object3
branch
from
August 31, 2026 18:20
9d19907 to
7be9495
Compare
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.
No description provided.