Skip to content

d_a_obj_tapestry#787

Draft
WilliamArnett wants to merge 18 commits intozeldaret:mainfrom
WilliamArnett:d_a_obj_tapestry
Draft

d_a_obj_tapestry#787
WilliamArnett wants to merge 18 commits intozeldaret:mainfrom
WilliamArnett:d_a_obj_tapestry

Conversation

@WilliamArnett
Copy link
Contributor

It may be possible to make this match, but there are weak function order issues that are beyond my comprehension. Any help in resolving weak function order is appreciated. Some more work is needed to match the demo version. I will leave this as a draft until I have cleaned the code up a bit.

@decomp-dev
Copy link

decomp-dev bot commented Jun 5, 2025

Report for GZLE01 (e24cbed - 1cf1e51)

📈 Matched code: 41.76% (+0.32%, +25112 bytes)

✅ 125 new matches:
Unit Function Bytes Before After
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_nrm() +1312 0.30% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_wind() +1289 0.31% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestry_c::checkCollision() +1020 0.39% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::daObjTapestryPacket_c() +969 0.41% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_acc_spring(int, int) +932 0.43% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_fire() +785 0.51% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::eff_pos() +765 0.52% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_acc_wave(int, int) +669 0.60% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::init(daObjTapestry_c*) +633 0.63% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::eff_start_chk(int, int) +620 0.64% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_pos_crr(int, int) +573 0.69% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestry_c::_create() +568 0.70% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::eff_start(int, int) +461 0.86% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_acc_spring_sub(const cXyz*, const cXyz*, float, float) +448 0.88% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::setup_tevColReg(daObjTapestry_c*) +445 0.89% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_hit() +436 0.91% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryDrawData_c::ct_dl() +429 0.93% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestry_c::setup_action(int) +409 0.97% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_acc_hit(int, int) +368 1.08% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryFireEff_c::execute(JPABaseEmitter*) +365 1.09% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPLight_c::setPointLight(cXyz, csXyz) +360 1.10% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::smoke_move(fopAc_ac_c*) +360 1.10% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::setup_tev_stage() +360 1.10% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestry_c::set_cc_pos() +356 1.11% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_pos() +345 1.15% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry dBgS_ObjGndChk::~dBgS_ObjGndChk() +320 0.00% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_spd(int, int) +292 1.35% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestry_c::burn_act_proc() +292 1.35% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry dBgS_GndChk::~dBgS_GndChk() +280 0.00% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::draw() +269 1.47% 100.00%

...and 95 more new matches

@decomp-dev
Copy link

decomp-dev bot commented Jun 5, 2025

Report for D44J01 (e24cbed - 1cf1e51)

📈 Matched code: 29.65% (+0.22%, +16956 bytes)

✅ 100 new matches:
Unit Function Bytes Before After
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_nrm() +1312 0.30% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_wind() +1293 0.31% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::daObjTapestryPacket_c() +969 0.41% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_acc_spring(int, int) +948 0.42% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::eff_pos() +765 0.52% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::init(daObjTapestry_c*) +633 0.63% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::eff_start_chk(int, int) +629 0.63% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_pos_crr(int, int) +568 0.70% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::eff_start(int, int) +461 0.86% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_acc_spring_sub(const cXyz*, const cXyz*, float, float) +448 0.88% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_hit() +436 0.91% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryFireEff_c::execute(JPABaseEmitter*) +365 1.09% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPLight_c::setPointLight(cXyz, csXyz) +360 1.10% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::setup_tev_stage() +360 1.10% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_pos() +345 1.15% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry dBgS_ObjGndChk::~dBgS_ObjGndChk() +320 0.00% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_spd(int, int) +292 1.35% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry dBgS_GndChk::~dBgS_GndChk() +280 0.00% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::~daObjTapestryPacket_c() +268 0.00% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::setup_vtx(daObjTapestryDrawVtx_c*) +256 1.54% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestry_HIO_c::daObjTapestry_HIO_c() +241 1.64% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry dCcD_Tri::~dCcD_Tri() +224 0.00% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::smoke_set() +213 1.85% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_fire_leap(int, int) +205 1.92% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::set_hit(cXyz, cXyz, float, float, bool) +189 2.08% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_acc_gravity() +185 2.13% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry __sinit_d_a_obj_tapestry_cpp +180 0.00% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry dBgS_Chk::~dBgS_Chk() +160 0.00% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryDrawVtx_c::~daObjTapestryDrawVtx_c() +148 0.00% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry dCcD_Stts::~dCcD_Stts() +144 0.00% 100.00%

...and 70 more new matches

📈 25 improvements in unmatched functions:
Unit Function Bytes Before After
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestry_c::checkCollision() +1003 0.39% 98.41%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_fire() +731 0.50% 92.45%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_acc_wave(int, int) +661 0.59% 98.40%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestry_c::_create() +567 0.70% 99.92%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::setup_tevColReg(daObjTapestry_c*) +444 0.89% 99.99%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestry_c::setup_action(int) +408 0.97% 99.96%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryDrawData_c::ct_dl() +382 0.93% 89.24%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestry_c::set_cc_pos() +355 1.11% 99.84%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_acc_hit(int, int) +351 1.08% 95.54%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::smoke_move(fopAc_ac_c*) +327 1.10% 91.04%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestry_c::burn_act_proc() +291 1.35% 99.91%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestry_c::wait_act_proc() +260 1.52% 99.94%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestry_c::set_eye_pos() +247 1.59% 99.92%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestry_c::create_heap() +243 1.61% 99.92%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::draw() +233 1.59% 94.44%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc(daObjTapestry_c*) +220 1.67% 92.98%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestry_c::burn_act_init_proc() +168 2.33% 99.98%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestry_c::_execute() +155 2.50% 99.88%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestry_c::init_cc() +151 2.56% 99.87%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestry_c::_delete() +151 1.75% 67.72%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestry_c::set_mtx() +135 2.86% 99.94%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestry_c::demo_request_act_proc() +123 3.12% 99.94%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestry_c::_draw() +112 3.45% 99.86%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestry_c::init_mtx() +56 6.67% 99.93%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestry_c::create_res_load() +39 2.94% 31.59%

@decomp-dev
Copy link

decomp-dev bot commented Jun 5, 2025

Report for GZLP01 (e24cbed - 1cf1e51)

📈 Matched code: 41.26% (+0.32%, +25112 bytes)

✅ 125 new matches:
Unit Function Bytes Before After
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_nrm() +1312 0.30% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_wind() +1289 0.31% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestry_c::checkCollision() +1020 0.39% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::daObjTapestryPacket_c() +969 0.41% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_acc_spring(int, int) +932 0.43% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_fire() +785 0.51% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::eff_pos() +765 0.52% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_acc_wave(int, int) +669 0.60% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::init(daObjTapestry_c*) +633 0.63% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::eff_start_chk(int, int) +620 0.64% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_pos_crr(int, int) +573 0.69% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestry_c::_create() +568 0.70% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::eff_start(int, int) +461 0.86% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_acc_spring_sub(const cXyz*, const cXyz*, float, float) +448 0.88% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::setup_tevColReg(daObjTapestry_c*) +445 0.89% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_hit() +436 0.91% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryDrawData_c::ct_dl() +429 0.93% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestry_c::setup_action(int) +409 0.97% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_acc_hit(int, int) +368 1.08% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryFireEff_c::execute(JPABaseEmitter*) +365 1.09% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPLight_c::setPointLight(cXyz, csXyz) +360 1.10% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::smoke_move(fopAc_ac_c*) +360 1.10% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::setup_tev_stage() +360 1.10% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestry_c::set_cc_pos() +356 1.11% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_pos() +345 1.15% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry dBgS_ObjGndChk::~dBgS_ObjGndChk() +320 0.00% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_spd(int, int) +292 1.35% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestry_c::burn_act_proc() +292 1.35% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry dBgS_GndChk::~dBgS_GndChk() +280 0.00% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::draw() +269 1.47% 100.00%

...and 95 more new matches

@decomp-dev
Copy link

decomp-dev bot commented Jun 5, 2025

Report for GZLJ01 (e24cbed - 1cf1e51)

📈 Matched code: 40.29% (+0.32%, +25088 bytes)

✅ 125 new matches:
Unit Function Bytes Before After
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_nrm() +1312 0.30% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_wind() +1289 0.31% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestry_c::checkCollision() +1016 0.39% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::daObjTapestryPacket_c() +969 0.41% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_acc_spring(int, int) +932 0.43% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_fire() +785 0.51% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::eff_pos() +765 0.52% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_acc_wave(int, int) +669 0.60% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::init(daObjTapestry_c*) +633 0.63% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::eff_start_chk(int, int) +620 0.64% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_pos_crr(int, int) +573 0.69% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestry_c::_create() +568 0.70% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::eff_start(int, int) +461 0.86% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_acc_spring_sub(const cXyz*, const cXyz*, float, float) +448 0.88% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::setup_tevColReg(daObjTapestry_c*) +445 0.89% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_hit() +436 0.91% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryDrawData_c::ct_dl() +429 0.93% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestry_c::setup_action(int) +409 0.97% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_acc_hit(int, int) +368 1.08% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryFireEff_c::execute(JPABaseEmitter*) +365 1.09% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPLight_c::setPointLight(cXyz, csXyz) +360 1.10% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::smoke_move(fopAc_ac_c*) +360 1.10% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::setup_tev_stage() +360 1.10% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestry_c::set_cc_pos() +356 1.11% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_pos() +345 1.15% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry dBgS_ObjGndChk::~dBgS_ObjGndChk() +320 0.00% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::calc_spd(int, int) +292 1.35% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestry_c::burn_act_proc() +292 1.35% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry dBgS_GndChk::~dBgS_GndChk() +280 0.00% 100.00%
d_a_obj_tapestry/d/actor/d_a_obj_tapestry daObjTapestryPacket_c::~daObjTapestryPacket_c() +268 0.00% 100.00%

...and 95 more new matches

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