tag_allmato almost, swhit0 treesh swball done, misc cleanup (#2312)

* d_a_tag_allmato almost done

* d_a_swhit0 done

* some SSystem cleanup

* treesh done

* swball done, some other rel cleanup
This commit is contained in:
TakaRikka
2025-03-01 04:48:49 -08:00
committed by GitHub
parent 80edf3c8a8
commit f06311cd09
54 changed files with 2162 additions and 1767 deletions
+1
View File
@@ -40,6 +40,7 @@ namespace JUTAssertion {
void showAssert(u32 device, const char * file, int line, const char * assertion);
void setWarningMessage_f(u32 device, char * file, int line, const char * fmt, ...);
void setLogMessage_f(u32 device, char* file, int line, const char* fmt, ...);
void setConfirmMessage(u32 param_1, char* file, int line, bool param_4, const char* msg);
};
extern bool sAssertVisible;
+2 -2
View File
@@ -24,7 +24,7 @@ public:
public:
cBgS_Chk();
void SetExtChk(cBgS_Chk&);
bool ChkSameActorPid(unsigned int) const;
bool ChkSameActorPid(fpc_ProcID) const;
void SetActorPid(fpc_ProcID pid) { mActorPid = pid; }
fpc_ProcID GetActorPid() const { return mActorPid; }
@@ -34,7 +34,7 @@ public:
cBgS_GrpPassChk* GetGrpPassChk() const { return mGrpPassChk; }
void OffSameActorChk() { mSameActorChk = false; }
virtual ~cBgS_Chk(void);
virtual ~cBgS_Chk();
}; // Size: 0x14
#endif /* C_BG_S_CHK_H */
@@ -2,21 +2,22 @@
#define C_BG_S_POLY_INFO_H
#include "dolphin/types.h"
#include "f_pc/f_pc_manager.h"
class cBgS_PolyInfo {
private:
/* 0x00 */ u16 mPolyIndex;
/* 0x02 */ u16 mBgIndex;
/* 0x04 */ void* unk_0x04;
/* 0x08 */ unsigned int mActorId;
/* 0x08 */ fpc_ProcID mActorId;
public:
cBgS_PolyInfo();
bool ChkSetInfo() const;
void ClearPi();
void SetPolyInfo(const cBgS_PolyInfo&);
void SetActorInfo(int, void*, unsigned int);
bool ChkSafe(const void*, unsigned int) const;
void SetActorInfo(int, void*, fpc_ProcID);
bool ChkSafe(const void*, fpc_ProcID) const;
void SetPolyIndex(int);
bool ChkBgIndex() const;
+4
View File
@@ -211,6 +211,8 @@ public:
/* 8026476C */ virtual bool GetNVec(cXyz const&, cXyz*) const;
/* 80264808 */ virtual void getShapeAccess(cCcD_ShapeAttr::Shape*) const;
const cM3dGSph* GetShapeP() const { return this; }
}; // Size = 0x34
STATIC_ASSERT(0x34 == sizeof(cCcD_SphAttr));
@@ -243,6 +245,8 @@ public:
/* 802643D0 */ virtual bool GetNVec(cXyz const&, cXyz*) const;
/* 802644B8 */ virtual void getShapeAccess(cCcD_ShapeAttr::Shape*) const;
const cM3dGCyl* GetShapeP() const { return this; }
}; // Size = 0x38
STATIC_ASSERT(0x38 == sizeof(cCcD_CylAttr));
+10
View File
@@ -101,4 +101,14 @@ inline f32 cM3d_LenSq(const Vec* a, const Vec* b) {
return VECSquareDistance(a, b);
}
inline bool cM3d_Cross_LinSph(const cM3dGLin* lin_p, const cM3dGSph* sph_p) {
Vec sp10;
return cM3d_Cross_LinSph(lin_p, sph_p, &sp10);
}
inline bool cM3d_Cross_CylSph(const cM3dGCyl* cyl, const cM3dGSph* sph, Vec* out) {
f32 sp10;
return cM3d_Cross_CylSph(cyl, sph, out, &sp10);
}
#endif
+2
View File
@@ -26,7 +26,9 @@ public:
void CalcCenter(cXyz*) const;
void PlusR(f32);
const cXyz* GetMaxP(void) const { return &mMax; }
const cXyz* GetMaxP(void) { return &mMax; }
const cXyz* GetMinP(void) const { return &mMin; }
const cXyz* GetMinP(void) { return &mMin; }
const f32 GetMaxX(void) const { return mMax.x; }
const f32 GetMaxY(void) const { return mMax.y; }
const f32 GetMaxZ(void) const { return mMax.z; }
+6
View File
@@ -13,6 +13,12 @@ public:
f32 GetCy() const { return mPosY; }
f32 GetR() const { return mRadius; }
void Set(f32 pos_x, f32 pos_y, f32 radius) {
mPosX = pos_x;
mPosY = pos_y;
mRadius = radius;
}
cM2dGCir() {}
virtual ~cM2dGCir() {}
};
+5 -1
View File
@@ -34,6 +34,10 @@ public:
bool cross(const cM3dGLin* lin, Vec* xyz, bool param_2, bool param_3) const {
return cM3d_Cross_LinTri(lin, this, xyz, param_2, param_3);
}
void setUp() {
SetupFrom3Vtx(&mA, &mB, &mC);
}
};
#endif
#endif
+13
View File
@@ -0,0 +1,13 @@
#ifndef C_M3D_G_VTX_H_
#define C_M3D_G_VTX_H_
#include "SSystem/SComponent/c_xyz.h"
class cM3dGVtx {
public:
~cM3dGVtx();
cXyz vtx;
};
#endif
+7 -25
View File
@@ -97,37 +97,16 @@ struct cXyz : Vec {
void setall(f32 f) { set(f, f, f); }
void setMin(const cXyz& other) {
if (x > other.x) {
x = other.x;
}
if (y > other.y) {
y = other.y;
}
if (z > other.z) {
z = other.z;
}
}
void setMax(const cXyz& other) {
if (x < other.x) {
x = other.x;
}
if (y < other.y) {
y = other.y;
}
if (z < other.z) {
z = other.z;
}
}
void zero() { set(0.0f, 0.0f, 0.0f); }
float getSquareMag() const { return VECSquareMag(this); }
f32 getSquareMag() const { return VECSquareMag(this); }
f32 getSquareDistance(const Vec& other) const { return VECSquareDistance(this, &other); }
static float getNearZeroValue() { return 8e-11f; }
static f32 getNearZeroValue() { return 8e-11f; }
bool isNearZeroSquare() const { return (this->getSquareMag() < getNearZeroValue()); }
bool isNearZeroSquare(const cXyz& other) const { return (PSVECSquareMag(&other) < getNearZeroValue()); }
f32 abs2() const { return this->getSquareMag(); }
f32 abs2(const Vec& other) const { return this->getSquareDistance(other); }
f32 abs2XZ() const {
@@ -139,13 +118,16 @@ struct cXyz : Vec {
cXyz tmp2(other.x, 0, other.z);
return tmp.abs2(tmp2);
}
f32 abs() const { return sqrtf(this->abs2()); }
f32 abs(const Vec& other) const { return sqrtf(this->abs2(other)); }
f32 absXZ() const { return sqrtf(this->abs2XZ()); }
f32 absXZ(const Vec& other) const { return sqrtf(this->abs2XZ(other)); }
f32 getMagXZ() const { return cXyz(this->x, 0, this->z).getSquareMag(); }
f32 getDotProduct(const Vec& other) const { return VECDotProduct(this, &other); }
f32 inprod(const Vec& other) const { return getDotProduct(other); }
f32 inprodXZ(const Vec& other) const { return x * other.x + z * other.z; }
};
+8
View File
@@ -60,6 +60,14 @@ public:
bool checkBombArrow() const { return mArrowType == true; }
u32 getHitAcID() { return mHitAcID; }
BOOL checkWait() { return fopAcM_GetParam(this) == 0; }
f32 getOutLengthRate() { return mOutLengthRate; }
f32 getArrowOutLength() { return 95.0f; }
f32 getArrowAtR() { return 5.0f; }
f32 getFlyMax() { return mFlyMax; }
cXyz getStartPos() { return mStartPos; }
void setShoot() { fopAcM_SetParam(this, 1); }
void setChargeShoot() { fopAcM_SetParam(this, 2); }
+25
View File
@@ -2,6 +2,7 @@
#define D_A_OBJ_BOUMATO_H
#include "d/d_bg_s_acch.h"
#include "d/actor/d_a_arrow.h"
#include "d/d_jnt_col.h"
#include "f_op/f_op_actor_mng.h"
#include "d/d_cc_d.h"
@@ -60,10 +61,34 @@ public:
/* 80BBC1F8 */ void setRoomNo();
/* 80BBC23C */ void setMtx();
int checkCrs(fopAc_ac_c* param_0, cXyz param_1, cXyz param_2, f32 param_3) {
daArrow_c* arrow_p = (daArrow_c*)param_0;
cXyz sp2C;
cXyz sp20;
JUT_ASSERT(164, 0 != arrow_p);
if (field_0xa38 != 0) {
return 0;
}
mCyl2.cM3dGCyl::Set(current.pos, mCyl.GetShapeP()->GetR() + 120.0f, mCyl.GetShapeP()->GetH() + 30.0f);
if ((param_1 - current.pos).abs() < param_3) {
mGLin.SetStartEnd(param_1, param_2);
if (cM3d_Cross_CylLin(&mCyl2, &mGLin, &sp2C, &sp20)) {
return 2;
}
}
return 0;
}
u8 getType() { return 0; }
u8 getOffSwBit() { return (fopAcM_GetParam(this) & 0xff00) >> 8; }
u8 getOnSwBit() { return (fopAcM_GetParam(this) & 0xff0000) >> 16; }
void setCutType(u8 cutType) { mCutType = cutType; }
fpc_ProcID getTgHitAcId() { return mTargetId; }
void clrTgHitAcId() { mTargetId = fpcM_ERROR_PROCESS_ID_e; }
};
STATIC_ASSERT(sizeof(daObj_BouMato_c) == 0xa40);
+62 -1
View File
@@ -2,6 +2,7 @@
#define D_A_OBJ_ITAMATO_H
#include "f_op/f_op_actor_mng.h"
#include "d/actor/d_a_arrow.h"
#include "d/d_cc_d.h"
/**
@@ -29,8 +30,68 @@ public:
/* 80C2A8EC */ void setRoomNo();
/* 80C2A930 */ void setMtx();
int checkCrs(fopAc_ac_c* param_0, cXyz param_1, cXyz param_2, f32 param_3) {
daArrow_c* arrow_p = (daArrow_c*)param_0;
cM3dGSph sp38;
cXyz sp2C;
cXyz sp20;
JUT_ASSERT(170, 0 != arrow_p);
if (field_0xa16 != 0 || health == 0) {
return 0;
}
sp38.Set(field_0x80c.GetShapeP()->GetC(), field_0x80c.GetShapeP()->GetR() + (arrow_p->getArrowAtR() * 2.0f));
if ((param_1 - current.pos).abs() < param_3) {
field_0x944.SetStartEnd(param_1, param_2);
if (cM3d_Cross_LinSph(&field_0x944, &sp38)) {
return 3;
}
}
return 0;
}
int getNo() {
u8 var_r31 = fopAcM_GetParam(this) & 0xFF;
int no;
if (var_r31 == 0xFF) {
no = -1;
} else {
no = var_r31;
}
return no;
}
BOOL checkBrk() {
if (field_0xa15 != 0) {
return 4;
}
return 0;
}
void onFake() { mFake = true; }
private:
/* 0x568 */ u8 field_0x568[0xa20 - 0x568];
/* 0x568 */ u8 field_0x568[0x57C - 0x568];
/* 0x57C */ dBgS_ObjAcch field_0x57c;
/* 0x754 */ dCcD_Stts field_0x754;
/* 0x790 */ dBgS_AcchCir field_0x790;
/* 0x7D0 */ cBgS_GndChk field_0x7d0;
/* 0x80C */ dCcD_Sph field_0x80c;
/* 0x944 */ cM3dGLin field_0x944;
/* 0x960 */ dBgS_LinChk field_0x960;
/* 0x9D0 */ csXyz field_0x9d0[3];
/* 0x9e2 */ u8 field_0x9e2[0xA15 - 0x9E2];
/* 0xA15 */ u8 field_0xa15;
/* 0xA15 */ u8 field_0xa16;
/* 0xA17 */ u8 field_0xa17[0xA19 - 0xA17];
/* 0xA19 */ u8 mFake;
/* 0xA1A */ u8 field_0xa1a[0xA20 - 0xA1A];
};
STATIC_ASSERT(sizeof(daObj_ItaMato_c) == 0xa20);
+24 -11
View File
@@ -2,6 +2,8 @@
#define D_A_OBJ_TREESH_H
#include "f_op/f_op_actor_mng.h"
#include "d/d_bg_s_movebg_actor.h"
#include "m_Do/m_Do_hostIO.h"
/**
* @ingroup actors-objects
@@ -11,27 +13,38 @@
* @details
*
*/
class daTreeSh_c : public fopAc_ac_c {
class daTreeSh_c : public dBgS_MoveBgActor {
public:
/* 80D1F258 */ void initBaseMtx();
/* 80D1F294 */ void setBaseMtx();
/* 80D1F2E8 */ void CreateHeap();
/* 80D1F358 */ void Create();
/* 80D1F414 */ void create1st();
/* 80D1F49C */ void Execute(f32 (**)[3][4]);
/* 80D1F648 */ void Draw();
/* 80D1F6EC */ void Delete();
/* 80D1F414 */ int create1st();
private:
/* 0x568 */ u8 field_0x568[0x5cc - 0x568];
/* 80D1F2E8 */ virtual int CreateHeap();
/* 80D1F358 */ virtual int Create();
/* 80D1F49C */ virtual int Execute(Mtx**);
/* 80D1F648 */ virtual int Draw();
/* 80D1F6EC */ virtual int Delete();
/* 0x5A0 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ J3DModel* mpModel;
/* 0x5AC */ csXyz mRot[2];
/* 0x5B8 */ f32 field_0x5b8[2];
/* 0x5C0 */ s16 field_0x5c0[2];
/* 0x5C4 */ s16 field_0x5c4[2];
/* 0x5C8 */ s16 mShakeTimer[2];
};
STATIC_ASSERT(sizeof(daTreeSh_c) == 0x5cc);
class daTreeSh_HIO_c {
class daTreeSh_HIO_c : public mDoHIO_entry_c {
public:
/* 80D1F0CC */ daTreeSh_HIO_c();
/* 80D1F81C */ ~daTreeSh_HIO_c();
/* 80D1F81C */ virtual ~daTreeSh_HIO_c() {}
/* 0x4 */ s16 shake_strength;
/* 0x6 */ s16 shake_speed;
/* 0x8 */ s16 field_0x8;
/* 0xA */ csXyz field_0xa;
};
+19 -7
View File
@@ -13,19 +13,31 @@
*/
class daSwBall_c : public fopAc_ac_c {
public:
/* 80D4E054 */ void checkArea_sub(fopAc_ac_c*);
/* 80D4E194 */ void checkArea();
/* 80D4E054 */ BOOL checkArea_sub(fopAc_ac_c*);
/* 80D4E194 */ BOOL checkArea();
/* 80D4E248 */ void search_ball();
/* 80D4E374 */ void Create();
/* 80D4E42C */ void create();
/* 80D4E494 */ void execute();
/* 80D4E374 */ int Create();
/* 80D4E42C */ int create();
/* 80D4E494 */ int execute();
/* 80D4E524 */ void actionRun();
/* 80D4E6C4 */ void actionStop();
/* 80D4E6C8 */ void PutCrrPos();
/* 80D4E90C */ bool _delete();
/* 80D4E90C */ int _delete();
u8 getArg0() { return fopAcM_GetParamBit(this, 0, 8); }
u8 getArg1() { return fopAcM_GetParamBit(this, 8, 8); }
u8 getSwbit() { return fopAcM_GetParamBit(this, 16, 8); }
u8 getType() { return fopAcM_GetParamBit(this, 24, 4); }
bool checkPullLBall() { return fopAcM_GetParamBit(this, 28, 2) == 0; }
private:
/* 0x568 */ u8 field_0x568[0x5a0 - 0x568];
/* 0x568 */ fpc_ProcID mBallIDs[8];
/* 0x588 */ u8 mTimer;
/* 0x589 */ u8 mAction;
/* 0x58A */ u8 mMode;
/* 0x58B */ u8 mIsBallCarry[8];
/* 0x593 */ u8 field_0x593[8];
/* 0x59C */ fpc_ProcID field_0x59c;
};
STATIC_ASSERT(sizeof(daSwBall_c) == 0x5a0);
+56 -21
View File
@@ -2,6 +2,7 @@
#define D_A_SWHIT0_H
#include "f_op/f_op_actor_mng.h"
#include "d/d_cc_d.h"
/**
* @ingroup actors-unsorted
@@ -11,35 +12,69 @@
* @details
*
*/
class daSwhit0_c : public fopAc_ac_c {
class daSwhit0_c : public fopAc_ac_c, public request_of_phase_process_class {
public:
/* 80485FF8 */ void getSwNo();
/* 80486004 */ void getSwNo2();
/* 80486010 */ void getEvNo();
/* 8048602C */ void getTimer();
/* 80486048 */ void getType();
enum Action_e {
ACTION_SW_WAIT_e,
ACTION_OFF_WAIT_e,
ACTION_TO_ON_READY_e,
ACTION_TO_ON_ORDER_e,
ACTION_TO_ON_DEMO_e,
ACTION_TO_ON_DEMO2_e,
ACTION_ON_WAIT_e,
ACTION_TOOL_TO_ON_READY_e,
ACTION_TOOL_TO_ON_ORDER_e,
ACTION_TOOL_TO_ON_DEMO_e,
ACTION_TOOL_TO_ON_DEMO2_e,
};
/* 80485FF8 */ int getSwNo();
/* 80486004 */ int getSwNo2();
/* 80486010 */ u8 getEvNo();
/* 8048602C */ u8 getTimer();
/* 80486048 */ u8 getType();
/* 80486064 */ void makeEventId();
/* 804860EC */ void CreateHeap();
/* 80486214 */ void CreateInit();
/* 804863B0 */ void create();
/* 8048668C */ void checkHit();
/* 804860EC */ int CreateHeap();
/* 80486214 */ int CreateInit();
/* 804863B0 */ int create();
/* 8048668C */ bool checkHit();
/* 80486704 */ void setCombackTimer();
/* 80486788 */ void endCombackTimer();
/* 80486788 */ int endCombackTimer();
/* 80486800 */ void onSwitch();
/* 80486858 */ void offSwitch();
/* 804868A8 */ void DemoProc();
/* 804868A8 */ int DemoProc();
/* 804869C4 */ void orderEvent();
/* 80486ABC */ void actionOffWait();
/* 80486BC4 */ void actionToOnReady();
/* 80486C28 */ void actionToOnOrder();
/* 80486CE4 */ void actionToOnDemo();
/* 80486D88 */ void actionToOnDemo2();
/* 80486EC4 */ void actionSwWait();
/* 80486FC0 */ void actionOnWait();
/* 80486ABC */ int actionOffWait();
/* 80486BC4 */ int actionToOnReady();
/* 80486C28 */ int actionToOnOrder();
/* 80486CE4 */ int actionToOnDemo();
/* 80486D88 */ int actionToOnDemo2();
/* 80486EC4 */ int actionSwWait();
/* 80486FC0 */ int actionOnWait();
/* 804870E0 */ void setDrawMtx();
private:
/* 0x568 */ u8 field_0x568[0x75c - 0x568];
inline int draw();
inline int execute();
void setActio(u8 i_action) { mAction = i_action; }
void onFlag(u16 i_flag) { mFlags |= i_flag; }
void offFlag(u16 i_flag) { mFlags &= ~i_flag; }
bool checkFlag(u16 i_flag) { return mFlags & i_flag; }
/* 0x570 */ J3DModel* mpModel;
/* 0x574 */ mDoExt_bckAnm mBck;
/* 0x590 */ mDoExt_brkAnm mBrk;
/* 0x5A8 */ Mtx field_0x5a8;
/* 0x5D8 */ dCcD_Stts mColliderStts;
/* 0x614 */ dCcD_Sph mSph;
/* 0x74C */ u8 mHitWaitTimer;
/* 0x74D */ u8 mAction;
/* 0x74E */ u8 mReadyTimer;
/* 0x750 */ s16 mCombackTimer;
/* 0x752 */ s16 mSwWaitTimer;
/* 0x754 */ u16 mFlags;
/* 0x756 */ s16 mEventId;
/* 0x758 */ int mStaffId;
};
STATIC_ASSERT(sizeof(daSwhit0_c) == 0x75c);
+73 -1
View File
@@ -1,6 +1,78 @@
#ifndef D_A_TAG_ALLMATO_H
#define D_A_TAG_ALLMATO_H
#include "dolphin/types.h"
#include "d/actor/d_a_npc.h"
class daTag_AllMato_c : public fopAc_ac_c {
public:
/* 0x0568 */ daNpcT_ActorMngr_c mBouMatoActorMngr[1];
/* 0x0570 */ daNpcT_ActorMngr_c mItaMatoActorMngr[2];
/* 0x0580 */ daNpcT_ActorMngr_c mArrowActorMngr;
/* 0x0588 */ daNpcT_ActorMngr_c mBrkMatoActorMngr;
/* 0x0590 */ cXyz field_0x590[500];
/* 0x1D00 */ int mBouMatoActorNum;
/* 0x1D04 */ int mItaMatoActorNum;
/* 0x1D08 */ int field_0x1d08;
/* 0x1D0C */ s16 mEventIdx;
/* 0x1D0E */ u8 field_0x1d0e;
/* 0x1D0F */ u8 field_0x1d0f;
/* 0x1D10 */ u8 field_0x1d10;
/* 80487538 */ int create();
/* 804876B0 */ int Delete();
/* 804876B8 */ int Execute();
/* 80487C5C */ int Draw();
/* 80487C64 */ static void* srchBouMato(void*, void*);
/* 80487D00 */ static void* srchItaMato(void*, void*);
/* 80487D9C */ static void* srchTaro(void*, void*);
/* 80487E38 */ static void* srchArrow(void*, void*);
/* 80487ED4 */ int isDelete();
/* 80487F80 */ void entryBouMatoActors();
/* 80488034 */ void entryItaMatoActors();
/* 80488104 */ fopAc_ac_c* getTaroActorP();
/* 804881C0 */ fopAc_ac_c* getArrowActorP();
/* 80488238 */ int checkCrsMato();
/* 80488994 */ int checkCrsMato2();
/* 80488F40 */ int checkBrkMato();
/* 80488FD8 */ void evtChange(u16);
/* 80489608 */ virtual ~daTag_AllMato_c() {}
int getType() { return 0; }
int getOnEvtBit() {
u32 prm = fopAcM_GetParam(this) & 0xFFF;
int bit;
if (prm == 0xFFF) {
bit = -1;
} else {
bit = prm;
}
return bit;
}
u32 getOffEvtBit() {
u32 prm = (fopAcM_GetParam(this) & 0xFFF000) >> 12;
u32 bit;
if (prm == 0xFFF) {
bit = 0xFFFFFFFF;
} else {
bit = prm;
}
return bit;
}
u8 getOnSwBit() {
return home.angle.x & 0xFF;
}
u8 getOffSwBit() {
return (home.angle.x & 0xFF00) >> 8;
}
};
#endif /* D_A_TAG_ALLMATO_H */
+5 -2
View File
@@ -29,8 +29,11 @@ public:
/* 0x569 */ s8 field_0x569;
/* 0x56A */ u8 field_0x56a;
/* 0x56B */ u8 mNextCheckFlg;
/* 0x56C */ u8 field_0x56c[4];
/* 0x570 */ u8 field_0x570;
/* 0x56C */ u8 field_0x56c;
/* 0x56D */ u8 field_0x56d;
/* 0x56E */ u8 field_0x56e;
/* 0x56F */ u8 field_0x56f;
/* 0x570 */ s8 field_0x570;
/* 0x571 */ u8 field_0x571;
/* 0x572 */ u8 field_0x572;
/* 0x573 */ u8 field_0x573;
+2
View File
@@ -456,6 +456,8 @@ public:
void U2(s16 i_val) { field_0x8c = i_val; }
void CorrectCenter() { setFlag(0x40000000); }
static engine_fn engine_tbl[];
/* 0x000 */ camera_class* field_0x0;
+4
View File
@@ -3549,6 +3549,10 @@ inline s16 dComIfGp_evmng_getEventIdx(const char* eventName, u8 mapToolID) {
return g_dComIfG_gameInfo.play.getEvtManager().getEventIdx(eventName, mapToolID, -1);
}
inline BOOL dComIfGp_evmng_isMapToolCamera(u8 mapToolID) {
return g_dComIfG_gameInfo.play.getEvtManager().isMapToolCamera(mapToolID, -1);
}
inline void dComIfGp_particle_createCommon(const void* data) {
g_dComIfG_gameInfo.play.getParticle()->createCommon(data);
}