From f7cb58cbedf639648124d40e94a9beff784a9d15 Mon Sep 17 00:00:00 2001 From: Maide <34639600+Kelebek1@users.noreply.github.com> Date: Fri, 8 May 2026 23:39:42 +0100 Subject: [PATCH] d_a_tag_mk (#983) --- configure.py | 2 +- include/d/actor/d_a_tag_mk.h | 76 ++++-- include/d/d_com_inf_game.h | 2 +- include/f_op/f_op_actor_mng.h | 2 + src/d/actor/d_a_tag_mk.cpp | 459 ++++++++++++++++++++++++++++++---- 5 files changed, 460 insertions(+), 81 deletions(-) diff --git a/configure.py b/configure.py index 8cf4f93ec..82246e93c 100755 --- a/configure.py +++ b/configure.py @@ -1558,7 +1558,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_sss"), ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_syan"), ActorRel(NonMatching, "d_a_tag_md_cb"), - ActorRel(NonMatching, "d_a_tag_mk"), + ActorRel(Matching, "d_a_tag_mk"), ActorRel(Matching, "d_a_tag_so"), ActorRel(Matching, "d_a_tornado"), ActorRel(NonMatching, "d_a_warpf"), diff --git a/include/d/actor/d_a_tag_mk.h b/include/d/actor/d_a_tag_mk.h index 62a3f1163..7a17a2109 100644 --- a/include/d/actor/d_a_tag_mk.h +++ b/include/d/actor/d_a_tag_mk.h @@ -4,44 +4,72 @@ #include "f_op/f_op_actor.h" class daTag_Mk_c : public fopAc_ac_c { + enum Act_e { + /* 0 */ ACT_WAIT_e, + /* 1 */ ACT_ARRIVAL_e, + /* 2 */ ACT_HUNT_e, + /* 3 */ ACT_READY_e, + /* 4 */ ACT_EVENT_e, + /* 5 */ ACT_VILLA_e, + /* 6 */ ACT_VILLATALK_e, + /* 7 */ ACT_TAGWP_e, + /* 8 */ ACT_TAGWP2_e, + /* 9 */ ACT_DAICHI_e, + }; + public: inline cPhs_State create(); inline BOOL draw(); - void setAction(unsigned char) {} + inline void setAction(u8 action) { + mActionTypes = action; + } - void getSwbit(); - void getSwbit2(); - void getType(); - void checkArea(float, float, float); - void next_msgStatus(unsigned long*); - void getMsg(); + u8 getSwbit(); + u8 getSwbit2(); + u8 getType(); + BOOL checkArea(float, float, float); + u16 next_msgStatus(unsigned long*); + u32 getMsg(); void talkInit(); - void talk(); + u16 talk(); void setTagWpEvId(); void demoInitSetgoal(); void demoInitDelete(); void demoInitMake(); - void demoProcMake(); + BOOL demoProcMake(); void demoInitWait(); - void demoProcWait(); + BOOL demoProcWait(); void demoInitCom(); - void demoProcCom(); - void getNowEventAction(); + BOOL demoProcCom(); + s32 getNowEventAction(); void demoProc(); - void actionEvent(); - void actionReady(); - void actionHunt(); - void actionArrival(); - void actionWait(); - void actionVillaTalk(); - void actionVilla(); - void actionTagWp2(); - void actionTagWp(); - void actionDaichi(); + BOOL actionEvent(); + BOOL actionReady(); + BOOL actionHunt(); + BOOL actionArrival(); + BOOL actionWait(); + BOOL actionVillaTalk(); + BOOL actionVilla(); + BOOL actionTagWp2(); + BOOL actionTagWp(); + BOOL actionDaichi(); BOOL execute(); public: - /* Place member variables here */ -}; + /* 0x290 */ u32 m290; + /* 0x294 */ s8 m294; + /* 0x295 */ u8 m295[0x296 - 0x295]; + /* 0x296 */ s16 m296; + /* 0x298 */ u8 m298[0x29C - 0x298]; + /* 0x29C */ cXyz m29C; + /* 0x2A8 */ u8 mActionTypes; + /* 0x2A9 */ u8 m2A9[0x2AA - 0x2A9]; + /* 0x2AA */ s16 mEventIdx; + /* 0x2AC */ int mStaffIdx; + /* 0x2B0 */ s16 mCutEndTimer; + /* 0x2B2 */ u8 m2B2[0x2B4 - 0x2B2]; + /* 0x2B4 */ fpc_ProcID m2B4; + /* 0x2B8 */ char* m2B8; +}; // Size: 0x2BC #endif /* D_A_TAG_MK_H */ diff --git a/include/d/d_com_inf_game.h b/include/d/d_com_inf_game.h index ccb71e6dc..ea42038f0 100644 --- a/include/d/d_com_inf_game.h +++ b/include/d/d_com_inf_game.h @@ -3295,7 +3295,7 @@ inline void dComIfGp_event_reset() { g_dComIfG_gameInfo.play.getEvent()->reset(); } -inline int dComIfGp_event_getPreItemNo() { +inline u32 dComIfGp_event_getPreItemNo() { return g_dComIfG_gameInfo.play.getEvent()->getPreItemNo(); } diff --git a/include/f_op/f_op_actor_mng.h b/include/f_op/f_op_actor_mng.h index 2425336cb..8df4ccf8c 100644 --- a/include/f_op/f_op_actor_mng.h +++ b/include/f_op/f_op_actor_mng.h @@ -604,6 +604,8 @@ void* fopAcM_fastCreateItem(cXyz* p_pos, int i_itemNo, int i_roomNo, csXyz* p_an cXyz* p_scale, f32 speedF, f32 speedY, f32 gravity, int i_itemBitNo = -1, createFunc p_createFunc = NULL); +fopAc_ac_c* fopAcM_createItemForKP2(cXyz* pos, int i_itemNo, int roomNo, csXyz* angle, cXyz* scale, f32 speedF, f32 speedY, f32 gravity, u16 i_itemBitNo); + void* fopAcM_createStealItem(cXyz* p_pos, int i_tblNo, int i_roomNo, csXyz* p_angle, int i_itemBitNo); fopAc_ac_c* fopAcM_myRoomSearchEnemy(s8 roomNo); diff --git a/src/d/actor/d_a_tag_mk.cpp b/src/d/actor/d_a_tag_mk.cpp index 1b02a117d..84aae5a55 100644 --- a/src/d/actor/d_a_tag_mk.cpp +++ b/src/d/actor/d_a_tag_mk.cpp @@ -5,157 +5,444 @@ #include "d/dolzel_rel.h" // IWYU pragma: keep #include "d/actor/d_a_tag_mk.h" +#include "d/actor/d_a_player.h" #include "d/d_procname.h" +#include "f_op/f_op_actor_mng.h" #include "d/d_priority.h" +static fpc_ProcID l_msgId; +static msg_class* l_msg; + /* 00000078-00000084 .text getSwbit__10daTag_Mk_cFv */ -void daTag_Mk_c::getSwbit() { - /* Nonmatching */ +u8 daTag_Mk_c::getSwbit() { + return (fopAcM_GetParam(this) >> 8) & 0xFF; } /* 00000084-00000090 .text getSwbit2__10daTag_Mk_cFv */ -void daTag_Mk_c::getSwbit2() { - /* Nonmatching */ +u8 daTag_Mk_c::getSwbit2() { + return (fopAcM_GetParam(this) >> 16) & 0xFF; } /* 00000090-0000009C .text getType__10daTag_Mk_cFv */ -void daTag_Mk_c::getType() { - /* Nonmatching */ +u8 daTag_Mk_c::getType() { + return (fopAcM_GetParam(this) >> 0) & 0xFF; } /* 0000009C-000001F8 .text checkArea__10daTag_Mk_cFfff */ -void daTag_Mk_c::checkArea(float, float, float) { - /* Nonmatching */ +BOOL daTag_Mk_c::checkArea(float arg1, float arg2, float arg3) { + fopAc_ac_c* player = dComIfGp_getLinkPlayer(); + + cXyz local_54 = player->current.pos - current.pos; + f32 abs1 = local_54.abs2XZ(); + if (abs1 > arg3) { + return FALSE; + } + + local_54.normalize(); + + f32 fVar1 = local_54.x * m29C.x + local_54.z * m29C.z; + f32 fVar2 = abs1 * fVar1 * fVar1; + if (fVar2 > arg2) { + return FALSE; + } + + if (abs1 - fVar2 > arg1) { + return FALSE; + } + + s16 tmp = current.angle.y; + if (abs(tmp -= player->current.angle.y) < 0x5000) { + return FALSE; + } + return TRUE; } /* 000001F8-00000228 .text next_msgStatus__10daTag_Mk_cFPUl */ -void daTag_Mk_c::next_msgStatus(unsigned long*) { - /* Nonmatching */ +u16 daTag_Mk_c::next_msgStatus(unsigned long* arg1) { + u16 ret = 0xF; + + switch (*arg1) { + case 0x1BC0: + case 0x1BC1: + case 0x1BC2: + (*arg1)++; + break; + + default: + ret = 0x10; + break; + } + return ret; } /* 00000228-00000270 .text getMsg__10daTag_Mk_cFv */ -void daTag_Mk_c::getMsg() { - /* Nonmatching */ +u32 daTag_Mk_c::getMsg() { + u32 msg; + + if (dComIfGp_event_getPreItemNo() == COTTAGE_PAPER) { + dComIfGs_onEventBit(dSv_event_flag_c::UNK_2D80); + msg = 0x1bC0; + } else { + msg = 0x1BBF; + } + return msg; } /* 00000270-0000027C .text talkInit__10daTag_Mk_cFv */ void daTag_Mk_c::talkInit() { - /* Nonmatching */ + m294 = 0; } /* 0000027C-000003BC .text talk__10daTag_Mk_cFv */ -void daTag_Mk_c::talk() { - /* Nonmatching */ +u16 daTag_Mk_c::talk() { + u16 sVar4 = 0xff; + + if (m294 == 0) { + l_msgId = fpcM_ERROR_PROCESS_ID_e; + m290 = getMsg(); + m294 = 1; + } else if (m294 != -1) { + if (l_msgId == fpcM_ERROR_PROCESS_ID_e) { + l_msgId = fopMsgM_messageSet(m290, this); + } else { + switch (m294) { + case 1: + l_msg = fopMsgM_SearchByID(l_msgId); + if (l_msg != NULL) { + m294 = 2; + } + break; + + case 2: + sVar4 = l_msg->mStatus; + if (sVar4 == fopMsgStts_MSG_DISPLAYED_e) { + l_msg->mStatus = next_msgStatus(&m290); + if (l_msg->mStatus == fopMsgStts_MSG_CONTINUES_e) { + fopMsgM_messageSet(m290); + } + } else if (sVar4 == fopMsgStts_BOX_CLOSED_e) { + l_msg->mStatus = fopMsgStts_MSG_DESTROYED_e; + m294 = -1; + } + break; + } + } + } + return sVar4; } /* 000003BC-00000470 .text setTagWpEvId__10daTag_Mk_cFv */ void daTag_Mk_c::setTagWpEvId() { - /* Nonmatching */ + if (dComIfGs_getSelectEquip(0) != dItem_MASTER_SWORD_3_e) { + mEventIdx = dComIfGp_evmng_getEventIdx("tagwp2"); + } else if (dComIfGs_getTriforceNum() < 8) { + mEventIdx = dComIfGp_evmng_getEventIdx("tagwp"); + } else { + mEventIdx = dComIfGp_evmng_getEventIdx("tagwp3"); + } } /* 00000470-000004C0 .text demoInitSetgoal__10daTag_Mk_cFv */ void daTag_Mk_c::demoInitSetgoal() { - /* Nonmatching */ + fopAc_ac_c* pfVar1 = fopAcM_SearchByID(m2B4); + + if (pfVar1 != NULL) { + dComIfGp_evmng_setGoal(&pfVar1->current.pos); + } } /* 000004C0-00000500 .text demoInitDelete__10daTag_Mk_cFv */ void daTag_Mk_c::demoInitDelete() { - /* Nonmatching */ + fopAc_ac_c* pfVar1 = fopAcM_SearchByID(m2B4); + + if (pfVar1 != NULL) { + fopAcM_delete(pfVar1); + } } /* 00000500-00000604 .text demoInitMake__10daTag_Mk_cFv */ void daTag_Mk_c::demoInitMake() { - /* Nonmatching */ + cXyz local_20(-3310.0f, 1463.0f, -198484.0f); + csXyz local_28; + local_28.set(0, 0x4000, 0); + + fopAc_ac_c* a_item = fopAcM_createItemForKP2(&local_20, dItem_JOY_PENDANT_e, fopAcM_GetRoomNo(this), &local_28, NULL, 10.0f, 10.0f, -2.1f, 0); + JUT_ASSERT(360, a_item); + + m2B4 = fpcM_GetID(a_item); + dComIfGp_event_setTalkPartner(a_item); } /* 00000604-0000063C .text demoProcMake__10daTag_Mk_cFv */ -void daTag_Mk_c::demoProcMake() { - /* Nonmatching */ +BOOL daTag_Mk_c::demoProcMake() { + dComIfGp_evmng_cutEnd(mStaffIdx); + return FALSE; } /* 0000063C-000006A4 .text demoInitWait__10daTag_Mk_cFv */ void daTag_Mk_c::demoInitWait() { - /* Nonmatching */ + int* timer = dComIfGp_evmng_getMyIntegerP(mStaffIdx, "Timer"); + if (timer != NULL) { + mCutEndTimer = *timer; + } else { + mCutEndTimer = 0; + } } /* 000006A4-000006F4 .text demoProcWait__10daTag_Mk_cFv */ -void daTag_Mk_c::demoProcWait() { - /* Nonmatching */ +BOOL daTag_Mk_c::demoProcWait() { + if (mCutEndTimer > 0) { + mCutEndTimer--; + } else { + dComIfGp_evmng_cutEnd(mStaffIdx); + } + return FALSE; } /* 000006F4-000006F8 .text demoInitCom__10daTag_Mk_cFv */ void daTag_Mk_c::demoInitCom() { - /* Nonmatching */ } /* 000006F8-000006FC .text demoProcCom__10daTag_Mk_cFv */ -void daTag_Mk_c::demoProcCom() { - /* Nonmatching */ +BOOL daTag_Mk_c::demoProcCom() { } /* 000006FC-00000744 .text getNowEventAction__10daTag_Mk_cFv */ -void daTag_Mk_c::getNowEventAction() { - /* Nonmatching */ +s32 daTag_Mk_c::getNowEventAction() { + static char* action_table[] = {"WAIT", "MAKE", "DELETE", "SETGOAL"}; + + return dComIfGp_evmng_getMyActIdx(mStaffIdx, action_table, ARRAY_SIZE(action_table), FALSE, 1); } -/* 00000744-0000083C .text demoProc__10daTag_Mk_cFv */ +/* 00000744-0000083C .text demoACT__10daTag_Mk_cFv */ void daTag_Mk_c::demoProc() { - /* Nonmatching */ + s32 iVar1 = getNowEventAction(); + + if (dComIfGp_evmng_getIsAddvance(mStaffIdx)) { + demoInitCom(); + + switch (iVar1) { + case 0: + demoInitWait(); + break; + + case 1: + demoInitMake(); + break; + + case 2: + demoInitDelete(); + break; + + case 3: + demoInitSetgoal(); + break; + } + } + + switch (iVar1) { + case 0: + demoProcWait(); + break; + + case 1: + demoProcMake(); + break; + + default: + dComIfGp_evmng_cutEnd(mStaffIdx); + break; + } + demoProcCom(); } /* 0000083C-000008AC .text actionEvent__10daTag_Mk_cFv */ -void daTag_Mk_c::actionEvent() { - /* Nonmatching */ +BOOL daTag_Mk_c::actionEvent() { + if (dComIfGp_evmng_endCheck(mEventIdx)) { + setAction(ACT_WAIT_e); + dComIfGp_event_reset(); + } else { + demoProc(); + } + return TRUE; } /* 000008AC-00000948 .text actionReady__10daTag_Mk_cFv */ -void daTag_Mk_c::actionReady() { - /* Nonmatching */ +BOOL daTag_Mk_c::actionReady() { + if (eventInfo.checkCommandDemoAccrpt()) { + setAction(ACT_EVENT_e); + dComIfGs_onEventBit(dSv_event_flag_c::UNK_1E02); + mStaffIdx = dComIfGp_evmng_getMyStaffId(m2B8); + demoProc(); + } else { + fopAcM_orderOtherEventId(this, mEventIdx); + } + return TRUE; } /* 00000948-000009EC .text actionHunt__10daTag_Mk_cFv */ -void daTag_Mk_c::actionHunt() { - /* Nonmatching */ +BOOL daTag_Mk_c::actionHunt() { + daPy_py_c* player = static_cast(dComIfGp_getLinkPlayer()); + + if (player->checkFrontRollCrash() && fopAcM_searchActorDistanceXZ(this, player) < 150.0f) { + mEventIdx = dComIfGp_evmng_getEventIdx("MK_PENDANT"); + fopAcM_orderOtherEventId(this, mEventIdx); + setAction(ACT_READY_e); + } + return TRUE; } /* 000009EC-00000A48 .text actionArrival__10daTag_Mk_cFv */ -void daTag_Mk_c::actionArrival() { - /* Nonmatching */ +BOOL daTag_Mk_c::actionArrival() { + if (dComIfGs_isEventBit(dSv_event_flag_c::UNK_1E04) && !dKy_daynight_check()) { + setAction(ACT_HUNT_e); + } + return TRUE; } /* 00000A48-00000A50 .text actionWait__10daTag_Mk_cFv */ -void daTag_Mk_c::actionWait() { - /* Nonmatching */ +BOOL daTag_Mk_c::actionWait() { + return TRUE; } /* 00000A50-00000AF4 .text actionVillaTalk__10daTag_Mk_cFv */ -void daTag_Mk_c::actionVillaTalk() { - /* Nonmatching */ +BOOL daTag_Mk_c::actionVillaTalk() { + if (!dComIfGp_evmng_ChkPresentEnd()) { + return FALSE; + } + + if (talk() == 0x12) { + if (dComIfGs_isEventBit(dSv_event_flag_c::UNK_2D80)) { + setAction(ACT_WAIT_e); + } else { + setAction(ACT_VILLA_e); + } + dComIfGp_event_reset(); + } + return TRUE; } /* 00000AF4-00000B74 .text actionVilla__10daTag_Mk_cFv */ -void daTag_Mk_c::actionVilla() { - /* Nonmatching */ +BOOL daTag_Mk_c::actionVilla() { + if (eventInfo.checkCommandTalk()) { + setAction(ACT_VILLATALK_e); + talkInit(); + } else if (checkArea(6400.0f, 12100.0f, 62500.0f)) { + eventInfo.onCondition(dEvtCnd_CANTALK_e); + eventInfo.onCondition(dEvtCnd_CANTALKITEM_e); + } + return TRUE; } /* 00000B74-00000BD8 .text actionTagWp2__10daTag_Mk_cFv */ -void daTag_Mk_c::actionTagWp2() { - /* Nonmatching */ +BOOL daTag_Mk_c::actionTagWp2() { + if (dComIfGp_evmng_endCheck(mEventIdx)) { + setAction(ACT_WAIT_e); + dComIfGp_event_reset(); + } + return TRUE; } /* 00000BD8-00000C5C .text actionTagWp__10daTag_Mk_cFv */ -void daTag_Mk_c::actionTagWp() { - /* Nonmatching */ +BOOL daTag_Mk_c::actionTagWp() { + daPy_py_c* player = static_cast(dComIfGp_getLinkPlayer()); + + if (eventInfo.checkCommandDemoAccrpt()) { + setAction(ACT_TAGWP2_e); + } else if (fopAcM_searchActorDistanceXZ(this, player) < 5000.0) { + fopAcM_orderOtherEventId(this, mEventIdx); + } + return TRUE; } /* 00000C5C-00000E0C .text actionDaichi__10daTag_Mk_cFv */ -void daTag_Mk_c::actionDaichi() { - /* Nonmatching */ +BOOL daTag_Mk_c::actionDaichi() { + switch (m296) { + case 0: + case 10: + if (dComIfGs_isTmpBit(dSv_event_tmp_flag_c::UNK_0440)) { + m296++; + mDoAud_bgmAllMute(30); + } + break; + + case 1: + if (dComIfGs_isSwitch(getSwbit(), fopAcM_GetRoomNo(this))) { + m296++; + } + break; + + case 2: + case 11: + if (mCutEndTimer > 0) { + mCutEndTimer--; + } else { + m296++; + if (dComIfGs_isTmpBit(dSv_event_tmp_flag_c::UNK_0440)) { + mDoAud_subBgmStart(JA_BGM_MBOSS); + dComIfGs_onTmpBit(dSv_event_tmp_flag_c::UNK_0420); + } + } + break; + + case 3: + case 12: + if (dComIfGs_isSwitch(getSwbit2(), fopAcM_GetRoomNo(this))) { + m296++; + if (dComIfGs_isTmpBit(dSv_event_tmp_flag_c::UNK_0420)) { + mDoAud_subBgmStop(); + dComIfGs_onTmpBit(dSv_event_tmp_flag_c::UNK_0410); + } + } + break; + } + return TRUE; } /* 00000E0C-00000E9C .text execute__10daTag_Mk_cFv */ BOOL daTag_Mk_c::execute() { - /* Nonmatching */ + switch (mActionTypes) { + case ACT_ARRIVAL_e: + actionArrival(); + break; + + case ACT_HUNT_e: + actionHunt(); + break; + + case ACT_READY_e: + actionReady(); + break; + + case ACT_EVENT_e: + actionEvent(); + break; + + case ACT_VILLA_e: + actionVilla(); + break; + + case ACT_VILLATALK_e: + actionVillaTalk(); + break; + + case ACT_TAGWP_e: + actionTagWp(); + break; + + case ACT_TAGWP2_e: + actionTagWp2(); + break; + + case ACT_DAICHI_e: + actionDaichi(); + break; + + default: + actionWait(); + break; + } + return TRUE; } /* 00000E9C-00000EA4 .text daTag_Mk_Draw__FP10daTag_Mk_c */ @@ -175,8 +462,9 @@ static BOOL daTag_Mk_IsDelete(daTag_Mk_c*) { } /* 00000ED0-00000F00 .text daTag_Mk_Delete__FP10daTag_Mk_c */ -static BOOL daTag_Mk_Delete(daTag_Mk_c*) { - /* Nonmatching */ +static BOOL daTag_Mk_Delete(daTag_Mk_c* i_this) { + i_this->~daTag_Mk_c(); + return TRUE; } /* 00000F00-00000F20 .text daTag_Mk_Create__FP10fopAc_ac_c */ @@ -186,7 +474,68 @@ static cPhs_State daTag_Mk_Create(fopAc_ac_c* i_this) { /* 00000F20-000011E4 .text create__10daTag_Mk_cFv */ cPhs_State daTag_Mk_c::create() { - /* Nonmatching */ + fopAcM_ct(this, daTag_Mk_c); + + switch (getType()) { + case 3: + if (!dComIfGs_isEventBit(dSv_event_flag_c::UNK_2D80)) { + setAction(ACT_VILLA_e); + + attention_info.flags = fopAc_Attn_TALKFLAG_NOTALK_e | fopAc_Attn_ACTION_SPEAK_e; + attention_info.distances[fopAc_Attn_TYPE_SPEAK_e] = 0xab; + + m29C.set(cM_ssin(current.angle.y), 0.0f, cM_scos(current.angle.y)); + attention_info.position.y += 210.0f; + eyePos.y += 210.0f; + } else { + setAction(ACT_WAIT_e); + } + break; + + case 2: + if (!dComIfGs_isEventBit(dSv_event_flag_c::UNK_3380)) { + setAction(ACT_WAIT_e); + } else if (dComIfGs_isEventBit(dSv_event_flag_c::UNK_2D08)) { + setAction(ACT_WAIT_e); + } else if (!dComIfGs_isEventBit(dSv_event_flag_c::UNK_2D02)) { + setAction(ACT_WAIT_e); + } else { + setAction(ACT_TAGWP_e); + setTagWpEvId(); + } + break; + + case 4: + setAction(ACT_DAICHI_e); + dComIfGs_offTmpBit(dSv_event_tmp_flag_c::UNK_0420); + dComIfGs_offTmpBit(dSv_event_tmp_flag_c::UNK_0410); + + if (dComIfGs_isSwitch(getSwbit2(), fopAcM_GetRoomNo(this))) { + m296 = 0x14; + } else if (dComIfGs_isSwitch(getSwbit(), fopAcM_GetRoomNo(this))) { + m296 = 10; + mCutEndTimer = 0x3c; + } else { + mCutEndTimer = 0xb4; + m296 = 0; + } + break; + + default: + if (!dComIfGs_isEventBit(dSv_event_flag_c::UNK_1E02)) { + setAction(ACT_ARRIVAL_e); + } else { + setAction(ACT_WAIT_e); + } + break; + } + + shape_angle.z = 0; + shape_angle.x = 0; + current.angle.z = 0; + current.angle.x = 0; + m2B8 = "TagMk"; + return cPhs_COMPLEATE_e; } static actor_method_class l_daTag_Mk_Method = {