mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-08-18 12:52:51 -04:00
ShieldD: Clean up a bunch of 99% matching TUs (#3113)
* d_a_npc_ks debug code 100% * d_a_npc_rafrel debug code 100% * d_a_npc_inko minor improvements * d_a_npc_gro debug code 100% * d_a_npc_pachi_taro debug code 100% * d_a_npc_passer debug code 100% * d_a_npc_pachi_maro debug code 100% * d_a_npc_post debug code 100% * d_a_obj_bemos debug improvements * d_a_obj_scannon_ten debug code 100% * d_a_b_mgn debug code 100% * d_a_e_fb debug code 100% * d_a_e_gb debug code 100% * d_a_e_hz debug code 100% * d_a_e_cr_egg debug code 100% * d_a_e_md debug code 100% * d_a_e_wb debug code 100% * d_a_obj_mirror_6pole debug code 100% * d_a_obj_spinLift debug data fixes * d_a_obj_pdwall debug data fixes * d_a_obj_ss_drink debug code almost matching * d_a_obj_poFire debug code 100% * d_a_obj_picture debug code 100% * d_a_obj_dust debug code 100% * d_a_obj_fallobj debug code 100% * d_a_obj_itamato debug code almost matching * d_a_obj_syRock debug code 100% * d_a_obj_katatsumuri debug code 100% * d_a_obj_wood_statue debug code 100% * d_a_obj_lv6egate debug code 100% * d_a_tag_qs minor debug symbol fixes * d_a_obj_twGate debug code 100% * d_a_obj_lv6SwGate debug code 100% * d_a_obj_lv6swturn debug code 100% * d_a_obj_lv6Tenbin debug code 100% * d_a_obj_kwheel01 debug code 100% * Fix RTTI order regression (cM3dGCyl vs cBgS_*)
This commit is contained in:
+37
-31
@@ -57,13 +57,13 @@ void daE_MD_c::setCcCylinder(f32 i_height) {
|
||||
}
|
||||
|
||||
int daE_MD_c::CreateHeap() {
|
||||
void* modelData;
|
||||
J3DModelData* modelData;
|
||||
if (mType != TYPE_LV9) {
|
||||
modelData = dComIfG_getObjectRes("E_MD", 0xB);
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes("E_MD", 0xB);
|
||||
} else if (mType == TYPE_LV9) {
|
||||
modelData = dComIfG_getObjectRes("E_MD", 9);
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes("E_MD", 9);
|
||||
} else {
|
||||
modelData = dComIfG_getObjectRes("E_MD", 9);
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes("E_MD", 9);
|
||||
}
|
||||
|
||||
JUT_ASSERT(180, modelData != NULL);
|
||||
@@ -74,19 +74,20 @@ int daE_MD_c::CreateHeap() {
|
||||
}
|
||||
|
||||
if (mType == TYPE_DUMMY) {
|
||||
modelData = dComIfG_getObjectRes("E_MD", 0xD);
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes("E_MD", 0xD);
|
||||
mpYariModelMorf = new mDoExt_McaMorfSO((J3DModelData*)modelData, NULL, NULL, NULL, 2, 1.0f, 0, -1, NULL, 0x80000, 0x11000084);
|
||||
if (mpYariModelMorf == NULL || mpYariModelMorf->getModel() == NULL) {
|
||||
return 0;
|
||||
}
|
||||
} else if (mType == TYPE_LV9) {
|
||||
modelData = dComIfG_getObjectRes("E_MD", 0xA);
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes("E_MD", 0xA);
|
||||
mpYariModelMorf = new mDoExt_McaMorfSO((J3DModelData*)modelData, NULL, NULL, NULL, 2, 1.0f, 0, -1, NULL, 0x80000, 0x11000084);
|
||||
if (mpYariModelMorf == NULL || mpYariModelMorf->getModel() == NULL) {
|
||||
return 0;
|
||||
}
|
||||
} else {
|
||||
mpTbModel = mDoExt_J3DModel__create((J3DModelData*)dComIfG_getObjectRes("E_MD", 0xC), 0x80000, 0x11000084);
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes("E_MD", 0xC);
|
||||
mpTbModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
|
||||
if (mpTbModel == NULL) {
|
||||
return 0;
|
||||
}
|
||||
@@ -126,8 +127,9 @@ void daE_MD_c::At_Check() {
|
||||
if (mAtInfo.mpCollider->ChkAtType(AT_TYPE_HOOKSHOT)) {
|
||||
mAtInfo.mAttackPower = 0;
|
||||
}
|
||||
|
||||
u8 at_se = ((dCcD_GObjInf*)mAtInfo.mpCollider)->GetAtSe();
|
||||
|
||||
dCcD_GObjInf* collider = (dCcD_GObjInf*)mAtInfo.mpCollider;
|
||||
int at_se = collider->GetAtSe();
|
||||
if (mAtInfo.mpSound != NULL && mAtInfo.field_0x18 != 0) {
|
||||
mAtInfo.mpSound->startCollisionSE(dCcD_GObjInf::getHitSeID(at_se, 0), mAtInfo.field_0x18);
|
||||
}
|
||||
@@ -148,6 +150,10 @@ void daE_MD_c::CheckHit() {
|
||||
|
||||
cCcD_Obj* hit_obj = mCyl.GetTgHitObj();
|
||||
fopAc_ac_c* hit_actor = dCc_GetAc(hit_obj->GetAc());
|
||||
//TODO: probably a fakematch (debug)
|
||||
UNUSED(hit_obj);
|
||||
UNUSED(hit_actor);
|
||||
|
||||
if ((hit_obj->ChkAtType(AT_TYPE_IRON_BALL) || fopAcM_GetName(hit_actor) == PROC_E_TH_BALL || fopAcM_GetName(hit_actor) == PROC_B_TN) && (mType == TYPE_DUMMY || mType == TYPE_LV9)) {
|
||||
if (mAction == ACTION_WAIT) {
|
||||
mCyl.OffTgIronBallRebound();
|
||||
@@ -164,8 +170,8 @@ void daE_MD_c::CheckHit() {
|
||||
|
||||
mBreakTimer = 10;
|
||||
Z2GetAudioMgr()->seStart(Z2SE_OBJ_ARMOR_HIT, ¤t.pos, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
|
||||
|
||||
u32 bu_params = (mSwbit << 0x18) | 0xFF0000 | 0x2FFF;
|
||||
|
||||
u32 bu_params = (mSwbit << 0x18) | 0xFF2FFF;
|
||||
if (mCanCreateBu && mType == TYPE_DUMMY) {
|
||||
fopAcM_create(PROC_E_BU, bu_params, ¤t.pos, fopAcM_GetRoomNo(this), &shape_angle, NULL, -1);
|
||||
}
|
||||
@@ -223,7 +229,7 @@ void daE_MD_c::HalfBreakAction() {
|
||||
}
|
||||
}
|
||||
|
||||
bool daE_MD_c::VibAction() {
|
||||
u8 daE_MD_c::VibAction() {
|
||||
shape_angle.x = field_0x5ca * cM_ssin(field_0x5ce);
|
||||
cLib_addCalcAngleS(&field_0x5cc, 0x10, 3.0f + nREG_F(3), 0x100, 0);
|
||||
field_0x5ce += field_0x5cc;
|
||||
@@ -313,7 +319,7 @@ int daE_MD_c::Execute() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
int daE_MD_c::Delete() {
|
||||
inline int daE_MD_c::Delete() {
|
||||
dComIfG_resDelete(&mPhase, "E_MD");
|
||||
if (heap != NULL) {
|
||||
mpModelMorf->stopZelAnime();
|
||||
@@ -384,7 +390,7 @@ static int daE_MD_Execute(daE_MD_c* i_this) {
|
||||
return i_this->Execute();
|
||||
}
|
||||
|
||||
int daE_MD_c::create() {
|
||||
inline int daE_MD_c::create() {
|
||||
fopAcM_ct(this, daE_MD_c);
|
||||
|
||||
int phase_state = dComIfG_resLoad(&mPhase, "E_MD");
|
||||
@@ -396,7 +402,7 @@ int daE_MD_c::create() {
|
||||
|
||||
mSwbit = (fopAcM_GetParam(this) & 0xFF00) >> 8;
|
||||
|
||||
u8 type = fopAcM_GetParam(this) & 0xFF;
|
||||
u8 type = fopAcM_GetParam(this) & 0x0FFFFFFF;
|
||||
if (type == 1) {
|
||||
mType = TYPE_DUMMY;
|
||||
mCanCreateBu = TRUE;
|
||||
@@ -428,7 +434,7 @@ int daE_MD_c::create() {
|
||||
mAcchCir.SetWall(100.0f, 10.0f);
|
||||
fopAcM_setCullSizeBox(this, -1500.0f, 0.0f, -1500.0f, 1000.0f, 1500.0f, 1500.0f);
|
||||
mAcch.Set(fopAcM_GetPosition_p(this), fopAcM_GetOldPosition_p(this), this, 1, &mAcchCir, fopAcM_GetSpeed_p(this), NULL, NULL);
|
||||
|
||||
|
||||
cXyz sp1C(current.pos.x, 100.0f + current.pos.y, current.pos.z);
|
||||
if (fopAcM_gc_c::gndCheck(&sp1C)) {
|
||||
field_0x5bc = fopAcM_gc_c::getGroundY();
|
||||
@@ -458,18 +464,18 @@ static actor_method_class l_daE_MD_Method = {
|
||||
};
|
||||
|
||||
actor_process_profile_definition g_profile_E_MD = {
|
||||
fpcLy_CURRENT_e, // mLayerID
|
||||
7, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_E_MD, // mProcName
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daE_MD_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
&g_fopAc_Method.base, // sub_method
|
||||
132, // mPriority
|
||||
&l_daE_MD_Method, // sub_method
|
||||
0x00044100, // mStatus
|
||||
fopAc_ENV_e, // mActorType
|
||||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
fpcLy_CURRENT_e, // mLayerID
|
||||
7, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_E_MD, // mProcName
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daE_MD_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
&g_fopAc_Method.base, // sub_method
|
||||
132, // mPriority
|
||||
&l_daE_MD_Method, // sub_method
|
||||
0x00044100, // mStatus
|
||||
fopAc_ENV_e, // mActorType
|
||||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user