summaryrefslogtreecommitdiff
path: root/src/d/actor/d_a_npc_zl1.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/d/actor/d_a_npc_zl1.cpp')
-rw-r--r--src/d/actor/d_a_npc_zl1.cpp65
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(&current.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() {