Skip to content

d_a_mt 98%#712

Open
ross3102 wants to merge 21 commits intozeldaret:mainfrom
ross3102:d-a-mt
Open

d_a_mt 98%#712
ross3102 wants to merge 21 commits intozeldaret:mainfrom
ross3102:d-a-mt

Conversation

@ross3102
Copy link
Contributor

@ross3102 ross3102 commented Mar 29, 2025

94% .data
98% .text

@ross3102 ross3102 changed the title d-a-mt d-a-mt (WIP) Mar 29, 2025
@ross3102 ross3102 changed the title d-a-mt (WIP) d_a_mt (WIP) Mar 29, 2025
@LagoLunatic
Copy link
Collaborator

Any update on this? FYI, the TU doesn't need to be 100% for you to mark it as "ready for review".

@ross3102
Copy link
Contributor Author

Any update on this? FYI, the TU doesn't need to be 100% for you to mark it as "ready for review".

ah sorry, got busy with other things. I made a lot of progress on this, I think it was mostly just down to regalloc stuff. I'll do a bit of cleanup and then open it up for review

@decomp-dev
Copy link

decomp-dev bot commented Oct 22, 2025

Report for D44J01 (27f0df1 - 1672534)

📈 Matched code: 42.17% (+0.17%, +13012 bytes)

✅ 118 new matches
Unit Function Bytes Before After
d_a_mt/d/actor/d_a_mt wall_check_sub(mt_class*, cXyz*, cXyz*) +752 0.53% 100.00%
d_a_mt/d/actor/d_a_mt mt_class::mt_class() +752 0.00% 100.00%
d_a_mt/d/actor/d_a_mt nodeCallBack_body(J3DNode*, int) +556 0.71% 100.00%
d_a_mt/d/actor/d_a_mt br_draw(mt_class*) +516 0.77% 100.00%
d_a_mt/d/actor/d_a_mt body_control4(mt_class*) +496 0.80% 100.00%
d_a_mt/d/actor/d_a_mt nodeCallBack_tail(J3DNode*, int) +409 0.97% 100.00%
d_a_mt/d/actor/d_a_mt bakuha(mt_class*) +400 0.99% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_ObjLinChk::dBgS_ObjLinChk() +368 0.00% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_ObjGndChk_Yogan::~dBgS_ObjGndChk_Yogan() +360 0.00% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_ObjLinChk::~dBgS_ObjLinChk() +340 0.00% 100.00%
d_a_mt/d/actor/d_a_mt daMt_shadowDraw(mt_class*) +336 1.18% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_ObjGndChk_Yogan::dBgS_ObjGndChk_Yogan() +332 0.00% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_LinChk::dBgS_LinChk() +324 0.00% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_ObjGndChk::~dBgS_ObjGndChk() +320 0.00% 100.00%
d_a_mt/d/actor/d_a_mt nodeCallBack_head(J3DNode*, int) +305 1.30% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_LinChk::~dBgS_LinChk() +300 0.00% 100.00%
d_a_mt/d/actor/d_a_mt daMt_HIO_c::daMt_HIO_c() +288 1.37% 100.00%
d_a_mt/d/actor/d_a_mt daMt_Delete(mt_class*) +285 1.39% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_GndChk::~dBgS_GndChk() +280 0.00% 100.00%
d_a_mt/d/actor/d_a_mt mt_bg_check(mt_class*) +229 1.72% 100.00%
d_a_mt/d/actor/d_a_mt dCcD_Cyl::~dCcD_Cyl() +204 0.00% 100.00%
d_a_mt/d/actor/d_a_mt dCcD_Sph::~dCcD_Sph() +204 0.00% 100.00%
d_a_mt/d/actor/d_a_mt body_wall_check(mt_class*) +200 1.96% 100.00%
d_a_mt/d/actor/d_a_mt tex_anm_set(mt_class*, unsigned short) +193 2.04% 100.00%
d_a_mt/d/actor/d_a_mt water_damage_se_set(mt_class*) +181 2.17% 100.00%
d_a_mt/d/actor/d_a_mt mt_eye_tex_anm(mt_class*) +173 2.27% 100.00%
d_a_mt/d/actor/d_a_mt anm_init(mt_class*, int, float, unsigned char, float, int) +165 2.38% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_Chk::~dBgS_Chk() +160 0.00% 100.00%
d_a_mt/d/actor/d_a_mt cBgS_LinChk::~cBgS_LinChk() +148 0.00% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_AcchCir::~dBgS_AcchCir() +136 0.00% 100.00%

...and 88 more new matches

📈 12 improvements in unmatched functions
Unit Function Bytes Before After
d_a_mt/d/actor/d_a_mt daMt_Execute(mt_class*) +4685 0.08% 96.50%
d_a_mt/d/actor/d_a_mt mt_fight(mt_class*) +3426 0.11% 97.33%
d_a_mt/d/actor/d_a_mt body_control2(mt_class*) +2896 0.13% 94.37%
d_a_mt/d/actor/d_a_mt mt_move(mt_class*) +2678 0.14% 94.84%
d_a_mt/d/actor/d_a_mt mt_move_maru(mt_class*) +2399 0.16% 98.67%
d_a_mt/d/actor/d_a_mt damage_check(mt_class*) +1615 0.24% 98.91%
d_a_mt/d/actor/d_a_mt body_control3(mt_class*) +1448 0.27% 96.54%
d_a_mt/d/actor/d_a_mt CallbackCreateHeap(fopAc_ac_c*) +1416 0.27% 95.90%
d_a_mt/d/actor/d_a_mt body_control5(mt_class*) +1354 0.29% 97.51%
d_a_mt/d/actor/d_a_mt daMt_Create(fopAc_ac_c*) +997 0.38% 95.80%
d_a_mt/d/actor/d_a_mt body_control1(mt_class*) +980 0.41% 99.90%
d_a_mt/d/actor/d_a_mt daMt_Draw(mt_class*) +666 0.57% 95.14%

Report for GZLE01 (27f0df1 - 1672534)

📈 Matched code: 54.38% (+0.19%, +14728 bytes)

✅ 120 new matches
Unit Function Bytes Before After
d_a_mt/d/actor/d_a_mt damage_check(mt_class*) +1269 0.31% 100.00%
d_a_mt/d/actor/d_a_mt mt_class::mt_class() +752 0.00% 100.00%
d_a_mt/d/actor/d_a_mt wall_check_sub(mt_class*, cXyz*, cXyz*) +749 0.53% 100.00%
d_a_mt/d/actor/d_a_mt daMt_Draw(mt_class*) +696 0.57% 100.00%
d_a_mt/d/actor/d_a_mt nodeCallBack_body(J3DNode*, int) +556 0.71% 100.00%
d_a_mt/d/actor/d_a_mt br_draw(mt_class*) +516 0.77% 100.00%
d_a_mt/d/actor/d_a_mt body_control4(mt_class*) +496 0.80% 100.00%
d_a_mt/d/actor/d_a_mt nodeCallBack_tail(J3DNode*, int) +409 0.97% 100.00%
d_a_mt/d/actor/d_a_mt bakuha(mt_class*) +400 0.99% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_ObjLinChk::dBgS_ObjLinChk() +368 0.00% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_ObjGndChk_Yogan::~dBgS_ObjGndChk_Yogan() +360 0.00% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_ObjLinChk::~dBgS_ObjLinChk() +340 0.00% 100.00%
d_a_mt/d/actor/d_a_mt daMt_shadowDraw(mt_class*) +333 1.19% 100.00%
d_a_mt/d/actor/d_a_mt daMt_Delete(mt_class*) +328 1.20% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_LinChk::dBgS_LinChk() +324 0.00% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_ObjGndChk_Yogan::dBgS_ObjGndChk_Yogan() +320 0.00% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_ObjGndChk::~dBgS_ObjGndChk() +320 0.00% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_LinChk::~dBgS_LinChk() +300 0.00% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_GndChk::~dBgS_GndChk() +280 0.00% 100.00%
d_a_mt/d/actor/d_a_mt daMt_HIO_c::daMt_HIO_c() +248 1.59% 100.00%
d_a_mt/d/actor/d_a_mt mt_bg_check(mt_class*) +229 1.72% 100.00%
d_a_mt/d/actor/d_a_mt dCcD_Cyl::~dCcD_Cyl() +204 0.00% 100.00%
d_a_mt/d/actor/d_a_mt dCcD_Sph::~dCcD_Sph() +204 0.00% 100.00%
d_a_mt/d/actor/d_a_mt body_wall_check(mt_class*) +200 1.96% 100.00%
d_a_mt/d/actor/d_a_mt tex_anm_set(mt_class*, unsigned short) +193 2.04% 100.00%
d_a_mt/d/actor/d_a_mt water_damage_se_set(mt_class*) +181 2.17% 100.00%
d_a_mt/d/actor/d_a_mt mt_eye_tex_anm(mt_class*) +173 2.27% 100.00%
d_a_mt/d/actor/d_a_mt anm_init(mt_class*, int, float, unsigned char, float, int) +165 2.38% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_Chk::~dBgS_Chk() +160 0.00% 100.00%
d_a_mt/d/actor/d_a_mt cBgS_LinChk::~cBgS_LinChk() +148 0.00% 100.00%

...and 90 more new matches

📈 11 improvements in unmatched functions
Unit Function Bytes Before After
d_a_mt/d/actor/d_a_mt daMt_Execute(mt_class*) +4856 0.08% 98.36%
d_a_mt/d/actor/d_a_mt mt_fight(mt_class*) +3398 0.11% 96.51%
d_a_mt/d/actor/d_a_mt body_control2(mt_class*) +2972 0.13% 97.27%
d_a_mt/d/actor/d_a_mt mt_move(mt_class*) +2776 0.14% 98.02%
d_a_mt/d/actor/d_a_mt mt_move_maru(mt_class*) +2401 0.16% 99.02%
d_a_mt/d/actor/d_a_mt CallbackCreateHeap(fopAc_ac_c*) +1455 0.26% 96.52%
d_a_mt/d/actor/d_a_mt body_control3(mt_class*) +1446 0.27% 96.19%
d_a_mt/d/actor/d_a_mt body_control5(mt_class*) +1355 0.29% 99.28%
d_a_mt/d/actor/d_a_mt daMt_Create(fopAc_ac_c*) +1004 0.39% 98.86%
d_a_mt/d/actor/d_a_mt body_control1(mt_class*) +929 0.41% 96.40%
d_a_mt/d/actor/d_a_mt nodeCallBack_head(J3DNode*, int) +302 1.30% 99.29%

Report for GZLP01 (27f0df1 - 1672534)

📈 Matched code: 53.00% (+0.19%, +14728 bytes)

✅ 120 new matches
Unit Function Bytes Before After
d_a_mt/d/actor/d_a_mt damage_check(mt_class*) +1269 0.31% 100.00%
d_a_mt/d/actor/d_a_mt mt_class::mt_class() +752 0.00% 100.00%
d_a_mt/d/actor/d_a_mt wall_check_sub(mt_class*, cXyz*, cXyz*) +749 0.53% 100.00%
d_a_mt/d/actor/d_a_mt daMt_Draw(mt_class*) +696 0.57% 100.00%
d_a_mt/d/actor/d_a_mt nodeCallBack_body(J3DNode*, int) +556 0.71% 100.00%
d_a_mt/d/actor/d_a_mt br_draw(mt_class*) +516 0.77% 100.00%
d_a_mt/d/actor/d_a_mt body_control4(mt_class*) +496 0.80% 100.00%
d_a_mt/d/actor/d_a_mt nodeCallBack_tail(J3DNode*, int) +409 0.97% 100.00%
d_a_mt/d/actor/d_a_mt bakuha(mt_class*) +400 0.99% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_ObjLinChk::dBgS_ObjLinChk() +368 0.00% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_ObjGndChk_Yogan::~dBgS_ObjGndChk_Yogan() +360 0.00% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_ObjLinChk::~dBgS_ObjLinChk() +340 0.00% 100.00%
d_a_mt/d/actor/d_a_mt daMt_shadowDraw(mt_class*) +333 1.19% 100.00%
d_a_mt/d/actor/d_a_mt daMt_Delete(mt_class*) +328 1.20% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_LinChk::dBgS_LinChk() +324 0.00% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_ObjGndChk_Yogan::dBgS_ObjGndChk_Yogan() +320 0.00% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_ObjGndChk::~dBgS_ObjGndChk() +320 0.00% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_LinChk::~dBgS_LinChk() +300 0.00% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_GndChk::~dBgS_GndChk() +280 0.00% 100.00%
d_a_mt/d/actor/d_a_mt daMt_HIO_c::daMt_HIO_c() +248 1.59% 100.00%
d_a_mt/d/actor/d_a_mt mt_bg_check(mt_class*) +229 1.72% 100.00%
d_a_mt/d/actor/d_a_mt dCcD_Cyl::~dCcD_Cyl() +204 0.00% 100.00%
d_a_mt/d/actor/d_a_mt dCcD_Sph::~dCcD_Sph() +204 0.00% 100.00%
d_a_mt/d/actor/d_a_mt body_wall_check(mt_class*) +200 1.96% 100.00%
d_a_mt/d/actor/d_a_mt tex_anm_set(mt_class*, unsigned short) +193 2.04% 100.00%
d_a_mt/d/actor/d_a_mt water_damage_se_set(mt_class*) +181 2.17% 100.00%
d_a_mt/d/actor/d_a_mt mt_eye_tex_anm(mt_class*) +173 2.27% 100.00%
d_a_mt/d/actor/d_a_mt anm_init(mt_class*, int, float, unsigned char, float, int) +165 2.38% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_Chk::~dBgS_Chk() +160 0.00% 100.00%
d_a_mt/d/actor/d_a_mt cBgS_LinChk::~cBgS_LinChk() +148 0.00% 100.00%

...and 90 more new matches

📈 11 improvements in unmatched functions
Unit Function Bytes Before After
d_a_mt/d/actor/d_a_mt daMt_Execute(mt_class*) +4856 0.08% 98.36%
d_a_mt/d/actor/d_a_mt mt_fight(mt_class*) +3398 0.11% 96.51%
d_a_mt/d/actor/d_a_mt body_control2(mt_class*) +2972 0.13% 97.27%
d_a_mt/d/actor/d_a_mt mt_move(mt_class*) +2776 0.14% 98.02%
d_a_mt/d/actor/d_a_mt mt_move_maru(mt_class*) +2401 0.16% 99.02%
d_a_mt/d/actor/d_a_mt CallbackCreateHeap(fopAc_ac_c*) +1455 0.26% 96.52%
d_a_mt/d/actor/d_a_mt body_control3(mt_class*) +1446 0.27% 96.19%
d_a_mt/d/actor/d_a_mt body_control5(mt_class*) +1355 0.29% 99.28%
d_a_mt/d/actor/d_a_mt daMt_Create(fopAc_ac_c*) +1004 0.39% 98.86%
d_a_mt/d/actor/d_a_mt body_control1(mt_class*) +929 0.41% 96.40%
d_a_mt/d/actor/d_a_mt nodeCallBack_head(J3DNode*, int) +302 1.30% 99.29%

Report for GZLJ01 (27f0df1 - 1672534)

📈 Matched code: 53.09% (+0.19%, +14716 bytes)

✅ 120 new matches
Unit Function Bytes Before After
d_a_mt/d/actor/d_a_mt damage_check(mt_class*) +1256 0.32% 100.00%
d_a_mt/d/actor/d_a_mt mt_class::mt_class() +752 0.00% 100.00%
d_a_mt/d/actor/d_a_mt wall_check_sub(mt_class*, cXyz*, cXyz*) +749 0.53% 100.00%
d_a_mt/d/actor/d_a_mt daMt_Draw(mt_class*) +696 0.57% 100.00%
d_a_mt/d/actor/d_a_mt nodeCallBack_body(J3DNode*, int) +556 0.71% 100.00%
d_a_mt/d/actor/d_a_mt br_draw(mt_class*) +516 0.77% 100.00%
d_a_mt/d/actor/d_a_mt body_control4(mt_class*) +496 0.80% 100.00%
d_a_mt/d/actor/d_a_mt nodeCallBack_tail(J3DNode*, int) +409 0.97% 100.00%
d_a_mt/d/actor/d_a_mt bakuha(mt_class*) +400 0.99% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_ObjLinChk::dBgS_ObjLinChk() +368 0.00% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_ObjGndChk_Yogan::~dBgS_ObjGndChk_Yogan() +360 0.00% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_ObjLinChk::~dBgS_ObjLinChk() +340 0.00% 100.00%
d_a_mt/d/actor/d_a_mt daMt_shadowDraw(mt_class*) +333 1.19% 100.00%
d_a_mt/d/actor/d_a_mt daMt_Delete(mt_class*) +328 1.20% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_LinChk::dBgS_LinChk() +324 0.00% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_ObjGndChk_Yogan::dBgS_ObjGndChk_Yogan() +320 0.00% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_ObjGndChk::~dBgS_ObjGndChk() +320 0.00% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_LinChk::~dBgS_LinChk() +300 0.00% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_GndChk::~dBgS_GndChk() +280 0.00% 100.00%
d_a_mt/d/actor/d_a_mt daMt_HIO_c::daMt_HIO_c() +248 1.59% 100.00%
d_a_mt/d/actor/d_a_mt mt_bg_check(mt_class*) +229 1.72% 100.00%
d_a_mt/d/actor/d_a_mt dCcD_Cyl::~dCcD_Cyl() +204 0.00% 100.00%
d_a_mt/d/actor/d_a_mt dCcD_Sph::~dCcD_Sph() +204 0.00% 100.00%
d_a_mt/d/actor/d_a_mt body_wall_check(mt_class*) +200 1.96% 100.00%
d_a_mt/d/actor/d_a_mt tex_anm_set(mt_class*, unsigned short) +193 2.04% 100.00%
d_a_mt/d/actor/d_a_mt water_damage_se_set(mt_class*) +181 2.17% 100.00%
d_a_mt/d/actor/d_a_mt mt_eye_tex_anm(mt_class*) +173 2.27% 100.00%
d_a_mt/d/actor/d_a_mt anm_init(mt_class*, int, float, unsigned char, float, int) +165 2.38% 100.00%
d_a_mt/d/actor/d_a_mt dBgS_Chk::~dBgS_Chk() +160 0.00% 100.00%
d_a_mt/d/actor/d_a_mt cBgS_LinChk::~cBgS_LinChk() +148 0.00% 100.00%

...and 90 more new matches

📈 11 improvements in unmatched functions
Unit Function Bytes Before After
d_a_mt/d/actor/d_a_mt daMt_Execute(mt_class*) +4844 0.08% 98.36%
d_a_mt/d/actor/d_a_mt mt_fight(mt_class*) +3393 0.11% 96.51%
d_a_mt/d/actor/d_a_mt body_control2(mt_class*) +2972 0.13% 97.27%
d_a_mt/d/actor/d_a_mt mt_move(mt_class*) +2776 0.14% 98.02%
d_a_mt/d/actor/d_a_mt mt_move_maru(mt_class*) +2401 0.16% 99.02%
d_a_mt/d/actor/d_a_mt CallbackCreateHeap(fopAc_ac_c*) +1455 0.26% 96.52%
d_a_mt/d/actor/d_a_mt body_control3(mt_class*) +1446 0.27% 96.19%
d_a_mt/d/actor/d_a_mt body_control5(mt_class*) +1355 0.29% 99.28%
d_a_mt/d/actor/d_a_mt daMt_Create(fopAc_ac_c*) +1004 0.39% 98.86%
d_a_mt/d/actor/d_a_mt body_control1(mt_class*) +929 0.41% 96.40%
d_a_mt/d/actor/d_a_mt nodeCallBack_head(J3DNode*, int) +302 1.30% 99.29%

Comment on lines +2135 to +2146
// static int bmd_data[8] = {
// MT_BDL_MG_HEAD, MT_BDL_MG_BODY, MT_BDL_MG_BODY, MT_BDL_MG_BODY,
// MT_BDL_MG_BODY, MT_BDL_MG_BODY, MT_BDL_MG_BODY, MT_BDL_MG_TAIL
// };

// static f32 scale_data[8] = {
// 1.0f, 1.0f, 1.0f, 0.975f, 0.925f, 0.825f, 0.75f, 0.525f
// };

// static int br_bmd[3] = {
// MT_BDL_KBA, MT_BDL_KBB, MT_BDL_KBC
// };
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

these seem to be in .data twice for some reason?

Comment on lines +2232 to +2237
const char* unused[4] = {
"i_this->btk[i]",
"i_this->brk[i]",
"i_this->br_modelL[i] != 0",
"i_this->br_modelR[i] != 0"
};
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

these strings are in .rodata even though they're not used anywhere?

@ross3102 ross3102 marked this pull request as ready for review October 29, 2025 02:36
@ross3102 ross3102 changed the title d_a_mt (WIP) d_a_mt 98% Oct 29, 2025
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.

2 participants