diff options
| author | TakaRikka <38417346+TakaRikka@users.noreply.github.com> | 2025-05-31 05:18:54 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-31 15:18:54 +0300 |
| commit | 7b550fafb5ea4f64225bd4c281cb50214dcb6833 (patch) | |
| tree | d4efa72ba15ff71a96e8396586ba3472ba87f6b7 /include | |
| parent | 4c4370b03caf504926a444e4fc68f3a8ba07bba8 (diff) | |
d_a_npc cleanup (#2466)
* d_a_npc first cleanup pass
* more d_a_npc cleanup
Diffstat (limited to 'include')
| -rw-r--r-- | include/d/actor/d_a_npc.h | 307 | ||||
| -rw-r--r-- | include/d/actor/d_a_npc_zra.h | 2 | ||||
| -rw-r--r-- | include/d/actor/d_a_tag_evtarea.h | 6 |
3 files changed, 191 insertions, 124 deletions
diff --git a/include/d/actor/d_a_npc.h b/include/d/actor/d_a_npc.h index 1374633771..67adba2cc8 100644 --- a/include/d/actor/d_a_npc.h +++ b/include/d/actor/d_a_npc.h @@ -5,6 +5,7 @@ #include "SSystem/SComponent/c_math.h" #include "Z2AudioLib/Z2Creature.h" #include "d/actor/d_a_player.h" +#include "d/d_bg_s_movebg_actor.h" #include "d/d_path.h" #include "d/d_msg_flow.h" #include "d/d_particle_copoly.h" @@ -354,28 +355,34 @@ struct daNpcT_motionAnmData_c { class daNpcT_Hermite_c { public: /* 0x00 */ f32 field_0x00; - /* 0x04 */ f32 field_0x04; - /* 0x08 */ f32 field_0x08; - /* 0x0C */ f32 field_0x0c; - /* 0x10 */ f32 field_0x10; + /* 0x04 */ f32 H00; + /* 0x08 */ f32 H01; + /* 0x0C */ f32 H10; + /* 0x10 */ f32 H11; /* 8014CBAC */ virtual ~daNpcT_Hermite_c() {} + f32 GetH00() { return H00; } + f32 GetH01() { return H01; } + f32 GetH10() { return H10; } + f32 GetH11() { return H11; } + // constants might be wrong, regalloc void Set(f32 param_1) { field_0x00 = param_1; f32 sqr = param_1 * param_1; f32 cubed = param_1 * sqr; - field_0x04 = 1.0f + (2.0f * cubed - 3.0f * sqr); - field_0x08 = -2.0f * cubed + 3.0f * sqr; - field_0x0c = param_1 + (cubed - 2.0f * sqr); - field_0x10 = cubed - sqr; + + H00 = 1.0f + (2.0f * cubed - 3.0f * sqr); + H01 = -2.0f * cubed + 3.0f * sqr; + H10 = param_1 + (cubed - 2.0f * sqr); + H11 = cubed - sqr; } }; class daNpcT_Path_c { public: - /* 0x00 */ dPath* mpRoomPath; + /* 0x00 */ dPath* mPathInfo; /* 0x04 */ cXyz mPosition; /* 0x10 */ f32 field_0x10; /* 0x14 */ f32 field_0x14; @@ -395,26 +402,38 @@ public: /* 80145FB4 */ int getDstPosH(cXyz, cXyz*, int, int); /* 80146188 */ int chkPassed1(cXyz, int); /* 801464D8 */ int chkPassed2(cXyz, cXyz*, int, int); + daNpcT_Path_c() { initialize(); } + virtual ~daNpcT_Path_c() {} - inline Vec getPntPos(int i_idx) { return mpRoomPath->m_points[i_idx].m_position; } + Vec getPntPos(int i_idx) { return mPathInfo->m_points[i_idx].m_position; } int chkClose() { - int roomPath = dPath_ChkClose(mpRoomPath); - return roomPath; + BOOL rt = dPath_ChkClose(mPathInfo); + return rt; } bool chkReverse() { return mDirection == 1; } int getNumPnts() { - dPath* path = mpRoomPath; + dPath* path = mPathInfo; return path->m_num; } - u16& getIdx() { return mIdx; } + const u16 getIdx() { return mIdx; } + + void onReverse() { + mDirection = 1; + field_0x1E = 1; + } + + void offReverse() { + mDirection = 0; + field_0x1E = 1; + } }; class mDoExt_McaMorfSO; @@ -465,10 +484,10 @@ public: /* 0xD7E */ csXyz field_0xd7e; /* 0xD84 */ csXyz field_0xd84; /* 0xD8A */ csXyz field_0xd8a; - /* 0xD90 */ fpc_ProcID mItemId; + /* 0xD90 */ fpc_ProcID mItemPartnerId; /* 0xD94 */ u32 mShadowKey; /* 0xD98 */ u32 mAnmFlags; - /* 0xD9C */ u32 mMsgId; + /* 0xD9C */ fpc_ProcID mMsgId; /* 0xDA0 */ u32 mHitodamaPrtclKey[2]; /* 0xDA8 */ u32 mPolSound; /* 0xDAC */ int mStaffId; @@ -541,6 +560,7 @@ public: mMotionSeqMngr(i_motionSequenceData, i_motionStepNum) { initialize(); } + /* 80147FA4 */ static void tgHitCallBack(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*); /* 80147FD4 */ static void* srchActor(void*, void*); /* 80148058 */ J3DAnmTransform* getTrnsfrmAnmP(char const*, int); @@ -663,7 +683,7 @@ public: field_0xba0.initialize(); mJntAnm.initialize(); mStagger.initialize(); - mItemId = fpcM_ERROR_PROCESS_ID_e; + mItemPartnerId = fpcM_ERROR_PROCESS_ID_e; field_0xe26 = true; field_0xe1a = cM_rndF(65536.0f); field_0xde0 = 0.2f; @@ -718,34 +738,31 @@ void daNpcT_onEvtBit(u32 i_idx); BOOL daNpcT_getPlayerInfoFromPlayerList(int param_0, int i_roomNo, cXyz* o_spawnPos, csXyz* o_angle); -struct daBaseNpc_matAnm_c { - /* 8014D884 */ void calc(J3DMaterial*) const; - /* 80150444 */ ~daBaseNpc_matAnm_c(); +class daBaseNpc_matAnm_c : public J3DMaterialAnm { +public: + /* 80150444 */ virtual ~daBaseNpc_matAnm_c() {} + /* 8014D884 */ virtual void calc(J3DMaterial*) const; + + /* 0x0F4 */ mutable f32 field_0xF4; + /* 0x0F8 */ mutable f32 field_0xF8; + /* 0x0FC */ f32 mNowOffsetX; + /* 0x100 */ f32 mNowOffsetY; + /* 0x104 */ u8 mEyeMoveFlg; + /* 0x105 */ u8 mMorfFrm; }; class daBaseNpc_acMngr_c { -private: - /* 0x00 */ u8 field_0x00[4]; - /* 0x04 */ u32 mActorId; - public: /* 8014D804 */ daBaseNpc_acMngr_c(); /* 8014D81C */ void entry(fopAc_ac_c*); /* 8014D838 */ fopAc_ac_c* getActor(); - /* 80150524 */ ~daBaseNpc_acMngr_c(); -}; + /* 80150524 */ virtual ~daBaseNpc_acMngr_c() {} -class daBaseNpc_path_c { private: - /* 0x000 */ f32 field_0x0; - /* 0x004 */ dPath* mpRoomPath; - /* 0x008 */ f32 field_0x8; - /* 0x010 */ u8 field_0xc[2562]; - /* 0xA0E */ u16 field_0xa0e; - /* 0xA10 */ u16 mIdx; - /* 0xA12 */ s8 mDirection; - /* 0xA13 */ u8 field_0xa13[17]; + /* 0x04 */ fpc_ProcID mActorId; +}; +class daBaseNpc_path_c { public: /* 8014D998 */ daBaseNpc_path_c(); /* 8014D9A8 */ BOOL isPath(); @@ -756,24 +773,22 @@ public: /* 8014DB04 */ u16 getIdx(); /* 8014DB0C */ void setIdx(u16); /* 8014DB14 */ Vec getPntPos(u16); - /* 801503FC */ ~daBaseNpc_path_c(); -}; + /* 801503FC */ virtual ~daBaseNpc_path_c() {} + + static const int MAXNUMCONTROLPNT_e = 64; -class daBaseNpc_lookat_c { private: - /* 0x00 */ int field_0x00; - /* 0x04 */ csXyz mMaxJntLmt[2]; - /* 0x10 */ u8 field_0x0A[12]; - /* 0x1C */ csXyz mMinJntLmt[2]; - /* 0x28 */ u8 field_0x28[12]; - /* 0x34 */ cXyz mJntPos[3]; - /* 0x4C */ u8 field_0x4C[24]; - /* 0x64 */ csXyz mUnk[2]; - /* 0x70 */ csXyz mRotation[2]; - /* 0x7C */ csXyz mUnk2[2]; - /* 0x88 */ u8 field_0x88[4]; - /* 0x8C */ cXyz* mpAttnPos; + /* 0x004 */ dPath* mPathInfo; + /* 0x008 */ f32 field_0x8; + /* 0x00C */ dPnt mCurvePnts[160]; + /* 0xA0C */ u8 field_0xa0c[0xA0E - 0xA0C]; + /* 0xA0E */ u16 mCurvePntNum; + /* 0xA10 */ u16 mIdx; + /* 0xA12 */ s8 mDirection; + /* 0xA13 */ u8 field_0xa13[17]; +}; +class daBaseNpc_lookat_c { public: /* 8014DB40 */ void limitter(s16, s16*, s16, s16); /* 8014DBB4 */ void calc(fopAc_ac_c*, f32 (*)[4], s16); @@ -782,14 +797,22 @@ public: /* 8014E67C */ void setJntPos(cXyz, int); /* 8014E6A0 */ int setAttnPos(cXyz*); /* 8014E6AC */ csXyz getRot(int); - /* 801502EC */ ~daBaseNpc_lookat_c(); + /* 801502EC */ virtual ~daBaseNpc_lookat_c() {} + + /* 0x04 */ csXyz mMaxJntLmt[4]; + /* 0x1C */ csXyz mMinJntLmt[4]; + /* 0x34 */ cXyz mJntPos[4]; + /* 0x64 */ csXyz field_0x64[4]; + /* 0x7C */ csXyz mRot[4]; + /* 0x94 */ u8 field_0x94[4]; + /* 0x98 */ cXyz* mpAttnPos; }; class daBaseNpc_c : public fopAc_ac_c { public: /* 8014E6C8 */ daBaseNpc_c(); /* 8014EE44 */ J3DAnmTransform* getTrnsfrmKeyAnmP(char*, int); - /* 8014EE80 */ void setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int); + /* 8014EE80 */ int setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int); /* 8014EEE4 */ void setBckAnm(J3DAnmTransform*, f32, int, int, int, bool); /* 8014EF28 */ J3DAnmTransform* getTexPtrnAnmP(char*, int); /* 8014EF64 */ void setBtpAnm(J3DAnmTexPattern*, J3DModelData*, f32, int); @@ -800,13 +823,13 @@ public: /* 8014F1C8 */ int checkEndAnm(J3DFrameCtrl*); /* 8014E89C */ virtual ~daBaseNpc_c(); - /* 8014EAD0 */ virtual void execute(); - /* 8014EC50 */ virtual void draw(f32); - /* 8014EE3C */ virtual bool getResName(); + /* 8014EAD0 */ virtual int execute(); + /* 8014EC50 */ virtual int draw(f32); + /* 8014EE3C */ virtual const char* getResName(); /* 8014EFA4 */ virtual void attnSttsOn(int, int); /* 8014EFF0 */ virtual void setParam(); /* 8014F09C */ virtual void mainProc(); - /* 8014F140 */ virtual bool btkCtrl(); + /* 8014F140 */ virtual BOOL btkCtrl(); /* 8014F228 */ virtual void allAnmPlay(); /* 8014F38C */ virtual void adjustShapeAngle(); /* 8014F390 */ virtual void setMtx(int); @@ -815,71 +838,68 @@ public: /* 8014F4A8 */ virtual void drawOtherMdls(); /* 8014F4AC */ virtual bool dbgDraw(); - static u8 const mCcDObj[48]; + static dCcD_SrcGObjInf const mCcDObj; static dCcD_SrcCyl mCcDCyl; static dCcD_SrcSph mCcDSph; private: - /* 0x56C */ dBgS_Acch field_0x56c; - /* 0x744 */ u8 field_0x744[16]; - /* 0x754 */ mDoExt_McaMorfSO* mpMorf[2]; - /* 0x758 */ Z2Creature mCreature; - /* 0x7EC */ mDoExt_bckAnm mBckAnm; - /* 0x808 */ mDoExt_btpAnm mBtpAnm; - /* 0x820 */ u8 tmp2[28]; - /* 0x83c */ u16* field_0x83c; + /* 0x56C */ dBgS_ObjAcch mAcch; + /* 0x744 */ u8 field_0x744[0x754 - 0x744]; + /* 0x754 */ mDoExt_McaMorfSO* mpModelMorf; + /* 0x758 */ Z2Creature mSound; + /* 0x7E8 */ u32 mShadowId; + /* 0x7EC */ mDoExt_bckAnm mBck; + /* 0x808 */ mDoExt_btpAnm mBtp; + /* 0x820 */ mDoExt_btkAnm mBtk; + /* 0x838 */ s16 field_0x838; + /* 0x83C */ u16* field_0x83c; /* 0x840 */ u16 field_0x840; - /* 0x842 */ u8 field_0x842[6]; - /* 0x848 */ s32 mUnk; - /* 0x84C */ dMsgFlow_c mMsg; - /* 0x898 */ u8 field_0x898[2]; + /* 0x842 */ u16 field_0x842; + /* 0x844 */ u8 field_0x844[0x848 - 0x844]; + /* 0x848 */ s32 field_0x848; + /* 0x84C */ dMsgFlow_c mMsgFlow; + /* 0x898 */ u8 field_0x898[0x89A - 0x898]; /* 0x89A */ s16 mEvtIdx; - /* 0x89C */ u8 field_0x89C[34]; - /* 0x8BE */ u8 mRoomId; - /* 0x8C0 */ u8 field_0x8C0[90]; + /* 0x89C */ dCcD_Stts mCcStts; + /* 0x8D8 */ dBgS_AcchCir mAcchCir; + /* 0x918 */ s16 field_0x918; /* 0x91A */ csXyz field_0x91a; - /* 0x920 */ csXyz field_0xd7e; - /* 0x926 */ csXyz field_0xd84; - /* 0x92C */ csXyz field_0xd8a; - /* 0x932 */ csXyz field_0x932; - /* 0x938 */ u8 field_0x938[4]; - /* 0x93C */ csXyz field_0x93c; - /* 0x940 */ u8 field_0x940[18]; - /* 0x954 */ cXyz field_0x954; - /* 0x960 */ u8 field_0x960[36]; - /* 0x984 */ csXyz field_0x984; - /* 0x98A */ u8 field_0x98A[18]; - /* 0x99C */ csXyz field_0x99c; - /* 0x9A2 */ u8 field_0x9a2[70]; - /* 0x9E8 */ const cBgS_PolyInfo mBgSPolyInfo; - /* 0x9F9 */ u8 field_0x9f9[27]; + /* 0x920 */ daBaseNpc_lookat_c mLookat; + /* 0x9BC */ csXyz field_0x9bc; + /* 0x9C2 */ csXyz field_0x9c2; + /* 0x9C8 */ csXyz field_0x9c8; + /* 0x9CE */ csXyz field_0x9ce; + /* 0x9D4 */ cBgS_GndChk field_0x9d4; + /* 0xA10 */ f32 mGroundY; }; -class daBaseNpc_moveBgActor_c : public daBaseNpc_c { -private: - /* 0xA14 */ u32 field_0xa14; +STATIC_ASSERT(sizeof(daBaseNpc_c) == 0xA14); +class daBaseNpc_moveBgActor_c : public daBaseNpc_c { public: /* 8014F4B4 */ daBaseNpc_moveBgActor_c(); - /* 8014F518 */ void MoveBGCreateHeap(); - /* 8014F60C */ void - MoveBGCreate(char const*, int, - void (*)(dBgW*, void*, cBgS_PolyInfo const&, bool, cXyz*, csXyz*, csXyz*), u32); - /* 8014F6FC */ void MoveBGDelete(); - /* 8014F770 */ void MoveBGExecute(); - /* 801503BC */ bool CreateHeap(); - /* 801503C4 */ bool Create(); - /* 801503CC */ bool Delete(); - /* 801503D4 */ bool Execute(f32 (**)[3][4]); - /* 801503DC */ bool Draw(); - /* 801503E4 */ bool IsDelete(); - /* 801503EC */ bool ToFore(); - /* 801503F4 */ bool ToBack(); - /* 80155FB0 */ ~daBaseNpc_moveBgActor_c(); - - static u8 m_name[4]; - static u8 m_dzb_id[4]; - static u8 m_set_func[4]; + /* 8014F518 */ int MoveBGCreateHeap(); + /* 8014F60C */ int MoveBGCreate(char const*, int, MoveBGActor_SetFunc, u32); + /* 8014F6FC */ int MoveBGDelete(); + /* 8014F770 */ int MoveBGExecute(); + + /* 80155FB0 */ virtual ~daBaseNpc_moveBgActor_c(); + /* 801503BC */ virtual int CreateHeap() { return 1; } + /* 801503C4 */ virtual int Create() { return 1; } + /* 801503D4 */ virtual int Execute(Mtx**) { return 1; } + /* 801503DC */ virtual int Draw() { return 1; } + /* 801503CC */ virtual int Delete() { return 1; } + /* 801503E4 */ virtual int IsDelete() { return 1; } + /* 801503EC */ virtual int ToFore() { return 1; } + /* 801503F4 */ virtual int ToBack() { return 1; } + + static const char* m_name; + static int m_dzb_id; + static MoveBGActor_SetFunc m_set_func; + +private: + /* 0xA14 */ dBgW* mpBgw; + /* 0xA18 */ Mtx mBgMtx; }; class daNpcF_ActorMngr_c { @@ -1121,7 +1141,7 @@ public: void setCutType(int i_cutType) { mCutType = i_cutType; } void onInterrupt(u8 param_0) { field_0x9ef = param_0; } - static u8 const mCcDObjInfo[48]; + static dCcD_SrcGObjInf const mCcDObjInfo; static dCcD_SrcCyl mCcDCyl; static dCcD_SrcSph mCcDSph; static fopAc_ac_c* mFindActorPList[100]; @@ -1170,7 +1190,7 @@ class daNpcF_SPCurve_c { private: /* 0x00 */ u16 mNurbs; /* 0x02 */ u16 field_0x02; - /* 0x04 */ bool mIsReversed; + /* 0x04 */ u8 mIsReversed; /* 0x05 */ bool mIsClosed; /* 0x08 */ dPnt mPoints[96]; @@ -1189,7 +1209,7 @@ protected: /* 0x00 */ u16 mIdx; /* 0x02 */ u8 mIsReversed; /* 0x03 */ bool mIsClosed; - /* 0x04 */ dPath* mpRoomPath; + /* 0x04 */ dPath* mPathInfo; /* 0x08 */ f32 mRange; /* 0x0C */ f32 mPosDst; /* 0x10 */ f32 field_0x10; @@ -1218,20 +1238,21 @@ public: int getIdx() { return mIdx; }; void setIdx(int i_idx) { mIdx = i_idx; } - int getArg0() { return mpRoomPath->m_points[mIdx].mArg0; } - u8 getArg0(int i_idx) { return mpRoomPath->m_points[i_idx].mArg0; } - Vec getPntPos(int i_idx) { return mpRoomPath->m_points[i_idx].m_position; } - BOOL chkClose() { return dPath_ChkClose(mpRoomPath); } + int getArg0() { return mPathInfo->m_points[mIdx].mArg0; } + u8 getArg0(int i_idx) { return mPathInfo->m_points[i_idx].mArg0; } + Vec getPntPos(int i_idx) { return mPathInfo->m_points[i_idx].m_position; } + BOOL chkClose() { return dPath_ChkClose(mPathInfo); } BOOL chkReverse() { return mIsReversed == true; } void onReverse() { mIsReversed = true; } - dPath* getPathInfo() { return mpRoomPath; } + void offReverse() { mIsReversed = false; } + dPath* getPathInfo() { return mPathInfo; } void setRange(f32 i_range) { mRange = i_range; } }; // Size: 0x630 class daNpcF_Lookat_c { private: /* 0x00 */ cXyz mJointPos[4]; - /* 0x30 */ cXyz* mAttnPos; + /* 0x30 */ cXyz* mAttnPos_p; /* 0x34 */ csXyz mAngularMoveDis[4]; /* 0x4C */ csXyz mMinAngle[4]; /* 0x64 */ csXyz mMaxAngle[4]; @@ -1250,10 +1271,12 @@ public: /* 80151B68 */ void calcMoveDisAngle(int, cXyz*, csXyz*, cXyz, int, BOOL); /* 80151F54 */ void setRotAngle(); /* 80151FE0 */ void clrRotAngle(); + daNpcF_Lookat_c() { initialize(); } virtual ~daNpcF_Lookat_c() {} - cXyz* getAttnPos() { return mAttnPos; } - void setAttnPos(cXyz* i_attnPos) { mAttnPos = i_attnPos; } + + cXyz* getAttnPos() { return mAttnPos_p; } + void setAttnPos(cXyz* i_attnPos) { mAttnPos_p = i_attnPos; } }; class daNpcF_MoveBgActor_c : public daNpcF_c { @@ -1270,4 +1293,48 @@ public: /* 80155EC0 */ virtual bool ToBack(); }; +struct daNpcT_HIOParam { + /* 0x00 */ f32 unk0; + /* 0x04 */ f32 unk4; + /* 0x08 */ f32 unk8; + /* 0x0C */ f32 unkC; + /* 0x10 */ f32 unk10; + /* 0x14 */ f32 unk14; + /* 0x18 */ f32 unk18; + /* 0x1C */ f32 unk1C; + /* 0x20 */ f32 unk20; + /* 0x24 */ f32 unk24; + /* 0x28 */ f32 unk28; + /* 0x2C */ f32 unk2C; + /* 0x30 */ f32 unk30; + /* 0x34 */ f32 unk34; + /* 0x38 */ f32 unk38; + /* 0x3C */ f32 unk3C; + /* 0x40 */ f32 unk40; + /* 0x44 */ f32 unk44; + /* 0x48 */ s16 unk48; + /* 0x4A */ s16 unk4A; + /* 0x4C */ s16 unk4C; + /* 0x4E */ s16 unk4E; + /* 0x50 */ f32 unk50; + /* 0x54 */ f32 unk54; + /* 0x58 */ f32 unk58; + /* 0x5C */ f32 unk5C; + /* 0x60 */ s16 unk60; + /* 0x62 */ s16 unk62; + /* 0x64 */ s16 unk64; + /* 0x66 */ s16 unk66; + /* 0x68 */ s16 unk68; + /* 0x6A */ u8 unk6A; + /* 0x6B */ u8 unk6B; + /* 0x6C */ f32 unk6C; + /* 0x70 */ f32 unk70; + /* 0x74 */ f32 unk74; + /* 0x78 */ f32 unk78; + /* 0x7C */ f32 unk7C; + /* 0x80 */ f32 unk80; + /* 0x84 */ f32 unk84; + /* 0x88 */ f32 unk88; +}; + #endif /* D_A_D_A_NPC_H */ diff --git a/include/d/actor/d_a_npc_zra.h b/include/d/actor/d_a_npc_zra.h index 9d66573a33..bec18cced8 100644 --- a/include/d/actor/d_a_npc_zra.h +++ b/include/d/actor/d_a_npc_zra.h @@ -21,7 +21,7 @@ public: /* 80B78CFC */ int getDstPosChase(u16, cXyz, cXyz&); /* 80B78E08 */ f32 chkPassDst(u16, cXyz); /* 80B7EF88 */ ~daNpc_zrA_Path_c() {} - int getEndIdx() { return mpRoomPath->m_num - 1; } + int getEndIdx() { return mPathInfo->m_num - 1; } }; STATIC_ASSERT(sizeof(daNpc_zrA_Path_c) == 0x630); diff --git a/include/d/actor/d_a_tag_evtarea.h b/include/d/actor/d_a_tag_evtarea.h index 4f6e14b3f3..56dd9102c5 100644 --- a/include/d/actor/d_a_tag_evtarea.h +++ b/include/d/actor/d_a_tag_evtarea.h @@ -20,9 +20,9 @@ public: /* 8048CD68 */ virtual ~daTag_EvtArea_c() {} - s32 getType() { - u8 type = (u8)shape_angle.z; - return type == 0xff ? 0 : type; + int getType() { + u16 type = shape_angle.z & 0xFF; + return type == 0xFF ? 0 : type; } s32 getNo() { |
