diff --git a/include/d/actor/d_a_npc_ba1.h b/include/d/actor/d_a_npc_ba1.h index 071243f7d..41152cbfa 100644 --- a/include/d/actor/d_a_npc_ba1.h +++ b/include/d/actor/d_a_npc_ba1.h @@ -8,10 +8,8 @@ class J3DNode; class daNpc_Ba1_c : public fopNpc_npc_c { public: - typedef BOOL (daNpc_Ba1_c::*ProcFunc)(void*); struct anm_prm_c { - // Borrowed from d_lib.h, fields seem to match /* 0x00 */ s8 mAnmNum; /* 0x01 */ s8 mBtpNum; /* 0x02 */ s16 field_0x02; @@ -37,23 +35,23 @@ public: bool setBtp(bool, int); bool iniTexPttrnAnm(bool); void plyTexPttrnAnm(); - void setAnm_tex(signed char); + void setAnm_tex(s8); BOOL setAnm_anm(anm_prm_c*); void setAnm_NUM(int, int); bool setAnm(); void chg_anmTag(); void control_anmTag(); - void chg_anmAtr(unsigned char); + void chg_anmAtr(u8); void control_anmAtr(); void setAnm_ATR(int); - void anmAtr(unsigned short); + void anmAtr(u16); void eventOrder(); void checkOrder(); bool chk_talk(); - bool chk_drct(float); + bool chk_drct(f32); bool chk_partsNotMove(); void lookBack(); - u16 next_msgStatus(unsigned long*); + u16 next_msgStatus(u32*); u32 getMsg_BA1_0(); u32 getMsg_BA1_1(); u32 getMsg_BA1_3(); @@ -62,7 +60,7 @@ public: bool chkAttention(); void setAttention(bool); fopAc_ac_c* searchByID(fpc_ProcID); - bool partner_srch_sub(void* (*)(void*, void*)); + bool partner_srch_sub(fpcLyIt_JudgeFunc); void partner_srch(); bool check_useFairyArea(); bool checkCommandTalk(); @@ -75,9 +73,9 @@ public: void eInit_ACTOR_DRW_CONTROL_(int*, int*); void eInit_setEvTimer(int*); void eInit_CHK_FAIRY_(int*); - f32 eInit_prmFloat(float*, float); - void eInit_SET_EYE_OFF_(float*); - void eInit_EYE_OFF_ZRO_(float*); + f32 eInit_prmFloat(f32*, f32); + void eInit_SET_EYE_OFF_(f32*); + void eInit_EYE_OFF_ZRO_(f32*); void eInit_CHK_FAIRY_MOV_1(int*); void event_actionInit(int); bool eMove_MOV_POS_(); @@ -92,7 +90,7 @@ public: BOOL isEventEntry(); void event_proc(int); BOOL set_action(int (daNpc_Ba1_c::*)(void*), void*); - void setStt(signed char); + void setStt(s8); BOOL wait_0(); BOOL wait_1(); BOOL talk_1(); @@ -116,18 +114,15 @@ public: BOOL CreateHeap(); public: - /* 0x6C4 */ request_of_phase_process_class mPhs; /* 0x6CC */ s8 m_hed_jnt_num; /* 0x6CD */ s8 m_bbone_jnt_num; /* 0x6CE */ s8 m_footL_jnt_num; - /* 0x6CF */ u8 field_0x6CF[0x6D0 - 0x6CF]; /* 0x6D0 */ J3DModel* mpClothModel; /* 0x6D4 */ u32 mShadowID; /* 0x6D8 */ J3DAnmTexPattern* m_hed_tex_pttrn; /* 0x6DC */ mDoExt_btpAnm mHeadBtpAnm; /* 0x6F0 */ u8 mBlinkFrame; - /* 0x6F1 */ u8 field_0x6F1[0x6F2 - 0x6F1]; /* 0x6F2 */ s16 mBlinkTimer; /* 0x6F4 */ ProcFunc mCurrProcFunc; /* 0x700 */ u8 field_0x700[0x708 - 0x700]; @@ -193,10 +188,6 @@ public: /* 0x817 */ s8 mSpecificType; /* 0x818 */ s8 m818; /* 0x819 */ s8 m819; - /* 0x81A */ u8 field_0x81A[0x81C - 0x81A]; }; // Size: 0x81C - - - #endif /* D_A_NPC_BA1_H */ diff --git a/include/d/actor/d_a_npc_fa1.h b/include/d/actor/d_a_npc_fa1.h index 2938d152e..28894b5e9 100644 --- a/include/d/actor/d_a_npc_fa1.h +++ b/include/d/actor/d_a_npc_fa1.h @@ -73,7 +73,7 @@ public: u8 getMode() { return mMode; } void setMode(u8 mode) { mMode = mode; } bool isLinkMode() { return mMode == Mode_PLAYER_MOVE_e; } - void isBabaMode() {} + bool isBabaMode() { return mMode == Mode_BOTTLE_BABA_MOVE_e; } u8 getSubMode() { return mSubMode; } void setSubMode(u8 submode) { mSubMode = submode; } diff --git a/src/d/actor/d_a_am.cpp b/src/d/actor/d_a_am.cpp index c72bebad5..33e77e58e 100644 --- a/src/d/actor/d_a_am.cpp +++ b/src/d/actor/d_a_am.cpp @@ -82,6 +82,7 @@ static BOOL nodeCallBack(J3DNode* node, int calcTiming) { case AM_JNT_EYE_e: cMtx_YrotM(*calc_mtx, i_this->mEyeRot.y); cMtx_XrotM(*calc_mtx, i_this->mEyeRot.x); + break; } if (jntNo >= AM_JNT_KOSI_e && jntNo <= AM_JNT_EYE_e) { diff --git a/src/d/actor/d_a_bmd.cpp b/src/d/actor/d_a_bmd.cpp index 7c46ce4ad..704e0c50b 100644 --- a/src/d/actor/d_a_bmd.cpp +++ b/src/d/actor/d_a_bmd.cpp @@ -2027,7 +2027,7 @@ static cPhs_State daBmd_Create(fopAc_ac_c* a_this) { i_this->mB71 = 1; } dKyw_pntwind_set(&i_this->mWindInfluence); - a_this->attention_info.distances[2] = 4; + a_this->attention_info.distances[fopAc_Attn_TYPE_BATTLE_e] = 4; daBmd_Execute(i_this); res = cPhs_COMPLEATE_e; } diff --git a/src/d/actor/d_a_bpw.cpp b/src/d/actor/d_a_bpw.cpp index ab9499fbc..73fc26769 100644 --- a/src/d/actor/d_a_bpw.cpp +++ b/src/d/actor/d_a_bpw.cpp @@ -4385,11 +4385,11 @@ void body_create_init(bpw_class* i_this) { fopAcM_SetMtx(actor, i_this->mpMorf->getModel()->getBaseTRMtx()); fopAcM_setCullSizeBox(actor, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f); actor->attention_info.flags = fopAc_Attn_LOCKON_BATTLE_e; - actor->attention_info.distances[2] = 4; + actor->attention_info.distances[fopAc_Attn_TYPE_BATTLE_e] = 4; fopAcM_OnStatus(actor, fopAcStts_BOSS_e); i_this->mAcch.Set(fopAcM_GetPosition_p(actor), fopAcM_GetOldPosition_p(actor), actor, 1, &i_this->mAcchCir, fopAcM_GetSpeed_p(actor)); i_this->mStts.Init(0xfe, 1, actor); - actor->attention_info.distances[4] = 0x25; + actor->attention_info.distances[fopAc_Attn_TYPE_CARRY_e] = 0x25; fopAcM_OnStatus(actor, fopAcStts_UNK10000_e); i_this->mBodyCoSph.Set(body_co_sph_src); i_this->mBodyCoSph.SetStts(&i_this->mStts); diff --git a/src/d/actor/d_a_bwd.cpp b/src/d/actor/d_a_bwd.cpp index e9cb7df2e..b76a2bd46 100644 --- a/src/d/actor/d_a_bwd.cpp +++ b/src/d/actor/d_a_bwd.cpp @@ -2508,7 +2508,7 @@ static cPhs_State daBwd_Create(fopAc_ac_c* a_this) { } } a_this->attention_info.flags = fopAc_Attn_LOCKON_BATTLE_e; - a_this->attention_info.distances[2] = 0x22; + a_this->attention_info.distances[fopAc_Attn_TYPE_BATTLE_e] = 0x22; if (hio_set == 0) { i_this->m3C51 = 1; hio_set = 1; diff --git a/src/d/actor/d_a_npc_ba1.cpp b/src/d/actor/d_a_npc_ba1.cpp index b0833c0f4..8eb3bb896 100644 --- a/src/d/actor/d_a_npc_ba1.cpp +++ b/src/d/actor/d_a_npc_ba1.cpp @@ -6,7 +6,7 @@ #include "d/dolzel_rel.h" // IWYU pragma: keep #include "d/actor/d_a_npc_ba1.h" #include "d/actor/d_a_npc_fa1.h" -#include "d/actor/d_a_player_main.h" +#include "d/actor/d_a_player.h" #include "d/d_letter.h" #include "d/d_snap.h" #include "res/Object/Ba.h" @@ -14,17 +14,17 @@ class daNpc_Ba1_HIO_c : public mDoHIO_entry_c { public: struct hio_prm_c { - s16 mMaxHeadX; - s16 mMaxHeadY; - s16 mMinHeadX; - s16 mMinHeadY; - s16 mMaxBackboneX; - s16 mMaxBackboneY; - s16 mMinBackboneX; - s16 mMinBackboneY; - s16 mMaxTurnStep; - s16 mCalcAngleTarget; - f32 mAttPosOffsetY; + /* 0x00 */ s16 mMaxHeadX; + /* 0x02 */ s16 mMaxHeadY; + /* 0x04 */ s16 mMinHeadX; + /* 0x06 */ s16 mMinHeadY; + /* 0x08 */ s16 mMaxBackboneX; + /* 0x0A */ s16 mMaxBackboneY; + /* 0x0C */ s16 mMinBackboneX; + /* 0x0E */ s16 mMinBackboneY; + /* 0x10 */ s16 mMaxTurnStep; + /* 0x12 */ s16 mCalcAngleTarget; + /* 0x14 */ f32 mAttPosOffsetY; /* 0x18 */ u8 m18; /* 0x1C */ f32 m1C; /* 0x20 */ f32 m20; @@ -136,34 +136,33 @@ s16 daNpc_Ba1_c::XyEvent_cB(int param_1) { return mEventIdTable[0]; } -char* l_evn_tbl[] = { - "Use_Fairy","Ba1_Get_Itm","Ganbaru","tale_1", "None", "tale_2", +static char* l_evn_tbl[] = { + "Use_Fairy", + "Ba1_Get_Itm", + "Ganbaru", + "tale_1", + "None", + "tale_2", }; /* 00000450-000004F8 .text init_BA1_0__11daNpc_Ba1_cFv */ bool daNpc_Ba1_c::init_BA1_0() { - bool ret; if(!dComIfGs_isEventBit(dSv_event_flag_c::UNK_0520) && !dComIfGs_isEventBit(dSv_event_flag_c::UNK_0001)) { set_action(&daNpc_Ba1_c::wait_action1, NULL); mpClothModel = 0; - ret = 1; + return true; } else { - ret = 0; + return false; } - return ret; } /* 000004F8-000005F4 .text init_BA1_1__11daNpc_Ba1_cFv */ bool daNpc_Ba1_c::init_BA1_1() { - BOOL res; - bool ret; - res = dComIfGs_isEventBit(dSv_event_flag_c::UNK_0520); - ret = res == 0; + bool ret = !dComIfGs_isEventBit(dSv_event_flag_c::UNK_0520); if(!ret) { return ret; } - res = dComIfGs_isEventBit(dSv_event_flag_c::UNK_0001); - ret = res; + ret = dComIfGs_isEventBit(dSv_event_flag_c::UNK_0001); if(ret) { if(dComIfGs_checkCollect(1)) { current.pos.set(-290.f, 0.f, 110.f); @@ -186,18 +185,14 @@ bool daNpc_Ba1_c::init_BA1_2() { /* 00000648-00000734 .text init_BA1_3__11daNpc_Ba1_cFv */ bool daNpc_Ba1_c::init_BA1_3() { - BOOL res; - bool ret; - res = dComIfGs_isEventBit(dSv_event_flag_c::UNK_0520); - ret = res; + bool ret = dComIfGs_isEventBit(dSv_event_flag_c::UNK_0520); if(!ret) { return ret; } - res = dComIfGs_isEventBit(dSv_event_flag_c::GRANDMA_HEALED); - ret = res ==0; + ret = !dComIfGs_isEventBit(dSv_event_flag_c::GRANDMA_HEALED); if(ret) { - attention_info.distances[1] = 0x1B; - attention_info.distances[3] = 0x1C; + attention_info.distances[fopAc_Attn_TYPE_TALK_e] = 0x1B; + attention_info.distances[fopAc_Attn_TYPE_SPEAK_e] = 0x1C; fopAcM_OffStatus(this, fopAcStts_CULL_e | fopAcStts_NOCULLEXEC_e); set_action(&daNpc_Ba1_c::wait_action3, NULL); gravity = 0.f; @@ -210,16 +205,11 @@ bool daNpc_Ba1_c::init_BA1_3() { /* 00000734-000007E8 .text init_BA1_4__11daNpc_Ba1_cFv */ bool daNpc_Ba1_c::init_BA1_4() { - // Same as 1 and 3 - BOOL res; - bool ret; - res = dComIfGs_isEventBit(dSv_event_flag_c::UNK_0520); - ret = res; - if (!ret) { + bool ret = dComIfGs_isEventBit(dSv_event_flag_c::UNK_0520); + if(!ret) { return ret; } - res = dComIfGs_isEventBit(dSv_event_flag_c::GRANDMA_HEALED); - ret = res; + ret = dComIfGs_isEventBit(dSv_event_flag_c::GRANDMA_HEALED); if(ret) { mpClothModel = 0; set_action(&daNpc_Ba1_c::wait_action4, NULL); @@ -234,8 +224,8 @@ bool daNpc_Ba1_c::createInit() { mEventIdTable[i] = dComIfGp_evmng_getEventIdx(l_evn_tbl[i]); } attention_info.flags = fopAc_Attn_LOCKON_TALK_e | fopAc_Attn_ACTION_SPEAK_e; - attention_info.distances[1] = 171; - attention_info.distances[3] = 171; + attention_info.distances[fopAc_Attn_TYPE_TALK_e] = 171; + attention_info.distances[fopAc_Attn_TYPE_SPEAK_e] = 171; gravity = -4.5; m79C = current.pos; mEventCut.setActorInfo2("Ba1", this); @@ -350,7 +340,7 @@ bool daNpc_Ba1_c::setBtp(bool i_param_1, int i_btp_num) { J3DModelData* model_data = mpMorf->getModel()->getModelData(); int res_id = btpNum_toResID(i_btp_num); m_hed_tex_pttrn = reinterpret_cast(dComIfG_getObjectIDRes("Ba",res_id)); - JUT_ASSERT(VERSION_SELECT(0x237, 0x237,0x239, 0x239),m_hed_tex_pttrn != NULL); + JUT_ASSERT(VERSION_SELECT(567, 567, 569, 569), m_hed_tex_pttrn != NULL); int iVar1 = mHeadBtpAnm.init(model_data,m_hed_tex_pttrn,1,2,1.0f,0,-1,i_param_1,0); bool o_retval = iVar1 == 1; @@ -368,7 +358,6 @@ bool daNpc_Ba1_c::iniTexPttrnAnm(bool i_param_1) { /* 00000CA4-00000D50 .text plyTexPttrnAnm__11daNpc_Ba1_cFv */ void daNpc_Ba1_c::plyTexPttrnAnm() { - // 100% identical to the one in bm1 if(mBtpNum != 0 || !cLib_calcTimer(&mBlinkTimer)){ mBlinkFrame += 1; if(mBlinkFrame >= m_hed_tex_pttrn->getFrameMax()){ @@ -377,7 +366,6 @@ void daNpc_Ba1_c::plyTexPttrnAnm() { }else{ mBlinkTimer = cM_rndF(60.0f) + 30.0f; mBlinkFrame = 0; - } } } @@ -394,7 +382,7 @@ void daNpc_Ba1_c::setAnm_tex(s8 i_btp_num) { /* 00000D8C-00000E34 .text setAnm_anm__11daNpc_Ba1_cFPQ211daNpc_Ba1_c9anm_prm_c */ BOOL daNpc_Ba1_c::setAnm_anm(daNpc_Ba1_c::anm_prm_c* i_anmPrmP) { if(mAnmNum == i_anmPrmP->mAnmNum){ - return 1; + return TRUE; } mAnmNum = i_anmPrmP->mAnmNum; dNpc_setAnmIDRes( @@ -597,7 +585,7 @@ bool daNpc_Ba1_c::chk_talk() { } /* 000012E8-0000137C .text chk_drct__11daNpc_Ba1_cFf */ -bool daNpc_Ba1_c::chk_drct(float i_param_1) { +bool daNpc_Ba1_c::chk_drct(f32 i_param_1) { s16 target = cLib_targetAngleY( ¤t.pos, &dComIfGp_getPlayer(0)->current.pos @@ -660,7 +648,7 @@ void daNpc_Ba1_c::lookBack() { } /* 0000155C-000016C8 .text next_msgStatus__11daNpc_Ba1_cFPUl */ -u16 daNpc_Ba1_c::next_msgStatus(unsigned long* i_msg_no) { +u16 daNpc_Ba1_c::next_msgStatus(u32* i_msg_no) { u16 ret = 0xF; switch(*i_msg_no) { case 0x7EB: @@ -698,7 +686,7 @@ u16 daNpc_Ba1_c::next_msgStatus(unsigned long* i_msg_no) { } break; } - goto neverGotSoup; // I don't like this ... + goto neverGotSoup; case 0x7FF: switch(mpCurrMsg->mSelectNum) { case 0: @@ -748,7 +736,6 @@ u32 daNpc_Ba1_c::getMsg_BA1_1() { /* 00001818-00001908 .text getMsg_BA1_3__11daNpc_Ba1_cFv */ u32 daNpc_Ba1_c::getMsg_BA1_3() { - if (m7F0) { if (dComIfGs_isEventBit(dSv_event_flag_c::GRANDMA_HEALED)) { return 0x801; @@ -760,10 +747,11 @@ u32 daNpc_Ba1_c::getMsg_BA1_3() { #if VERSION > VERSION_JPN dComIfGs_setEventReg(dSv_event_flag_c::UNK_A60F, 0); - if(m7F2 >= 3) { + if(m7F2 >= 3) #else - if(dComIfGs_getEventReg(dSv_event_flag_c::UNK_A60F) >= 3) { + if(dComIfGs_getEventReg(dSv_event_flag_c::UNK_A60F) >= 3) #endif + { if (m7FA) { return 0x7fd; } @@ -844,7 +832,7 @@ fopAc_ac_c* daNpc_Ba1_c::searchByID(fpc_ProcID i_procID) { } /* 00001AC8-00001B78 .text partner_srch_sub__11daNpc_Ba1_cFPFPvPv_Pv */ -bool daNpc_Ba1_c::partner_srch_sub(void* (*i_searchFunc)(void*, void*)) { +bool daNpc_Ba1_c::partner_srch_sub(fpcLyIt_JudgeFunc i_searchFunc) { bool o_retval = false; mPartnerProcID = -1; l_check_wrk = 0; @@ -950,8 +938,8 @@ void daNpc_Ba1_c::eInit_PLYER_INI_POS_() { /* 00001ECC-00001EE8 .text eInit_USE_FAIRY_END___11daNpc_Ba1_cFv */ void daNpc_Ba1_c::eInit_USE_FAIRY_END_() { - attention_info.distances[1] = 0x5B; - attention_info.distances[3] = 0x59; + attention_info.distances[fopAc_Attn_TYPE_TALK_e] = 0x5B; + attention_info.distances[fopAc_Attn_TYPE_SPEAK_e] = 0x59; mFairyUsed = true; } @@ -1003,8 +991,8 @@ void daNpc_Ba1_c::eInit_ACTOR_DRW_CONTROL_(int* i_param_1, int* i_param_2) { return; case 3: current.angle.y = cLib_targetAngleY(¤t.pos, &dComIfGp_getPlayer(0)->current.pos); - attention_info.distances[1] = 0xAB; - attention_info.distances[3] = 0xAB; + attention_info.distances[fopAc_Attn_TYPE_TALK_e] = 0xAB; + attention_info.distances[fopAc_Attn_TYPE_SPEAK_e] = 0xAB; tmp.set(0, 0, 90); mDoMtx_stack_c::transS(current.pos); mDoMtx_stack_c::YrotM(current.angle.y); @@ -1029,7 +1017,7 @@ void daNpc_Ba1_c::eInit_CHK_FAIRY_(int* i_param_1) { } /* 000020E8-000020F8 .text eInit_prmFloat__11daNpc_Ba1_cFPff */ -f32 daNpc_Ba1_c::eInit_prmFloat(float* i_param_1, float i_param_2) { +f32 daNpc_Ba1_c::eInit_prmFloat(f32* i_param_1, f32 i_param_2) { if (i_param_1 != NULL) { return *i_param_1; } @@ -1037,12 +1025,12 @@ f32 daNpc_Ba1_c::eInit_prmFloat(float* i_param_1, float i_param_2) { } /* 000020F8-00002130 .text eInit_SET_EYE_OFF___11daNpc_Ba1_cFPf */ -void daNpc_Ba1_c::eInit_SET_EYE_OFF_(float* i_param_1) { +void daNpc_Ba1_c::eInit_SET_EYE_OFF_(f32* i_param_1) { mEyeOffset = eInit_prmFloat(i_param_1, 0.0f); } /* 00002130-00002168 .text eInit_EYE_OFF_ZRO___11daNpc_Ba1_cFPf */ -void daNpc_Ba1_c::eInit_EYE_OFF_ZRO_(float* i_param_1) { +void daNpc_Ba1_c::eInit_EYE_OFF_ZRO_(f32* i_param_1) { mEyeOffsetZero = eInit_prmFloat(i_param_1, 0.0f); } @@ -1057,8 +1045,8 @@ void daNpc_Ba1_c::event_actionInit(int i_staff_idx) { int *prm_0_p; int *prm_1_p; int *timer_p; - float *atten_p; - float *speed_p; + f32 *atten_p; + f32 *speed_p; act_no_p = dComIfGp_evmng_getMyIntegerP(i_staff_idx,"ActNo"); prm_0_p = dComIfGp_evmng_getMyIntegerP(i_staff_idx,"prm_0"); prm_1_p = dComIfGp_evmng_getMyIntegerP(i_staff_idx,"prm_1"); @@ -1175,8 +1163,7 @@ bool daNpc_Ba1_c::eMove_CHK_FAIRY_MOV_1() { daNpc_Fa1_c * actor_fa; actor_fa = (daNpc_Fa1_c*) searchByID(mPartnerProcID); if(actor_fa != NULL) { - u32 res = (actor_fa->getMode() == daNpc_Fa1_c::Mode_BOTTLE_BABA_MOVE_e); - ret = res !=0; + ret = actor_fa->isBabaMode() ? true : false; } } } @@ -1261,38 +1248,45 @@ bool daNpc_Ba1_c::cut_move_START_TALE1() { void daNpc_Ba1_c::privateCut(int i_staff_idx) { static char* a_cut_tbl[] = { "ACTION", - "START_TALE1" + "START_TALE1", + }; + enum { + ACT_ACTION, + ACT_START_TALE1, }; - if(i_staff_idx != -1) { - mActionIndex = dComIfGp_evmng_getMyActIdx(i_staff_idx,a_cut_tbl,ARRAY_SIZE(a_cut_tbl),1,0); - if (mActionIndex == -1) { + if(i_staff_idx == -1) { + return; + } + + mActionIndex = dComIfGp_evmng_getMyActIdx(i_staff_idx,a_cut_tbl,ARRAY_SIZE(a_cut_tbl),TRUE,0); + if (mActionIndex == -1) { + dComIfGp_evmng_cutEnd(i_staff_idx); + } else { + if (dComIfGp_evmng_getIsAddvance(i_staff_idx)) { + switch(mActionIndex){ + case ACT_ACTION: + event_actionInit(i_staff_idx); + break; + case ACT_START_TALE1: + cut_init_START_TALE1(i_staff_idx); + break; + } + } + bool endCut; + switch (mActionIndex) { + case ACT_ACTION: + endCut = event_action(); + break; + case ACT_START_TALE1: + endCut = cut_move_START_TALE1(); + break; + default: + endCut = true; + break; + } + if(endCut) { dComIfGp_evmng_cutEnd(i_staff_idx); - } else { - if (dComIfGp_evmng_getIsAddvance(i_staff_idx)) { - switch(mActionIndex){ - case 0: - event_actionInit(i_staff_idx); - break; - case 1: - cut_init_START_TALE1(i_staff_idx); - } - } - bool endCut; - switch (mActionIndex) { - case 0: - endCut = event_action(); - break; - case 1: - endCut = cut_move_START_TALE1(); - break; - default: - endCut = true; - break; - } - if(endCut) { - dComIfGp_evmng_cutEnd(i_staff_idx); - } } } } @@ -1410,7 +1404,7 @@ BOOL daNpc_Ba1_c::wait_0() { 0 ); if(m812 == 1 || m812 >= 3) { - return 1; + return TRUE; } m812 = 0; if(!dComIfGs_isTmpBit(dSv_event_flag_c::UNK_0310)) { @@ -1423,7 +1417,7 @@ BOOL daNpc_Ba1_c::wait_0() { m812 = 6; } } - return 1; + return TRUE; } /* 00002E30-00002F70 .text wait_1__11daNpc_Ba1_cFv */ @@ -1436,14 +1430,14 @@ BOOL daNpc_Ba1_c::wait_1() { 0 ); if(m812 == 1 || m812 >= 3) { - return 1; + return TRUE; } if (m809) { if (chk_talk()) { setStt(2); mHeadOnlyFollow = false; } - return 1; + return TRUE; } else if (mbHoldEvent) { setAnm_NUM(4,1); @@ -1466,7 +1460,7 @@ BOOL daNpc_Ba1_c::wait_1() { } } - return 1; + return TRUE; } /* 00002F70-00003110 .text talk_1__11daNpc_Ba1_cFv */ @@ -1482,7 +1476,7 @@ BOOL daNpc_Ba1_c::talk_1() { 0x1000, 1); if(!mbMorfAnimStopped) { - return 1; + return TRUE; } } talk(1); @@ -1535,7 +1529,7 @@ BOOL daNpc_Ba1_c::talk_1() { /* 00003110-00003130 .text talk_2__11daNpc_Ba1_cFv */ BOOL daNpc_Ba1_c::talk_2() { - talk_1(); + return talk_1(); } /* 00003130-00003348 .text wait_2__11daNpc_Ba1_cFv */ @@ -1548,19 +1542,19 @@ BOOL daNpc_Ba1_c::wait_2() { 0 ); if(m812 == 1 || m812 >= 3) { - return 1; + return TRUE; } if (m809) { if (m7FF) { dComIfGp_setNextStage("LinkRM",201,0,9,0.0,0,1,0); - return 1; + return TRUE; } if (chk_talk()) { setStt(2); mHeadOnlyFollow = false; } - return 1; + return TRUE; } else if (!dComIfGs_checkCollect(1) && dComIfGs_isEventBit(dSv_event_flag_c::UNK_3202)) { current.pos.x = -290.0; current.pos.y = 0.0; @@ -1576,7 +1570,7 @@ BOOL daNpc_Ba1_c::wait_2() { mLookBackState = 3; mTargetYRot = mInitialAngle.y; m_jnt.setTrn(); - return 1; + return TRUE; } m812 = 2; if (mbAttention) { @@ -1589,29 +1583,29 @@ BOOL daNpc_Ba1_c::wait_2() { mTargetYRot = mInitialAngle.y; m_jnt.setTrn(); } - return 1; + return TRUE; } /* 00003348-00003368 .text wait_3__11daNpc_Ba1_cFv */ BOOL daNpc_Ba1_c::wait_3() { - wait_2(); + return wait_2(); } /* 00003368-000034AC .text ZZZwai__11daNpc_Ba1_cFv */ BOOL daNpc_Ba1_c::ZZZwai() { if(m812 == 1 || m812 >= 3) { - return 1; + return TRUE; } if (mFairyUsed) { mFairyUsed = false; m812 = 4; - return 1; + return TRUE; } if (m809) { if (chk_talk()) { setStt(5); } - return 1; + return TRUE; } if (dComIfGs_isEventBit(dSv_event_flag_c::GRANDMA_HEALED)) { @@ -1633,7 +1627,7 @@ BOOL daNpc_Ba1_c::ZZZwai() { m812 = 2; } } - return 1; + return TRUE; } /* 000034AC-0000363C .text wait_action1__11daNpc_Ba1_cFPv */ @@ -1682,7 +1676,7 @@ BOOL daNpc_Ba1_c::wait_action1(void*) { } - return 1; + return TRUE; } @@ -1711,7 +1705,7 @@ BOOL daNpc_Ba1_c::wait_action2(void*) { case 9: break; } - return 1; + return TRUE; } /* 000036F8-00003730 .text demo_action1__11daNpc_Ba1_cFPv */ @@ -1726,7 +1720,7 @@ BOOL daNpc_Ba1_c::demo_action1(void*) { case 3: break; } - return 1; + return TRUE; } /* 00003730-000037EC .text wait_action3__11daNpc_Ba1_cFPv */ @@ -1754,7 +1748,7 @@ BOOL daNpc_Ba1_c::wait_action3(void*) { case 9: break; } - return 1; + return TRUE; } /* 000037EC-000038A8 .text wait_action4__11daNpc_Ba1_cFPv */ @@ -1782,7 +1776,7 @@ BOOL daNpc_Ba1_c::wait_action4(void*) { case 9: break; } - return 1; + return TRUE; } /* 000038A8-00003A18 .text demo__11daNpc_Ba1_cFv */ @@ -1873,7 +1867,7 @@ BOOL daNpc_Ba1_c::_draw() { shadowDraw(); dSnap_RegistFig(DSNAP_TYPE_NPC_BA1, this, 1.0f, 1.0f, 1.0f); - if((u8)l_HIO.mPrmTbl.m18 != 0){ + if(l_HIO.mPrmTbl.m18 != 0){ cXyz somevec; if(mSpecificType == 0) { somevec = current.pos; @@ -1885,7 +1879,7 @@ BOOL daNpc_Ba1_c::_draw() { } } - return 1; + return TRUE; } /* 00003C0C-00003E1C .text _execute__11daNpc_Ba1_cFv */ @@ -1958,13 +1952,13 @@ BOOL daNpc_Ba1_c::_delete() { #if VERSION == VERSION_DEMO l_HIO.removeHIO(); #endif - return 1; + return TRUE; } /* 00003E78-00003E98 .text CheckCreateHeap__FP10fopAc_ac_c */ static BOOL CheckCreateHeap(fopAc_ac_c* i_this) { - static_cast(i_this)->CreateHeap(); + return static_cast(i_this)->CreateHeap(); } /* 00003E98-00003FB8 .text _create__11daNpc_Ba1_cFv */ @@ -2001,7 +1995,7 @@ cPhs_State daNpc_Ba1_c::_create() { /* 000043E8-00004658 .text create_Anm__11daNpc_Ba1_cFv */ J3DModelData* daNpc_Ba1_c::create_Anm() { J3DModelData* a_mdl_dat = (J3DModelData*)dComIfG_getObjectIDRes("Ba",dRes_ID_BA_BDL_BA_e); - JUT_ASSERT(VERSION_SELECT(0xB0C, 0xB0B, 0xB0C, 0xB0C),a_mdl_dat != NULL); + JUT_ASSERT(VERSION_SELECT(2828, 2827, 2828, 2828), a_mdl_dat != NULL); mpMorf = new mDoExt_McaMorf( a_mdl_dat, NULL, @@ -2028,11 +2022,11 @@ J3DModelData* daNpc_Ba1_c::create_Anm() { } m_hed_jnt_num = a_mdl_dat->getJointName()->getIndex("head"); - JUT_ASSERT(VERSION_SELECT(0xB20, 0xB1F, 0xB20, 0xB20),m_hed_jnt_num >= 0); + JUT_ASSERT(VERSION_SELECT(2848, 2847, 2848, 2848), m_hed_jnt_num >= 0); m_bbone_jnt_num = a_mdl_dat->getJointName()->getIndex("backbone"); - JUT_ASSERT(VERSION_SELECT(0xB23, 0xB22, 0xB23, 0xB23),m_bbone_jnt_num >= 0); + JUT_ASSERT(VERSION_SELECT(2851, 2850, 2851, 2851), m_bbone_jnt_num >= 0); m_footL_jnt_num = a_mdl_dat->getJointName()->getIndex("footL"); - JUT_ASSERT(VERSION_SELECT(0xB26, 0xB25, 0xB26, 0xB26),m_footL_jnt_num >= 0); + JUT_ASSERT(VERSION_SELECT(2854, 2853, 2854, 2854), m_footL_jnt_num >= 0); return a_mdl_dat; } @@ -2041,22 +2035,21 @@ J3DModelData* daNpc_Ba1_c::create_Anm() { bool daNpc_Ba1_c::create_itm_Mdl() { mpClothModel = NULL; J3DModelData* a_mdl_dat = (J3DModelData*)dComIfG_getObjectIDRes("Ba",dRes_ID_BA_BDL_BA_CLOTH_e); - JUT_ASSERT(VERSION_SELECT(0xB38, 0xB37, 0xB38, 0xB38),a_mdl_dat != NULL); + JUT_ASSERT(VERSION_SELECT(2872, 2871, 2872, 2872), a_mdl_dat != NULL); mpClothModel = mDoExt_J3DModel__create(a_mdl_dat,0x80000,0x11000002); return true; } /* 00004714-0000485C .text CreateHeap__11daNpc_Ba1_cFv */ BOOL daNpc_Ba1_c::CreateHeap() { - J3DModelData* modeldat; J3DModelData* anm_model = create_Anm(); if(!anm_model) { - return 0; + return FALSE; } mBtpNum = 1; if(!iniTexPttrnAnm(false)) { mpMorf = NULL; - return 0; + return FALSE; } if(create_itm_Mdl()) { for(u16 i = 0; i < anm_model->getJointNum(); i++){ @@ -2076,10 +2069,10 @@ BOOL daNpc_Ba1_c::CreateHeap() { NULL, NULL ); - return 1; + return TRUE; } mpMorf = NULL; - return 0; + return FALSE; } /* 0000485C-0000487C .text daNpc_Ba1_Create__FP10fopAc_ac_c */ diff --git a/src/d/actor/d_a_npc_bm1.cpp b/src/d/actor/d_a_npc_bm1.cpp index 8738b1b10..3599ffef6 100644 --- a/src/d/actor/d_a_npc_bm1.cpp +++ b/src/d/actor/d_a_npc_bm1.cpp @@ -687,8 +687,8 @@ bool daNpc_Bm1_c::createInit() { mEventIdTable[i] = dComIfGp_evmng_getEventIdx(l_evn_tbl[i]); } attention_info.flags = fopAc_Attn_LOCKON_TALK_e | fopAc_Attn_ACTION_SPEAK_e; - attention_info.distances[1] = a_att_dis_TBL[mType][0]; - attention_info.distances[3] = a_att_dis_TBL[mType][1]; + attention_info.distances[fopAc_Attn_TYPE_TALK_e] = a_att_dis_TBL[mType][0]; + attention_info.distances[fopAc_Attn_TYPE_SPEAK_e] = a_att_dis_TBL[mType][1]; gravity = -4.5; m82C = current.pos; s32 iVar5 = 0xFF; @@ -2940,6 +2940,7 @@ void daNpc_Bm1_c::privateCut(int arg0) { break; case 1: cut_init_360_TRN(arg0); + break; } } bool cVar3; diff --git a/src/d/actor/d_a_npc_km1.cpp b/src/d/actor/d_a_npc_km1.cpp index 050046389..706593fa7 100644 --- a/src/d/actor/d_a_npc_km1.cpp +++ b/src/d/actor/d_a_npc_km1.cpp @@ -473,6 +473,7 @@ void daNpc_Km1_c::privateCut() { switch(field_0x7C9){ case 0: event_actionInit(staffIdx); + break; } } bool bVar1; diff --git a/src/d/actor/d_a_npc_p1.cpp b/src/d/actor/d_a_npc_p1.cpp index 12c8f94c8..2cba33326 100644 --- a/src/d/actor/d_a_npc_p1.cpp +++ b/src/d/actor/d_a_npc_p1.cpp @@ -900,13 +900,13 @@ BOOL daNpc_P1_c::privateCut() { switch (actIdx) { case 2: evn_setAnm_init(staffIdx); - break; case 3: mHeadAnm.swing_vertical_init(2, 0x1000, 0x800, 1); break; case 4: evn_talk_init(staffIdx); + break; } } switch (actIdx) { @@ -1043,8 +1043,8 @@ cPhs_State daNpc_P1_c::_create() { mKajiTimer = 300; if (mType == TYPE_P1B_e) { - attention_info.distances[1] = 0xAA; - attention_info.distances[3] = 0xAA; + attention_info.distances[fopAc_Attn_TYPE_TALK_e] = 0xAA; + attention_info.distances[fopAc_Attn_TYPE_SPEAK_e] = 0xAA; u8 type = mParam; if (mParam == 1) { if (dComIfGp_getStartStagePoint() == 0 || dComIfGp_getStartStagePoint() == 2) { @@ -1064,8 +1064,8 @@ cPhs_State daNpc_P1_c::_create() { setAction(&daNpc_P1_c::normalAction, NULL, 0); } } else if (mType == TYPE_P1C_e) { - attention_info.distances[1] = 0xAA; - attention_info.distances[3] = 0xAA; + attention_info.distances[fopAc_Attn_TYPE_TALK_e] = 0xAA; + attention_info.distances[fopAc_Attn_TYPE_SPEAK_e] = 0xAA; if (!dComIfGs_isEventBit(0x820) && !dComIfGs_isEventBit(dSv_event_flag_c::UNK_0808)) { current.pos.x -= cM_scos(current.angle.y) * 40.0f; current.pos.z += cM_ssin(current.angle.y) * 40.0f; @@ -1076,8 +1076,8 @@ cPhs_State daNpc_P1_c::_create() { } mCyl.SetR(100.0f); } else { - attention_info.distances[1] = 0xAB; - attention_info.distances[3] = 0xAB; + attention_info.distances[fopAc_Attn_TYPE_TALK_e] = 0xAB; + attention_info.distances[fopAc_Attn_TYPE_SPEAK_e] = 0xAB; if (m671 != 0) { setAnm(9, 0.0f); mCyl.SetR(REG10_F(5) + 90.0f); diff --git a/src/d/actor/d_a_npc_rsh1.cpp b/src/d/actor/d_a_npc_rsh1.cpp index 77200d3fc..b65580c80 100644 --- a/src/d/actor/d_a_npc_rsh1.cpp +++ b/src/d/actor/d_a_npc_rsh1.cpp @@ -940,7 +940,7 @@ BOOL daNpc_Rsh1_c::CreateInit() { mActorAngle = current.angle; attention_info.flags = fopAc_Attn_LOCKON_TALK_e | fopAc_Attn_ACTION_SPEAK_e; attention_info.distances[fopAc_Attn_TYPE_BATTLE_e] = 173; - attention_info.distances[8] = 173; // Bug? + attention_info.distances[8] = 173; // !@bug: There is no distances[8], this overwrites the first byte of position.x gravity = -30.0f; switch (m95E) { diff --git a/src/d/actor/d_a_npc_tc_cut.inc b/src/d/actor/d_a_npc_tc_cut.inc index 43ea9bc21..92d7f5849 100644 --- a/src/d/actor/d_a_npc_tc_cut.inc +++ b/src/d/actor/d_a_npc_tc_cut.inc @@ -83,6 +83,7 @@ void daNpc_Tc_c::cutProc() { break; case 8: cutPayProc(staffIdx); + break; } } } diff --git a/src/d/actor/d_a_obj_vgnfd.cpp b/src/d/actor/d_a_obj_vgnfd.cpp index 928088e0a..5aa05d229 100644 --- a/src/d/actor/d_a_obj_vgnfd.cpp +++ b/src/d/actor/d_a_obj_vgnfd.cpp @@ -419,6 +419,7 @@ bool daObjVgnfd_c::_execute() { dComIfGp_getVibration().StartShock(8, 27, cXyz(0.0f, 1.0f, 0.0f)); mCurModel = 2; fopAcM_seStartCurrent(this, JA_SE_OBJ_B_BOSS_DR_BRK_3, 0); + break; } } diff --git a/src/d/actor/d_a_tag_photo.cpp b/src/d/actor/d_a_tag_photo.cpp index 96b24d5f5..f53b0c029 100644 --- a/src/d/actor/d_a_tag_photo.cpp +++ b/src/d/actor/d_a_tag_photo.cpp @@ -253,6 +253,7 @@ void daTagPhoto_c::privateCut() { switch(mActIdx) { case 0: eventMesSetInit(staffIdx); + break; } } diff --git a/src/d/actor/d_a_tn.cpp b/src/d/actor/d_a_tn.cpp index a001b9ec9..50354536a 100644 --- a/src/d/actor/d_a_tn.cpp +++ b/src/d/actor/d_a_tn.cpp @@ -2701,6 +2701,7 @@ static void Tn_move(tn_class* i_this) { break; case ACTION_S_DEMO: s_demo(i_this); + break; } #if VERSION == VERSION_DEMO if (r29 != 0) {