Enemy/bosstelesa: decompile Boss Telesa behavior - #134
Conversation
Report for GMSJ01 (5a8c71e - 60fcf3f)📈 Matched code: 35.52% (+0.21%, +7504 bytes) ✅ 65 new matches
...and 35 more new matches 📈 42 improvements in unmatched items
...and 12 more improvements in unmatched items |
|
Follow-up on the latest commit ( Header
Source changes
Effect
TU fuzzy match: 90.38% → 93.18%. Remaining residuals are MWCC stack-frame padding, register-allocation shifts, and inlining depth (e.g. |
- route sounds through SMSGetMSound()->startSoundActor + SoundEffects enum - add boss telesa particle enum entries, use them in emit/load - use MsMtxSetXYZRPH f32 overload in TBubble::calcRootMatrix - drop fabricated isActorTypeOf, use direct actor-type comparisons - rename MActor::getAnmBck -> getCurBckAnmPtr (real map name) - unk198/unk1A8 -> bool[3] arrays (remove pointer fakematch) - rolling/allStopped -> bool, MsWrap-free 360 wraps restored - fabsf instead of __fabsf, CAM_SHAKE_MODE enum, SMSGetMarDirector
|
Addressed most of the review in Done
Pushed back on
Still TODO (not attempted / couldn't resolve cleanly)
One thing to flag: routing the sounds through the inline |
Summary
Matching
.data,.rodata,.sdata,.sdata2, and.sbssTBossTelesa::loadAfteris 96.8%,generateSlotItemis 77.6%,TNerveBossTelesaSlotStart::executeis 79.5%, and compiler-generated__sinit_bosstelesa_cppis now an exact 100% matchTU structure
UNUSEDsymbolsVerification
ninja baselineninja changes_allninja all_source progress build/GMSJ01/report.jsonbuild/GMSJ01/mario.dol: OKpython tools/check-changed-symbol-order.py src/Enemy/bosstelesa.cpppython tools/validate-symbol-order.py -u mario/Enemy/bosstelesagit diff --checkThis is the full BossTelesa decompilation effort.