Skip to content

Decompile we_object3 - #74

Merged
roengstrom merged 6 commits into
mainfrom
decompile-we_object3
Aug 31, 2026
Merged

Decompile we_object3#74
roengstrom merged 6 commits into
mainfrom
decompile-we_object3

Conversation

@roengstrom

Copy link
Copy Markdown
Owner

No description provided.

@decomp-dev

decomp-dev Bot commented Aug 23, 2026

Copy link
Copy Markdown

Report for SLUS_008.92 (be7b8c3 - 7be9495)

Total code: 1161040 bytes (+4112 bytes)
Total functions: 4457 (+1)
📈 Matched code: 43.83% (+1.41%, +18100 bytes)
Total data: 26236 bytes (-48 bytes)

✅ 20 new matches
Unit Item Bytes Before After
ovl/world/we_object3 renderWorldMapFrame +3928 0.00% 100.00%
ovl/world/we_object3 func_800A1678 +2200 0.00% 100.00%
ovl/world/we_object3 func_800A2D50 +2108 0.00% 100.00%
ovl/world/we_object3 func_800A47A4 +1872 0.00% 100.00%
ovl/world/we_object3 func_800A1F10 +1088 0.00% 100.00%
ovl/world/we_object3 func_800A2920 +1072 0.00% 100.00%
ovl/world/we_object3 func_800A358C +740 0.00% 100.00%
ovl/world/we_object3 func_800A39BC +736 0.00% 100.00%
ovl/world/we_object3 func_800A0388 +608 0.00% 100.00%
ovl/world/we_object3 func_800A3C9C +584 0.00% 100.00%
ovl/world/we_object3 func_800A26E8 +568 0.00% 100.00%
ovl/world/we_object3 func_800A3EE4 +476 0.00% 100.00%
ovl/world/we_object3 func_800A5B48 +456 0.00% 100.00%
ovl/world/we_object3 func_800A4420 +440 0.00% 100.00%
ovl/world/we_object3 func_800A01DC +428 0.00% 100.00%
ovl/world/we_object3 func_800A568C +400 0.00% 100.00%
ovl/world/we_object3 func_800A246C +396 0.00% 100.00%
ovl/world/we_object3 worldObjectById +60 0.00% 100.00%
ovl/world/we_object0 .bss 0 0.00% 100.00%
ovl/world/we_object0 .data 0 0.00% 100.00%
🥀 1 broken match
Unit Item Bytes Before After
ovl/world/we_object3 func_800A5D8C -60 100.00% 0.00%

@roengstrom
roengstrom force-pushed the decompile-we_object3 branch from 143d538 to 9d19907 Compare August 24, 2026 11:01
…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
roengstrom force-pushed the decompile-we_object3 branch from 9d19907 to 7be9495 Compare August 31, 2026 18:20
@roengstrom roengstrom changed the title Decompile renderWorldMapFrame Decompile we_object3 Aug 31, 2026
@roengstrom
roengstrom merged commit 6c3de2f into main Aug 31, 2026
1 check passed
@roengstrom
roengstrom deleted the decompile-we_object3 branch August 31, 2026 18:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant