mirror of
https://github.com/zeldaret/tww.git
synced 2026-05-25 07:22:55 -04:00
+35
-15
@@ -3,9 +3,12 @@
|
||||
|
||||
#include "d/actor/d_a_itembase.h"
|
||||
#include "d/d_particle.h"
|
||||
#include "f_pc/f_pc_manager.h"
|
||||
|
||||
class daItem_c : public daItemBase_c {
|
||||
public:
|
||||
typedef void (daItem_c::*daItem_c_ModeFunc)();
|
||||
|
||||
daItem_c() : mPtclFollowCb(0, 0), mPtclSmokeCb(1) {}
|
||||
|
||||
float getYOffset();
|
||||
@@ -13,7 +16,7 @@ public:
|
||||
void set_mtx_base(J3DModel*, cXyz, csXyz);
|
||||
void CreateInit();
|
||||
s32 _daItem_create();
|
||||
s32 _daItem_execute();
|
||||
BOOL _daItem_execute();
|
||||
void mode_proc_call();
|
||||
void execInitNormalDirection();
|
||||
void execMainNormalDirection();
|
||||
@@ -24,12 +27,12 @@ public:
|
||||
void execWaitMain();
|
||||
void execWaitMainFromBoss();
|
||||
void scaleAnimFromBossItem();
|
||||
s32 _daItem_draw();
|
||||
BOOL _daItem_draw();
|
||||
void setTevStr();
|
||||
s32 _daItem_delete();
|
||||
BOOL _daItem_delete();
|
||||
void itemGetExecute();
|
||||
void itemDefaultRotateY();
|
||||
bool checkItemDisappear();
|
||||
BOOL checkItemDisappear();
|
||||
void setItemTimer(int);
|
||||
BOOL checkPlayerGet();
|
||||
void itemActionForRupee();
|
||||
@@ -40,14 +43,14 @@ public:
|
||||
void itemActionForArrow();
|
||||
void checkWall();
|
||||
void set_bound_se();
|
||||
s32 checkGetItem();
|
||||
void timeCount();
|
||||
BOOL checkGetItem();
|
||||
BOOL timeCount();
|
||||
void mode_wait_init();
|
||||
void mode_water_init();
|
||||
void mode_wait();
|
||||
void mode_water();
|
||||
void initAction();
|
||||
s32 _daItem_isdelete();
|
||||
BOOL _daItem_isdelete();
|
||||
|
||||
s32 checkControl();
|
||||
s32 startControl();
|
||||
@@ -58,29 +61,46 @@ public:
|
||||
s32 checkActionNow();
|
||||
|
||||
static dCcD_SrcCyl m_cyl_src;
|
||||
static s32 m_timer_max;
|
||||
|
||||
public:
|
||||
/* 0x63C */ cXyz mScaleTarget;
|
||||
/* 0x648 */ s32 mSwitchId;
|
||||
/* 0x64C */ s32 mActivationSwitch;
|
||||
/* 0x650 */ f32 field3_0x650;
|
||||
/* 0x654 */ u8 field4_0x654[0x658 - 0x654];
|
||||
/* 0x650 */ f32 field_0x650;
|
||||
/* 0x654 */ s16 field_0x654;
|
||||
/* 0x656 */ s16 field_0x656;
|
||||
/* 0x658 */ s16 mItemTimer;
|
||||
/* 0x65A */ s16 field7_0x65a;
|
||||
/* 0x65C */ s16 field8_0x65c;
|
||||
/* 0x65E */ u8 field10_0x65e[0x667 - 0x65E];
|
||||
/* 0x667 */ u8 mUnknownParam;
|
||||
/* 0x668 */ u8 mItemAction;
|
||||
/* 0x65A */ s16 field_0x65a;
|
||||
/* 0x65C */ s16 field_0x65c;
|
||||
/* 0x65E */ s16 mExtraZRot;
|
||||
/* 0x660 */ u8 field_0x660[0x667 - 0x660];
|
||||
/* 0x667 */ u8 mType;
|
||||
/* 0x668 */ u8 mAction;
|
||||
/* 0x669 */ u8 mStatusFlags;
|
||||
/* 0x66A */ u8 mMode;
|
||||
/* 0x66B */ u8 mCurState;
|
||||
/* 0x66C */ u8 field23_0x66c[0x674 - 0x66C];
|
||||
/* 0x66C */ u8 field_0x66c;
|
||||
/* 0x66D */ u8 field_0x66D[0x670 - 0x66D];
|
||||
/* 0x670 */ u32 mDemoItemBsPcId;
|
||||
/* 0x674 */ dPa_rippleEcallBack mPtclRippleCb;
|
||||
/* 0x688 */ dPa_followEcallBack mPtclFollowCb;
|
||||
/* 0x69C */ dPa_smokeEcallBack mPtclSmokeCb;
|
||||
/* 0x6BC */ JPABaseEmitter* mpParticleEmitter;
|
||||
|
||||
// TODO add enums for type, action, state, and status flags
|
||||
// state 7 is probably "about to start an item get demo"
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daItem_c) == 0x6C0);
|
||||
|
||||
namespace daItem_prm {
|
||||
inline u32 getType(daItem_c* item) { return (fpcM_GetParam(item) & 0x03000000) >> 0x18; }
|
||||
inline u32 getAction(daItem_c* item) { return (fpcM_GetParam(item) & 0xFC000000) >> 0x1A; }
|
||||
inline u32 getItemNo(daItem_c* item) { return (fpcM_GetParam(item) & 0x000000FF) >> 0x00; }
|
||||
inline u32 getItemBitNo(daItem_c* item) { return (fpcM_GetParam(item) & 0x0000FF00) >> 0x08; }
|
||||
inline u32 getSwitchNo(daItem_c* item) { return (item->orig.angle.z & 0x00FF) >> 0; }
|
||||
inline u32 getSwitchNo2(daItem_c* item) { return (fpcM_GetParam(item) & 0x00FF0000) >> 0x10; }
|
||||
};
|
||||
|
||||
#endif /* D_A_ITEM_H */
|
||||
@@ -12,24 +12,25 @@ class mDoExt_brkAnm;
|
||||
class mDoExt_bckAnm;
|
||||
|
||||
struct daItemBase_c_m_data {
|
||||
/* 0x00 */ float mFieldItemGravity;
|
||||
/* 0x04 */ float field1_0x4;
|
||||
/* 0x08 */ float field2_0x8;
|
||||
/* 0x0C */ float mScaleAnimSpeed;
|
||||
/* 0x10 */ float field4_0x10;
|
||||
/* 0x14 */ short field5_0x14;
|
||||
/* 0x16 */ short mDuration;
|
||||
/* 0x18 */ short field7_0x18;
|
||||
/* 0x1A */ u8 field8_0x1a;
|
||||
/* 0x1B */ u8 field9_0x1b;
|
||||
/* 0x1C */ short mNumFramesPerFullSpin;
|
||||
u8 temp1[0x1A];
|
||||
/* 0x00 */ f32 mFieldItemGravity;
|
||||
/* 0x04 */ f32 field_0x04;
|
||||
/* 0x08 */ f32 field_0x08;
|
||||
/* 0x0C */ f32 mScaleAnimSpeed;
|
||||
/* 0x10 */ f32 field_0x10;
|
||||
/* 0x14 */ s16 field_0x14;
|
||||
/* 0x16 */ s16 mDuration;
|
||||
/* 0x18 */ s16 field_0x18;
|
||||
/* 0x1A */ u8 field_0x1A[0x1C - 0x1A];
|
||||
/* 0x1C */ s16 mNumFramesPerFullSpin;
|
||||
/* 0x1E */ u8 field_0x1E[0x2A - 0x1E];
|
||||
/* 0x2A */ s16 mHeartMaxRandomZRot;
|
||||
/* 0x2C */ u8 field_0x2C[0x38 - 0x2C];
|
||||
/* 0x38 */ f32 mPickedUpInitialSpeedY;
|
||||
/* 0x3C */ f32 mPickedUpGravity;
|
||||
/* 0x40 */ short field45_0x40;
|
||||
/* 0x42 */ short field47_0x42;
|
||||
u8 temp2[0x4];
|
||||
/* 0x48 */ float mVelocityScale;
|
||||
/* 0x40 */ s16 field_0x40;
|
||||
/* 0x42 */ s16 field_0x42;
|
||||
/* 0x44 */ void* field_0x44;
|
||||
/* 0x48 */ f32 mVelocityScale;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daItemBase_c_m_data) == 0x4C);
|
||||
|
||||
@@ -136,7 +136,7 @@ public:
|
||||
void getLeftHandPos() const;
|
||||
void getRopeJumpLand() const;
|
||||
void checkRopeForceEnd() const;
|
||||
cXyz getHeadTopPos() const;
|
||||
cXyz getHeadTopPos() const { return mHeadTopPos; }
|
||||
void changePlayer(fopAc_ac_c*);
|
||||
void objWindHitCheck(dCcD_Cyl*);
|
||||
void setDoButtonQuake();
|
||||
|
||||
+6
-6
@@ -68,7 +68,7 @@ struct dCcD_SrcCps {
|
||||
class dCcD_GStts : public cCcD_GStts {
|
||||
public:
|
||||
dCcD_GStts();
|
||||
virtual ~dCcD_GStts();
|
||||
virtual ~dCcD_GStts() {}
|
||||
|
||||
void Ct();
|
||||
void Move();
|
||||
@@ -108,7 +108,7 @@ public:
|
||||
virtual void Ct();
|
||||
virtual void ClrAt();
|
||||
virtual void ClrTg();
|
||||
virtual ~dCcD_Stts();
|
||||
virtual ~dCcD_Stts() {}
|
||||
|
||||
}; // Size = 0x3C
|
||||
|
||||
@@ -140,7 +140,7 @@ public:
|
||||
void SetEffCounterTimer();
|
||||
void SubtractEffCounter() { mEffCounter -= 1; }
|
||||
bool ChkEffCounter() { return mEffCounter >= 0; }
|
||||
virtual ~dCcD_GAtTgCoCommonBase();
|
||||
virtual ~dCcD_GAtTgCoCommonBase() {}
|
||||
|
||||
void ClrEffCounter() { mEffCounter = 0; }
|
||||
u32 GetGFlag() const { return mGFlag; }
|
||||
@@ -161,7 +161,7 @@ public:
|
||||
class dCcD_GObjAt : public dCcD_GAtTgCoCommonBase {
|
||||
public:
|
||||
void Set(dCcD_SrcGObjAt const&);
|
||||
virtual ~dCcD_GObjAt();
|
||||
virtual ~dCcD_GObjAt() {}
|
||||
void SetVec(cXyz& vec) { mVec = vec; }
|
||||
cXyz& GetVec() { return mVec; }
|
||||
cXyz* GetVecP() { return &mVec; }
|
||||
@@ -192,7 +192,7 @@ public:
|
||||
class dCcD_GObjTg : public dCcD_GAtTgCoCommonBase {
|
||||
public:
|
||||
void Set(dCcD_SrcGObjTg const&);
|
||||
virtual ~dCcD_GObjTg();
|
||||
virtual ~dCcD_GObjTg() {}
|
||||
void SetSe(u8 se) { mSe = se; }
|
||||
void SetVec(cXyz& vec) { mVec = vec; }
|
||||
cXyz& GetVec() { return mVec; }
|
||||
@@ -222,7 +222,7 @@ private:
|
||||
// Correction (Co) Collider
|
||||
class dCcD_GObjCo : public dCcD_GAtTgCoCommonBase {
|
||||
public:
|
||||
virtual ~dCcD_GObjCo();
|
||||
virtual ~dCcD_GObjCo() {}
|
||||
void Set(dCcD_SrcGObjCo const& pSrc) { dCcD_GAtTgCoCommonBase::Set(pSrc.mBase); }
|
||||
}; // Size = 0x1C ?
|
||||
|
||||
|
||||
@@ -557,6 +557,10 @@ inline void dComIfGs_onSaveTbox(int i_stageNo, int i_no) {
|
||||
void dComIfGs_onStageTbox(int i_stageNo, int i_no);
|
||||
BOOL dComIfGs_isStageTbox(int i_stageNo, int i_no);
|
||||
|
||||
inline void dComIfGs_onSaveSwitch(int i_stageNo, int i_no) {
|
||||
g_dComIfG_gameInfo.save.getSavedata().getSave(i_stageNo).getBit().onSwitch(i_no);
|
||||
}
|
||||
|
||||
BOOL dComIfGs_isStageBossEnemy(int i_stageNo);
|
||||
|
||||
inline BOOL dComIfGs_isStageBossEnemy() {
|
||||
@@ -699,6 +703,22 @@ inline BOOL dComIfGs_isGetItem(int i_field, u8 i_item) {
|
||||
return g_dComIfG_gameInfo.save.getPlayer().getGetItem().isItem(i_field, i_item);
|
||||
}
|
||||
|
||||
inline BOOL dComIfGs_isGetItemBeast(u8 i_beast) {
|
||||
return g_dComIfG_gameInfo.save.getPlayer().getGetBagItem().isBeast(i_beast);
|
||||
}
|
||||
|
||||
inline void dComIfGs_onGetItemBeast(u8 i_beast) {
|
||||
g_dComIfG_gameInfo.save.getPlayer().getGetBagItem().onBeast(i_beast);
|
||||
}
|
||||
|
||||
inline BOOL dComIfGs_isGetItemBait(u8 i_bait) {
|
||||
return g_dComIfG_gameInfo.save.getPlayer().getGetBagItem().isBait(i_bait);
|
||||
}
|
||||
|
||||
inline void dComIfGs_onGetItemBait(u8 i_bait) {
|
||||
g_dComIfG_gameInfo.save.getPlayer().getGetBagItem().onBait(i_bait);
|
||||
}
|
||||
|
||||
inline s16 dComIfGs_getWindY() {
|
||||
return g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusB().getWindY();
|
||||
}
|
||||
@@ -1246,8 +1266,12 @@ inline char* dComIfGp_evmng_getMyStringP(int staffIdx, const char* name) {
|
||||
return reinterpret_cast<char*>(dComIfGp_getEventManager().getMySubstanceP(staffIdx, name, 4)); //type 4 is string
|
||||
}
|
||||
|
||||
inline BOOL dComIfGp_evmng_startCheck(char* eventID) {
|
||||
return dComIfGp_getEventManager().startCheckOld(eventID);
|
||||
inline BOOL dComIfGp_evmng_startCheck(const char* pName) {
|
||||
return dComIfGp_getEventManager().startCheckOld(pName);
|
||||
}
|
||||
|
||||
inline BOOL dComIfGp_evmng_endCheck(const char* pName) {
|
||||
return dComIfGp_getEventManager().endCheckOld(pName);
|
||||
}
|
||||
|
||||
inline BOOL dComIfGp_evmng_endCheck(s16 eventID) {
|
||||
|
||||
+14
-14
@@ -377,20 +377,20 @@ void item_getcheck_func_lithograph14();
|
||||
void item_getcheck_func_lithograph15();
|
||||
void item_getcheck_func_lithograph16();
|
||||
void getRotenItemNumInBag();
|
||||
BOOL isDaizaItem(unsigned char);
|
||||
BOOL isBomb(unsigned char);
|
||||
void isArrow(unsigned char);
|
||||
void isEmono(unsigned char);
|
||||
void isEsa(unsigned char);
|
||||
void isRupee(unsigned char);
|
||||
void isLimitedItem(unsigned char);
|
||||
void isNonSavedEmono(unsigned char);
|
||||
BOOL isUseClothPacket(unsigned char);
|
||||
void isTriforce(unsigned char);
|
||||
void isHeart(unsigned char);
|
||||
void getItemNoByLife(unsigned char);
|
||||
BOOL isDaizaItem(u8);
|
||||
BOOL isBomb(u8);
|
||||
BOOL isArrow(u8);
|
||||
BOOL isEmono(u8);
|
||||
BOOL isEsa(u8);
|
||||
BOOL isRupee(u8);
|
||||
BOOL isLimitedItem(u8);
|
||||
BOOL isNonSavedEmono(u8);
|
||||
BOOL isUseClothPacket(u8);
|
||||
BOOL isTriforce(u8);
|
||||
BOOL isHeart(u8);
|
||||
void getItemNoByLife(u8);
|
||||
void check_itemno(int);
|
||||
void getEmonoItemFromLifeBallTable(unsigned short);
|
||||
void getItemFromLifeBallTableWithoutEmono(unsigned short);
|
||||
void getEmonoItemFromLifeBallTable(u16);
|
||||
void getItemFromLifeBallTableWithoutEmono(u16);
|
||||
|
||||
#endif /* D_ITEM_H */
|
||||
@@ -299,7 +299,7 @@ struct dItem_data_item_info {
|
||||
/* 0x00 */ u8 mShadowSize;
|
||||
/* 0x01 */ u8 mCollisionH; // Cylinder Height
|
||||
/* 0x02 */ u8 mCollisionR; // Cylinder Radius
|
||||
/* 0x03 */ u8 mFlag;
|
||||
/* 0x03 */ u8 mFlag; // TODO enum
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(dItem_data_item_info) == 0x4);
|
||||
|
||||
@@ -56,7 +56,7 @@ public:
|
||||
|
||||
STATIC_ASSERT(sizeof(dPa_followEcallBack) == 0x14);
|
||||
|
||||
class dPa_smokeEcallBack : dPa_followEcallBack {
|
||||
class dPa_smokeEcallBack : public dPa_followEcallBack {
|
||||
public:
|
||||
dPa_smokeEcallBack(u8);
|
||||
virtual ~dPa_smokeEcallBack();
|
||||
|
||||
@@ -172,8 +172,10 @@ class JntHit_c;
|
||||
|
||||
struct fopAc_cullSizeSphere {
|
||||
public:
|
||||
#ifndef __INTELLISENSE__
|
||||
fopAc_cullSizeSphere() {}
|
||||
fopAc_cullSizeSphere(cXyz, float);
|
||||
#endif
|
||||
|
||||
/* 0x0 */ Vec mCenter;
|
||||
/* 0xC */ f32 mRadius;
|
||||
@@ -181,9 +183,11 @@ public:
|
||||
|
||||
struct fopAc_cullSizeBox {
|
||||
public:
|
||||
#ifndef __INTELLISENSE__
|
||||
fopAc_cullSizeBox() {}
|
||||
fopAc_cullSizeBox(const fopAc_cullSizeBox&);
|
||||
fopAc_cullSizeBox(cXyz, cXyz);
|
||||
#endif
|
||||
|
||||
/* 0x0 */ Vec mMin;
|
||||
/* 0xC */ Vec mMax;
|
||||
|
||||
@@ -412,23 +412,18 @@ s32 fopAcM_rollPlayerCrash(fopAc_ac_c*, f32, u32);
|
||||
s32 fopAcM_checkCullingBox(f32[3][4], f32, f32, f32, f32, f32, f32);
|
||||
s32 fopAcM_cullingCheck(fopAc_ac_c*);
|
||||
void* event_second_actor(u16);
|
||||
s32 fopAcM_orderTalkEvent(fopAc_ac_c*, fopAc_ac_c*, u16, u16);
|
||||
s32 fopAcM_orderTalkItemBtnEvent(u16, fopAc_ac_c*, fopAc_ac_c*, u16, u16);
|
||||
s32 fopAcM_orderTalkEvent(fopAc_ac_c*, fopAc_ac_c*);
|
||||
s32 fopAcM_orderSpeakEvent(fopAc_ac_c* i_actor);
|
||||
s32 fopAcM_orderDoorEvent(fopAc_ac_c*, fopAc_ac_c*, u16, u16);
|
||||
s32 fopAcM_orderCatchEvent(fopAc_ac_c*, fopAc_ac_c*, u16, u16);
|
||||
s32 fopAcM_orderOtherEvent(fopAc_ac_c*, char*, u16, u16, u16);
|
||||
s32 fopAcM_orderOtherEvent(fopAc_ac_c*, fopAc_ac_c*, char*, u16, u16, u16);
|
||||
s32 fopAcM_orderDoorEvent(fopAc_ac_c*, fopAc_ac_c*);
|
||||
s32 fopAcM_orderCatchEvent(fopAc_ac_c*, fopAc_ac_c*);
|
||||
s32 fopAcM_orderOtherEvent2(fopAc_ac_c*, char*, u16, u16);
|
||||
s32 fopAcM_orderChangeEventId(fopAc_ac_c* i_this, s16 eventIdx, u16 flag, u16 hind);
|
||||
s32 fopAcM_orderChangeEventId(fopAc_ac_c* i_this, fopAc_ac_c* i_partner, s16 eventIdx, u16 flag, u16 hind);
|
||||
s32 fopAcM_orderOtherEventId(fopAc_ac_c* actor, s16 eventID, u8 mapToolID, u16 param_3,
|
||||
u16 priority, u16 flag);
|
||||
s32 fopAcM_orderMapToolEvent(fopAc_ac_c*, u8, s16, u16, u16, u16);
|
||||
s32 fopAcM_orderMapToolAutoNextEvent(fopAc_ac_c*, u8, s16, u16, u16, u16);
|
||||
s32 fopAcM_orderPotentialEvent(fopAc_ac_c*, u16, u16, u16);
|
||||
s32 fopAcM_orderItemEvent(fopAc_ac_c*, u16, u16);
|
||||
s32 fopAcM_orderTreasureEvent(fopAc_ac_c*, fopAc_ac_c*, u16, u16);
|
||||
s32 fopAcM_orderItemEvent(fopAc_ac_c*);
|
||||
s32 fopAcM_orderTreasureEvent(fopAc_ac_c*, fopAc_ac_c*);
|
||||
fopAc_ac_c* fopAcM_getTalkEventPartner(fopAc_ac_c*);
|
||||
fopAc_ac_c* fopAcM_getItemEventPartner(fopAc_ac_c*);
|
||||
fopAc_ac_c* fopAcM_getEventPartner(fopAc_ac_c*);
|
||||
|
||||
@@ -413,7 +413,7 @@ void daAgb_c::modeLoad() {
|
||||
(this->*func)();
|
||||
} else {
|
||||
mUploadAction = 0;
|
||||
mEvtInfo.onCondition(1);
|
||||
mEvtInfo.onCondition(dEvtCnd_CANTALK_e);
|
||||
mMode = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -274,7 +274,7 @@ void daArrow_c::arrowShooting() {
|
||||
setArrowShootSe();
|
||||
|
||||
if (mArrowType == TYPE_LIGHT && !mbShotByZelda) {
|
||||
if (strcmp(dComIfGp_getStartStageName(), "GanonK") != 0) {
|
||||
if (strcmp(dComIfGp_getStartStageName(), "GanonK") != 0) {
|
||||
// Not in Puppet Ganon's boss room.
|
||||
mCps.SetAtSpl((dCcG_At_Spl)0xB);
|
||||
}
|
||||
|
||||
+630
-103
@@ -11,39 +11,17 @@
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "d/d_procname.h"
|
||||
#include "m_Do/m_Do_mtx.h"
|
||||
#include "f_op/f_op_camera_mng.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class dCcD_GObjInf;
|
||||
|
||||
dCcD_SrcCyl daItem_c::m_cyl_src = {
|
||||
// dCcD_SrcGObjInf
|
||||
{
|
||||
/* Flags */ 0,
|
||||
/* SrcObjAt Type */ 0,
|
||||
/* SrcObjAt Atp */ 0,
|
||||
/* SrcObjAt SPrm */ 0,
|
||||
/* SrcObjTg Type */ 0xFFFFFFFF,
|
||||
/* SrcObjTg SPrm */ 0x09,
|
||||
/* SrcObjCo SPrm */ 0x59,
|
||||
/* SrcGObjAt Se */ 0,
|
||||
/* SrcGObjAt HitMark */ 0,
|
||||
/* SrcGObjAt Spl */ 0,
|
||||
/* SrcGObjAt Mtrl */ 0,
|
||||
/* SrcGObjAt GFlag */ 0,
|
||||
/* SrcGObjTg Se */ 0,
|
||||
/* SrcGObjTg HitMark */ 0,
|
||||
/* SrcGObjTg Spl */ 0,
|
||||
/* SrcGObjTg Mtrl */ 0,
|
||||
/* SrcGObjTg GFlag */ 0x04,
|
||||
/* SrcGObjCo GFlag */ 0,
|
||||
},
|
||||
// cM3dGCylS
|
||||
{
|
||||
/* Center */ 0.0f, 0.0f, 0.0f,
|
||||
/* Radius */ 10.0f,
|
||||
/* Height */ 50.0f,
|
||||
},
|
||||
};
|
||||
// Needed for the .data section to match.
|
||||
static f32 dummy1[3] = {1.0f, 1.0f, 1.0f};
|
||||
static f32 dummy2[3] = {1.0f, 1.0f, 1.0f};
|
||||
|
||||
s32 daItem_c::m_timer_max = 10000;
|
||||
|
||||
/* 800F4BC8-800F4BD4 .text getData__12daItemBase_cFv */
|
||||
daItemBase_c_m_data* daItemBase_c::getData() {
|
||||
@@ -51,8 +29,11 @@ daItemBase_c_m_data* daItemBase_c::getData() {
|
||||
}
|
||||
|
||||
/* 800F4BD4-800F4C4C .text setArrowTrans__Fs4cXyz */
|
||||
void setArrowTrans(short, cXyz) {
|
||||
/* Nonmatching */
|
||||
cXyz setArrowTrans(s16 yRot, cXyz offset) {
|
||||
cXyz arrowTrans = offset;
|
||||
mDoMtx_stack_c::YrotS(yRot);
|
||||
mDoMtx_stack_c::multVec(&arrowTrans, &arrowTrans);
|
||||
return arrowTrans;
|
||||
}
|
||||
|
||||
/* 800F4C4C-800F4CD8 .text getYOffset__8daItem_cFv */
|
||||
@@ -72,10 +53,10 @@ float daItem_c::getYOffset() {
|
||||
case GREEN_JELLY:
|
||||
case BLUE_JELLY:
|
||||
return 0.0f;
|
||||
case SWORD:
|
||||
return 20.0f;
|
||||
case SHIELD:
|
||||
return 23.0f;
|
||||
case SWORD:
|
||||
return 20.0f;
|
||||
case DROPPED_SWORD:
|
||||
return 10.0f;
|
||||
case GREEN_RUPEE:
|
||||
@@ -99,22 +80,61 @@ float daItem_c::getYOffset() {
|
||||
|
||||
/* 800F4CD8-800F4E6C .text set_mtx__8daItem_cFv */
|
||||
void daItem_c::set_mtx() {
|
||||
/* Nonmatching */
|
||||
cXyz pos = current.pos;
|
||||
csXyz rot = current.angle;
|
||||
if (m_itemNo == UTUWA_HEART) {
|
||||
rot.y = shape_angle.y;
|
||||
}
|
||||
set_mtx_base(mpModel, pos, rot);
|
||||
|
||||
if (isArrow(m_itemNo)) {
|
||||
cXyz offset(5.0f, 0.0f, 10.0f);
|
||||
cXyz arrowTrans = setArrowTrans(current.angle.y, offset);
|
||||
|
||||
pos += arrowTrans;
|
||||
set_mtx_base(mpModelArrow[0], pos, rot);
|
||||
|
||||
pos += arrowTrans;
|
||||
set_mtx_base(mpModelArrow[1], pos, rot);
|
||||
}
|
||||
}
|
||||
|
||||
/* 800F4E6C-800F4FDC .text set_mtx_base__8daItem_cFP8J3DModel4cXyz5csXyz */
|
||||
void daItem_c::set_mtx_base(J3DModel*, cXyz, csXyz) {
|
||||
/* Nonmatching */
|
||||
void daItem_c::set_mtx_base(J3DModel* pModel, cXyz pos, csXyz rot) {
|
||||
if (!pModel) {
|
||||
return;
|
||||
}
|
||||
|
||||
pModel->setBaseScale(mScale);
|
||||
|
||||
mDoMtx_stack_c::transS(pos.x, pos.y + getYOffset(), pos.z);
|
||||
|
||||
if (isRupee(m_itemNo)) {
|
||||
u8 height = dItem_data::getH(m_itemNo);
|
||||
mDoMtx_stack_c::transM(0.0f, height/2.0f, 0.0f);
|
||||
}
|
||||
|
||||
mDoMtx_stack_c::ZXYrotM(rot.x, rot.y, rot.z + mExtraZRot);
|
||||
|
||||
if (isRupee(m_itemNo)) {
|
||||
u8 height = dItem_data::getH(m_itemNo);
|
||||
mDoMtx_stack_c::transM(0.0f, -height/2.0f, 0.0f);
|
||||
}
|
||||
|
||||
pModel->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
}
|
||||
|
||||
/* 800F4FDC-800F5044 .text itemGetCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf */
|
||||
void itemGetCallBack(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*) {
|
||||
/* Nonmatching */
|
||||
void itemGetCallBack(fopAc_ac_c* item_actor, dCcD_GObjInf*, fopAc_ac_c* collided_actor, dCcD_GObjInf*) {
|
||||
daItem_c* item = (daItem_c*)item_actor;
|
||||
daPy_lk_c* link = daPy_getPlayerLinkActorClass();
|
||||
if (item && item->checkPlayerGet() && collided_actor && collided_actor == link) {
|
||||
item->itemGetExecute();
|
||||
}
|
||||
}
|
||||
|
||||
/* 800F5044-800F53EC .text CreateInit__8daItem_cFv */
|
||||
void daItem_c::CreateInit() {
|
||||
/* Nonmatching */
|
||||
mAcchCir.SetWall(30.0f, 30.0f);
|
||||
cXyz* speedPtr;
|
||||
mAcch.Set(¤t.pos, &next.pos, this, 1, &mAcchCir, speedPtr = &speed, NULL, NULL);
|
||||
@@ -139,17 +159,15 @@ void daItem_c::CreateInit() {
|
||||
mCyl.SetH(height);
|
||||
|
||||
mItemTimer = getData()->mDuration;
|
||||
field7_0x65a = getData()->field7_0x18;
|
||||
field3_0x650 = speedPtr->y;
|
||||
field_0x65a = getData()->field_0x18;
|
||||
field_0x650 = speedPtr->y;
|
||||
mCurState = 0;
|
||||
|
||||
mUnknownParam = (fpcM_GetParam(this) & 0x03000000) >> 0x18;
|
||||
// TODO: should probably add inlines here
|
||||
// e.g. getType__10daItem_prmFP8daItem_c etc
|
||||
if ((fpcM_GetParam(this) & 0x03000000) >> 0x18 == 3 || (fpcM_GetParam(this) & 0x03000000) >> 0x18 == 1) {
|
||||
mType = daItem_prm::getType(this);
|
||||
if (daItem_prm::getType(this) == 3 || daItem_prm::getType(this) == 1) {
|
||||
mStatusFlags |= 2;
|
||||
}
|
||||
mItemAction = (fpcM_GetParam(this) & 0xFC000000) >> 0x1A;
|
||||
mAction = daItem_prm::getAction(this);
|
||||
|
||||
show();
|
||||
|
||||
@@ -174,12 +192,12 @@ void daItem_c::CreateInit() {
|
||||
break;
|
||||
}
|
||||
|
||||
mSwitchId = (fpcM_GetParam(this) & 0x00FF0000) >> 0x10;
|
||||
mSwitchId = daItem_prm::getSwitchNo2(this);
|
||||
if (mSwitchId != 0xFF && !fopAcM_isSwitch(this, mSwitchId)) {
|
||||
hide();
|
||||
mStatusFlags |= 2;
|
||||
}
|
||||
mActivationSwitch = (orig.angle.z & 0x00FF) >> 0;
|
||||
mActivationSwitch = daItem_prm::getSwitchNo(this);
|
||||
|
||||
current.angle.z = 0;
|
||||
orig.angle.z = 0;
|
||||
@@ -198,25 +216,23 @@ void daItem_c::CreateInit() {
|
||||
set_mtx();
|
||||
animPlay(1.0f, 1.0f, 1.0f, 1.0f, 1.0f);
|
||||
|
||||
s16 procname = PROC_BST; // Gohdan
|
||||
if (fopAcIt_Judge(&fpcSch_JudgeForPName, &procname)) {
|
||||
if (fopAcM_SearchByName(PROC_BST)) { // Gohdan
|
||||
mpParticleEmitter = dComIfGp_particle_set(0x81E1, ¤t.pos, NULL, NULL, 0xFF, NULL, -1, NULL, NULL, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
/* 800F53EC-800F5668 .text _daItem_create__8daItem_cFv */
|
||||
s32 daItem_c::_daItem_create() {
|
||||
/* Nonmatching */
|
||||
fopAcM_SetupActor(this, daItem_c);
|
||||
|
||||
m_itemNo = (fpcM_GetParam(this) & 0x000000FF) >> 0x00;
|
||||
m_itemNo = daItem_prm::getItemNo(this);
|
||||
|
||||
if (!dItem_data::getFieldArc(m_itemNo)) {
|
||||
setLoadError();
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
mPickupFlag = (fpcM_GetParam(this) & 0x0000FF00) >> 0x08;
|
||||
mPickupFlag = daItem_prm::getItemBitNo(this);
|
||||
if (m_itemNo != BLUE_JELLY) { // Blue Chu Jelly uses mPickupFlag as if it was a switch.
|
||||
mPickupFlag &= 0x7F;
|
||||
if (dComIfGs_isItem(mPickupFlag, orig.roomNo) && mPickupFlag != 0x7F) {
|
||||
@@ -228,11 +244,11 @@ s32 daItem_c::_daItem_create() {
|
||||
|
||||
s32 phase_state = dComIfG_resLoad(&mPhs, dItem_data::getFieldArc(m_itemNo));
|
||||
if (phase_state == cPhs_COMPLEATE_e) {
|
||||
s32 result = fopAcM_entrySolidHeap(this, &CheckFieldItemCreateHeap, dItem_data::getFieldHeapSize(m_itemNo));
|
||||
if (!result) {
|
||||
// Note: The demo version calls getHeapSize instead of getFieldHeapSize here.
|
||||
u32 heap_size = dItem_data::getFieldHeapSize(m_itemNo);
|
||||
if (!fopAcM_entrySolidHeap(this, &CheckFieldItemCreateHeap, heap_size)) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
CreateInit();
|
||||
}
|
||||
|
||||
@@ -240,57 +256,191 @@ s32 daItem_c::_daItem_create() {
|
||||
}
|
||||
|
||||
/* 800F5668-800F5834 .text _daItem_execute__8daItem_cFv */
|
||||
s32 daItem_c::_daItem_execute() {
|
||||
/* Nonmatching */
|
||||
BOOL daItem_c::_daItem_execute() {
|
||||
if (mSwitchId != 0xFF && !fopAcM_isSwitch(this, mSwitchId)) {
|
||||
return TRUE;
|
||||
}
|
||||
if (mSwitchId != 0xFF && fopAcM_isSwitch(this, mSwitchId)) {
|
||||
show();
|
||||
}
|
||||
|
||||
timeCount();
|
||||
|
||||
mEyePos = current.pos;
|
||||
mEyePos.y += dItem_data::getH(m_itemNo)/2.0f;
|
||||
mAttentionInfo.mPosition = current.pos;
|
||||
|
||||
switch (mCurState) {
|
||||
case 3:
|
||||
execBringNezumi();
|
||||
break;
|
||||
case 0:
|
||||
case 1:
|
||||
if (checkActionNow()) {
|
||||
mCurState = 1;
|
||||
} else {
|
||||
mCurState = 0;
|
||||
}
|
||||
case 2:
|
||||
execWaitMain();
|
||||
break;
|
||||
case 5:
|
||||
execInitNormalDirection();
|
||||
case 6:
|
||||
execMainNormalDirection();
|
||||
break;
|
||||
case 7:
|
||||
execInitGetDemoDirection();
|
||||
break;
|
||||
case 8:
|
||||
execWaitGetDemoDirection();
|
||||
break;
|
||||
case 9:
|
||||
execMainGetDemoDirection();
|
||||
break;
|
||||
case 0xA:
|
||||
case 0xB:
|
||||
execWaitMainFromBoss();
|
||||
break;
|
||||
}
|
||||
|
||||
animPlay(1.0f, 1.0f, 1.0f, 1.0f, 1.0f);
|
||||
set_mtx();
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 800F5834-800F59CC .text mode_proc_call__8daItem_cFv */
|
||||
void daItem_c::mode_proc_call() {
|
||||
/* Nonmatching */
|
||||
static daItem_c_ModeFunc mode_proc[] = {
|
||||
&mode_wait,
|
||||
&mode_wait,
|
||||
&mode_water,
|
||||
};
|
||||
|
||||
if (mType == 1) {
|
||||
itemDefaultRotateY();
|
||||
} else {
|
||||
(this->*mode_proc[mMode])();
|
||||
}
|
||||
|
||||
if (mStatusFlags & 0x08) {
|
||||
fopAc_ac_c* boomerang = (fopAc_ac_c*)fopAcM_SearchByName(PROC_BOOMERANG);
|
||||
if (boomerang) {
|
||||
current.pos = boomerang->current.pos;
|
||||
} else {
|
||||
mStatusFlags &= ~0x08;
|
||||
}
|
||||
}
|
||||
|
||||
if (mStatusFlags & 0x40) {
|
||||
fopAc_ac_c* grappling_hook = (fopAc_ac_c*)fopAcM_SearchByName(PROC_HIMO2);
|
||||
if (grappling_hook) {
|
||||
current.pos = grappling_hook->current.pos;
|
||||
} else {
|
||||
mStatusFlags &= ~0x40;
|
||||
}
|
||||
}
|
||||
|
||||
if (mType == 1 && (fopAcM_checkHookCarryNow(this) || mStatusFlags & 0x08)) {
|
||||
mType = 3;
|
||||
}
|
||||
}
|
||||
|
||||
/* 800F59CC-800F5AFC .text execInitNormalDirection__8daItem_cFv */
|
||||
void daItem_c::execInitNormalDirection() {
|
||||
/* Nonmatching */
|
||||
daPy_getPlayerActorClass()->getHeadTopPos();
|
||||
|
||||
field8_0x65c = getData()->field45_0x40;
|
||||
daPy_py_c* player = daPy_getPlayerActorClass();
|
||||
cXyz headPos = player->getHeadTopPos();
|
||||
headPos.y += 15.0f;
|
||||
current.pos = headPos;
|
||||
current.angle.z = 0;
|
||||
current.angle.x = 0;
|
||||
mScale.set(mScaleTarget.x, mScaleTarget.y, mScaleTarget.z);
|
||||
mExtraZRot = 0;
|
||||
|
||||
field_0x65c = getData()->field_0x40;
|
||||
f32 speedY = getData()->mPickedUpInitialSpeedY;
|
||||
speed.x = 0;
|
||||
speed.y = speedY;
|
||||
speed.z = 0;
|
||||
speed.set(0.0f, speedY, 0.0f);
|
||||
mGravity = getData()->mPickedUpGravity;
|
||||
|
||||
show();
|
||||
|
||||
// TODO dPa_smokeEcallBack
|
||||
// TODO mpParticleEmitter
|
||||
mCyl.SetTgType(0);
|
||||
mCyl.OffCoSPrmBit(1);
|
||||
|
||||
mPtclSmokeCb.end();
|
||||
if (mpParticleEmitter) {
|
||||
mpParticleEmitter->becomeInvalidEmitter();
|
||||
mpParticleEmitter = NULL;
|
||||
}
|
||||
|
||||
mCurState = 6;
|
||||
}
|
||||
|
||||
/* 800F5AFC-800F5BC8 .text execMainNormalDirection__8daItem_cFv */
|
||||
void daItem_c::execMainNormalDirection() {
|
||||
/* Nonmatching */
|
||||
daPy_py_c* player = daPy_getPlayerActorClass();
|
||||
cXyz headPos = player->getHeadTopPos();
|
||||
headPos.y += 15.0f;
|
||||
current.pos.x = headPos.x;
|
||||
current.pos.z = headPos.z;
|
||||
fopAcM_posMoveF(this, NULL);
|
||||
if (current.pos.y < headPos.y) {
|
||||
current.pos.y = headPos.y;
|
||||
}
|
||||
|
||||
current.angle = dComIfGp_getCamera(0)->mAngle;
|
||||
|
||||
field_0x65c--;
|
||||
if (field_0x65c < 0) {
|
||||
fopAcM_delete(this);
|
||||
}
|
||||
}
|
||||
|
||||
/* 800F5BC8-800F5C68 .text execInitGetDemoDirection__8daItem_cFv */
|
||||
void daItem_c::execInitGetDemoDirection() {
|
||||
/* Nonmatching */
|
||||
fopAc_ac_c* player = daPy_getPlayerActorClass();
|
||||
daPy_lk_c* link = daPy_getPlayerLinkActorClass();
|
||||
|
||||
hide();
|
||||
mPtclFollowCb.end();
|
||||
|
||||
if (player == link) {
|
||||
fopAcM_orderItemEvent(this);
|
||||
mEvtInfo.onCondition(dEvtCnd_CANGETITEM_e);
|
||||
mDemoItemBsPcId = fopAcM_createItemForTrBoxDemo(¤t.pos, m_itemNo, -1, current.roomNo, NULL, NULL);
|
||||
mCurState = 8;
|
||||
}
|
||||
}
|
||||
|
||||
/* 800F5C68-800F5CDC .text execWaitGetDemoDirection__8daItem_cFv */
|
||||
void daItem_c::execWaitGetDemoDirection() {
|
||||
/* Nonmatching */
|
||||
hide();
|
||||
|
||||
if (mEvtInfo.checkCommandItem()) {
|
||||
mCurState = 9;
|
||||
if (mDemoItemBsPcId != -1) {
|
||||
dComIfGp_event_setItemPartnerId(mDemoItemBsPcId);
|
||||
}
|
||||
} else {
|
||||
fopAcM_orderItemEvent(this);
|
||||
mEvtInfo.onCondition(dEvtCnd_CANGETITEM_e);
|
||||
}
|
||||
}
|
||||
|
||||
/* 800F5CDC-800F5D44 .text execMainGetDemoDirection__8daItem_cFv */
|
||||
void daItem_c::execMainGetDemoDirection() {
|
||||
/* Nonmatching */
|
||||
hide();
|
||||
|
||||
if (dComIfGp_evmng_endCheck("DEFAULT_GETITEM")) {
|
||||
dComIfGp_event_reset();
|
||||
fopAcM_delete(this);
|
||||
}
|
||||
}
|
||||
|
||||
/* 800F5D44-800F5D88 .text execBringNezumi__8daItem_cFv */
|
||||
void daItem_c::execBringNezumi() {
|
||||
if (mUnknownParam != 1) {
|
||||
if (mType != 1) {
|
||||
fopAcM_posMoveF(this, mStts.GetCCMoveP());
|
||||
}
|
||||
mode_proc_call();
|
||||
@@ -298,25 +448,79 @@ void daItem_c::execBringNezumi() {
|
||||
|
||||
/* 800F5D88-800F5F40 .text execWaitMain__8daItem_cFv */
|
||||
void daItem_c::execWaitMain() {
|
||||
/* Nonmatching */
|
||||
checkGetItem();
|
||||
if (mType != 1) {
|
||||
fopAcM_posMoveF(this, mStts.GetCCMoveP());
|
||||
}
|
||||
mode_proc_call();
|
||||
|
||||
if (!(mStatusFlags & 0x02)) {
|
||||
f32 temp1 = mScaleTarget.x / getData()->mScaleAnimSpeed;
|
||||
f32 temp2 = mScaleTarget.y / getData()->mScaleAnimSpeed;
|
||||
f32 temp3 = mScaleTarget.z / getData()->mScaleAnimSpeed;
|
||||
cLib_chaseF(&mScale.x, mScaleTarget.x, temp1);
|
||||
cLib_chaseF(&mScale.y, mScaleTarget.y, temp2);
|
||||
cLib_chaseF(&mScale.z, mScaleTarget.z, temp3);
|
||||
}
|
||||
|
||||
if (checkItemDisappear() && mItemTimer == 0) {
|
||||
if (field_0x65a == 0) {
|
||||
fopAcM_delete(this);
|
||||
}
|
||||
s32 temp1 = getData()->field_0x14;
|
||||
s32 temp2 = field_0x634 / temp1;
|
||||
if (!(field_0x634 - temp2 * temp1)) {
|
||||
changeDraw();
|
||||
}
|
||||
}
|
||||
|
||||
if (!dItem_data::chkFlag(m_itemNo, 2)) {
|
||||
if (mActivationSwitch == 0xFF || (mActivationSwitch != 0xFF && fopAcM_isSwitch(this, mActivationSwitch))) {
|
||||
mCyl.SetC(current.pos);
|
||||
dComIfG_Ccsp()->Set(&mCyl);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 800F5F40-800F5FC0 .text execWaitMainFromBoss__8daItem_cFv */
|
||||
void daItem_c::execWaitMainFromBoss() {
|
||||
/* Nonmatching */
|
||||
checkGetItem();
|
||||
if (mType != 1) {
|
||||
fopAcM_posMoveF(this, mStts.GetCCMoveP());
|
||||
}
|
||||
mode_proc_call();
|
||||
|
||||
if (mCurState != 0xB) {
|
||||
scaleAnimFromBossItem();
|
||||
}
|
||||
|
||||
mCyl.SetC(current.pos);
|
||||
dComIfG_Ccsp()->Set(&mCyl);
|
||||
}
|
||||
|
||||
/* 800F5FC0-800F60C0 .text scaleAnimFromBossItem__8daItem_cFv */
|
||||
void daItem_c::scaleAnimFromBossItem() {
|
||||
/* Nonmatching */
|
||||
if (field_0x638 < 30) {
|
||||
mScale.x = cM_ssin(field_0x634*0x2000 - 0x4000)*2.0f / field_0x634+1.0f;
|
||||
if (mScale.x < 0.0f) {
|
||||
mScale.x = 0.0f;
|
||||
}
|
||||
mScale.y = mScale.x;
|
||||
mScale.z = mScale.x;
|
||||
} else {
|
||||
if (field_0x638 == 30) {
|
||||
fopAcM_seStart(this, JA_SE_CM_BOSS_HEART_APPEAR, 0);
|
||||
}
|
||||
mScale.setAll(1.0f);
|
||||
}
|
||||
}
|
||||
|
||||
/* 800F60C0-800F6110 .text _daItem_draw__8daItem_cFv */
|
||||
s32 daItem_c::_daItem_draw() {
|
||||
BOOL daItem_c::_daItem_draw() {
|
||||
if (chkDraw()) {
|
||||
return DrawBase();
|
||||
}
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 800F6110-800F61C8 .text setTevStr__8daItem_cFv */
|
||||
@@ -340,22 +544,241 @@ void daItem_c::setTevStr() {
|
||||
}
|
||||
|
||||
/* 800F61C8-800F6268 .text _daItem_delete__8daItem_cFv */
|
||||
s32 daItem_c::_daItem_delete() {
|
||||
/* Nonmatching */
|
||||
BOOL daItem_c::_daItem_delete() {
|
||||
mPtclRippleCb.end();
|
||||
// TODO
|
||||
mPtclFollowCb.end();
|
||||
mPtclSmokeCb.end();
|
||||
if (mpParticleEmitter) {
|
||||
mpParticleEmitter->becomeInvalidEmitter();
|
||||
mpParticleEmitter = NULL;
|
||||
}
|
||||
|
||||
DeleteBase(dItem_data::getFieldArc(m_itemNo));
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 800F6268-800F6434 .text Reflect__FR4cXyzP4cXyzff */
|
||||
void Reflect(cXyz&, cXyz*, float, float) {
|
||||
/* Nonmatching */
|
||||
bool Reflect(cXyz& surfVec, cXyz* moveVec, f32 param_2, f32 xzMult) {
|
||||
// Reflects a vector off the normal of a surface.
|
||||
cXyz reflectVec;
|
||||
cXyz moveNorm;
|
||||
cXyz surfNorm;
|
||||
f32 mag = moveVec->abs();
|
||||
moveNorm = moveVec->normalize();
|
||||
surfNorm = surfVec.normalize();
|
||||
moveNorm = moveNorm * -1.0f;
|
||||
f32 dot = 2.0f*surfNorm.getDotProduct(moveNorm);
|
||||
bool hitFront = true;
|
||||
if (dot < 0.0f) {
|
||||
hitFront = false;
|
||||
}
|
||||
reflectVec = (surfNorm * dot) - moveNorm;
|
||||
reflectVec *= mag;
|
||||
moveVec->x = reflectVec.x * xzMult;
|
||||
moveVec->y = reflectVec.y;
|
||||
moveVec->z = reflectVec.z * xzMult;
|
||||
return hitFront;
|
||||
}
|
||||
|
||||
/* 800F6434-800F6D24 .text itemGetExecute__8daItem_cFv */
|
||||
void daItem_c::itemGetExecute() {
|
||||
/* Nonmatching */
|
||||
execItemGet(m_itemNo);
|
||||
if (mCurState == 5) {
|
||||
return;
|
||||
}
|
||||
mCurState = 5;
|
||||
|
||||
switch (m_itemNo) {
|
||||
case HEART:
|
||||
mDoAud_seStart(JA_SE_HEART_PIECE, NULL, 0, 0);
|
||||
execItemGet(m_itemNo);
|
||||
break;
|
||||
case GREEN_RUPEE:
|
||||
mDoAud_seStart(JA_SE_LUPY_GET, NULL, 0, 0);
|
||||
execItemGet(m_itemNo);
|
||||
break;
|
||||
case BLUE_RUPEE:
|
||||
mDoAud_seStart(JA_SE_BLUE_LUPY_GET, NULL, 0, 0);
|
||||
execItemGet(m_itemNo);
|
||||
break;
|
||||
case YELLOW_RUPEE:
|
||||
mDoAud_seStart(JA_SE_BLUE_LUPY_GET, NULL, 0, 0);
|
||||
execItemGet(m_itemNo);
|
||||
break;
|
||||
case RED_RUPEE:
|
||||
mDoAud_seStart(JA_SE_RED_LUPY_GET, NULL, 0, 0);
|
||||
execItemGet(m_itemNo);
|
||||
break;
|
||||
case PURPLE_RUPEE:
|
||||
mDoAud_seStart(JA_SE_RED_LUPY_GET, NULL, 0, 0);
|
||||
execItemGet(m_itemNo);
|
||||
break;
|
||||
case ORANGE_RUPEE:
|
||||
mDoAud_seStart(JA_SE_RED_LUPY_GET, NULL, 0, 0);
|
||||
execItemGet(m_itemNo);
|
||||
break;
|
||||
case SILVER_RUPEE:
|
||||
mDoAud_seStart(JA_SE_RED_LUPY_GET, NULL, 0, 0);
|
||||
execItemGet(m_itemNo);
|
||||
break;
|
||||
case UTUWA_HEART:
|
||||
mDoAud_seStart(JA_SE_HEART_PIECE, NULL, 0, 0);
|
||||
mCurState = 7;
|
||||
break;
|
||||
case KAKERA_HEART:
|
||||
mDoAud_seStart(JA_SE_HEART_PIECE, NULL, 0, 0);
|
||||
mCurState = 7;
|
||||
break;
|
||||
case S_MAGIC:
|
||||
mDoAud_seStart(JA_SE_MAGIC_POT_GET_S, NULL, 0, 0);
|
||||
execItemGet(m_itemNo);
|
||||
break;
|
||||
case L_MAGIC:
|
||||
mDoAud_seStart(JA_SE_MAGIC_POT_GET_L, NULL, 0, 0);
|
||||
execItemGet(m_itemNo);
|
||||
break;
|
||||
case BOMB_5:
|
||||
case BOMB_10:
|
||||
case BOMB_20:
|
||||
case BOMB_30:
|
||||
mDoAud_seStart(JA_SE_CONSUMP_ITEM_GET, NULL, 0, 0);
|
||||
execItemGet(m_itemNo);
|
||||
break;
|
||||
case SMALL_KEY:
|
||||
mCurState = 7;
|
||||
break;
|
||||
case TRIPLE_HEART:
|
||||
mDoAud_seStart(JA_SE_HEART_PIECE, NULL, 0, 0);
|
||||
execItemGet(m_itemNo);
|
||||
break;
|
||||
case PENDANT:
|
||||
mDoAud_seStart(JA_SE_SPOILS_GET, NULL, 0, 0);
|
||||
if (!dComIfGs_isGetItemBeast(7)) {
|
||||
mCurState = 7;
|
||||
dComIfGs_onGetItemBeast(7);
|
||||
} else {
|
||||
execItemGet(m_itemNo);
|
||||
}
|
||||
break;
|
||||
case DEKU_LEAF:
|
||||
mCurState = 7;
|
||||
break;
|
||||
case SWORD:
|
||||
daItem_c* item = (daItem_c*)fopAcM_SearchByName(PROC_ITEM);
|
||||
if (item && item->m_itemNo == SHIELD) {
|
||||
item->itemGetExecute();
|
||||
}
|
||||
mCurState = 7;
|
||||
break;
|
||||
case SHIELD:
|
||||
item = (daItem_c*)fopAcM_SearchByName(PROC_ITEM);
|
||||
if (item && item->m_itemNo == SWORD) {
|
||||
item->itemGetExecute();
|
||||
}
|
||||
mCurState = 7;
|
||||
break;
|
||||
case DROPPED_SWORD:
|
||||
mCurState = 7;
|
||||
break;
|
||||
case SKULL_NECKLACE:
|
||||
mDoAud_seStart(JA_SE_SPOILS_GET, NULL, 0, 0);
|
||||
if (!dComIfGs_isGetItemBeast(0)) {
|
||||
mCurState = 7;
|
||||
dComIfGs_onGetItemBeast(0);
|
||||
} else {
|
||||
execItemGet(m_itemNo);
|
||||
}
|
||||
break;
|
||||
case BOKOBABA_SEED:
|
||||
mDoAud_seStart(JA_SE_SPOILS_GET, NULL, 0, 0);
|
||||
if (!dComIfGs_isGetItemBeast(1)) {
|
||||
mCurState = 7;
|
||||
dComIfGs_onGetItemBeast(1);
|
||||
} else {
|
||||
execItemGet(m_itemNo);
|
||||
}
|
||||
break;
|
||||
case GOLDEN_FEATHER:
|
||||
mDoAud_seStart(JA_SE_SPOILS_GET, NULL, 0, 0);
|
||||
if (!dComIfGs_isGetItemBeast(2)) {
|
||||
mCurState = 7;
|
||||
dComIfGs_onGetItemBeast(2);
|
||||
} else {
|
||||
execItemGet(m_itemNo);
|
||||
}
|
||||
break;
|
||||
case BOKO_BELT:
|
||||
mDoAud_seStart(JA_SE_SPOILS_GET, NULL, 0, 0);
|
||||
if (!dComIfGs_isGetItemBeast(3)) {
|
||||
mCurState = 7;
|
||||
dComIfGs_onGetItemBeast(3);
|
||||
} else {
|
||||
execItemGet(m_itemNo);
|
||||
}
|
||||
break;
|
||||
case RED_JELLY:
|
||||
mDoAud_seStart(JA_SE_SPOILS_GET, NULL, 0, 0);
|
||||
if (!dComIfGs_isGetItemBeast(4)) {
|
||||
mCurState = 7;
|
||||
dComIfGs_onGetItemBeast(4);
|
||||
} else {
|
||||
execItemGet(m_itemNo);
|
||||
}
|
||||
break;
|
||||
case GREEN_JELLY:
|
||||
mDoAud_seStart(JA_SE_SPOILS_GET, NULL, 0, 0);
|
||||
if (!dComIfGs_isGetItemBeast(5)) {
|
||||
mCurState = 7;
|
||||
dComIfGs_onGetItemBeast(5);
|
||||
} else {
|
||||
execItemGet(m_itemNo);
|
||||
}
|
||||
break;
|
||||
case BLUE_JELLY:
|
||||
mDoAud_seStart(JA_SE_SPOILS_GET, NULL, 0, 0);
|
||||
if (!dComIfGs_isGetItemBeast(6)) {
|
||||
mCurState = 7;
|
||||
dComIfGs_onGetItemBeast(6);
|
||||
} else {
|
||||
execItemGet(m_itemNo);
|
||||
}
|
||||
break;
|
||||
case ANIMAL_ESA:
|
||||
mDoAud_seStart(JA_SE_ESA_GET, NULL, 0, 0);
|
||||
if (!dComIfGs_isGetItemBait(0)) {
|
||||
mCurState = 7;
|
||||
dComIfGs_onGetItemBait(0);
|
||||
} else {
|
||||
execItemGet(m_itemNo);
|
||||
}
|
||||
break;
|
||||
case BIRD_ESA_5:
|
||||
mDoAud_seStart(JA_SE_ESA_GET, NULL, 0, 0);
|
||||
if (!dComIfGs_isGetItemBait(1)) {
|
||||
mCurState = 7;
|
||||
dComIfGs_onGetItemBait(1);
|
||||
} else {
|
||||
execItemGet(m_itemNo);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
u8 roomNo = getRoomNo();
|
||||
s32 flag = mPickupFlag;
|
||||
if (m_itemNo == BLUE_JELLY) {
|
||||
// Blue Chu Jelly uses mPickupFlag as if it was a switch.
|
||||
// Specifically a switch in stageNo 0xE, which is not used for anything else.
|
||||
dComIfGs_onSaveSwitch(0xE, flag);
|
||||
} else {
|
||||
dComIfGs_onItem(flag, (s8)roomNo);
|
||||
}
|
||||
|
||||
mStatusFlags &= ~0x4;
|
||||
|
||||
mCyl.SetTgType(0);
|
||||
mCyl.OffCoSPrmBit(1);
|
||||
mCyl.ClrTgHit();
|
||||
mCyl.ClrCoHit();
|
||||
}
|
||||
|
||||
/* 800F6D24-800F6D78 .text itemDefaultRotateY__8daItem_cFv */
|
||||
@@ -366,8 +789,8 @@ void daItem_c::itemDefaultRotateY() {
|
||||
}
|
||||
|
||||
/* 800F6D78-800F6E54 .text checkItemDisappear__8daItem_cFv */
|
||||
bool daItem_c::checkItemDisappear() {
|
||||
bool disappearing = true;
|
||||
BOOL daItem_c::checkItemDisappear() {
|
||||
BOOL disappearing = true;
|
||||
if (mCurState == 3) {
|
||||
disappearing = false;
|
||||
show();
|
||||
@@ -405,7 +828,7 @@ void daItem_c::setItemTimer(int timer) {
|
||||
|
||||
/* 800F6E74-800F6EC8 .text checkPlayerGet__8daItem_cFv */
|
||||
BOOL daItem_c::checkPlayerGet() {
|
||||
if (field_0x638 < getData()->field47_0x42) {
|
||||
if (field_0x638 < getData()->field_0x42) {
|
||||
return FALSE;
|
||||
}
|
||||
if (mCurState == 3) {
|
||||
@@ -446,18 +869,77 @@ void daItem_c::itemActionForArrow() {
|
||||
|
||||
/* 800F7AF0-800F7BF8 .text checkWall__8daItem_cFv */
|
||||
void daItem_c::checkWall() {
|
||||
/* Nonmatching */
|
||||
// If the item hit a wall, bounce off.
|
||||
if (!mAcch.ChkWallHit()) {
|
||||
return;
|
||||
}
|
||||
|
||||
cM3dGPla* wallPlane = dComIfG_Bgsp()->GetTriPla(mAcchCir.GetBgIndex(), mAcchCir.GetPolyIndex());
|
||||
cXyz wallNorm = wallPlane->mNormal;
|
||||
|
||||
cXyz vel;
|
||||
vel.x = speedF * cM_ssin(current.angle.y);
|
||||
vel.y = speed.y;
|
||||
vel.z = speedF * cM_scos(current.angle.y);
|
||||
|
||||
if (!cM3d_IsZero(vel.x) || !cM3d_IsZero(vel.z)) {
|
||||
Reflect(wallNorm, &vel, 1.0f, 1.0f);
|
||||
if (!cM3d_IsZero(vel.x)) {
|
||||
current.angle.y = cM_atan2s(vel.x, vel.z);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 800F7BF8-800F7DDC .text set_bound_se__8daItem_cFv */
|
||||
void daItem_c::set_bound_se() {
|
||||
/* Nonmatching */
|
||||
if (field_0x638 < 10) {
|
||||
return;
|
||||
}
|
||||
|
||||
f32 temp2 = fabs(field_0x650);
|
||||
temp2 = 2.0f * temp2;
|
||||
u32 temp = temp2;
|
||||
if (temp > 100) {
|
||||
temp = 100;
|
||||
}
|
||||
|
||||
switch (m_itemNo) {
|
||||
case GREEN_RUPEE:
|
||||
case BLUE_RUPEE:
|
||||
case YELLOW_RUPEE:
|
||||
case RED_RUPEE:
|
||||
case PURPLE_RUPEE:
|
||||
case ORANGE_RUPEE:
|
||||
fopAcM_seStart(this, JA_SE_OBJ_LUPY_BOUND, temp);
|
||||
break;
|
||||
case S_MAGIC:
|
||||
case L_MAGIC:
|
||||
fopAcM_seStart(this, JA_SE_OBJ_M_POT_BOUND, temp);
|
||||
break;
|
||||
case ARROW_10:
|
||||
case ARROW_20:
|
||||
case ARROW_30:
|
||||
case MAGIC_ARROW:
|
||||
case LIGHT_ARROW:
|
||||
fopAcM_seStart(this, JA_SE_CM_BST_ARROW_BOUND, temp);
|
||||
break;
|
||||
case KAKERA_HEART:
|
||||
case UTUWA_HEART:
|
||||
fopAcM_seStart(this, JA_SE_CM_BST_HEART_BOUND, temp);
|
||||
break;
|
||||
case BOMB_5:
|
||||
case BOMB_10:
|
||||
case BOMB_20:
|
||||
case BOMB_30:
|
||||
fopAcM_seStart(this, JA_SE_CM_BST_BOMB_BOUND, temp);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* 800F7DDC-800F7E6C .text checkGetItem__8daItem_cFv */
|
||||
s32 daItem_c::checkGetItem() {
|
||||
BOOL daItem_c::checkGetItem() {
|
||||
if (!checkPlayerGet()) {
|
||||
return 0;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (mCyl.ChkTgHit()) {
|
||||
@@ -466,24 +948,39 @@ s32 daItem_c::checkGetItem() {
|
||||
u32 atType = hitObj->GetAtType();
|
||||
if (atType & AT_TYPE_SWORD) {
|
||||
itemGetExecute();
|
||||
return 1;
|
||||
return TRUE;
|
||||
} else if (atType & AT_TYPE_BOOMERANG) {
|
||||
mStatusFlags |= 0x08;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* 800F7E6C-800F7F0C .text timeCount__8daItem_cFv */
|
||||
void daItem_c::timeCount() {
|
||||
/* Nonmatching */
|
||||
BOOL daItem_c::timeCount() {
|
||||
field_0x634++;
|
||||
if (field_0x638 < m_timer_max) {
|
||||
field_0x638++;
|
||||
}
|
||||
|
||||
if (checkPlayerGet() && !dComIfGp_event_runCheck()) {
|
||||
if (mItemTimer > 0) {
|
||||
mItemTimer--;
|
||||
} else if (field_0x65a > 0) {
|
||||
field_0x65a--;
|
||||
}
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 800F7F0C-800F7F50 .text mode_wait_init__8daItem_cFv */
|
||||
void daItem_c::mode_wait_init() {
|
||||
/* Nonmatching */
|
||||
mMode = 0;
|
||||
mGravity = getData()->mFieldItemGravity;
|
||||
mPtclRippleCb.end();
|
||||
}
|
||||
|
||||
/* 800F7F50-800F80CC .text mode_water_init__8daItem_cFv */
|
||||
@@ -507,22 +1004,22 @@ void daItem_c::initAction() {
|
||||
}
|
||||
|
||||
/* 800F8950-800F8970 .text daItem_Draw__FP8daItem_c */
|
||||
s32 daItem_Draw(daItem_c* i_this) {
|
||||
BOOL daItem_Draw(daItem_c* i_this) {
|
||||
return i_this->_daItem_draw();
|
||||
}
|
||||
|
||||
/* 800F8970-800F8990 .text daItem_Execute__FP8daItem_c */
|
||||
s32 daItem_Execute(daItem_c* i_this) {
|
||||
BOOL daItem_Execute(daItem_c* i_this) {
|
||||
return i_this->_daItem_execute();
|
||||
}
|
||||
|
||||
/* 800F8990-800F89B0 .text daItem_IsDelete__FP8daItem_c */
|
||||
s32 daItem_IsDelete(daItem_c* i_this) {
|
||||
BOOL daItem_IsDelete(daItem_c* i_this) {
|
||||
return i_this->_daItem_isdelete();
|
||||
}
|
||||
|
||||
/* 800F89B0-800F89D0 .text daItem_Delete__FP8daItem_c */
|
||||
s32 daItem_Delete(daItem_c* i_this) {
|
||||
BOOL daItem_Delete(daItem_c* i_this) {
|
||||
return i_this->_daItem_delete();
|
||||
}
|
||||
|
||||
@@ -532,10 +1029,40 @@ s32 daItem_Create(fopAc_ac_c* i_this) {
|
||||
}
|
||||
|
||||
/* 800F89F0-800F89F8 .text _daItem_isdelete__8daItem_cFv */
|
||||
s32 daItem_c::_daItem_isdelete() {
|
||||
return 1;
|
||||
BOOL daItem_c::_daItem_isdelete() {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
dCcD_SrcCyl daItem_c::m_cyl_src = {
|
||||
// dCcD_SrcGObjInf
|
||||
{
|
||||
/* Flags */ 0,
|
||||
/* SrcObjAt Type */ 0,
|
||||
/* SrcObjAt Atp */ 0,
|
||||
/* SrcObjAt SPrm */ 0,
|
||||
/* SrcObjTg Type */ 0xFFFFFFFF,
|
||||
/* SrcObjTg SPrm */ 0x09,
|
||||
/* SrcObjCo SPrm */ 0x59,
|
||||
/* SrcGObjAt Se */ 0,
|
||||
/* SrcGObjAt HitMark */ 0,
|
||||
/* SrcGObjAt Spl */ 0,
|
||||
/* SrcGObjAt Mtrl */ 0,
|
||||
/* SrcGObjAt GFlag */ 0,
|
||||
/* SrcGObjTg Se */ 0,
|
||||
/* SrcGObjTg HitMark */ 0,
|
||||
/* SrcGObjTg Spl */ 0,
|
||||
/* SrcGObjTg Mtrl */ 0,
|
||||
/* SrcGObjTg GFlag */ 0x04,
|
||||
/* SrcGObjCo GFlag */ 0,
|
||||
},
|
||||
// cM3dGCylS
|
||||
{
|
||||
/* Center */ 0.0f, 0.0f, 0.0f,
|
||||
/* Radius */ 10.0f,
|
||||
/* Height */ 50.0f,
|
||||
},
|
||||
};
|
||||
|
||||
static actor_method_class l_daItem_Method = {
|
||||
(process_method_func)daItem_Create,
|
||||
(process_method_func)daItem_Delete,
|
||||
|
||||
@@ -558,8 +558,8 @@ namespace daObjMovebox {
|
||||
} else {
|
||||
numPnts = 4;
|
||||
}
|
||||
if (numPnts > mPath->mNum) {
|
||||
numPnts = mPath->mNum;
|
||||
if (numPnts > mPath->m_num) {
|
||||
numPnts = mPath->m_num;
|
||||
}
|
||||
|
||||
s32 pntIdx;
|
||||
|
||||
@@ -97,11 +97,6 @@ dCcD_GObjInf::dCcD_GObjInf() {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
/* 800AB63C-800AB7C0 .text __dt__12dCcD_GObjInfFv */
|
||||
dCcD_GObjInf::~dCcD_GObjInf() {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
/* 800AB7C0-800AB7C4 .text GetGObjInf__12dCcD_GObjInfFv */
|
||||
cCcD_GObjInf* dCcD_GObjInf::GetGObjInf() {
|
||||
return (cCcD_GObjInf*)this;
|
||||
@@ -268,106 +263,6 @@ void dCcD_Sph::MoveCAt(cXyz&) {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
// /* 800AC0E8-800AC130 .text __dt__10cCcD_GSttsFv */
|
||||
// cCcD_GStts::~cCcD_GStts() {
|
||||
// /* Nonmatching */
|
||||
// }
|
||||
|
||||
// /* 800AC130-800AC228 .text __dt__12cCcD_GObjInfFv */
|
||||
// cCcD_GObjInf::~cCcD_GObjInf() {
|
||||
// /* Nonmatching */
|
||||
// }
|
||||
|
||||
// /* 800AC228-800AC310 .text __dt__8cCcD_ObjFv */
|
||||
// cCcD_Obj::~cCcD_Obj() {
|
||||
// /* Nonmatching */
|
||||
// }
|
||||
|
||||
// /* 800AC310-800AC3D0 .text __dt__14cCcD_ObjHitInfFv */
|
||||
// cCcD_ObjHitInf::~cCcD_ObjHitInf() {
|
||||
// /* Nonmatching */
|
||||
// }
|
||||
|
||||
// /* 800AC3D0-800AC42C .text __dt__10cCcD_ObjCoFv */
|
||||
// cCcD_ObjCo::~cCcD_ObjCo() {
|
||||
// /* Nonmatching */
|
||||
// }
|
||||
|
||||
// /* 800AC42C-800AC488 .text __dt__10cCcD_ObjTgFv */
|
||||
// cCcD_ObjTg::~cCcD_ObjTg() {
|
||||
// /* Nonmatching */
|
||||
// }
|
||||
|
||||
// /* 800AC488-800AC4E4 .text __dt__10cCcD_ObjAtFv */
|
||||
// cCcD_ObjAt::~cCcD_ObjAt() {
|
||||
// /* Nonmatching */
|
||||
// }
|
||||
|
||||
// /* 800AC4E4-800AC52C .text __dt__18cCcD_ObjCommonBaseFv */
|
||||
// cCcD_ObjCommonBase::~cCcD_ObjCommonBase() {
|
||||
// /* Nonmatching */
|
||||
// }
|
||||
|
||||
// /* 800AC52C-800AC534 .text GetGObjInf__8cCcD_ObjFv */
|
||||
// cCcD_GObjInf* cCcD_Obj::GetGObjInf() {
|
||||
// /* Nonmatching */
|
||||
// }
|
||||
|
||||
// /* 800AC534-800AC538 .text GetGObjInf__12cCcD_GObjInfCFv */
|
||||
// cCcD_GObjInf const* cCcD_GObjInf::GetGObjInf() const {
|
||||
// /* Nonmatching */
|
||||
// }
|
||||
|
||||
// /* 800AC538-800AC540 .text GetShapeAttr__8cCcD_ObjCFv */
|
||||
// cCcD_ShapeAttr const* cCcD_Obj::GetShapeAttr() const {
|
||||
// /* Nonmatching */
|
||||
// }
|
||||
|
||||
// /* 800AC540-800AC558 .text ClrAtHit__12cCcD_GObjInfFv */
|
||||
// void cCcD_GObjInf::ClrAtHit() {
|
||||
// /* Nonmatching */
|
||||
// }
|
||||
|
||||
// /* 800AC558-800AC570 .text ClrTgHit__12cCcD_GObjInfFv */
|
||||
// void cCcD_GObjInf::ClrTgHit() {
|
||||
// /* Nonmatching */
|
||||
// }
|
||||
|
||||
// /* 800AC570-800AC588 .text ClrCoHit__12cCcD_GObjInfFv */
|
||||
// void cCcD_GObjInf::ClrCoHit() {
|
||||
// /* Nonmatching */
|
||||
// }
|
||||
|
||||
// /* 800AC588-800AC58C .text GetGObjInf__12cCcD_GObjInfFv */
|
||||
// cCcD_GObjInf* cCcD_GObjInf::GetGObjInf() {
|
||||
// /* Nonmatching */
|
||||
// }
|
||||
|
||||
// /* 800AC58C-800AC594 .text GetGObjInf__8cCcD_ObjCFv */
|
||||
// cCcD_GObjInf const* cCcD_Obj::GetGObjInf() const {
|
||||
// /* Nonmatching */
|
||||
// }
|
||||
|
||||
/* 800AC594-800AC5F0 .text __dt__11dCcD_GObjCoFv */
|
||||
dCcD_GObjCo::~dCcD_GObjCo() {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
/* 800AC5F0-800AC64C .text __dt__11dCcD_GObjTgFv */
|
||||
dCcD_GObjTg::~dCcD_GObjTg() {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
/* 800AC64C-800AC6A8 .text __dt__11dCcD_GObjAtFv */
|
||||
dCcD_GObjAt::~dCcD_GObjAt() {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
/* 800AC6A8-800AC6F0 .text __dt__22dCcD_GAtTgCoCommonBaseFv */
|
||||
dCcD_GAtTgCoCommonBase::~dCcD_GAtTgCoCommonBase() {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
/* 800AC6F0-800AC700 .text GetGStts__9dCcD_SttsFv */
|
||||
cCcD_GStts* dCcD_Stts::GetGStts() {
|
||||
/* Nonmatching */
|
||||
@@ -382,13 +277,3 @@ void dCcD_Stts::ClrAt() {
|
||||
void dCcD_Stts::ClrTg() {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
/* 800AC71C-800AC7AC .text __dt__9dCcD_SttsFv */
|
||||
dCcD_Stts::~dCcD_Stts() {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
/* 800AC7AC-800AC808 .text __dt__10dCcD_GSttsFv */
|
||||
dCcD_GStts::~dCcD_GStts() {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user