From 2b71216c8b1c3523888e137a4e50c40a7b739ec1 Mon Sep 17 00:00:00 2001 From: LagoLunatic Date: Wed, 17 Apr 2024 00:15:24 -0400 Subject: [PATCH] Add enum for attention types --- include/f_op/f_op_actor.h | 25 ++++++++++++++++++------- src/c/c_damagereaction.cpp | 4 ++-- src/d/actor/d_a_am.cpp | 4 ++-- src/d/actor/d_a_am2.cpp | 8 ++++---- src/d/actor/d_a_bk.cpp | 2 +- src/d/actor/d_a_npc_bs1.cpp | 6 +++--- src/d/actor/d_a_npc_btsw2.cpp | 6 +++--- src/d/actor/d_a_npc_ji1.cpp | 16 ++++++++-------- src/d/actor/d_a_npc_kamome.cpp | 8 ++++---- src/d/actor/d_a_npc_nz.cpp | 6 +++--- src/d/actor/d_a_npc_os.cpp | 4 ++-- src/d/actor/d_a_obj_mknjd.cpp | 6 +++--- src/d/actor/d_a_obj_paper.cpp | 6 +++--- src/d/actor/d_a_obj_toripost.cpp | 6 +++--- src/d/actor/d_a_rd.cpp | 4 ++-- src/d/actor/d_a_tag_etc.cpp | 2 +- src/d/actor/d_a_tag_msg.cpp | 2 +- src/d/d_attention.cpp | 2 +- src/f_op/f_op_actor.cpp | 16 ++++++++-------- 19 files changed, 72 insertions(+), 61 deletions(-) diff --git a/include/f_op/f_op_actor.h b/include/f_op/f_op_actor.h index 10c6073ab..aea07a39f 100644 --- a/include/f_op/f_op_actor.h +++ b/include/f_op/f_op_actor.h @@ -58,14 +58,25 @@ enum fopAc_Group_e { fopAc_NPC_e, }; +enum fopAc_AttentionType_e { + fopAc_Attn_TYPE_MISC_e = 0x0, // "LOCK" + fopAc_Attn_TYPE_TALK_e = 0x1, // "TALK" + fopAc_Attn_TYPE_BATTLE_e = 0x2, // "BATL" + fopAc_Attn_TYPE_SPEAK_e = 0x3, // "SPEK" + fopAc_Attn_TYPE_CARRY_e = 0x4, // "CARY" + fopAc_Attn_TYPE_DOOR_e = 0x5, // "DOOR" + fopAc_Attn_TYPE_TREASURE_e = 0x6, // "JUEL" + fopAc_Attn_TYPE_SHIP_e = 0x7, +}; + enum fopAc_AttentionFlag_e { - fopAc_Attn_LOCKON_MISC_e = 0x00000001, - fopAc_Attn_LOCKON_TALK_e = 0x00000002, - fopAc_Attn_LOCKON_ENEMY_e = 0x00000004, - fopAc_Attn_ACTION_TALK_e = 0x00000008, - fopAc_Attn_ACTION_CARRY_e = 0x00000010, - fopAc_Attn_ACTION_DOOR_e = 0x00000020, - fopAc_Attn_ACTION_TREASURE_e = 0x00000040, + fopAc_Attn_LOCKON_MISC_e = 0x00000001, // "LOCK" + fopAc_Attn_LOCKON_TALK_e = 0x00000002, // "TALK" + fopAc_Attn_LOCKON_BATTLE_e = 0x00000004, // "BATL" + fopAc_Attn_ACTION_SPEAK_e = 0x00000008, // "SPEK" + fopAc_Attn_ACTION_CARRY_e = 0x00000010, // "CARY" + fopAc_Attn_ACTION_DOOR_e = 0x00000020, // "DOOR" + fopAc_Attn_ACTION_TREASURE_e = 0x00000040, // "JUEL" fopAc_Attn_ACTION_SHIP_e = 0x00000080, fopAc_Attn_UNK1000000_e = 0x01000000, fopAc_Attn_TALKFLAG_NOTALK_e = 0x02000000, diff --git a/src/c/c_damagereaction.cpp b/src/c/c_damagereaction.cpp index 846fb48f4..747ac081f 100644 --- a/src/c/c_damagereaction.cpp +++ b/src/c/c_damagereaction.cpp @@ -126,7 +126,7 @@ BOOL enemy_ice(enemyice* ei) { ac->tevStr.mFogStartZ = 0.0f; ac->tevStr.mFogEndZ = 2000.0f; fopAcM_seStart(ac, JA_SE_CM_L_ARROW_SHRINK, 0); - ac->attention_info.flags &= ~fopAc_Attn_LOCKON_ENEMY_e; + ac->attention_info.flags &= ~fopAc_Attn_LOCKON_BATTLE_e; } else { ei->mLightShrinkTimer++; @@ -227,7 +227,7 @@ BOOL enemy_ice(enemyice* ei) { moveAndCollide = TRUE; if (ei->m00C != 1) { ac->attention_info.flags |= fopAc_Attn_ACTION_CARRY_e; - ac->attention_info.distances[4] = 0x12; + ac->attention_info.distances[fopAc_Attn_TYPE_CARRY_e] = 0x12; if (fopAcM_CheckStatus(ac, fopAcStts_CARRY_e)) { ac->attention_info.flags &= ~fopAc_Attn_ACTION_CARRY_e; ei->mState = 3; diff --git a/src/d/actor/d_a_am.cpp b/src/d/actor/d_a_am.cpp index 684251a5b..563a8bfd4 100644 --- a/src/d/actor/d_a_am.cpp +++ b/src/d/actor/d_a_am.cpp @@ -304,7 +304,7 @@ static BOOL medama_atari_check(am_class* i_this) { ret = true; if (i_this->mCurrBckIdx == AM_BCK_SLEEP || i_this->mCurrBckIdx == AM_BCK_SLEEP_LOOP) { anm_init(i_this, AM_BCK_OKIRU, 1.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, -1); - i_this->attention_info.flags = fopAc_Attn_LOCKON_ENEMY_e; + i_this->attention_info.flags = fopAc_Attn_LOCKON_BATTLE_e; i_this->mNeedleCyl.OnAtSPrmBit(AT_SPRM_SET); i_this->mNeedleCyl.OnAtHitBit(); i_this->mAction = ACTION_DOUSA; @@ -527,7 +527,7 @@ static void action_dousa(am_class* i_this) { if (Line_check(i_this, player->current.pos)) { anm_init(i_this, AM_BCK_OKIRU, 1.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, -1); fopAcM_monsSeStart(i_this, JA_SE_CV_AM_AWAKE, 0); - i_this->attention_info.flags = fopAc_Attn_LOCKON_ENEMY_e; + i_this->attention_info.flags = fopAc_Attn_LOCKON_BATTLE_e; i_this->mNeedleCyl.OnAtSetBit(); i_this->mNeedleCyl.OnAtHitBit(); i_this->mState += 1; diff --git a/src/d/actor/d_a_am2.cpp b/src/d/actor/d_a_am2.cpp index 1eb05b3d8..52ea0f966 100644 --- a/src/d/actor/d_a_am2.cpp +++ b/src/d/actor/d_a_am2.cpp @@ -197,7 +197,7 @@ static BOOL medama_atari_check(am2_class* i_this) { 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); - i_this->attention_info.flags = fopAc_Attn_LOCKON_ENEMY_e; + i_this->attention_info.flags = fopAc_Attn_LOCKON_BATTLE_e; fopAcM_OnStatus(i_this, fopAcStts_SHOWMAP_e); i_this->mNeedleCyl.OnAtSetBit(); i_this->mNeedleCyl.OnAtHitBit(); @@ -499,7 +499,7 @@ static void action_dousa(am2_class* i_this) { cXyz centerPos = player->current.pos; centerPos.y += 100.0f + g_regHIO.mChild[12].mFloatRegs[19]; if (Line_check(i_this, centerPos)) { - i_this->attention_info.flags = fopAc_Attn_LOCKON_ENEMY_e; + i_this->attention_info.flags = fopAc_Attn_LOCKON_BATTLE_e; fopAcM_OnStatus(i_this, fopAcStts_SHOWMAP_e); anm_init(i_this, AM2_BCK_START, 1.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, -1); fopAcM_monsSeStart(i_this, JA_SE_CV_AM2_AWAKE, 0); @@ -785,7 +785,7 @@ static void action_mahi(am2_class* i_this) { actor->shape_angle.y += 0x1000; if (i_this->mAcch.ChkGroundHit()) { actor->gravity = -3.0f; - actor->attention_info.flags = fopAc_Attn_LOCKON_ENEMY_e; + actor->attention_info.flags = fopAc_Attn_LOCKON_BATTLE_e; fopAcM_OnStatus(actor, fopAcStts_SHOWMAP_e); i_this->mAction = ACTION_DOUSA; i_this->mState = 3; @@ -1329,7 +1329,7 @@ static s32 daAM2_Create(fopAc_ac_c* i_actor) { i_this->mEnemyIce.mpActor = i_this; i_this->mEnemyIce.mWallRadius = 50.0f; i_this->mEnemyIce.mCylHeight = 100.0f; - i_this->attention_info.distances[4] = 9; + i_this->attention_info.distances[fopAc_Attn_TYPE_CARRY_e] = 9; fopAcM_OnStatus(i_this, fopAcStts_UNK8000000_e); diff --git a/src/d/actor/d_a_bk.cpp b/src/d/actor/d_a_bk.cpp index 2c51321f3..78a62244c 100644 --- a/src/d/actor/d_a_bk.cpp +++ b/src/d/actor/d_a_bk.cpp @@ -1954,7 +1954,7 @@ static BOOL daBk_Execute(bk_class* i_this) { } } - i_this->attention_info.flags = fopAc_Attn_LOCKON_ENEMY_e; + i_this->attention_info.flags = fopAc_Attn_LOCKON_BATTLE_e; fopAcM_OnStatus(i_this, fopAcStts_SHOWMAP_e); i_this->m02F0 = 0; i_this->m02F4 = 0; diff --git a/src/d/actor/d_a_npc_bs1.cpp b/src/d/actor/d_a_npc_bs1.cpp index 66907083e..7ec60a007 100644 --- a/src/d/actor/d_a_npc_bs1.cpp +++ b/src/d/actor/d_a_npc_bs1.cpp @@ -1620,9 +1620,9 @@ BOOL daNpc_Bs1_c::CreateInit() { m726.y = current.angle.y; m726.z = current.angle.z; - attention_info.flags = fopAc_Attn_LOCKON_TALK_e | fopAc_Attn_ACTION_TALK_e; - attention_info.distances[1] = 0xAA; - attention_info.distances[3] = 0xAA; + attention_info.flags = fopAc_Attn_LOCKON_TALK_e | fopAc_Attn_ACTION_SPEAK_e; + attention_info.distances[fopAc_Attn_TYPE_TALK_e] = 0xAA; + attention_info.distances[fopAc_Attn_TYPE_SPEAK_e] = 0xAA; gravity = -30.0f; diff --git a/src/d/actor/d_a_npc_btsw2.cpp b/src/d/actor/d_a_npc_btsw2.cpp index d9bb9bc88..c422e7907 100644 --- a/src/d/actor/d_a_npc_btsw2.cpp +++ b/src/d/actor/d_a_npc_btsw2.cpp @@ -458,7 +458,7 @@ BOOL daNpc_Btsw2_c::CreateHeap() { /* 00000EFC-000010F8 .text CreateInit__13daNpc_Btsw2_cFv */ BOOL daNpc_Btsw2_c::CreateInit() { m714 = current.angle; - attention_info.flags = fopAc_Attn_LOCKON_TALK_e | fopAc_Attn_ACTION_TALK_e; + attention_info.flags = fopAc_Attn_LOCKON_TALK_e | fopAc_Attn_ACTION_SPEAK_e; gravity = -30.0f; setAction(&daNpc_Btsw2_c::wait_action, NULL); mAttPos = current.pos; @@ -476,8 +476,8 @@ BOOL daNpc_Btsw2_c::CreateInit() { m736 = 0; mPathPntIdx = 0; mEventCut.setActorInfo2("Btsw2", this); - 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; return TRUE; } diff --git a/src/d/actor/d_a_npc_ji1.cpp b/src/d/actor/d_a_npc_ji1.cpp index b642e85f9..1b5e5f276 100644 --- a/src/d/actor/d_a_npc_ji1.cpp +++ b/src/d/actor/d_a_npc_ji1.cpp @@ -2210,8 +2210,8 @@ u32 daNpc_Ji1_c::battleAction(void*) { field_0xC3C = 0; setAnm(5, 0.0f, 0); attention_info.flags |= fopAc_Attn_LOCKON_MISC_e; - attention_info.flags |= fopAc_Attn_LOCKON_ENEMY_e; - attention_info.distances[2] = 3; + attention_info.flags |= fopAc_Attn_LOCKON_BATTLE_e; + attention_info.distances[fopAc_Attn_TYPE_BATTLE_e] = 3; field_0xC30 = (s16)cM_rndF(150.0f) + 30; field_0xD70 = 0; field_0xD6C = 0; @@ -2220,8 +2220,8 @@ u32 daNpc_Ji1_c::battleAction(void*) { field_0xC78++; } else if(field_0xC78 == -1) { - attention_info.flags &= ~fopAc_Attn_LOCKON_ENEMY_e; - attention_info.distances[2] = 0xB5; + attention_info.flags &= ~fopAc_Attn_LOCKON_BATTLE_e; + attention_info.distances[fopAc_Attn_TYPE_BATTLE_e] = 0xB5; } else { cXyz temp = player->current.pos - current.pos; @@ -2896,7 +2896,7 @@ BOOL daNpc_Ji1_c::CreateInit() { fopAcM_SetMtx(this, field_0x330->getModel()->getBaseTRMtx()); fopAcM_setCullSizeBox(this, -70.0f, 0.0f, -70.0f, 70.0f, 200.0f, 70.0f); gravity = -30.0f; - attention_info.flags = fopAc_Attn_LOCKON_MISC_e | fopAc_Attn_LOCKON_TALK_e | fopAc_Attn_ACTION_TALK_e; + attention_info.flags = fopAc_Attn_LOCKON_MISC_e | fopAc_Attn_LOCKON_TALK_e | fopAc_Attn_ACTION_SPEAK_e; field_0x638.Init(0xFF, 0xFF, this); field_0x674.Init(0xFF, 0xFF, this); @@ -3062,9 +3062,9 @@ BOOL daNpc_Ji1_c::CreateInit() { field_0xD7E = 0; attention_info.flags |= fopAc_Attn_LOCKON_MISC_e; - attention_info.distances[1] = 0xA9; - attention_info.distances[3] = 0xA9; - attention_info.distances[2] = 0xB5; + attention_info.distances[fopAc_Attn_TYPE_TALK_e] = 0xA9; + attention_info.distances[fopAc_Attn_TYPE_SPEAK_e] = 0xA9; + attention_info.distances[fopAc_Attn_TYPE_BATTLE_e] = 0xB5; field_0x414 = 0.0f; field_0x42C = 0.0f; field_0x430 = 0; diff --git a/src/d/actor/d_a_npc_kamome.cpp b/src/d/actor/d_a_npc_kamome.cpp index 830e47bc5..6118eb9cb 100644 --- a/src/d/actor/d_a_npc_kamome.cpp +++ b/src/d/actor/d_a_npc_kamome.cpp @@ -438,8 +438,8 @@ BOOL daNpc_kam_c::init() { setBaseMtx(); attention_info.flags = 0; - attention_info.distances[1] = 38; - attention_info.distances[3] = 38; + attention_info.distances[fopAc_Attn_TYPE_TALK_e] = 38; + attention_info.distances[fopAc_Attn_TYPE_SPEAK_e] = 38; for (int i = 0; i < 3; i++) { mEventIdxs[i] = dComIfGp_evmng_getEventIdx(event_name_tbl[i]); @@ -650,10 +650,10 @@ int daNpc_kam_c::waitNpcAction(void*) { mC0C = cLib_getRndValue(10, 80); } else if (mActionStatus != ACTION_ENDING) { if (changeAreaCheck()) { - attention_info.flags |= fopAc_Attn_ACTION_TALK_e | fopAc_Attn_TALKFLAG_NOTALK_e; + attention_info.flags |= fopAc_Attn_ACTION_SPEAK_e | fopAc_Attn_TALKFLAG_NOTALK_e; mEventState = 6; } else { - attention_info.flags &= ~(fopAc_Attn_ACTION_TALK_e | fopAc_Attn_TALKFLAG_NOTALK_e); + attention_info.flags &= ~(fopAc_Attn_ACTION_SPEAK_e | fopAc_Attn_TALKFLAG_NOTALK_e); mEventState = -1; } diff --git a/src/d/actor/d_a_npc_nz.cpp b/src/d/actor/d_a_npc_nz.cpp index b62ba03cf..8d8fe90dd 100644 --- a/src/d/actor/d_a_npc_nz.cpp +++ b/src/d/actor/d_a_npc_nz.cpp @@ -860,9 +860,9 @@ BOOL daNpc_Nz_c::createInit() { fopAcM_SetMtx(this, mpMorf->getModel()->getBaseTRMtx()); fopAcM_setCullSizeBox(this, -450.0f, -50.0f, -450.0f, 450.0f, 750.0f, 450.0f); fopAcM_setCullSizeFar(this, 10.0f); - attention_info.distances[1] = 0xB1; - attention_info.distances[3] = 0xB1; - attention_info.flags = fopAc_Attn_ACTION_TALK_e | fopAc_Attn_TALKFLAG_NOTALK_e; + attention_info.distances[fopAc_Attn_TYPE_TALK_e] = 0xB1; + attention_info.distances[fopAc_Attn_TYPE_SPEAK_e] = 0xB1; + attention_info.flags = fopAc_Attn_ACTION_SPEAK_e | fopAc_Attn_TALKFLAG_NOTALK_e; eventInfo.setXyCheckCB(&daNpc_Nz_XyCheckCB); eventInfo.setXyEventCB(&daNpc_Nz_XyEventCB); mEventCut.setActorInfo2("NpcNz", this); diff --git a/src/d/actor/d_a_npc_os.cpp b/src/d/actor/d_a_npc_os.cpp index 1ed405288..ebe0727ae 100644 --- a/src/d/actor/d_a_npc_os.cpp +++ b/src/d/actor/d_a_npc_os.cpp @@ -713,7 +713,7 @@ BOOL daNpc_Os_c::waitNpcAction(void*) { } } - attention_info.flags &= ~(fopAc_Attn_LOCKON_TALK_e | fopAc_Attn_ACTION_TALK_e); + attention_info.flags &= ~(fopAc_Attn_LOCKON_TALK_e | fopAc_Attn_ACTION_SPEAK_e); f32 dist = fopAcM_searchPlayerDistance2(this); if(!checkNpcCallCommand()) { @@ -1961,7 +1961,7 @@ BOOL daNpc_Os_c::init() { cXyz dummy(0.0f, 0.0f, 0.0f); field_0x794 = fopAcM_GetParam(this) >> 0x10 & 0xFF; - attention_info.distances[4] = 0x27; + attention_info.distances[fopAc_Attn_TYPE_CARRY_e] = 0x27; // Fakematch, the next two lines get optimized out, but they affect the regalloc when copying the tevstr. speedF = speedF; speedF = speedF; diff --git a/src/d/actor/d_a_obj_mknjd.cpp b/src/d/actor/d_a_obj_mknjd.cpp index 16060803e..1264d27bb 100644 --- a/src/d/actor/d_a_obj_mknjd.cpp +++ b/src/d/actor/d_a_obj_mknjd.cpp @@ -277,9 +277,9 @@ int daObjMknjD::Act_c::Create() { m0430 = 0x2920; } - attention_info.distances[1] = 0x3D; - attention_info.distances[3] = 0x3D; - attention_info.flags |= fopAc_Attn_ACTION_TALK_e | fopAc_Attn_TALKFLAG_CHECK_e; + attention_info.distances[fopAc_Attn_TYPE_TALK_e] = 0x3D; + attention_info.distances[fopAc_Attn_TYPE_SPEAK_e] = 0x3D; + attention_info.flags |= fopAc_Attn_ACTION_SPEAK_e | fopAc_Attn_TALKFLAG_CHECK_e; if (!checkItemGet(mGiveItemNo, 1)) { m043F = 8; diff --git a/src/d/actor/d_a_obj_paper.cpp b/src/d/actor/d_a_obj_paper.cpp index 110c5677a..cb9d37119 100644 --- a/src/d/actor/d_a_obj_paper.cpp +++ b/src/d/actor/d_a_obj_paper.cpp @@ -117,9 +117,9 @@ namespace daObjPaper { eyePos.y += attr(mType).mEyeOffset; attention_info.position.y += attr(mType).mAttentionOffset; - attention_info.distances[1] = attr(mType).mAttentionDist1; - attention_info.distances[3] = attr(mType).mAttentionDist2; - attention_info.flags |= fopAc_Attn_LOCKON_TALK_e | fopAc_Attn_ACTION_TALK_e | fopAc_Attn_TALKFLAG_READ_e; + attention_info.distances[fopAc_Attn_TYPE_TALK_e] = attr(mType).mAttentionDist1; + attention_info.distances[fopAc_Attn_TYPE_SPEAK_e] = attr(mType).mAttentionDist2; + attention_info.flags |= fopAc_Attn_LOCKON_TALK_e | fopAc_Attn_ACTION_SPEAK_e | fopAc_Attn_TALKFLAG_READ_e; mMsgId = fpcM_ERROR_PROCESS_ID_e; diff --git a/src/d/actor/d_a_obj_toripost.cpp b/src/d/actor/d_a_obj_toripost.cpp index c8fa94ccf..7b263ba62 100644 --- a/src/d/actor/d_a_obj_toripost.cpp +++ b/src/d/actor/d_a_obj_toripost.cpp @@ -916,9 +916,9 @@ void daObjTpost_c::createInit() { mCurrMsgBsPcId = fpcM_ERROR_PROCESS_ID_e; mpCurrMsg = 0; - attention_info.distances[1] = 5; - attention_info.distances[3] = 6; - attention_info.flags = fopAc_Attn_LOCKON_TALK_e | fopAc_Attn_ACTION_TALK_e | fopAc_Attn_TALKFLAG_CHECK_e; + attention_info.distances[fopAc_Attn_TYPE_TALK_e] = 5; + attention_info.distances[fopAc_Attn_TYPE_SPEAK_e] = 6; + attention_info.flags = fopAc_Attn_LOCKON_TALK_e | fopAc_Attn_ACTION_SPEAK_e | fopAc_Attn_TALKFLAG_CHECK_e; setAnm(1, false); setMtx(); diff --git a/src/d/actor/d_a_rd.cpp b/src/d/actor/d_a_rd.cpp index bd6b57e16..ab1cf235c 100644 --- a/src/d/actor/d_a_rd.cpp +++ b/src/d/actor/d_a_rd.cpp @@ -1344,10 +1344,10 @@ void daRd_c::modeProc(daRd_c::Proc_e proc, int newMode) { if (newMode == MODE_DEATH || newMode == MODE_SW_WAIT) { fopAcM_OffStatus(this, fopAcStts_SHOWMAP_e); - cLib_offBit(attention_info.flags, fopAc_Attn_LOCKON_ENEMY_e); + cLib_offBit(attention_info.flags, fopAc_Attn_LOCKON_BATTLE_e); } else { fopAcM_OnStatus(this, fopAcStts_SHOWMAP_e); - cLib_onBit(attention_info.flags, fopAc_Attn_LOCKON_ENEMY_e); + cLib_onBit(attention_info.flags, fopAc_Attn_LOCKON_BATTLE_e); } mMode = newMode; diff --git a/src/d/actor/d_a_tag_etc.cpp b/src/d/actor/d_a_tag_etc.cpp index a973a01f7..5873d345e 100644 --- a/src/d/actor/d_a_tag_etc.cpp +++ b/src/d/actor/d_a_tag_etc.cpp @@ -125,7 +125,7 @@ s32 daTag_Etc_c::create() { shape_angle.x = 0; current.angle.z = 0; current.angle.x = 0; - attention_info.flags = fopAc_Attn_ACTION_TALK_e; + attention_info.flags = fopAc_Attn_ACTION_SPEAK_e; attention_info.position.y += 150.0f; eyePos.y += 150.0f; return cPhs_COMPLEATE_e; diff --git a/src/d/actor/d_a_tag_msg.cpp b/src/d/actor/d_a_tag_msg.cpp index 9ef52e81f..92578f4b9 100644 --- a/src/d/actor/d_a_tag_msg.cpp +++ b/src/d/actor/d_a_tag_msg.cpp @@ -265,7 +265,7 @@ s32 daTag_Msg_c::create() { shape_angle.x = 0; current.angle.z = 0; current.angle.x = 0; - attention_info.flags = fopAc_Attn_ACTION_TALK_e | fopAc_Attn_TALKFLAG_CHECK_e; + attention_info.flags = fopAc_Attn_ACTION_SPEAK_e | fopAc_Attn_TALKFLAG_CHECK_e; if (getMessage() != 0x836) { attention_info.position.y += 150; eyePos.y += 150.0f; diff --git a/src/d/d_attention.cpp b/src/d/d_attention.cpp index 10a690684..c9810ecc1 100644 --- a/src/d/d_attention.cpp +++ b/src/d/d_attention.cpp @@ -422,7 +422,7 @@ f32 dAttention_c::EnemyDistance(fopAc_ac_c* actor) { return -1.0f; f32 dist = fopAcM_searchActorDistance(actor, mpPlayer); - if (dist < (dist_table[actor->attention_info.distances[2]].mDistXZMax + dist_table[actor->attention_info.distances[2]].mDistXZAngleAdjust)) + if (dist < (dist_table[actor->attention_info.distances[fopAc_Attn_TYPE_BATTLE_e]].mDistXZMax + dist_table[actor->attention_info.distances[fopAc_Attn_TYPE_BATTLE_e]].mDistXZAngleAdjust)) return dist; return -1.0f; } diff --git a/src/f_op/f_op_actor.cpp b/src/f_op/f_op_actor.cpp index 3e3da700c..053475a82 100644 --- a/src/f_op/f_op_actor.cpp +++ b/src/f_op/f_op_actor.cpp @@ -172,14 +172,14 @@ s32 fopAc_Create(void* pProc) { actor->current = actor->home; actor->eyePos = actor->home.pos; actor->maxFallSpeed = -100.0f; - actor->attention_info.distances[0] = 1; - actor->attention_info.distances[1] = 2; - actor->attention_info.distances[2] = 3; - actor->attention_info.distances[3] = 7; - actor->attention_info.distances[4] = 8; - actor->attention_info.distances[7] = 15; - actor->attention_info.distances[5] = 16; - actor->attention_info.distances[6] = 16; + actor->attention_info.distances[fopAc_Attn_TYPE_MISC_e] = 1; + actor->attention_info.distances[fopAc_Attn_TYPE_TALK_e] = 2; + actor->attention_info.distances[fopAc_Attn_TYPE_BATTLE_e] = 3; + actor->attention_info.distances[fopAc_Attn_TYPE_SPEAK_e] = 7; + actor->attention_info.distances[fopAc_Attn_TYPE_CARRY_e] = 8; + actor->attention_info.distances[fopAc_Attn_TYPE_SHIP_e] = 15; + actor->attention_info.distances[fopAc_Attn_TYPE_DOOR_e] = 16; + actor->attention_info.distances[fopAc_Attn_TYPE_TREASURE_e] = 16; actor->attention_info.position = actor->home.pos; dKy_tevstr_init(&actor->tevStr, actor->home.roomNo, 0xFF); }