diff options
Diffstat (limited to 'src/d/actor/d_a_npc_zl1.cpp')
| -rw-r--r-- | src/d/actor/d_a_npc_zl1.cpp | 65 |
1 files changed, 33 insertions, 32 deletions
diff --git a/src/d/actor/d_a_npc_zl1.cpp b/src/d/actor/d_a_npc_zl1.cpp index fbc44e3b..9eae2236 100644 --- a/src/d/actor/d_a_npc_zl1.cpp +++ b/src/d/actor/d_a_npc_zl1.cpp @@ -7,7 +7,9 @@ #include "d/actor/d_a_npc_zl1.h" #include "d/actor/d_a_ship.h" #include "d/actor/d_a_branch.h" +#if VERSION > VERSION_DEMO #include "d/d_bg_s_func.h" +#endif #include "d/d_bg_s_roof_chk.h" #include "m_Do/m_Do_ext.h" #include "SSystem/SComponent/c_counter.h" @@ -209,8 +211,8 @@ static BOOL CheckCreateHeap(fopAc_ac_c* ac) { } /* 00000548-000005C0 .text searchActor_Branch__FPvPv */ -void* searchActor_Branch(void* i_param1, void*) { - if(l_check_wrk < 20 && fopAcM_IsActor(i_param1) && fopAcM_GetName(i_param1) == fpcNm_BRANCH_e) { +static void* searchActor_Branch(void* i_param1, void*) { + if(l_check_wrk < ARRAY_SSIZE(l_check_inf) && fopAcM_IsActor(i_param1) && fopAcM_GetName(i_param1) == fpcNm_BRANCH_e) { l_check_inf[l_check_wrk] = (fopAc_ac_c*)i_param1; l_check_wrk++; } @@ -218,8 +220,8 @@ void* searchActor_Branch(void* i_param1, void*) { } /* 000005C0-00000638 .text searchActor_Bm1__FPvPv */ -void* searchActor_Bm1(void* i_param1, void*) { - if(l_check_wrk < 20 && fopAcM_IsActor(i_param1) && fopAcM_GetName(i_param1) == fpcNm_NPC_BM1_e) { +static void* searchActor_Bm1(void* i_param1, void*) { + if(l_check_wrk < ARRAY_SSIZE(l_check_inf) && fopAcM_IsActor(i_param1) && fopAcM_GetName(i_param1) == fpcNm_NPC_BM1_e) { l_check_inf[l_check_wrk] = (fopAc_ac_c*)i_param1; l_check_wrk++; } @@ -519,10 +521,7 @@ bool daNpc_Zl1_c::swoon_OnShip() { /* 000011EC-000013A0 .text setMtx__11daNpc_Zl1_cFb */ void daNpc_Zl1_c::setMtx(bool param_1) { - bool temp = false; - int temp2; - daBranch_c* actor; mpMorf->getModel()->setBaseScale(scale); @@ -530,23 +529,24 @@ void daNpc_Zl1_c::setMtx(bool param_1) { #if VERSION > VERSION_DEMO if(!fpcM_IsCreating(mProcId1)) { if(mProcId1 != fpcM_ERROR_PROCESS_ID_e) { + fopAc_ac_c* actor; if(fopAcM_SearchByID(mProcId1, (fopAc_ac_c **)&actor) == 1) { if(actor != NULL) { + daBranch_c* branch = (daBranch_c*)actor; temp = true; - mDoMtx_stack_c::copy(actor->getJointMtx("wood2")); + mDoMtx_stack_c::copy(branch->getJointMtx("wood2")); mDoMtx_stack_c::transM(120.28999f, -88.36f, -19.130001f); } } } } #else - actor = (daBranch_c*)searchByID(mProcId1, &temp2); - if(actor != NULL) { - if(temp2 == 0) { + BOOL wasDeleted; + daBranch_c* branch = (daBranch_c*)searchByID(mProcId1, &wasDeleted); + if(branch != NULL && !wasDeleted) { temp = true; - mDoMtx_stack_c::copy(actor->getJointMtx("wood2")); + mDoMtx_stack_c::copy(branch->getJointMtx("wood2")); mDoMtx_stack_c::transM(120.28999f, -88.36f, -19.130001f); - } } #endif } else if(field_0x7CA) { @@ -1119,27 +1119,27 @@ bool daNpc_Zl1_c::chk_parts_notMov() { } /* 00002358-000023AC .text searchByID__11daNpc_Zl1_cFUiPi */ -fopAc_ac_c* daNpc_Zl1_c::searchByID(fpc_ProcID pid, int* param_2) { +fopAc_ac_c* daNpc_Zl1_c::searchByID(fpc_ProcID pid, BOOL* o_wasDeleted) { fopAc_ac_c* actor = NULL; - *param_2 = 0; + *o_wasDeleted = FALSE; if(!fopAcM_SearchByID(pid, &actor)) { - *param_2 = 1; + *o_wasDeleted = TRUE; } return actor; } /* 000023AC-0000245C .text partner_search_sub__11daNpc_Zl1_cFPFPvPv_Pv */ -bool daNpc_Zl1_c::partner_search_sub(void* (*param_1)(void*, void*)) { +bool daNpc_Zl1_c::partner_search_sub(fpcLyIt_JudgeFunc i_judgeFunc) { bool ret = false; mProcId1 = fpcM_ERROR_PROCESS_ID_e; l_check_wrk = 0; - for (s32 i = 0; i < 0x14; i++) { + for (s32 i = 0; i < ARRAY_SSIZE(l_check_inf); i++) { l_check_inf[i] = NULL; } - fpcEx_Search(param_1, this); + fpcM_Search(i_judgeFunc, this); if(l_check_wrk != 0) { mProcId1 = fopAcM_GetID(l_check_inf[0]); @@ -1195,8 +1195,6 @@ void daNpc_Zl1_c::clrEyeCtrl() { /* 00002560-000027CC .text lookBack__11daNpc_Zl1_cFv */ void daNpc_Zl1_c::lookBack() { - s8 temp2; - int temp6; cXyz temp3; field_0x794.y = m_jnt.getHead_y(); @@ -1210,6 +1208,7 @@ void daNpc_Zl1_c::lookBack() { cXyz* temp4 = NULL; s16 targetY = current.angle.y; + s8 temp2; bool temp5 = field_0x7D8; temp2 = field_0x84D; @@ -1234,8 +1233,9 @@ void daNpc_Zl1_c::lookBack() { field_0x7D0 = false; break; case 4: { - fopAc_ac_c* actor = searchByID(mProcId2, &temp6); - if(actor != NULL && temp6 == 0) { + BOOL wasDeleted; + fopAc_ac_c* actor = searchByID(mProcId2, &wasDeleted); + if(actor != NULL && !wasDeleted) { field_0x758.set(actor->current.pos); field_0x758.y = actor->eyePos.y; temp3.set(field_0x758); @@ -1453,8 +1453,8 @@ BOOL daNpc_Zl1_c::cut_move_LOK_PLYER() { void daNpc_Zl1_c::cut_init_LOK_PARTNER(int i_staffIdx) { int* pPrm0 = dComIfGp_evmng_getMyIntegerP(i_staffIdx, "prm_0"); int temp = 0; - int temp2; - if(searchByID(mProcId1, &temp2) != NULL || temp2 == 0) { + BOOL wasDeleted; + if(searchByID(mProcId1, &wasDeleted) != NULL || !wasDeleted) { field_0x84D = 4; mProcId2 = mProcId1; @@ -1496,10 +1496,10 @@ BOOL daNpc_Zl1_c::cut_move_CHG_ANM_ATR() { /* 00002E90-00002F28 .text cut_init_PLYER_TRN_PARTNER__11daNpc_Zl1_cFi */ void daNpc_Zl1_c::cut_init_PLYER_TRN_PARTNER(int) { - int temp; + BOOL wasDeleted; daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0); - fopAc_ac_c* pActor = searchByID(mProcId1, &temp); - if(pActor != NULL || temp == 0) { + fopAc_ac_c* pActor = searchByID(mProcId1, &wasDeleted); + if(pActor != NULL || !wasDeleted) { dComIfGp_event_setItemPartner(pActor); dComIfGp_event_setTalkPartner(pActor); player->changeDemoMoveAngle(cLib_targetAngleY(&dComIfGp_getPlayer(0)->current.pos, &pActor->current.pos)); @@ -1666,11 +1666,13 @@ BOOL daNpc_Zl1_c::cut_move_OMAMORI_ONOFF() { return TRUE; } +#if VERSION > VERSION_DEMO /* 000034DC-0000356C .text cut_init_SURPRISED__11daNpc_Zl1_cFi */ void daNpc_Zl1_c::cut_init_SURPRISED(int) { mDoAud_seStart(JA_SE_ITM_OMAMORI_BLINK); dComIfGp_getVibration().StartShock(4, 1, cXyz(0.0f, 1.0f, 0.0f)); } +#endif /* 0000356C-00003574 .text cut_move_SURPRISED__11daNpc_Zl1_cFv */ BOOL daNpc_Zl1_c::cut_move_SURPRISED() { @@ -2267,7 +2269,7 @@ BOOL daNpc_Zl1_c::demo_4() { /* 00005718-00005954 .text optn_1__11daNpc_Zl1_cFv */ BOOL daNpc_Zl1_c::optn_1() { f32 temp = l_HIO.mPrmTbl.field_34 + 100.0f; - f32 actorDist = fopAcM_searchActorDistance2(this, dComIfGp_getPlayer(0)); + f32 actorDist = fopAcM_searchPlayerDistance2(this); if(field_0x7D7) { if(chk_talk()) { setStt(2); @@ -2331,7 +2333,7 @@ BOOL daNpc_Zl1_c::optn_2() { } - f32 actorDist = fopAcM_searchActorDistance2(this, dComIfGp_getPlayer(0)); + f32 actorDist = fopAcM_searchPlayerDistance2(this); f32 temp = actorDist - (l_HIO.mPrmTbl.field_34 * l_HIO.mPrmTbl.field_34); f32 temp2 = 0.0f; @@ -2342,7 +2344,7 @@ BOOL daNpc_Zl1_c::optn_2() { temp2 = cLib_maxLimit(temp2, l_HIO.mPrmTbl.field_3C); } - s16 angle = fopAcM_searchActorAngleY(this, dComIfGp_getPlayer(0)); + s16 angle = fopAcM_searchPlayerAngleY(this); cLib_addCalcAngleS(¤t.angle.y, angle, 4, 0x800, 0x80); cLib_chaseF(&speedF, temp2, l_HIO.mPrmTbl.field_44); if((int)temp2 == 0 && (int)speedF == 0) { @@ -2911,7 +2913,6 @@ cPhs_State daNpc_Zl1_c::_create() { } return state; } -daNpc_Zl1_c::daNpc_Zl1_c() {} /* 000073EC-000077C8 .text bodyCreateHeap__11daNpc_Zl1_cFv */ BOOL daNpc_Zl1_c::bodyCreateHeap() { |
