Skip to content

Player model classes - #114

Draft
RootCubed wants to merge 25 commits into
masterfrom
d_player_model_base
Draft

Player model classes#114
RootCubed wants to merge 25 commits into
masterfrom
d_player_model_base

Conversation

@RootCubed

Copy link
Copy Markdown
Collaborator

No description provided.

user and others added 11 commits July 12, 2026 20:04
Mostly matching now, only a few regswaps and layout issues remain.
Co-authored-by: Copilot <copilot@github.com>
Name fields in AnmData_s, and use enums for animation ids. Also
introduces switch statements to ensure it's still matching.
@decomp-dev

decomp-dev Bot commented Jul 18, 2026

Copy link
Copy Markdown

Report for SMNP01 (979630c - 675dea1)

Total code: 6263208 bytes (-8 bytes)
Total functions: 39971 (-1)
📈 Matched code: 8.78% (+0.46%, +28888 bytes)
📈 Linked code: 8.80% (+0.46%, +28888 bytes)
📈 Matched data: 2.69% (+0.60%, +13252 bytes)
📈 Linked data: 4.42% (+0.73%, +16164 bytes)

✅ 210 new matches
Unit Item Bytes Before After
dol/bases/d_player_model_base.cpp .rodata +6392 0.00% 100.00%
dol/bases/d_player_model_base.cpp .data +3144 0.00% 100.00%
dol/bases/d_player_model_base.cpp dPyMdlBase_c::setAnm(int, float, float, float) +1040 0.00% 100.00%
dol/bases/d_player_model_base.cpp dPyMdlBase_c::setBaseMtx(mVec3_c&, mAng3_c&, mVec3_c&) +908 0.00% 100.00%
dol/bases/d_kinopio_model.cpp dKinopioMdl_c::setPersonalAnm(int, nw4r::g3d::ResAnmChr*, int) +872 0.00% 100.00%
dol/bases/d_player_model.cpp dPlayerMdl_c::createPlayerModel() +860 0.00% 100.00%
dol/bases/d_player_model.cpp .data +816 0.00% 100.00%
dol/bases/d_kinopio_model.cpp .data +784 0.00% 100.00%
dol/bases/d_yoshi_model.cpp dYoshiMdl_c::setTongueBendCalc() +780 0.00% 100.00%
dol/bases/d_player_model_base.cpp .sdata +664 0.00% 100.00%
dol/bases/d_yoshi_model.cpp dYoshiMdl_c::nodeCallback_c::timingB(unsigned long, nw4r::g3d::WorldMtxManip*, nw4r::g3d::ResMdl) +620 0.00% 100.00%
dol/bases/d_player_model_base.cpp dPyMdlBase_c::setRideAnm(int, float, float, float) +580 0.00% 100.00%
dol/bases/d_mario_model.cpp .data +568 0.00% 100.00%
dol/bases/d_mario_model.cpp dMarioMdl_c::setPersonalAnm(int, nw4r::g3d::ResAnmChr*, int) +536 0.00% 100.00%
dol/bases/d_kinopio_model.cpp dKinopioMdl_c::setColorType(unsigned char) +528 0.00% 100.00%
dol/bases/d_player_model.cpp dPlayerMdl_c::setPersonalRideAnm(int, nw4r::g3d::ResAnmChr*) +520 0.00% 100.00%
dol/bases/d_mario_model.cpp dMarioMdl_c::createPlayerModel() +516 0.00% 100.00%
dol/bases/d_yoshi_model.cpp dYoshiMdl_c::createPlayerModel() +512 0.00% 100.00%
dol/bases/d_yoshi_model.cpp dYoshiMdl_c::updateTongueMtx() +496 0.00% 100.00%
dol/bases/d_player_model.cpp dPlayerMdl_c::setDark(int) +484 0.00% 100.00%
dol/bases/d_kinopio_model.cpp dKinopioMdl_c::createPlayerModel() +476 0.00% 100.00%
dol/bases/d_player_model.cpp dPlayerMdl_c::dPlayerMdl_c(unsigned char) +472 0.00% 100.00%
dol/bases/d_mario_model.cpp dMarioMdl_c::setColorType(unsigned char) +464 0.00% 100.00%
dol/bases/d_player_model.cpp dPlayerMdl_c::setStarEffect() +444 0.00% 100.00%
dol/bases/d_yoshi_model.cpp dYoshiMdl_c::_setBodyAnm(nw4r::g3d::ResAnmChr&, m3d::playMode_e, float, float, float) +440 0.00% 100.00%
dol/bases/d_player_model.cpp dPlayerMdl_c::_setFootAnm(nw4r::g3d::ResAnmChr&, m3d::playMode_e, float, float, float) +416 0.00% 100.00%
dol/bases/d_player_model.cpp dPlayerMdl_c::play() +388 0.00% 100.00%
dol/bases/d_player_model.cpp dPlayerMdl_c::nodeCallback_c::timingB(unsigned long, nw4r::g3d::WorldMtxManip*, nw4r::g3d::ResMdl) +368 0.00% 100.00%
dol/bases/d_player_model_base.cpp dPyMdlBase_c::dPyMdlBase_c(unsigned char) +360 0.00% 100.00%
dol/bases/d_player_model_base.cpp dPyMdlBase_c::releaseBodyAnm(float) +360 0.00% 100.00%

...and 180 more new matches

🥀 3 broken matches
Unit Item Bytes Before After
runtime/global_destructor_chain.c .dtors -8 100.00% 0.00%
runtime/global_destructor_chain.c .dtors -4 100.00% 0.00%
runtime/global_destructor_chain.c .dtors -4 100.00% 0.00%
📈 10 improvements in unmatched items
Unit Item Bytes Before After
dol/bases/d_player_model_manager.cpp .bss +2396 0.00% 99.83%
dol/bases/d_player_model.cpp .rodata +253 0.00% 99.21%
dol/bases/d_player_model_base.cpp .sdata2 +101 0.00% 98.04%
dol/bases/d_player_model.cpp .sdata2 +61 0.00% 96.77%
dol/bases/d_mario_model.cpp .sdata +55 0.00% 99.10%
dol/bases/d_mario_model.cpp .sdata2 +13 0.00% 85.71%
dol/bases/d_player_model_manager.cpp .data +13 0.00% 85.71%
runtime/global_destructor_chain.c .sbss +5 0.00% 66.67%
runtime/global_destructor_chain.c .sbss +5 0.00% 66.67%
runtime/global_destructor_chain.c .sbss +5 0.00% 66.67%
📉 3 regressions in unmatched items
Unit Item Bytes Before After
runtime/global_destructor_chain.c .bss -5 66.67% 0.00%
runtime/global_destructor_chain.c .bss -5 66.67% 0.00%
runtime/global_destructor_chain.c .bss -5 66.67% 0.00%

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