From 3556c0c0d3d3db55d6a395196bcda9da05da1caa Mon Sep 17 00:00:00 2001 From: Franklyn Tackitt Date: Wed, 21 Feb 2024 17:06:10 -0700 Subject: [PATCH 1/4] (d_a_obj_vfan) Doesn't yet match Symbols are all in the right order with `nosyminline`. There's a whole lot of vtables (64B worth) in the .data too --- configure.py | 2 +- include/d/actor/d_a_obj_vfan.h | 66 ++++++---- src/d/actor/d_a_obj_vfan.cpp | 232 +++++++++++++++++++++++++++++++-- 3 files changed, 258 insertions(+), 42 deletions(-) diff --git a/configure.py b/configure.py index 1b6110f8f..90029cf06 100644 --- a/configure.py +++ b/configure.py @@ -1579,7 +1579,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_obj_tribox"), ActorRel(NonMatching, "d_a_obj_try"), ActorRel(NonMatching, "d_a_obj_usovmc"), - ActorRel(NonMatching, "d_a_obj_vfan"), + ActorRel(Matching, "d_a_obj_vfan", extra_cflags=[ '-pragma "nosyminline on"']), ActorRel(NonMatching, "d_a_obj_vgnfd"), ActorRel(NonMatching, "d_a_obj_vmc"), ActorRel(NonMatching, "d_a_obj_vmsdz"), diff --git a/include/d/actor/d_a_obj_vfan.h b/include/d/actor/d_a_obj_vfan.h index fc94c43b4..1dd57b104 100644 --- a/include/d/actor/d_a_obj_vfan.h +++ b/include/d/actor/d_a_obj_vfan.h @@ -1,37 +1,49 @@ #ifndef D_A_OBJ_VFAN_H #define D_A_OBJ_VFAN_H -#include "f_op/f_op_actor.h" -#include "d/d_cc_d.h" -#include "d/d_bg_s_movebg_actor.h" #include "SSystem/SComponent/c_phase.h" +#include "d/d_a_obj.h" +#include "d/d_bg_s_movebg_actor.h" +#include "d/d_cc_d.h" +#include "f_op/f_op_actor.h" + +#include "SSystem/SComponent/c_phase.h" +#include "d/d_bg_w.h" namespace daObjVfan { - class Act_c : public dBgS_MoveBgActor { - public: - void prm_get_swSave() const {} - - int CreateHeap(); - int Create(); - void Mthd_Create(); - BOOL Delete(); - void Mthd_Delete(); - void set_mtx(); - void init_mtx(); - void ParticleSet(); - int Execute(float(**)[3][4]); - BOOL Draw(); - - public: - /* 0x2C8 */ request_of_phase_process_class mPhs; - /* 0x2D0 */ J3DModel* mpModel; - /* 0x2D4 */ dCcD_Stts mStts; - /* 0x310 */ dCcD_Cyl mCyl; - /* 0x440 */ int mSwitchNo; - /* 0x444 */ u8 m444; - /* 0x445 */ u8 m445[0x448 - 0x445]; - /* 0x448 */ int m448; +class Act_c : public dBgS_MoveBgActor { +public: + enum Prm_e { + PRM_W = 8, + PRM_S = 0, }; + + static Mtx M_tmp_mtx; + static const char M_arcname[]; + + s32 prm_get_swSave() const { return daObj::PrmAbstract(this, PRM_W, PRM_S); } + + int CreateHeap(); + int Create(); + cPhs__Step Mthd_Create(); + BOOL Delete(); + BOOL Mthd_Delete(); + void set_mtx(); + void init_mtx(); + void ParticleSet(); + int Execute(Mtx**); + BOOL Draw(); + +public: + /* 0x2C8 */ request_of_phase_process_class mPhs; + /* 0x2D0 */ J3DModel* mpModel; + /* 0x2D4 */ dCcD_Stts mStts; + /* 0x310 */ dCcD_Cyl mCyl; + /* 0x440 */ int mSwitchNo; + /* 0x444 */ bool mIsAlive; + /* 0x448 */ int mBreakTimer; }; +}; // namespace daObjVfan + #endif /* D_A_OBJ_VFAN_H */ diff --git a/src/d/actor/d_a_obj_vfan.cpp b/src/d/actor/d_a_obj_vfan.cpp index 3376e7fac..6d8775126 100644 --- a/src/d/actor/d_a_obj_vfan.cpp +++ b/src/d/actor/d_a_obj_vfan.cpp @@ -4,54 +4,258 @@ // #include "d/actor/d_a_obj_vfan.h" -#include "dolphin/types.h" +#include "d/d_com_inf_game.h" +#include "d/d_procname.h" +#include "m_Do/m_Do_mtx.h" + +namespace daObjVfan { +s16 m_evid; +} + +Mtx daObjVfan::Act_c::M_tmp_mtx; +const char daObjVfan::Act_c::M_arcname[5] = "Vfan"; + +static dCcD_SrcCyl cyl_check_src = {{ + /* Flags */ 0, + /* SrcObjAt Type */ 0, + /* SrcObjAt Atp */ 0, + /* SrcObjAt SPrm */ 0, + /* SrcObjTg Type */ 1 << 29, + /* SrcObjTg SPrm */ 9, + /* SrcObjCo SPrm */ 0, + /* SrcGObjAt Se */ 0, + /* SrcGObjAt HitMark */ 0, + /* SrcGObjAt Spl */ 0, + /* SrcGObjAt Mtrl */ 0, + /* SrcGObjAt SPrm */ 0, + /* SrcGObjTg Se */ 0, + /* SrcGObjTg HitMark */ 0, + /* SrcGObjTg Spl */ 0, + /* SrcGObjTg Mtrl */ 0, + /* SrcGObjTg SPrm */ 0, + /* SrcGObjCo SPrm */ 0, + }, + { + /* Center */ + 0.0f, + 0.0f, + 0.0f, + /* Radius */ 100.0f, + /* Height */ 300.0f, + }}; /* 00000078-00000134 .text CreateHeap__Q29daObjVfan5Act_cFv */ int daObjVfan::Act_c::CreateHeap() { - /* Nonmatching */ + J3DModelData* model_data = static_cast(dComIfG_getObjectRes(M_arcname, 4)); + + JUT_ASSERT(0x8c, model_data != 0); + + mpModel = mDoExt_J3DModel__create(model_data, 0, 0x11020203); + + if (mpModel == NULL) { + return false; + } + return true; } /* 00000134-00000214 .text Create__Q29daObjVfan5Act_cFv */ int daObjVfan::Act_c::Create() { - /* Nonmatching */ + Mtx* mtx = &mpModel->mBaseTransformMtx; + mCullMtx = mpModel->mBaseTransformMtx; + + init_mtx(); + + fopAcM_setCullSizeBox(this, -4000.0, -500.0, -4000.0, 4000.0, 500.0, 4000.0); + + mStts.Init(0xff, 0xff, this); + mCyl.Set(cyl_check_src); + mCyl.SetC(current.pos); + mCyl.SetStts(&mStts); + + mIsAlive = true; + mBreakTimer = 0; + mSwitchNo = 0; + + m_evid = dComIfGp_evmng_getEventIdx("Vfan", 0xff); + + return TRUE; } /* 00000214-000003D0 .text Mthd_Create__Q29daObjVfan5Act_cFv */ -void daObjVfan::Act_c::Mthd_Create() { - /* Nonmatching */ +cPhs__Step daObjVfan::Act_c::Mthd_Create() { + fopAcM_SetupActor(this, daObjVfan::Act_c); + + cPhs__Step phase_state; + + if (fopAcM_isSwitch(this, prm_get_swSave())) { + return cPhs_UNK3_e; + } else { + phase_state = (cPhs__Step)dComIfG_resLoad(&mPhs, M_arcname); + if (phase_state == cPhs_COMPLEATE_e) { + phase_state = (cPhs__Step)MoveBGCreate(M_arcname, 7, NULL, 0xa60); + + JUT_ASSERT(0xc6, (phase_state == cPhs_COMPLEATE_e) || (phase_state == cPhs_ERROR_e)); + } + } + + return phase_state; } /* 00000588-00000590 .text Delete__Q29daObjVfan5Act_cFv */ BOOL daObjVfan::Act_c::Delete() { - /* Nonmatching */ + return TRUE; } /* 00000590-000005E8 .text Mthd_Delete__Q29daObjVfan5Act_cFv */ -void daObjVfan::Act_c::Mthd_Delete() { - /* Nonmatching */ +BOOL daObjVfan::Act_c::Mthd_Delete() { + int res = MoveBGDelete(); + if (mBase.mCreateResult != 3) { + dComIfG_resDelete(&mPhs, M_arcname); + } + return res; } /* 000005E8-00000680 .text set_mtx__Q29daObjVfan5Act_cFv */ void daObjVfan::Act_c::set_mtx() { - /* Nonmatching */ + shape_angle = current.angle; + + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::ZXYrotM(shape_angle); + + mpModel->setBaseTRMtx(mDoMtx_stack_c::get()); + MTXCopy(mDoMtx_stack_c::get(), M_tmp_mtx); } /* 00000680-000006BC .text init_mtx__Q29daObjVfan5Act_cFv */ void daObjVfan::Act_c::init_mtx() { - /* Nonmatching */ + mpModel->mBaseScale = mScale; + + set_mtx(); } /* 000006BC-000009B4 .text ParticleSet__Q29daObjVfan5Act_cFv */ void daObjVfan::Act_c::ParticleSet() { - /* Nonmatching */ + // was this manually unrolled? + dComIfGp_particle_set(0x83cd, ¤t.pos, ¤t.angle); + dComIfGp_particle_set(0x83ce, ¤t.pos, ¤t.angle); + dComIfGp_particle_set(0x83cf, ¤t.pos, ¤t.angle); + dComIfGp_particle_set(0x83d0, ¤t.pos, ¤t.angle); + dComIfGp_particle_set(0x83d1, ¤t.pos, ¤t.angle); + dComIfGp_particle_set(0x83d2, ¤t.pos, ¤t.angle); + dComIfGp_particle_set(0x83d3, ¤t.pos, ¤t.angle); + dComIfGp_particle_set(0x83d4, ¤t.pos, ¤t.angle); + dComIfGp_particle_set(0x83d5, ¤t.pos, ¤t.angle); + dComIfGp_particle_set(0x83d6, ¤t.pos, ¤t.angle); + dComIfGp_particle_set(0x83d7, ¤t.pos, ¤t.angle); } /* 000009B4-00000C74 .text Execute__Q29daObjVfan5Act_cFPPA3_A4_f */ -int daObjVfan::Act_c::Execute(float(**)[3][4]) { - /* Nonmatching */ +int daObjVfan::Act_c::Execute(Mtx** mtx) { + switch (mSwitchNo) { + case 0: + g_dComIfG_gameInfo.play.mCcS.Set(static_cast(&mCyl)); + if (mCyl.ChkTgHit()) { + if (mpBgW != NULL) { + if (mpBgW->ChkUsed()) { + dComIfG_Bgsp()->Release(mpBgW); + } + } + fopAcM_orderOtherEventId(this, m_evid); + mSwitchNo = 1; + } + + break; + + case 1: + if (mEvtInfo.checkCommandDemoAccrpt()) { + mDoAud_seStart(JA_SE_READ_RIDDLE_1); + fopAcM_seStartCurrent(this, JA_SE_OBJ_GN_SW_DR_LIGHT, 0); + + ParticleSet(); + mBreakTimer = 0; + mSwitchNo = 2; + } else { + fopAcM_orderOtherEventId(this, m_evid); + } + + break; + + case 2: + if (mBreakTimer == 0x96) { + mIsAlive = false; + fopAcM_seStartCurrent(this, JA_SE_OBJ_GN_SW_DR_BREAK, 0); + } + + mBreakTimer += 1; + + if (dComIfGp_evmng_endCheck(m_evid)) { + fopAcM_onSwitch(this, prm_get_swSave()); + dComIfGs_onEventBit(0x3a08); + dComIfGp_event_onEventFlag(8); + fopAcM_delete(this); + } + break; + } + + set_mtx(); + *mtx = &M_tmp_mtx; + return TRUE; } /* 00000C74-00000D20 .text Draw__Q29daObjVfan5Act_cFv */ BOOL daObjVfan::Act_c::Draw() { - /* Nonmatching */ + g_env_light.settingTevStruct(TEV_TYPE_BG0, ¤t.pos, &mTevStr); + g_env_light.setLightTevColorType(mpModel, &mTevStr); + + dComIfGd_setListBG(); + // This comparison is necessary to generate "cmplwi 0x1; bne" instead of "cmplwi 0x0; beq" + if (mIsAlive == true) { + mDoExt_modelUpdateDL(mpModel); + } + dComIfGd_setList(); + + return TRUE; } + +namespace daObjVfan { +namespace { +static int Mthd_Create(void* i_this) { + return static_cast(i_this)->Mthd_Create(); +} +static int Mthd_Delete(void* i_this) { + return static_cast(i_this)->Mthd_Delete(); +} +static int Mthd_Execute(void* i_this) { + return static_cast(i_this)->MoveBGExecute(); +} +static int Mthd_Draw(void* i_this) { + return static_cast(i_this)->Draw(); +} +static int Mthd_IsDelete(void* i_this) { + return static_cast(i_this)->IsDelete(); +} + +static actor_method_class Mthd_Vfan = { + (process_method_func)Mthd_Create, (process_method_func)Mthd_Delete, + (process_method_func)Mthd_Execute, (process_method_func)Mthd_Draw, + (process_method_func)Mthd_IsDelete, +}; +}; // namespace +}; // namespace daObjVfan + +actor_process_profile_definition g_profile_Obj_Vfan = { + /* LayerID */ fpcLy_CURRENT_e, + /* ListID */ 3, + /* ListPrio */ fpcPi_CURRENT_e, + /* ProcName */ PROC_Obj_Vfan, + /* Proc SubMtd */ &g_fpcLf_Method.mBase, + /* Size */ sizeof(daObjVfan::Act_c), + /* SizeOther */ 0, + /* Parameters */ 0, + /* Leaf SubMtd */ &g_fopAc_Method.base, + /* Priority */ 0x0020, + /* Actor SubMtd */ &daObjVfan::Mthd_Vfan, + /* Status */ fopAcStts_UNK40000_e | fopAcStts_NOCULLEXEC_e | fopAcStts_CULL_e, + /* Group */ fopAc_ACTOR_e, + /* CullType */ fopAc_CULLBOX_CUSTOM_e, +}; From f6a35d66d230ce9a50a7e3ee48e497d5a2831872 Mon Sep 17 00:00:00 2001 From: Franklyn Tackitt Date: Wed, 21 Feb 2024 18:35:16 -0700 Subject: [PATCH 2/4] ... Fix the actor_method_class order --- src/d/actor/d_a_obj_vfan.cpp | 60 ++++++++++++++++++------------------ 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/src/d/actor/d_a_obj_vfan.cpp b/src/d/actor/d_a_obj_vfan.cpp index 6d8775126..68c8306fa 100644 --- a/src/d/actor/d_a_obj_vfan.cpp +++ b/src/d/actor/d_a_obj_vfan.cpp @@ -16,33 +16,33 @@ Mtx daObjVfan::Act_c::M_tmp_mtx; const char daObjVfan::Act_c::M_arcname[5] = "Vfan"; static dCcD_SrcCyl cyl_check_src = {{ - /* Flags */ 0, - /* SrcObjAt Type */ 0, - /* SrcObjAt Atp */ 0, - /* SrcObjAt SPrm */ 0, - /* SrcObjTg Type */ 1 << 29, - /* SrcObjTg SPrm */ 9, - /* SrcObjCo SPrm */ 0, - /* SrcGObjAt Se */ 0, - /* SrcGObjAt HitMark */ 0, - /* SrcGObjAt Spl */ 0, - /* SrcGObjAt Mtrl */ 0, - /* SrcGObjAt SPrm */ 0, - /* SrcGObjTg Se */ 0, - /* SrcGObjTg HitMark */ 0, - /* SrcGObjTg Spl */ 0, - /* SrcGObjTg Mtrl */ 0, - /* SrcGObjTg SPrm */ 0, - /* SrcGObjCo SPrm */ 0, - }, - { - /* Center */ - 0.0f, - 0.0f, - 0.0f, - /* Radius */ 100.0f, - /* Height */ 300.0f, - }}; + /* Flags */ 0, + /* SrcObjAt Type */ 0, + /* SrcObjAt Atp */ 0, + /* SrcObjAt SPrm */ 0, + /* SrcObjTg Type */ 1 << 29, + /* SrcObjTg SPrm */ 9, + /* SrcObjCo SPrm */ 0, + /* SrcGObjAt Se */ 0, + /* SrcGObjAt HitMark */ 0, + /* SrcGObjAt Spl */ 0, + /* SrcGObjAt Mtrl */ 0, + /* SrcGObjAt SPrm */ 0, + /* SrcGObjTg Se */ 0, + /* SrcGObjTg HitMark */ 0, + /* SrcGObjTg Spl */ 0, + /* SrcGObjTg Mtrl */ 0, + /* SrcGObjTg SPrm */ 0, + /* SrcGObjCo SPrm */ 0, + }, + { + /* Center */ + 0.0f, + 0.0f, + 0.0f, + /* Radius */ 100.0f, + /* Height */ 300.0f, + }}; /* 00000078-00000134 .text CreateHeap__Q29daObjVfan5Act_cFv */ int daObjVfan::Act_c::CreateHeap() { @@ -236,9 +236,9 @@ static int Mthd_IsDelete(void* i_this) { } static actor_method_class Mthd_Vfan = { - (process_method_func)Mthd_Create, (process_method_func)Mthd_Delete, - (process_method_func)Mthd_Execute, (process_method_func)Mthd_Draw, - (process_method_func)Mthd_IsDelete, + (process_method_func)Mthd_Create, (process_method_func)Mthd_Delete, + (process_method_func)Mthd_Execute, (process_method_func)Mthd_IsDelete, + (process_method_func)Mthd_Draw, }; }; // namespace }; // namespace daObjVfan From 152c393ecd622842cf8ff006c71b82e118f5ea42 Mon Sep 17 00:00:00 2001 From: Franklyn Tackitt Date: Thu, 22 Feb 2024 08:25:45 -0700 Subject: [PATCH 3/4] Cleanup from PR --- src/d/actor/d_a_obj_vfan.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/d/actor/d_a_obj_vfan.cpp b/src/d/actor/d_a_obj_vfan.cpp index 68c8306fa..a873e3c29 100644 --- a/src/d/actor/d_a_obj_vfan.cpp +++ b/src/d/actor/d_a_obj_vfan.cpp @@ -60,12 +60,11 @@ int daObjVfan::Act_c::CreateHeap() { /* 00000134-00000214 .text Create__Q29daObjVfan5Act_cFv */ int daObjVfan::Act_c::Create() { - Mtx* mtx = &mpModel->mBaseTransformMtx; - mCullMtx = mpModel->mBaseTransformMtx; + fopAcM_SetMtx(this, mpModel->getBaseTRMtx()); init_mtx(); - fopAcM_setCullSizeBox(this, -4000.0, -500.0, -4000.0, 4000.0, 500.0, 4000.0); + fopAcM_setCullSizeBox(this, -4000.0f, -500.0f, -4000.0f, 4000.0f, 500.0f, 4000.0f); mStts.Init(0xff, 0xff, this); mCyl.Set(cyl_check_src); @@ -109,7 +108,7 @@ BOOL daObjVfan::Act_c::Delete() { /* 00000590-000005E8 .text Mthd_Delete__Q29daObjVfan5Act_cFv */ BOOL daObjVfan::Act_c::Mthd_Delete() { int res = MoveBGDelete(); - if (mBase.mCreateResult != 3) { + if (fpcM_CreateResult(this) != cPhs_UNK3_e) { dComIfG_resDelete(&mPhs, M_arcname); } return res; @@ -128,7 +127,7 @@ void daObjVfan::Act_c::set_mtx() { /* 00000680-000006BC .text init_mtx__Q29daObjVfan5Act_cFv */ void daObjVfan::Act_c::init_mtx() { - mpModel->mBaseScale = mScale; + mpModel->setBaseScale(mScale); set_mtx(); } @@ -153,7 +152,7 @@ void daObjVfan::Act_c::ParticleSet() { int daObjVfan::Act_c::Execute(Mtx** mtx) { switch (mSwitchNo) { case 0: - g_dComIfG_gameInfo.play.mCcS.Set(static_cast(&mCyl)); + dComIfG_Ccsp()->Set(&mCyl); if (mCyl.ChkTgHit()) { if (mpBgW != NULL) { if (mpBgW->ChkUsed()) { @@ -191,7 +190,7 @@ int daObjVfan::Act_c::Execute(Mtx** mtx) { if (dComIfGp_evmng_endCheck(m_evid)) { fopAcM_onSwitch(this, prm_get_swSave()); dComIfGs_onEventBit(0x3a08); - dComIfGp_event_onEventFlag(8); + dComIfGp_event_reset(); fopAcM_delete(this); } break; From 9b6f6484c4e876465df1a92615ad45c59abe67b7 Mon Sep 17 00:00:00 2001 From: Franklyn Tackitt Date: Mon, 26 Feb 2024 06:39:38 -0700 Subject: [PATCH 4/4] PR cleanup --- include/d/actor/d_a_obj_vfan.h | 4 ++-- src/d/actor/d_a_obj_vfan.cpp | 15 +++++++-------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/include/d/actor/d_a_obj_vfan.h b/include/d/actor/d_a_obj_vfan.h index 1dd57b104..4dc060bd2 100644 --- a/include/d/actor/d_a_obj_vfan.h +++ b/include/d/actor/d_a_obj_vfan.h @@ -25,7 +25,7 @@ public: int CreateHeap(); int Create(); - cPhs__Step Mthd_Create(); + s32 Mthd_Create(); BOOL Delete(); BOOL Mthd_Delete(); void set_mtx(); @@ -39,7 +39,7 @@ public: /* 0x2D0 */ J3DModel* mpModel; /* 0x2D4 */ dCcD_Stts mStts; /* 0x310 */ dCcD_Cyl mCyl; - /* 0x440 */ int mSwitchNo; + /* 0x440 */ int mState; /* 0x444 */ bool mIsAlive; /* 0x448 */ int mBreakTimer; }; diff --git a/src/d/actor/d_a_obj_vfan.cpp b/src/d/actor/d_a_obj_vfan.cpp index a873e3c29..3268c8db6 100644 --- a/src/d/actor/d_a_obj_vfan.cpp +++ b/src/d/actor/d_a_obj_vfan.cpp @@ -20,7 +20,7 @@ static dCcD_SrcCyl cyl_check_src = {{ /* SrcObjAt Type */ 0, /* SrcObjAt Atp */ 0, /* SrcObjAt SPrm */ 0, - /* SrcObjTg Type */ 1 << 29, + /* SrcObjTg Type */ AT_TYPE_PGANON_SWORD, /* SrcObjTg SPrm */ 9, /* SrcObjCo SPrm */ 0, /* SrcGObjAt Se */ 0, @@ -73,7 +73,7 @@ int daObjVfan::Act_c::Create() { mIsAlive = true; mBreakTimer = 0; - mSwitchNo = 0; + mState = 0; m_evid = dComIfGp_evmng_getEventIdx("Vfan", 0xff); @@ -81,7 +81,7 @@ int daObjVfan::Act_c::Create() { } /* 00000214-000003D0 .text Mthd_Create__Q29daObjVfan5Act_cFv */ -cPhs__Step daObjVfan::Act_c::Mthd_Create() { +s32 daObjVfan::Act_c::Mthd_Create() { fopAcM_SetupActor(this, daObjVfan::Act_c); cPhs__Step phase_state; @@ -134,7 +134,6 @@ void daObjVfan::Act_c::init_mtx() { /* 000006BC-000009B4 .text ParticleSet__Q29daObjVfan5Act_cFv */ void daObjVfan::Act_c::ParticleSet() { - // was this manually unrolled? dComIfGp_particle_set(0x83cd, ¤t.pos, ¤t.angle); dComIfGp_particle_set(0x83ce, ¤t.pos, ¤t.angle); dComIfGp_particle_set(0x83cf, ¤t.pos, ¤t.angle); @@ -150,7 +149,7 @@ void daObjVfan::Act_c::ParticleSet() { /* 000009B4-00000C74 .text Execute__Q29daObjVfan5Act_cFPPA3_A4_f */ int daObjVfan::Act_c::Execute(Mtx** mtx) { - switch (mSwitchNo) { + switch (mState) { case 0: dComIfG_Ccsp()->Set(&mCyl); if (mCyl.ChkTgHit()) { @@ -160,7 +159,7 @@ int daObjVfan::Act_c::Execute(Mtx** mtx) { } } fopAcM_orderOtherEventId(this, m_evid); - mSwitchNo = 1; + mState = 1; } break; @@ -172,7 +171,7 @@ int daObjVfan::Act_c::Execute(Mtx** mtx) { ParticleSet(); mBreakTimer = 0; - mSwitchNo = 2; + mState = 2; } else { fopAcM_orderOtherEventId(this, m_evid); } @@ -185,7 +184,7 @@ int daObjVfan::Act_c::Execute(Mtx** mtx) { fopAcM_seStartCurrent(this, JA_SE_OBJ_GN_SW_DR_BREAK, 0); } - mBreakTimer += 1; + mBreakTimer++; if (dComIfGp_evmng_endCheck(m_evid)) { fopAcM_onSwitch(this, prm_get_swSave());