Skip to content

Conversation

@lepelog
Copy link
Collaborator

@lepelog lepelog commented Dec 10, 2025

No description provided.

@decomp-dev
Copy link

decomp-dev bot commented Dec 10, 2025

Report for SOUE01 (3754ad2 - 612eb87)

Total functions: 76971 (-2)
📈 Matched code: 23.02% (+0.07%, +8292 bytes)
📈 Linked code: 14.36% (+0.08%, +9524 bytes)

✅ 26 new matches
Unit Function Bytes Before After
d_a_obj_soilNP/REL/d/a/obj/d_a_obj_soil dAcOsoil_c::actorCreate() +832 0.00% 100.00%
d_a_obj_soilNP/REL/d/a/obj/d_a_obj_soil dAcOsoil_c::actorPostCreate() +756 0.00% 100.00%
d_a_obj_soilNP/REL/d/a/obj/d_a_obj_soil dAcOsoil_c::actorExecute() +664 0.00% 100.00%
d_a_obj_soilNP/REL/d/a/obj/d_a_obj_soil dAcOsoil_c::handleModelsOpacities() +560 0.00% 100.00%
d_a_obj_soilNP/REL/d/a/obj/d_a_obj_soil dAcOsoil_c::initializeState_Ready() +448 0.88% 100.00%
d_a_obj_soilNP/REL/d/a/obj/d_a_obj_soil dAcOsoil_c::executeState_Ready() +416 0.95% 100.00%
d_a_obj_soilNP/REL/d/a/obj/d_a_obj_soil dAcOsoil_c::executeState_Soil() +404 0.98% 100.00%
d_a_obj_soilNP/REL/d/a/obj/d_a_obj_soil dAcOsoil_c::createHeap() +380 0.00% 100.00%
d_a_obj_soilNP/REL/d/a/obj/d_a_obj_soil dAcOsoil_c::setModelColorFromParams(_GXColor*, m3d::smdl_c&) +356 0.00% 100.00%
d_a_obj_soilNP/REL/d/a/obj/d_a_obj_soil dAcOsoil_c::tryLinkTbox() +312 0.00% 100.00%
d_a_obj_soilNP/REL/d/a/obj/d_a_obj_soil dAcOsoil_c::draw() +264 0.00% 100.00%
d_a_obj_soilNP/REL/d/a/obj/d_a_obj_soil dAcOsoil_c::fn_255_1A50() +256 0.00% 100.00%
d_a_obj_soilNP/REL/d/a/obj/d_a_obj_soil dAcOsoil_c::giveItemFinal() +228 0.00% 100.00%
d_a_obj_soilNP/REL/d/a/obj/d_a_obj_soil dAcOsoil_c::calcItemAndInsectSpawnPos() +200 0.00% 100.00%
d_a_obj_soilNP/REL/d/a/obj/d_a_obj_soil dAcOsoil_c::setModelAlphaToGlobalAlpha() +192 0.00% 100.00%
d_a_obj_soilNP/REL/d/a/obj/d_a_obj_soil dAcOsoil_c::checkCoHit(bool*) +184 0.00% 100.00%
d_a_obj_soilNP/REL/d/a/obj/d_a_obj_soil dAcOsoil_c::giveItemRepeated() +152 0.00% 100.00%
d_a_obj_soilNP/REL/d/a/obj/d_a_obj_soil dAcOsoil_c_classInit() +133 54.08% 100.00%
d_a_obj_soilNP/REL/d/a/obj/d_a_obj_soil dAcOsoil_c::initializeState_Soil() +117 3.33% 100.00%
d_a_obj_soilNP/REL/d/a/obj/d_a_obj_soil dAcOsoil_c::executeState_Hole() +113 3.45% 100.00%
d_a_obj_soilNP/REL/d/a/obj/d_a_obj_soil dAcOsoil_c::~dAcOsoil_c() +93 67.45% 100.00%
d_a_obj_soilNP/REL/d/a/obj/d_a_obj_soil dAcOsoil_c::fn_255_1D80() +72 0.00% 100.00%
d_a_obj_soilNP/REL/d/a/obj/d_a_obj_soil dAcOsoil_c::finalizeState_Ready() +61 6.33% 100.00%
d_a_obj_soilNP/REL/d/a/obj/d_a_obj_soil dAcOsoil_c::doDelete() +48 0.00% 100.00%
d_a_obj_soilNP/REL/d/a/obj/d_a_obj_soil dAcOsoil_c::initializeState_Hole() +45 8.33% 100.00%
d_a_obj_soilNP/REL/d/a/obj/d_a_obj_soil __sinit_\d_a_obj_soil_cpp +1 99.87% 100.00%

/* 0x708 */ dAcRef_c<dAcTbox_c> mTboxLink;
/* 0x714 */ dAcRef_c<dTgInsect_c> mInsectLink;
/* 0x720 */ DowsingTarget mDowsingTarget;
/* 0x740 */ GXColor mColors[2];
Copy link
Collaborator

Choose a reason for hiding this comment

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

Does this need to be GXColor? or does something like mColor work

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

If I use mColor, it uses __construct_array in the constructor, same for nw4r::ut::Color

Copy link
Collaborator

Choose a reason for hiding this comment

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

Unfortunate. GXColor is fine then

Comment on lines 4 to 15
#include "common.h"
#include "d/a/d_a_base.h"
#include "d/a/obj/d_a_obj_base.h"
#include "d/a/obj/d_a_obj_tbox.h"
#include "d/col/bg/d_bg_w.h"
#include "d/col/cc/d_cc_d.h"
#include "d/t/d_t_insect.h"
#include "m/m3d/m_smdl.h"
#include "m/m_vec.h"
#include "nw4r/g3d/res/g3d_resfile.h"
#include "rvl/GX/GXTypes.h"
#include "s/s_State.hpp"
#include "s/s_StateMgr.hpp"
#include "toBeSorted/dowsing_target.h"
Copy link
Collaborator

Choose a reason for hiding this comment

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

for d_a_obj_tbox and d_t_insect remove the headers - We should forward declare in the header since its just used for declaring member reference

Comment on lines 1015 to 1017
void OffCoSet() {
mCo.OffSPrm(1);
}
Copy link
Collaborator

Choose a reason for hiding this comment

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

theres already a ClrCoSet inline

}

int dAcOsoil_c::actorCreate() {
mSubtype = mParams & 0xF;
Copy link
Collaborator

Choose a reason for hiding this comment

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

for future reference, there was an getFromParams inline introduced that should be preferrable to use when accessing params1/mParams

}
if (dScGame_c::currentSpawnInfo.stageName == "F200") {
static const mVec3_c posOnSkyloft(-7301, 3768, -9309);
if (PSVECSquareDistance(mPosition, posOnSkyloft) < 360000) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

try a vec inline or use VECSquareDistance.

360000.f?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

should all floats have the .f suffix?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Generally unless it’s a setting where the parameter is explicitly a float I would say yes.

There have been cases where doubles where emitted due to not having a float specifier - this just clears up a float is really used

Comment on lines 219 to 235
// this feels fake
f32 five;
f32 posZ;
f32 newY;
f32 posX;
f32 posY;
posZ = mPosition.z;
posX = mPosition.x;
posY = mPosition.y;
five = 5;
newY = posY + five;
mPositionCopy2.x = posX;
mPositionCopy2.z = posZ;
mPositionCopy2.y = newY;
mPositionCopy3.x = posX;
mPositionCopy3.y = newY;
mPositionCopy3.z = posZ;
Copy link
Collaborator

Choose a reason for hiding this comment

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

generally dealing with mPositionCopy2 and mPositionCopy3 have been odd. CopyFrom/CopyTo inlines sometimes fixes it.

sometimes it will consolidate the mPosition.y + 5 into one addtion even if its written twice

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