various cleanup, fix some fakematches

This commit is contained in:
LagoLunatic
2024-02-10 01:09:51 -05:00
parent 7c983ef0c7
commit deb7faebbf
14 changed files with 57 additions and 49 deletions
+2 -2
View File
@@ -13,8 +13,8 @@ cBgS_Chk::~cBgS_Chk() {
/* 8024734C-8024738C .text ChkSameActorPid__8cBgS_ChkCFUi */
bool cBgS_Chk::ChkSameActorPid(unsigned int pid) const {
if (mActorPid == fpcM_ERROR_PROCESS_ID_e || pid == UINT32_MAX || unk_0x0C == 0) {
return 0;
return FALSE;
} else {
return (mActorPid == pid) ? 1 : 0;
return (mActorPid == pid) ? TRUE : FALSE;
}
}
+5 -6
View File
@@ -166,7 +166,7 @@ static BOOL medama_atari_check(am2_class* i_this) {
CcAtInfo atInfo;
cXyz hitPos = *i_this->mEyeSph.GetTgHitPosP();
if (hitObj->GetAtType() & AT_TYPE_GRAPPLING_HOOK) {
if (hitObj->ChkAtType(AT_TYPE_GRAPPLING_HOOK)) {
if (i_this->mCurrBckIdx != AM2_BCK_SLEEP) {
if (i_this->mStealItemLeft > 0) {
s8 origHealth = i_this->mHealth;
@@ -184,7 +184,7 @@ static BOOL medama_atari_check(am2_class* i_this) {
return TRUE;
}
if (hitObj->GetAtType() & AT_TYPE_LIGHT_ARROW) {
if (hitObj->ChkAtType(AT_TYPE_LIGHT_ARROW)) {
ret = true;
i_this->mEnemyIce.mLightShrinkTimer = 1;
i_this->mEnemyIce.mParticleScale = 1.0f;
@@ -193,7 +193,7 @@ static BOOL medama_atari_check(am2_class* i_this) {
return TRUE;
}
if (hitObj->GetAtType() & (AT_TYPE_NORMAL_ARROW | AT_TYPE_FIRE_ARROW | AT_TYPE_ICE_ARROW)) {
if (hitObj->ChkAtType(AT_TYPE_NORMAL_ARROW | AT_TYPE_FIRE_ARROW | AT_TYPE_ICE_ARROW)) {
ret = true;
if (i_this->mCurrBckIdx == AM2_BCK_SLEEP) {
anm_init(i_this, AM2_BCK_WAIT, 1.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, -1);
@@ -244,8 +244,7 @@ static BOOL week_atari_check(am2_class* i_this) {
}
u8 hitType = 0;
u32 atType = hitObj->GetAtType();
if (atType & AT_TYPE_LIGHT_ARROW) {
if (hitObj->ChkAtType(AT_TYPE_LIGHT_ARROW)) {
i_this->mEnemyIce.mLightShrinkTimer = 1;
i_this->mEnemyIce.mParticleScale = 1.0f;
i_this->mEnemyIce.mYOffset = 80.0f;
@@ -253,7 +252,7 @@ static BOOL week_atari_check(am2_class* i_this) {
return TRUE;
}
switch (atType) {
switch (hitObj->GetAtType()) {
case AT_TYPE_SWORD:
case AT_TYPE_MACHETE:
case AT_TYPE_UNK800:
+12 -6
View File
@@ -13,7 +13,7 @@
#include "d/actor/d_a_player_main.h"
#include "d/d_jnt_hit.h"
#include "d/d_s_play.h"
#include "dolphin/types.h"
#include "d/res/res_link.h"
// Needed for the .data section to match.
static f32 dummy1[3] = {1.0f, 1.0f, 1.0f};
@@ -89,8 +89,12 @@ static BOOL createHeap_CB(fopAc_ac_c* i_this) {
/* 800D457C-800D4648 .text _createHeap__9daArrow_cFv */
BOOL daArrow_c::_createHeap() {
// arrowglitter.bdl for Light Arrows, arrow.bdl otherwise.
s32 modelFileIndex = (mArrowType == TYPE_LIGHT ? 0x38 : 0x37) & 0xFFFF;
u16 modelFileIndex;
if (mArrowType == TYPE_LIGHT) {
modelFileIndex = LINK_BDL_ARROWGLITTER;
} else {
modelFileIndex = LINK_BDL_ARROW;
}
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(m_arc_name, modelFileIndex);
JUT_ASSERT(190, modelData != 0);
@@ -1248,9 +1252,11 @@ s32 daArrow_c::_create() {
return cPhs_ERROR_e;
}
// Using the enum here breaks the match.
// return createInit() ? cPhs_COMPLEATE_e : cPhs_ERROR_e;
return createInit() ? 4 : 5;
if (createInit()) {
return cPhs_COMPLEATE_e;
} else {
return cPhs_ERROR_e;
}
}
/* 800D81D0-800D8200 .text _delete__9daArrow_cFv */
+1 -1
View File
@@ -644,7 +644,7 @@ namespace daBomb2 {
cCcD_Obj* hitObj = mSph.GetTgHitObj();
if (hitObj == NULL)
return;
if (!(hitObj->GetAtType() & AT_TYPE_WIND))
if (!hitObj->ChkAtType(AT_TYPE_WIND))
return;
f32 f30 = attr().field_0x40;
+1 -1
View File
@@ -1118,7 +1118,7 @@ void daBomb_c::set_wind_vec() {
cCcD_Obj* hitObj = mSph.GetTgHitObj();
if (hitObj == NULL)
return;
if (!(hitObj->GetAtType() & AT_TYPE_WIND))
if (!hitObj->ChkAtType(AT_TYPE_WIND))
return;
cXyz sp48 = *mSph.GetTgRVecP();
f32 f31 = sp48.abs2();
+8 -9
View File
@@ -297,15 +297,14 @@ void daIball_c::damage() {
if (mCyl.ChkTgHit()) {
cCcD_Obj* hitObj = mCyl.GetTgHitObj();
if (hitObj) {
u32 atType = hitObj->GetAtType();
if (atType & AT_TYPE_SWORD || atType & AT_TYPE_BOKO_STICK ||
atType & AT_TYPE_MACHETE || atType & AT_TYPE_SKULL_HAMMER ||
atType & AT_TYPE_UNK2000000 || atType & AT_TYPE_STALFOS_MACE ||
atType & AT_TYPE_DARKNUT_SWORD || atType & AT_TYPE_HOOKSHOT ||
atType & AT_TYPE_BOOMERANG || atType & AT_TYPE_NORMAL_ARROW ||
atType & AT_TYPE_FIRE_ARROW || atType & AT_TYPE_ICE_ARROW ||
atType & AT_TYPE_LIGHT_ARROW || atType & AT_TYPE_MOBLIN_SPEAR)
{
if (hitObj->ChkAtType(AT_TYPE_SWORD) || hitObj->ChkAtType(AT_TYPE_BOKO_STICK) ||
hitObj->ChkAtType(AT_TYPE_MACHETE) || hitObj->ChkAtType(AT_TYPE_SKULL_HAMMER) ||
hitObj->ChkAtType(AT_TYPE_UNK2000000) || hitObj->ChkAtType(AT_TYPE_STALFOS_MACE) ||
hitObj->ChkAtType(AT_TYPE_DARKNUT_SWORD) || hitObj->ChkAtType(AT_TYPE_HOOKSHOT) ||
hitObj->ChkAtType(AT_TYPE_BOOMERANG) || hitObj->ChkAtType(AT_TYPE_NORMAL_ARROW) ||
hitObj->ChkAtType(AT_TYPE_FIRE_ARROW) || hitObj->ChkAtType(AT_TYPE_ICE_ARROW) ||
hitObj->ChkAtType(AT_TYPE_LIGHT_ARROW) || hitObj->ChkAtType(AT_TYPE_MOBLIN_SPEAR)
) {
createItem();
}
}
+2 -3
View File
@@ -1173,11 +1173,10 @@ BOOL daItem_c::checkGetItem() {
if (mCyl.ChkTgHit()) {
cCcD_Obj* hitObj = mCyl.GetTgHitObj();
if (hitObj) {
u32 atType = hitObj->GetAtType();
if (atType & AT_TYPE_SWORD) {
if (hitObj->ChkAtType(AT_TYPE_SWORD)) {
itemGetExecute();
return TRUE;
} else if (atType & AT_TYPE_BOOMERANG) {
} else if (hitObj->ChkAtType(AT_TYPE_BOOMERANG)) {
setFlag(FLAG_BOOMERANG);
}
}
+1 -1
View File
@@ -170,7 +170,7 @@ BOOL daMbdoor_c::CreateHeap() {
cBgD_t* dzbData = (cBgD_t*)dComIfG_getObjectRes(getArcName(), getDzb());
if (!dzbData) { return FALSE; }
calcMtx();
bool error = mpBgW->Set(dzbData, 1, &mpFuModel->getBaseTRMtx());
bool error = mpBgW->Set(dzbData, cBgW::MOVE_BG_e, &mpFuModel->getBaseTRMtx());
return error != true ? TRUE : FALSE;
}
+1 -1
View File
@@ -29,7 +29,7 @@ void daPy_py_c::objWindHitCheck(dCcD_Cyl* cyl) {
if (cyl->ChkTgHit()) {
cCcD_Obj* hitObj = cyl->GetTgHitObj();
if (hitObj && hitObj->GetAtType() & AT_TYPE_WIND) {
if (hitObj && hitObj->ChkAtType(AT_TYPE_WIND)) {
targetSpeed = *cyl->GetTgRVecP();
f32 distXZ = cyl->GetTgRVecP()->absXZ();
maxStep = 1.0f;
+2 -3
View File
@@ -220,10 +220,9 @@ BOOL daRaceItem_c::execute() {
if(mCyl.ChkTgHit() && field_0x644 == 1) {
cCcD_Obj* hitObj = mCyl.GetTgHitObj();
if (hitObj) {
u32 atType = hitObj->GetAtType();
if (atType & AT_TYPE_BOOMERANG) {
if (hitObj->ChkAtType(AT_TYPE_BOOMERANG)) {
cLib_onBit(field_0x645, (u8)0x01);
} else if (atType & AT_TYPE_HOOKSHOT) {
} else if (hitObj->ChkAtType(AT_TYPE_HOOKSHOT)) {
cXyz pos(0.0f, dItem_data::getH(m_itemNo) / 2.0f, 0.0f);
daPy_getPlayerActorClass()->setHookshotCarryOffset(fopAcM_GetID(this), &pos);
}
+8 -5
View File
@@ -239,8 +239,11 @@ s32 daTbox_c::effectShapeSet() {
J3DAnmTevRegKey* flashRegAnm = (J3DAnmTevRegKey*)dComIfG_getObjectRes("Dalways", DALWAYS_BRK_IT_TAKARA_FLASH);
int regInit = mFlashRegAnm.init(flashModelData, flashRegAnm, true, 0, 1.0f, 0, -1, false, 0);
// Using cPhs_COMPLEATE_e and cPhs_ERROR_e break the match here.
return regInit != 0 ? 4 : 5;
if (regInit) {
return cPhs_COMPLEATE_e;
} else {
return cPhs_ERROR_e;
}
}
/* 00000764-00000928 .text envShapeSet__8daTbox_cFv */
@@ -286,7 +289,7 @@ s32 daTbox_c::bgCheckSet() {
return cPhs_ERROR_e;
}
if (mpBgWClosed->Set(bgd, 1, &mMtx) == 1) {
if (mpBgWClosed->Set(bgd, cBgW::MOVE_BG_e, &mMtx) == 1) {
return cPhs_ERROR_e;
}
@@ -298,7 +301,7 @@ s32 daTbox_c::bgCheckSet() {
return cPhs_ERROR_e;
}
if (mpBgWOpen->Set(bgd, 1, &mMtx) == 1) {
if (mpBgWOpen->Set(bgd, cBgW::MOVE_BG_e, &mMtx) == 1) {
return cPhs_ERROR_e;
}
@@ -311,7 +314,7 @@ s32 daTbox_c::bgCheckSet() {
return cPhs_ERROR_e;
}
if (mpBgWVines->Set(bgd, 1, &mMtx) == 1) {
if (mpBgWVines->Set(bgd, cBgW::MOVE_BG_e, &mMtx) == 1) {
return cPhs_ERROR_e;
}
}
+5 -2
View File
@@ -64,8 +64,11 @@ int dBgS_MoveBgActor::MoveBGCreate(const char* i_arcName, int i_dzb_id,
return cPhs_ERROR_e;
}
// return Create() ? cPhs_COMPLEATE_e : cPhs_ERROR_e; // using enums here changes code gen
return Create() ? 4 : 5;
if (Create()) {
return cPhs_COMPLEATE_e;
} else {
return cPhs_ERROR_e;
}
}
/* 800A58F4-800A5980 .text MoveBGDelete__16dBgS_MoveBgActorFv */
+8 -8
View File
@@ -41,7 +41,7 @@ u16 cc_pl_cut_bit_get() {
/* 800AE9E8-800AEA60 .text at_se_get__FP8cCcD_Obj */
u32 at_se_get(cCcD_Obj* obj) {
dCcD_GObjInf* gObjInf = dCcD_GetGObjInf(obj);
if (gObjInf->GetAtType() & (AT_TYPE_SKULL_HAMMER | AT_TYPE_STALFOS_MACE)) {
if (gObjInf->ChkAtType(AT_TYPE_SKULL_HAMMER | AT_TYPE_STALFOS_MACE)) {
return JA_SE_LK_HAMMER_HIT;
} else if (gObjInf->GetAtSe() == dCcD_SE_UNK4) {
return JA_SE_LK_W_WEP_HIT;
@@ -59,7 +59,7 @@ u32 at_se_get(cCcD_Obj* obj) {
/* 800AEA60-800AEAD8 .text at_se_getC__FP8cCcD_Obj */
u32 at_se_getC(cCcD_Obj* obj) {
dCcD_GObjInf* gObjInf = dCcD_GetGObjInf(obj);
if (gObjInf->GetAtType() & (AT_TYPE_SKULL_HAMMER | AT_TYPE_STALFOS_MACE)) {
if (gObjInf->ChkAtType(AT_TYPE_SKULL_HAMMER | AT_TYPE_STALFOS_MACE)) {
return JA_SE_LK_HAMMER_HIT;
} else if (gObjInf->GetAtSe() == dCcD_SE_UNK4) {
return JA_SE_LK_W_WEP_CRT_HIT;
@@ -95,16 +95,16 @@ fopAc_ac_c* at_power_check(CcAtInfo* atInfo) {
atInfo->mResultingAttackType = 0xC;
atInfo->mDamage = 0;
if (atInfo->mpObj->GetAtType() & AT_TYPE_WATER) {
if (atInfo->mpObj->ChkAtType(AT_TYPE_WATER)) {
atInfo->mResultingAttackType = 0x4;
return atInfo->mpActor;
} else if (atInfo->mpObj->GetAtType() & AT_TYPE_WIND) {
} else if (atInfo->mpObj->ChkAtType(AT_TYPE_WIND)) {
atInfo->mResultingAttackType = 0x8;
return atInfo->mpActor;
} else if (atInfo->mpObj->GetAtType() & AT_TYPE_UNK20000) {
} else if (atInfo->mpObj->ChkAtType(AT_TYPE_UNK20000)) {
atInfo->mResultingAttackType = 0x5;
return atInfo->mpActor;
} else if (atInfo->mpObj->GetAtType() & (AT_TYPE_FIRE | AT_TYPE_FIRE_ARROW)) {
} else if (atInfo->mpObj->ChkAtType(AT_TYPE_FIRE | AT_TYPE_FIRE_ARROW)) {
atInfo->mResultingAttackType = 0x5;
}
@@ -112,7 +112,7 @@ fopAc_ac_c* at_power_check(CcAtInfo* atInfo) {
atInfo->mDamage = atInfo->mpObj->GetAtAtp();
if (fopAcM_GetName(atInfo->mpActor) == PROC_PLAYER) {
if (atInfo->mpObj->GetAtType() & AT_TYPE_SKULL_HAMMER) {
if (atInfo->mpObj->ChkAtType(AT_TYPE_SKULL_HAMMER)) {
atInfo->mResultingAttackType = 0x9;
} else {
atInfo->mResultingAttackType = 0x1;
@@ -202,7 +202,7 @@ fopAc_ac_c* cc_at_check(fopAc_ac_c* tgActor, CcAtInfo* atInfo) {
}
atInfo->m0C.y = cM_atan2s(-f2, -f0);
if (atInfo->mpObj->GetAtType() & AT_TYPE_HOOKSHOT) {
if (atInfo->mpObj->ChkAtType(AT_TYPE_HOOKSHOT)) {
if (fopAcM_checkStatus(tgActor, fopAcStts_UNK80000_e | fopAcStts_HOOK_CARRY_e | fopAcStts_UNK200000_e)) {
atInfo->mDamage = 0;
}
+1 -1
View File
@@ -1252,7 +1252,7 @@ BOOL light_at_hit_check(cXyz* pPos) {
BOOL ret = FALSE;
fopAc_ac_c * pActor;
u32 res = dComIfG_Ccsp()->ChkMass(pPos, &pActor, &hitInfo);
if (((res & 1) != 0) && (hitInfo.GetAtHitObj()->GetAtType() & AT_TYPE_LIGHT))
if (((res & 1) != 0) && (hitInfo.GetAtHitObj()->ChkAtType(AT_TYPE_LIGHT)))
ret = TRUE;
return ret;
}