mirror of https://github.com/zeldaret/tp.git
wip
This commit is contained in:
parent
70eabb12bd
commit
fd9c4cafc4
|
|
@ -6,7 +6,7 @@
|
|||
#include "dolphin/types.h"
|
||||
|
||||
struct J2DAnmLoaderDataBase {
|
||||
/* 80308A6C */ static void load(void const*);
|
||||
/* 80308A6C */ static void* load(void const*);
|
||||
};
|
||||
|
||||
class J2DAnmLoader {
|
||||
|
|
|
|||
|
|
@ -128,6 +128,9 @@ public:
|
|||
void* getPointer(JSURandomInputStream* stream, u32 size, JKRArchive* archive);
|
||||
void animationTransform();
|
||||
void updateTransform(const J2DAnmTransform* transform);
|
||||
void setUserInfo(u64 info) {
|
||||
mUserInfoTag = info;
|
||||
}
|
||||
|
||||
static f32 static_mBounds[4];
|
||||
|
||||
|
|
|
|||
|
|
@ -29,6 +29,14 @@ public:
|
|||
static J3DJoint* mJoint;
|
||||
}; // Size: 0x4
|
||||
|
||||
class J3DMtxCalcNoAnmBase : public J3DMtxCalc {
|
||||
public:
|
||||
/* 8000FA8C */ virtual ~J3DMtxCalcNoAnmBase();
|
||||
};
|
||||
|
||||
template <typename A, typename B>
|
||||
class J3DMtxCalcNoAnm : public J3DMtxCalcNoAnmBase, public A, public B {};
|
||||
|
||||
class J3DJoint;
|
||||
typedef int (*J3DJointCallBack)(J3DJoint*, int);
|
||||
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@ public:
|
|||
void offFlag(u32 flag) { mFlags &= ~flag; }
|
||||
bool checkFlag(u32 flag) const { return (mFlags & flag) ? true : false; }
|
||||
Mtx& getBaseTRMtx() { return mBaseTransformMtx; }
|
||||
void i_setBaseTRMtx(Mtx m) { PSMTXCopy(m, mBaseTransformMtx); }
|
||||
|
||||
// is there a better way to handle inlines with same name as non-inlines?
|
||||
MtxP i_getAnmMtx(int p1) { return mMtxBuffer->getAnmMtx(p1); }
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ public:
|
|||
}
|
||||
bool Cross(cM3dGCyl const* cyl, cXyz* xyz) const { return cM3d_Cross_CpsCyl(*this, *cyl, xyz); }
|
||||
bool Cross(cM3dGSph const* sph, cXyz* xyz) const { return cM3d_Cross_CpsSph(*this, *sph, xyz); }
|
||||
void SetR(f32 r) { mRadius = r; }
|
||||
|
||||
}; // Size = 0x20
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -12,12 +12,15 @@
|
|||
#include "f_op/f_op_actor.h"
|
||||
|
||||
class daPy_sightPacket_c : public dDlst_base_c {
|
||||
public:
|
||||
/* 8015F1A0 */ virtual void draw();
|
||||
/* 80140CDC */ virtual ~daPy_sightPacket_c();
|
||||
|
||||
/* 8015F2FC */ void setSight();
|
||||
/* 8015F384 */ void setSightImage(ResTIMG*);
|
||||
|
||||
bool getDrawFlg() { return mDrawFlag; }
|
||||
|
||||
private:
|
||||
/* 0x04 */ bool mDrawFlag;
|
||||
/* 0x05 */ u8 field_0x5[3];
|
||||
|
|
@ -54,12 +57,13 @@ public:
|
|||
J3DAnmBase* loadDataIdx(u16);
|
||||
J3DAnmBase* loadDataPriIdx(u16);
|
||||
J3DAnmBase* loadDataDemoRID(u16, u16);
|
||||
void setAnimeHeap();
|
||||
JKRHeap* setAnimeHeap();
|
||||
|
||||
u16 getIdx() const { return mIdx; }
|
||||
void resetIdx() { mIdx = 0xffff; }
|
||||
void resetPriIdx() { mPriIdx = 0xffff; }
|
||||
void resetArcNo() { mArcNo = 0xffff; }
|
||||
bool checkNoSetArcNo() const { return mArcNo == 0xFFFF; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ u16 mIdx;
|
||||
|
|
@ -84,9 +88,9 @@ public:
|
|||
fopAc_ac_c* getActorConst() const { return mActor; }
|
||||
|
||||
private:
|
||||
u32 mID;
|
||||
fopAc_ac_c* mActor;
|
||||
};
|
||||
/* 0x0 */ u32 mID;
|
||||
/* 0x4 */ fopAc_ac_c* mActor;
|
||||
}; // Size: 0x8
|
||||
|
||||
class daPy_frameCtrl_c : public J3DFrameCtrl {
|
||||
public:
|
||||
|
|
@ -122,6 +126,7 @@ public:
|
|||
u16 getDemoType() const { return mDemoType; }
|
||||
void setDemoMode(u32 mode) { mDemoMode = mode; }
|
||||
u32 getDemoMode() const { return mDemoMode; }
|
||||
void i_setSpecialDemoType() { setDemoType(5); }
|
||||
|
||||
private:
|
||||
/* 0x00 */ u16 mDemoType;
|
||||
|
|
@ -135,6 +140,8 @@ private:
|
|||
/* 0x18 */ cXyz mDemoPos0;
|
||||
}; // Size: 0x24
|
||||
|
||||
class daMidna_c;
|
||||
|
||||
class daPy_py_c : public fopAc_ac_c {
|
||||
public:
|
||||
/* 0x0568 */ u8 mCutType;
|
||||
|
|
@ -142,7 +149,7 @@ public:
|
|||
/* 0x056A */ u8 mSpecialMode; // maybe needs better name
|
||||
/* 0x056B */ u8 field_0x56b;
|
||||
/* 0x056C */ s16 mDamageTimer;
|
||||
/* 0x056E */ u8 field_0x56e[2];
|
||||
/* 0x056E */ u16 mSwordUpTimer;
|
||||
/* 0x0570 */ u32 mNoResetFlg0;
|
||||
/* 0x0574 */ u32 mNoResetFlg1;
|
||||
/* 0x0578 */ u32 mNoResetFlg2;
|
||||
|
|
@ -168,22 +175,29 @@ public:
|
|||
|
||||
public:
|
||||
enum daPy_FLG0 {
|
||||
FLG0_UNK_40000000 = 0x40000000,
|
||||
EQUIP_HEAVY_BOOTS = 0x2000000,
|
||||
FLG0_UNK_8000000 = 0x8000000,
|
||||
FLG0_UNK_1000000 = 0x1000000,
|
||||
UNDER_WATER_MOVEMENT = 0x800000,
|
||||
FLG0_UNK_80000 = 0x80000,
|
||||
FLG0_UNK_20000 = 0x20000,
|
||||
FLG0_UNK_8000 = 0x8000,
|
||||
MAGNE_BOOTS_ON = 0x1000,
|
||||
FLG0_UNK_80 = 0x80,
|
||||
FLG0_UNK_40 = 0x40,
|
||||
FLG0_UNK_20 = 0x20,
|
||||
UNK_F_ROLL_CRASH_2 = 0x10,
|
||||
UNK_F_ROLL_CRASH_1 = 0x8
|
||||
UNK_F_ROLL_CRASH_1 = 0x8,
|
||||
FLG0_UNK_4 = 4,
|
||||
|
||||
HEAVY_STATE_BOOTS = FLG0_UNK_40000000 | EQUIP_HEAVY_BOOTS | FLG0_UNK_20000,
|
||||
};
|
||||
enum daPy_FLG1 { IS_WOLF = 0x2000000, THROW_DAMAGE = 0x4000 };
|
||||
enum daPy_FLG1 { IS_WOLF = 0x2000000, FLG1_UNK_10000 = 0x10000, THROW_DAMAGE = 0x4000 };
|
||||
enum daPy_FLG2 { FLG2_UNK_4080000 = 0x4080000, FLG2_UNK_2080000 = 0x2080000, BOAR_SINGLE_BATTLE = 0x1800000, STATUS_WINDOW_DRAW = 0x400000, UNK_ARMOR = 0x80000, UNK_FLG2_2 = 2, UNK_DAPY_FLG2_1 = 1 };
|
||||
enum daPy_FLG3 { FLG3_UNK_100000 = 0x100000, COPY_ROD_THROW_AFTER = 0x40000 };
|
||||
enum daPy_ERFLG0 { ERFLG0_UNK_8000000 = 0x8000000, ERFLG0_UNK_1000000 = 0x1000000, ERFLG0_UNK_100000 = 0x100000, };
|
||||
enum daPy_ERFLG1 { GANON_FINISH = 0x80000000, UNK_FORCE_PUT_POS = 0x2000 };
|
||||
enum daPy_FLG3 { FLG3_UNK_2000000 = 0x2000000, FLG3_UNK_100000 = 0x100000, COPY_ROD_THROW_AFTER = 0x40000 };
|
||||
enum daPy_ERFLG0 { ERFLG0_UNK_8000000 = 0x8000000, ERFLG0_UNK_1000000 = 0x1000000, ERFLG0_UNK_100000 = 0x100000, ERFLG0_UNK_1 = 1, };
|
||||
enum daPy_ERFLG1 { GANON_FINISH = 0x80000000, UNK_FORCE_PUT_POS = 0x2000, ERFLG1_UNK_1 = 1, };
|
||||
enum daPy_ERFLG2 {};
|
||||
enum daPy_RFLG0 {
|
||||
RFLG0_UNK_8000000 = 0x8000000,
|
||||
|
|
@ -195,6 +209,7 @@ public:
|
|||
enum {
|
||||
/* 0x01 */ SMODE_SUMO_READY = 1,
|
||||
/* 0x25 */ SMODE_SUMO_LOSE = 37,
|
||||
/* 0x27 */ SMODE_WOLF_PUZZLE = 39,
|
||||
/* 0x2A */ SMODE_GOAT_STOP = 42,
|
||||
/* 0x2B */ SMODE_GORON_THROW,
|
||||
/* 0x2C */ SMODE_CARGO_CARRY,
|
||||
|
|
@ -225,7 +240,7 @@ public:
|
|||
/* 0x21 */ TYPE_CUT_STAB_COMBO,
|
||||
};
|
||||
|
||||
void setParamData(int, int, int, int);
|
||||
static u32 setParamData(int, int, int, int);
|
||||
int checkFishingRodItem(int);
|
||||
static BOOL checkBombItem(int);
|
||||
static BOOL checkBottleItem(int);
|
||||
|
|
@ -445,7 +460,7 @@ public:
|
|||
virtual BOOL checkHorseStart();
|
||||
virtual Z2WolfHowlMgr* getWolfHowlMgrP();
|
||||
virtual BOOL checkWolfHowlSuccessAnime() const;
|
||||
virtual bool checkCopyRodTopUse();
|
||||
virtual BOOL checkCopyRodTopUse();
|
||||
virtual bool checkCopyRodEquip() const;
|
||||
virtual BOOL checkCutJumpMode() const;
|
||||
|
||||
|
|
@ -458,6 +473,8 @@ public:
|
|||
}
|
||||
|
||||
bool checkStatusWindowDraw() { return i_checkNoResetFlg2(STATUS_WINDOW_DRAW); }
|
||||
bool checkCargoCarry() const { return mSpecialMode == SMODE_CARGO_CARRY; }
|
||||
bool getHeavyStateAndBoots() { return i_checkNoResetFlg0(HEAVY_STATE_BOOTS); }
|
||||
|
||||
// some functions use these function as an inline
|
||||
// is there a better way to handle this?
|
||||
|
|
@ -477,10 +494,12 @@ public:
|
|||
void i_onEndResetFlg0(int flag) { mEndResetFlg0 |= flag; }
|
||||
int i_checkResetFlg0(daPy_py_c::daPy_RFLG0 flag) const { return mResetFlg0 & flag; }
|
||||
int i_checkEndResetFlg0(daPy_py_c::daPy_ERFLG0 flag) const { return mEndResetFlg0 & flag; }
|
||||
int i_checkEndResetFlg1(daPy_py_c::daPy_ERFLG1 flag) const { return mEndResetFlg1 & flag; }
|
||||
void i_onEndResetFlg1(daPy_ERFLG1 pFlg) { mEndResetFlg1 |= pFlg; }
|
||||
int i_checkWolf() const { return i_checkNoResetFlg1(IS_WOLF); }
|
||||
BOOL i_checkEquipHeavyBoots() const { return i_checkNoResetFlg0(EQUIP_HEAVY_BOOTS); }
|
||||
BOOL i_checkMagneBootsOn() const { return i_checkNoResetFlg0(MAGNE_BOOTS_ON); }
|
||||
bool i_checkMidnaRide() const { return i_checkNoResetFlg0(FLG0_UNK_4); }
|
||||
|
||||
inline u32 getLastSceneMode();
|
||||
inline bool checkWoodSwordEquip();
|
||||
|
|
@ -489,7 +508,7 @@ public:
|
|||
inline BOOL checkNowWolf();
|
||||
inline bool checkZoraWearFlg() const;
|
||||
|
||||
static u8 m_midnaActor[4];
|
||||
static daMidna_c* m_midnaActor;
|
||||
};
|
||||
|
||||
#endif /* D_A_D_A_PLAYER_H */
|
||||
|
|
|
|||
|
|
@ -137,6 +137,8 @@ public:
|
|||
void SetGroundHit() { m_flags |= GROUND_HIT; }
|
||||
void SetGroundLanding() { m_flags |= GROUND_LANDING; }
|
||||
void SetGroundAway() { m_flags |= GROUND_AWAY; }
|
||||
u32 MaskWaterHit() { return m_flags & WATER_HIT; }
|
||||
bool ChkWaterHit() { return MaskWaterHit(); }
|
||||
|
||||
// inline dupe
|
||||
void i_ClrGroundHit() { m_flags &= ~GROUND_HIT; }
|
||||
|
|
|
|||
|
|
@ -83,11 +83,19 @@ public:
|
|||
|
||||
}; // Size = 0x3C
|
||||
|
||||
enum dCcG_At_Spl {
|
||||
/* 0x0 */ dCcG_At_Spl_UNK_0,
|
||||
/* 0x1 */ dCcG_At_Spl_UNK_01,
|
||||
};
|
||||
|
||||
class dCcD_GObjInf;
|
||||
typedef void (*dCcD_AtHitCallback)(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*);
|
||||
|
||||
class dCcD_GAtTgCoCommonBase {
|
||||
public:
|
||||
/* 0x00 */ u32 mGFlag;
|
||||
/* 0x04 */ u32 mRPrm;
|
||||
/* 0x08 */ u32 field_0x08;
|
||||
/* 0x08 */ dCcD_AtHitCallback mHitCallback;
|
||||
/* 0x0C */ u32 mApid;
|
||||
/* 0x10 */ fopAc_ac_c* mAc;
|
||||
/* 0x14 */ s8 mEffCounter;
|
||||
|
|
@ -114,6 +122,7 @@ public:
|
|||
void OnSPrm(u32 flag) { mGFlag |= flag; }
|
||||
void OffSPrm(u32 flag) { mGFlag &= ~flag; }
|
||||
bool ChkRPrm(u32 flag) const { return MskRPrm(flag); }
|
||||
void SetHitCallback(dCcD_AtHitCallback callback) { mHitCallback = callback; }
|
||||
}; // Size = 0x1C
|
||||
|
||||
class dCcD_GObjAt : public dCcD_GAtTgCoCommonBase {
|
||||
|
|
@ -122,9 +131,11 @@ public:
|
|||
/* 80083C44 */ virtual ~dCcD_GObjAt() {}
|
||||
void SetVec(cXyz& vec) { mVec = vec; }
|
||||
cXyz& GetVec() { return mVec; }
|
||||
cXyz* GetVecP() { return &mVec; }
|
||||
void SetHitMark(u8 mark) { mHitMark = mark; }
|
||||
void SetSe(u8 se) { mSe = se; }
|
||||
void SetMtrl(u8 mtrl) { mMtrl = mtrl; }
|
||||
void SetAtSpl(dCcG_At_Spl spl) { mSpl = spl; }
|
||||
|
||||
// private:
|
||||
/* 0x1C */ u8 mSe;
|
||||
|
|
@ -193,6 +204,9 @@ public:
|
|||
void SetAtMtrl(u8 mtrl) { mGObjAt.SetMtrl(mtrl); }
|
||||
fopAc_ac_c* GetAtHitAc() { return mGObjAt.GetAc(); }
|
||||
bool ChkAtShieldHit() { return mGObjAt.ChkRPrm(1); }
|
||||
cXyz* GetAtVecP() { return mGObjAt.GetVecP(); }
|
||||
void SetAtSpl(dCcG_At_Spl spl) { mGObjAt.SetAtSpl(spl); }
|
||||
void SetAtHitCallback(dCcD_AtHitCallback callback) { mGObjAt.SetHitCallback(callback); }
|
||||
|
||||
static u32 const m_hitSeID[24];
|
||||
|
||||
|
|
@ -241,10 +255,6 @@ public:
|
|||
dCcD_Tri() {}
|
||||
};
|
||||
|
||||
enum dCcG_At_Spl {
|
||||
/* 0x1 */ dCcG_At_Spl_UNK_01 = 1,
|
||||
};
|
||||
|
||||
dCcD_GObjInf* dCcD_GetGObjInf(cCcD_Obj* param_0);
|
||||
|
||||
#endif /* D_CC_D_CC_D_H */
|
||||
|
|
|
|||
|
|
@ -138,6 +138,14 @@ public:
|
|||
mAStatus = status;
|
||||
mASetFlag = flag;
|
||||
}
|
||||
void setXStatus(u8 status, u8 flag) {
|
||||
mXStatus = status;
|
||||
mXSetFlag = flag;
|
||||
}
|
||||
void setYStatus(u8 status, u8 flag) {
|
||||
mYStatus = status;
|
||||
mYSetFlag = flag;
|
||||
}
|
||||
void setBottleStatus(u8 status, u8 flag) {
|
||||
mBottleStatus = status;
|
||||
mBottleSetFlag = flag;
|
||||
|
|
@ -178,8 +186,11 @@ public:
|
|||
J2DGrafContext* getCurrentGrafPort() { return mCurrentGrafPort; }
|
||||
dVibration_c& getVibration() { return mVibration; }
|
||||
void setPlayerStatus(int param_0, int i, u32 flag) { mPlayerStatus[i] |= flag; }
|
||||
void clearPlayerStatus(int param_0, int i, u32 flag) { mPlayerStatus[i] &= ~flag; }
|
||||
bool checkPlayerStatus(int param_0, int i, u32 flag) { return flag & mPlayerStatus[i]; }
|
||||
BOOL checkCameraAttentionStatus(int i, u32 flag) { return mCameraInfo[i].mCameraAttentionStatus & flag; }
|
||||
s8 getPlayerCameraID(int i) { return mPlayerCameraID[i]; }
|
||||
dPa_control_c* getParticle() { return mParticle; }
|
||||
void set3DStatus(u8 status, u8 direction, u8 flag) {
|
||||
m3DStatus = status;
|
||||
m3DDirection = direction;
|
||||
|
|
@ -224,7 +235,7 @@ public:
|
|||
/* 0x04DBC */ JKRArchive* mMsgDtArchive[15];
|
||||
/* 0x04DF8 */ JKRArchive* mMain2DArchive;
|
||||
/* 0x04DFC */ void* field_0x4dfc[2];
|
||||
/* 0x04E04 */ void* mParticle;
|
||||
/* 0x04E04 */ dPa_control_c* mParticle;
|
||||
/* 0x04E08 */ void* mSimpleModel;
|
||||
/* 0x04E0C */ u8 mWindowNum;
|
||||
/* 0x04E0D */ u8 mLayerOld;
|
||||
|
|
@ -326,7 +337,7 @@ public:
|
|||
/* 0x04F23 */ u8 mZSetFlagForce;
|
||||
/* 0x04F24 */ u8 mXStatus;
|
||||
/* 0x04F25 */ u8 mXStatusForce;
|
||||
/* 0x04F26 */ u8 field_0x4fbe; // related to XStatus
|
||||
/* 0x04F26 */ u8 mXSetFlag;
|
||||
/* 0x04F27 */ u8 mXSetFlagForce;
|
||||
/* 0x04F28 */ u8 mYStatus;
|
||||
/* 0x04F29 */ u8 mYStatusForce;
|
||||
|
|
@ -462,6 +473,16 @@ void* dComIfG_getStageRes(char const*);
|
|||
void dComLbG_PhaseHandler(request_of_phase_process_class*, int (**param_1)(void*), void*);
|
||||
void dComIfGp_addSelectItemNum(int, s16);
|
||||
BOOL dComIfGs_isOneZoneSwitch(int, int);
|
||||
u8 dComIfGp_getSelectItem(int);
|
||||
u8 dComIfGp_TargetWarpPt_get();
|
||||
void dComIfGp_TargetWarpPt_set(u8);
|
||||
BOOL dComIfGp_TransportWarp_check();
|
||||
void dComIfGp_setNextStage(char const*, s16, s8, s8, f32, u32, int, s8, s16, int, int);
|
||||
cXyz& dComIfGs_getWarpPlayerPos();
|
||||
const char* dComIfGs_getWarpStageName();
|
||||
s16 dComIfGs_getWarpPlayerAngleY();
|
||||
s8 dComIfGs_getWarpRoomNo();
|
||||
char* dComIfG_getRoomArcName(int);
|
||||
|
||||
inline void dComIfGp_setRStatus(u8 status, u8 flag) {
|
||||
g_dComIfG_gameInfo.play.setRStatus(status, flag);
|
||||
|
|
@ -716,7 +737,7 @@ inline s16 dComIfGs_getLastWarpMarkPlayerAngleY() {
|
|||
return g_dComIfG_gameInfo.info.getPlayer().getPlayerLastMarkInfo().getAngleY();
|
||||
}
|
||||
|
||||
inline s8 dComIfGs_getLastWarpMarkRoomNo() {
|
||||
inline u8 dComIfGs_getLastWarpMarkRoomNo() {
|
||||
return g_dComIfG_gameInfo.info.getPlayer().getPlayerLastMarkInfo().getRoomNo();
|
||||
}
|
||||
|
||||
|
|
@ -776,6 +797,10 @@ inline s8 dComIfGp_getStartStageLayer() {
|
|||
return g_dComIfG_gameInfo.play.getStartStageLayer();
|
||||
}
|
||||
|
||||
/* inline dStage_stageDt_c& dComIfGp_getStage() {
|
||||
return g_dComIfG_gameInfo.play.getStage();
|
||||
} */
|
||||
|
||||
inline roomRead_class* dComIfGp_getStageRoom() {
|
||||
return g_dComIfG_gameInfo.play.getStage().getRoom();
|
||||
}
|
||||
|
|
@ -1066,4 +1091,76 @@ inline u8 dComIfGs_getLastSceneMode() {
|
|||
return g_dComIfG_gameInfo.info.getRestart().getLastMode();
|
||||
}
|
||||
|
||||
inline u32 dComIfGp_particle_set(u32 param_0, u16 param_1, const cXyz* param_2, const dKy_tevstr_c* param_3, const csXyz* param_4, const cXyz* param_5, u8 param_6, dPa_levelEcallBack* param_7, s8 param_8, const GXColor* param_9, const GXColor* param_10, const cXyz* param_11) {
|
||||
return g_dComIfG_gameInfo.play.getParticle()->setNormal(param_0, param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8, param_9, param_10, param_11, 1.0f);
|
||||
}
|
||||
|
||||
inline void dComIfGp_particle_levelEmitterOnEventMove(u32 param_0) {
|
||||
g_dComIfG_gameInfo.play.getParticle()->forceOnEventMove(param_0);
|
||||
}
|
||||
|
||||
inline dPa_control_c::level_c::emitter_c* dComIfGp_particle_getEmitter(u32 param_0) {
|
||||
return g_dComIfG_gameInfo.play.getParticle()->getEmitter(param_0);
|
||||
}
|
||||
|
||||
inline u32 dComIfGp_particle_setPolyColor(u32 param_0, u16 param_1, cBgS_PolyInfo& param_2, const cXyz* param_3, const dKy_tevstr_c* param_4, const csXyz* param_5, const cXyz* param_6, int param_7, dPa_levelEcallBack* param_8, s8 param_9, const cXyz* param_10) {
|
||||
return g_dComIfG_gameInfo.play.getParticle()->setPoly(param_0, param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8, param_9, param_10);
|
||||
}
|
||||
|
||||
inline dRes_info_c* dComIfG_getObjectResInfo(const char* arc_name) {
|
||||
return g_dComIfG_gameInfo.mResControl.getObjectResInfo(arc_name);
|
||||
}
|
||||
|
||||
inline void dComIfGp_setXStatus(u8 status, u8 flag) {
|
||||
g_dComIfG_gameInfo.play.setXStatus(status, flag);
|
||||
}
|
||||
|
||||
inline void dComIfGp_setYStatus(u8 status, u8 flag) {
|
||||
g_dComIfG_gameInfo.play.setYStatus(status, flag);
|
||||
}
|
||||
|
||||
inline BOOL dComIfGp_event_compulsory(void* param_0, const char* param_1, u16 param_2) {
|
||||
return g_dComIfG_gameInfo.play.getEvent().compulsory(param_0, param_1, param_2);
|
||||
}
|
||||
|
||||
inline void dComIfGs_setTurnRestart(const cXyz& param_0, s16 param_1, s8 param_2, u32 param_3) {
|
||||
g_dComIfG_gameInfo.info.getTurnRestart().set(param_0, param_1, param_2, param_3);
|
||||
}
|
||||
|
||||
inline void dComIfGs_setRestartRoom(const cXyz& param_0, s16 param_1, s8 param_2) {
|
||||
g_dComIfG_gameInfo.info.getRestart().setRoom(param_0, param_1, param_2);
|
||||
}
|
||||
|
||||
inline s8 dComIfGs_getRestartRoomNo() {
|
||||
return g_dComIfG_gameInfo.info.getRestart().getRoomNo();
|
||||
}
|
||||
|
||||
inline void dComIfGs_setRestartRoomParam(u32 param) {
|
||||
g_dComIfG_gameInfo.info.getRestart().setRoomParam(param);
|
||||
}
|
||||
|
||||
inline void dComIfGp_clearPlayerStatus0(int param_0, u32 flag) {
|
||||
g_dComIfG_gameInfo.play.clearPlayerStatus(param_0, 0, flag);
|
||||
}
|
||||
|
||||
inline int* dComIfGp_evmng_getMyIntegerP(int index, char* name) {
|
||||
return (int*)dComIfGp_getPEvtManager()->getMySubstanceP(index, name, dEvDtData_c::TYPE_INT);
|
||||
}
|
||||
|
||||
inline char* dComIfGp_evmng_getMyStringP(int index, char* name) {
|
||||
return (char*)dComIfGp_getPEvtManager()->getMySubstanceP(index, name, dEvDtData_c::TYPE_STRING);
|
||||
}
|
||||
|
||||
inline f32* dComIfGp_evmng_getMyFloatP(int index, char* name) {
|
||||
return (f32*)dComIfGp_getPEvtManager()->getMySubstanceP(index, name, dEvDtData_c::TYPE_FLOAT);
|
||||
}
|
||||
|
||||
inline stage_scls_info_dummy_class* dComIfGp_getStageSclsInfo() {
|
||||
return g_dComIfG_gameInfo.play.getStage().getSclsInfo();
|
||||
}
|
||||
|
||||
inline dStage_roomStatus_c* dComIfGp_roomControl_getStatusRoomDt(int room_no) {
|
||||
return g_dComIfG_gameInfo.play.getRoomControl()->getStatusRoomDt(room_no);
|
||||
}
|
||||
|
||||
#endif /* D_COM_D_COM_INF_GAME_H */
|
||||
|
|
|
|||
|
|
@ -200,12 +200,16 @@ public:
|
|||
|
||||
dAttCatch_c& getCatghTarget() { return mCatghTarget; }
|
||||
bool chkFlag(u32 flag) { return mFlags & flag; }
|
||||
bool Lockon() {
|
||||
BOOL Lockon() {
|
||||
bool chk = true;
|
||||
if (!LockonTruth() && !chkFlag(0x20000000)) {
|
||||
chk = false;
|
||||
}
|
||||
if (!LockonTruth()) {
|
||||
if (!chkFlag(0x20000000)) {
|
||||
chk = false;
|
||||
}
|
||||
}
|
||||
return chk;
|
||||
|
||||
//return !LockonTruth() && !chkFlag(0x20000000);
|
||||
}
|
||||
|
||||
static u8 loc_type_tbl[12];
|
||||
|
|
|
|||
|
|
@ -91,6 +91,10 @@ public:
|
|||
return getRes(arcName, resName, &mStageInfo[0], ARRAY_SIZE(mStageInfo));
|
||||
}
|
||||
|
||||
dRes_info_c* getObjectResInfo(const char* arcName) {
|
||||
return getResInfo(arcName, &mObjectInfo[0], ARRAY_SIZE(mObjectInfo));
|
||||
}
|
||||
|
||||
/* 0x0000 */ dRes_info_c mObjectInfo[0x80];
|
||||
/* 0x1200 */ dRes_info_c mStageInfo[0x40];
|
||||
}; // Size: 0x1B00
|
||||
|
|
|
|||
|
|
@ -45,7 +45,19 @@ struct stage_stag_info_class {
|
|||
/* 0x2A */ u16 mStageTitleNo;
|
||||
}; // Size: Unknown
|
||||
|
||||
struct stage_scls_info_dummy_class {};
|
||||
struct stage_scls_info_class {
|
||||
/* 0x0 */ char mStage[8];
|
||||
/* 0x8 */ u8 mStart;
|
||||
/* 0x9 */ s8 mRoom;
|
||||
/* 0xA */ s8 field_0xa;
|
||||
/* 0xB */ s8 field_0xb;
|
||||
/* 0xC */ s8 mWipe;
|
||||
}; // Size: 0xD
|
||||
|
||||
struct stage_scls_info_dummy_class {
|
||||
/* 0x00 */ int numEntries;
|
||||
/* 0x04 */ stage_scls_info_class* mEntries;
|
||||
};
|
||||
|
||||
struct stage_pure_lightvec_info_class {};
|
||||
|
||||
|
|
@ -647,6 +659,7 @@ static int dStage_fieldMapFiliInfo2Init(dStage_dt_c*, void*, int, void*);
|
|||
static int dStage_fieldMapMapPathInit(dStage_dt_c*, void*, int, void*);
|
||||
|
||||
u8 dStage_roomRead_dt_c_GetReverbStage(roomRead_class&, int);
|
||||
void dStage_changeScene(int, f32, u32, s8, s16, int);
|
||||
|
||||
inline u8 dStage_roomRead_dt_c_GetLoadRoomIndex(u8 param_0) {
|
||||
return param_0 & 0x3f;
|
||||
|
|
@ -656,4 +669,24 @@ inline u32 dStage_stagInfo_GetSTType(stage_stag_info_class* pstag) {
|
|||
return pstag->field_0x0c >> 0x10 & 7;
|
||||
}
|
||||
|
||||
inline u32 dStage_stagInfo_GetEscapeWarp(stage_stag_info_class* pstag) {
|
||||
return pstag->field_0x10 >> 0x18;
|
||||
}
|
||||
|
||||
inline s8 dStage_sclsInfo_getSceneLayer(stage_scls_info_class* p_info) {
|
||||
return p_info->field_0xb & 0xF;
|
||||
}
|
||||
|
||||
inline s8 dStage_sclsInfo_getWipe(stage_scls_info_class* p_info) {
|
||||
return p_info->mWipe;
|
||||
}
|
||||
|
||||
inline s8 dStage_sclsInfo_getWipeTime(stage_scls_info_class* p_info) {
|
||||
return p_info->field_0xb >> 5;
|
||||
}
|
||||
|
||||
inline s8 dStage_sclsInfo_getTimeH(stage_scls_info_class* p_info) {
|
||||
return (p_info->field_0xa >> 4) | (p_info->field_0xb & 16);
|
||||
}
|
||||
|
||||
#endif /* D_D_STAGE_H */
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ public:
|
|||
void skipper();
|
||||
void Step();
|
||||
void moveApproval(void*);
|
||||
bool compulsory(void*, char const*, u16);
|
||||
BOOL compulsory(void*, char const*, u16);
|
||||
void remove();
|
||||
void* getStageEventDt(); // ret type probably wrong, fix later
|
||||
void sceneChange(int);
|
||||
|
|
@ -82,6 +82,7 @@ public:
|
|||
u16 chkFlag2(u16 flag) { return flag & mFlag2; }
|
||||
bool runCheck() { return field_0xe5 != 0; }
|
||||
u16 chkEventFlag(u16 flag) { return flag & mEventFlag; }
|
||||
u8 getMode() const { return mMode; }
|
||||
|
||||
public:
|
||||
/* 0x000 */ u8 field_0x0[4];
|
||||
|
|
|
|||
|
|
@ -5,25 +5,80 @@
|
|||
#include "d/save/d_save.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct event_binary_data_header {};
|
||||
struct event_binary_data_header {
|
||||
/* 0x00 */ u32 eventTop; // offset to Event chunk
|
||||
/* 0x04 */ s32 eventNum;
|
||||
/* 0x08 */ u32 staffTop; // offset to Staff chunk
|
||||
/* 0x0C */ s32 staffNum;
|
||||
/* 0x10 */ u32 cutTop; // offset to Cut chunk
|
||||
/* 0x14 */ s32 cutNum;
|
||||
/* 0x18 */ u32 dataTop; // offset to Data chunk
|
||||
/* 0x1C */ s32 dataNum;
|
||||
/* 0x20 */ u32 fDataTop; // offset to FData chunk
|
||||
/* 0x24 */ s32 fDataNum;
|
||||
/* 0x28 */ u32 iDataTop; // offset to IData chunk
|
||||
/* 0x2C */ s32 iDataNum;
|
||||
/* 0x30 */ u32 sDataTop; // offset to SData chunk
|
||||
/* 0x34 */ s32 sDataNum;
|
||||
/* 0x38 */ u8 unk[8];
|
||||
}; // Size: 0x40
|
||||
|
||||
struct dEvDtData_c {};
|
||||
class dEvDtData_c {
|
||||
public:
|
||||
enum DataType {
|
||||
/* 0x0 */ TYPE_FLOAT,
|
||||
/* 0x1 */ TYPE_VEC,
|
||||
/* 0x3 */ TYPE_INT = 3,
|
||||
/* 0x4 */ TYPE_STRING
|
||||
};
|
||||
|
||||
int getIndex() { return mDataIndex; }
|
||||
int getNumber() { return mNumber; }
|
||||
int getType() { return mType; }
|
||||
int getNext() { return mNext; }
|
||||
char* getName() { return mName; }
|
||||
|
||||
/* 0x00 */ char mName[32];
|
||||
/* 0x20 */ u32 mIndex;
|
||||
/* 0x24 */ int mType;
|
||||
/* 0x28 */ int mDataIndex;
|
||||
/* 0x2C */ int mNumber;
|
||||
/* 0x30 */ int mNext;
|
||||
/* 0x34 */ u8 field_0x34[12];
|
||||
}; // Size: 0x40
|
||||
|
||||
class dEvDtCut_c {
|
||||
public:
|
||||
void startCheck();
|
||||
|
||||
int getDataTop() { return mDataTop; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ u8 field_0x0[0x20];
|
||||
/* 0x00 */ char mName[32];
|
||||
/* 0x20 */ u32 mTagID;
|
||||
/* 0x28 */ int field_0x28[3];
|
||||
/* 0x24 */ u32 mIndex;
|
||||
/* 0x28 */ int mFlags[3];
|
||||
/* 0x34 */ u32 mFlagId;
|
||||
/* 0x38 */ u32 mDataTop;
|
||||
/* 0x3C */ u32 mNext;
|
||||
};
|
||||
/* 0x38 */ int mDataTop;
|
||||
/* 0x3C */ int mNext;
|
||||
/* 0x40 */ u8 field_0x40[0x10];
|
||||
}; // Size: 0x50
|
||||
|
||||
class dEvDtStaff_c {
|
||||
public:
|
||||
enum StaffType {
|
||||
/* 0x0 */ TYPE_DEFAULT,
|
||||
/* 0x1 */ TYPE_ALL,
|
||||
/* 0x2 */ TYPE_CAMERA,
|
||||
/* 0x4 */ TYPE_TIMEKEEPER = 4,
|
||||
/* 0x6 */ TYPE_DIRECTOR = 6,
|
||||
/* 0x7 */ TYPE_MESSAGE,
|
||||
/* 0x8 */ TYPE_SOUND,
|
||||
/* 0x9 */ TYPE_LIGHT,
|
||||
/* 0xB */ TYPE_PACKAGE = 11,
|
||||
/* 0xC */ TYPE_CREATE,
|
||||
};
|
||||
|
||||
void specialProc_WaitStart(int);
|
||||
void specialProc_WaitProc(int);
|
||||
void specialProc();
|
||||
|
|
@ -38,40 +93,52 @@ public:
|
|||
void specialProcTimekeeper();
|
||||
void specialProcEffect();
|
||||
|
||||
int getType() { return mType; }
|
||||
char* getName() { return mName; }
|
||||
int getCurrentCut() { return mCurrentCut; }
|
||||
int getStartCut() { return mStartCut; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ u8 field_0x00[4];
|
||||
/* 0x04 */ void* field_0x04;
|
||||
/* 0x08 */ u32 field_0x08;
|
||||
/* 0x0C */ int field_0x0c;
|
||||
/* 0x10 */ u32 field_0x10;
|
||||
/* 0x14 */ u8 field_0x14[0xC];
|
||||
/* 0x00 */ char mName[32];
|
||||
/* 0x20 */ u32 mTagID;
|
||||
/* 0x24 */ u32 field_0x24;
|
||||
/* 0x28 */ u8 field_0x28[4];
|
||||
/* 0x24 */ u32 mIndex;
|
||||
/* 0x28 */ u32 mFlagID;
|
||||
/* 0x2C */ int mType;
|
||||
/* 0x30 */ u32 mStartCut;
|
||||
/* 0x30 */ int mStartCut;
|
||||
/* 0x34 */ u8 field_0x34[2];
|
||||
/* 0x36 */ s16 field_0x36;
|
||||
/* 0x38 */ int mCurrentCut;
|
||||
/* 0x3C */ u32 field_0x3c;
|
||||
/* 0x40 */ u8 field_0x40;
|
||||
/* 0x41 */ u8 field_0x41;
|
||||
/* 0x40 */ bool field_0x40;
|
||||
/* 0x41 */ bool field_0x41;
|
||||
/* 0x42 */ s16 field_0x42;
|
||||
/* 0x44 */ s16 mSoundWait;
|
||||
/* 0x46 */ u8 field_0x46[4];
|
||||
/* 0x4A */ int field_0x4a;
|
||||
};
|
||||
/* 0x46 */ u8 field_0x46[10];
|
||||
}; // Size: 0x50
|
||||
|
||||
class dEvDtEvent_c {
|
||||
public:
|
||||
void finishCheck();
|
||||
void forceFinish();
|
||||
void specialStaffProc(dEvDtStaff_c*);
|
||||
int getNStaff() { return mNStaff; }
|
||||
int getStaff(int idx) { return mStaff[idx]; }
|
||||
|
||||
/* 0x00 */ s32 mEventNum;
|
||||
/* 0x04 */ u8 field_0x4[0xA0];
|
||||
/* 0xA4 */ int field_0xa4;
|
||||
};
|
||||
/* 0x00 */ char mName[32];
|
||||
/* 0x20 */ u32 mIndex;
|
||||
/* 0x24 */ int field_0x24;
|
||||
/* 0x28 */ int mPriority;
|
||||
/* 0x2C */ int mStaff[20];
|
||||
/* 0x7C */ int mNStaff;
|
||||
/* 0x80 */ u8 field_0x80[4];
|
||||
/* 0x84 */ int field_0x84;
|
||||
/* 0x88 */ int field_0x88[2];
|
||||
/* 0x90 */ int field_0x90;
|
||||
/* 0x94 */ bool mPlaySound;
|
||||
/* 0x95 */ u8 field_0x95[0xF];
|
||||
/* 0xA4 */ int mEventState;
|
||||
/* 0xA8 */ u8 field_0xa8[8];
|
||||
}; // Size: 0xB0
|
||||
|
||||
class dEvDtFlag_c {
|
||||
public:
|
||||
|
|
@ -91,23 +158,56 @@ class dEvDtBase_c {
|
|||
public:
|
||||
dEvDtBase_c();
|
||||
~dEvDtBase_c() {}
|
||||
void init();
|
||||
void init(char*, int);
|
||||
int init();
|
||||
int init(char*, int);
|
||||
void advanceCut(dEvDtEvent_c*);
|
||||
void advanceCutLocal(dEvDtStaff_c*);
|
||||
|
||||
event_binary_data_header* getHeaderP() { return mHeaderP; }
|
||||
s32 getEventNum() { return mEventP->mEventNum; }
|
||||
dEvDtStaff_c* getStaffP(int i) { return &mStaffP[i]; }
|
||||
dEvDtEvent_c* getEventP(int i) { return &mEventP[i]; }
|
||||
dEvDtData_c* getDataP(int i) { return &mDataP[i]; }
|
||||
dEvDtCut_c* getCutP(int i) { return &mCutP[i]; }
|
||||
int getStaffCurrentCut(int i) { return mStaffP[i].getCurrentCut(); }
|
||||
dEvDtCut_c* getCutStaffCurrentCutP(int i) { return getCutP(getStaffCurrentCut(i)); }
|
||||
int getStaffStartCut(int i) { return mStaffP[i].getStartCut(); }
|
||||
dEvDtCut_c* getCutStaffStartCutP(int i) { return getCutP(getStaffStartCut(i)); }
|
||||
int* getIDataP(int i) { return &mIDataP[i]; }
|
||||
f32* getFDataP(int i) { return &mFDataP[i]; }
|
||||
char* getSDataP(int i) { return &mSDataP[i]; }
|
||||
u32 getEventTop() { return mHeaderP->eventTop; }
|
||||
s32 getEventNum() { return mHeaderP->eventNum; }
|
||||
u32 getStaffTop() { return mHeaderP->staffTop; }
|
||||
s32 getStaffNum() { return mHeaderP->staffNum; }
|
||||
u32 getCutTop() { return mHeaderP->cutTop; }
|
||||
s32 getCutNum() { return mHeaderP->cutNum; }
|
||||
u32 getDataTop() { return mHeaderP->dataTop; }
|
||||
s32 getDataNum() { return mHeaderP->dataNum; }
|
||||
u32 getFDataTop() { return mHeaderP->fDataTop; }
|
||||
s32 getFDataNum() { return mHeaderP->fDataNum; }
|
||||
u32 getIDataTop() { return mHeaderP->iDataTop; }
|
||||
s32 getIDataNum() { return mHeaderP->iDataNum; }
|
||||
u32 getSDataTop() { return mHeaderP->sDataTop; }
|
||||
s32 getSDataNum() { return mHeaderP->sDataNum; }
|
||||
s32 roomNo() { return mRoomNo; }
|
||||
|
||||
void setHeaderP(event_binary_data_header* p_header) { mHeaderP = p_header; }
|
||||
void setEventP(dEvDtEvent_c* p_event) { mEventP = p_event; }
|
||||
void setStaffP(dEvDtStaff_c* p_staff) { mStaffP = p_staff; }
|
||||
void setCutP(dEvDtCut_c* p_cut) { mCutP = p_cut; }
|
||||
void setDataP(dEvDtData_c* p_data) { mDataP = p_data; }
|
||||
void setFDataP(f32* p_fdata) { mFDataP = p_fdata; }
|
||||
void setIDataP(int* p_idata) { mIDataP = p_idata; }
|
||||
void setSDataP(char* p_sdata) { mSDataP = p_sdata; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ event_binary_data_header* mHeaderP;
|
||||
/* 0x04 */ dEvDtEvent_c* mEventP;
|
||||
/* 0x08 */ dEvDtStaff_c* mStaffP;
|
||||
/* 0x0C */ dEvDtCut_c* mCutP;
|
||||
/* 0x10 */ dEvDtData_c* mDataP;
|
||||
/* 0x14 */ float* mFDataP;
|
||||
/* 0x18 */ s32* mIDataP;
|
||||
/* 0x14 */ f32* mFDataP;
|
||||
/* 0x18 */ int* mIDataP;
|
||||
/* 0x1C */ char* mSDataP;
|
||||
/* 0x20 */ s32 mRoomNo;
|
||||
}; // Size = 0x24
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ private:
|
|||
|
||||
class dEvent_manager_c {
|
||||
public:
|
||||
void getSubstance(dEvDtData_c*, int);
|
||||
void* getSubstance(dEvDtData_c*, int);
|
||||
dEvent_manager_c();
|
||||
~dEvent_manager_c() {}
|
||||
int create();
|
||||
|
|
@ -52,8 +52,8 @@ public:
|
|||
void getIsAddvance(int);
|
||||
void getMyActIdx(int, char const* const*, int, int, int);
|
||||
void getMyNowCutName(int);
|
||||
void getMyDataP(int, char const*, int);
|
||||
void getMySubstanceP(int, char const*, int);
|
||||
dEvDtData_c* getMyDataP(int, char const*, int);
|
||||
void* getMySubstanceP(int, char const*, int);
|
||||
void getMySubstanceNum(int, char const*);
|
||||
void cutEnd(int);
|
||||
void getEventPrio(fopAc_ac_c*, s16);
|
||||
|
|
@ -63,11 +63,13 @@ public:
|
|||
void getGoal();
|
||||
void getRunEventName();
|
||||
void specialCast_Shutter(s16, int);
|
||||
void specialCast(char const*, int);
|
||||
fopAc_ac_c* specialCast(char const*, int);
|
||||
void ChkPresentEnd();
|
||||
void checkStartDemo();
|
||||
|
||||
void setStartDemo(int param_0) { mEventException.setStartDemo(param_0); }
|
||||
void setCameraPlay(int status) { mCameraPlay = status; }
|
||||
dEvDtBase_c& getBase() { return mEventList[field_0x1b4]; }
|
||||
|
||||
private:
|
||||
/* 0x0000 */ dEvDtBase_c mEventList[11];
|
||||
|
|
@ -77,7 +79,7 @@ private:
|
|||
/* 0x01A8 */ u8 field_0x1a8[2];
|
||||
/* 0x01AA */ s16 field_0x1aa;
|
||||
/* 0x01AC */ u8 field_0x1ac[4];
|
||||
/* 0x01B0 */ u32 field_0x1b0;
|
||||
/* 0x01B0 */ int mRoomNo;
|
||||
/* 0x01B4 */ u32 field_0x1b4;
|
||||
/* 0x01B8 */ u32 field_0x1b8;
|
||||
/* 0x01BC */ dEvDtFlag_c mFlags;
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
#include "m_Do/m_Do_ext.h"
|
||||
|
||||
void dKankyo_DayProc();
|
||||
void dKy_set_nexttime(f32);
|
||||
|
||||
struct LIGHT_INFLUENCE {
|
||||
/* 800CFC7C */ ~LIGHT_INFLUENCE();
|
||||
|
|
@ -663,5 +664,6 @@ public:
|
|||
STATIC_ASSERT(sizeof(dScnKy_env_light_c) == 4880);
|
||||
|
||||
bool dKy_darkworld_stage_check(char const*, int);
|
||||
BOOL dKy_withwarp_capture_check();
|
||||
|
||||
#endif /* D_KANKYO_D_KANKYO_H */
|
||||
|
|
|
|||
|
|
@ -132,6 +132,11 @@ public:
|
|||
dMw_c* getMenuWindowClass() { return mMenuWindowClass; }
|
||||
void offUseButton(int pButton) { mUseButton &= ~(u16)pButton; }
|
||||
u16 getOilGaugeBackUp() { return mOilGaugeBackUp; }
|
||||
u8 getWarpStatus() { return mWarpStatus; }
|
||||
u8 getWarpRoomNo() { return mWarpInfo.mRoomNo; }
|
||||
u8 getWarpPlayerNo() { return mWarpInfo.mWarpPlayerNo; }
|
||||
cXyz& getWarpPos() { return mWarpInfo.mPosition; }
|
||||
const char* getWarpStageName() { return mWarpInfo.mStageName; }
|
||||
|
||||
private:
|
||||
/* 0x04 */ u8 unk4[4];
|
||||
|
|
@ -252,4 +257,24 @@ inline void dMeter2Info_setSaveStageName(const char* name) {
|
|||
g_meter2_info.setSaveStageName(name);
|
||||
}
|
||||
|
||||
inline u8 dMeter2Info_getWarpStatus() {
|
||||
return g_meter2_info.getWarpStatus();
|
||||
}
|
||||
|
||||
inline u8 dMeter2Info_getWarpRoomNo() {
|
||||
return g_meter2_info.getWarpRoomNo();
|
||||
}
|
||||
|
||||
inline u8 dMeter2Info_getWarpPlayerNo() {
|
||||
return g_meter2_info.getWarpPlayerNo();
|
||||
}
|
||||
|
||||
inline cXyz& dMeter2Info_getWarpPos() {
|
||||
return g_meter2_info.getWarpPos();
|
||||
}
|
||||
|
||||
inline const char* dMeter2Info_getWarpStageName() {
|
||||
return g_meter2_info.getWarpStageName();
|
||||
}
|
||||
|
||||
#endif /* D_METER_D_METER2_INFO_H */
|
||||
|
|
|
|||
|
|
@ -7,33 +7,177 @@
|
|||
|
||||
class JPAEmitterCallBack {
|
||||
public:
|
||||
/* 80050368 */ void execute(JPABaseEmitter*);
|
||||
/* 8005036C */ void draw(JPABaseEmitter*);
|
||||
/* 80050370 */ void drawAfter(JPABaseEmitter*);
|
||||
/* 80050374 */ void executeAfter(JPABaseEmitter*);
|
||||
/* 8027E6A4 */ ~JPAEmitterCallBack();
|
||||
/* 8027E6A4 */ virtual ~JPAEmitterCallBack() = 0;
|
||||
/* 80050368 */ virtual void execute(JPABaseEmitter*);
|
||||
/* 80050374 */ virtual void executeAfter(JPABaseEmitter*);
|
||||
/* 8005036C */ virtual void draw(JPABaseEmitter*);
|
||||
/* 80050370 */ virtual void drawAfter(JPABaseEmitter*);
|
||||
};
|
||||
|
||||
struct JPAResourceManager {
|
||||
/* 80273E10 */ JPAResourceManager(void const*, JKRHeap*);
|
||||
/* 80273EA8 */ void checkUserIndexDuplication(u16) const;
|
||||
/* 80273EEC */ void swapTexture(ResTIMG const*, char const*);
|
||||
/* 80273FCC */ void getResUserWork(u16) const;
|
||||
};
|
||||
|
||||
class dPa_levelEcallBack : public JPAEmitterCallBack {
|
||||
public:
|
||||
/* 8004FB18 */ ~dPa_levelEcallBack();
|
||||
/* 8004FB8C */ void cleanup();
|
||||
/* 8004FB18 */ virtual ~dPa_levelEcallBack();
|
||||
/* 8004FB8C */ virtual void cleanup();
|
||||
};
|
||||
|
||||
class dPa_hermiteEcallBack_c : public dPa_levelEcallBack {
|
||||
public:
|
||||
/* 8004F6B8 */ void setOldPosP(cXyz const*, cXyz const*);
|
||||
/* 8004F6C4 */ void executeAfter(JPABaseEmitter*);
|
||||
/* 8004FABC */ void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8);
|
||||
/* 8004FCC8 */ ~dPa_hermiteEcallBack_c();
|
||||
|
||||
/* 8004FCC8 */ virtual ~dPa_hermiteEcallBack_c();
|
||||
/* 8004F6C4 */ virtual void executeAfter(JPABaseEmitter*);
|
||||
/* 8004FABC */ virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8);
|
||||
|
||||
private:
|
||||
/* 0x00 */ void* vtable;
|
||||
/* 0x04 */ float mRate;
|
||||
/* 0x04 */ f32 mRate;
|
||||
/* 0x08 */ int mMaxCnt;
|
||||
/* 0x0C */ cXyz* field_0xc;
|
||||
/* 0x10 */ cXyz* field_0x10;
|
||||
/* 0x14 */ cXyz* field_0x14;
|
||||
};
|
||||
|
||||
class mDoDvdThd_toMainRam_c;
|
||||
class cBgS_PolyInfo;
|
||||
class JPAEmitterManager;
|
||||
struct JPADrawInfo;
|
||||
|
||||
class dPa_simpleEcallBack : public JPAEmitterCallBack {
|
||||
public:
|
||||
/* 8004ADF4 */ dPa_simpleEcallBack();
|
||||
/* 8004AF98 */ void create(JPAEmitterManager*, u16, u8);
|
||||
/* 8004B064 */ void createEmitter(JPAEmitterManager*);
|
||||
/* 8004B168 */ void set(cXyz const*, dKy_tevstr_c const*, u8, _GXColor const&, _GXColor const&,
|
||||
int, f32);
|
||||
|
||||
/* 8004FC08 */ virtual ~dPa_simpleEcallBack();
|
||||
/* 8004AE1C */ virtual void executeAfter(JPABaseEmitter*);
|
||||
/* 8004AF94 */ virtual void draw(JPABaseEmitter*);
|
||||
|
||||
/* 0x04 */ JPABaseEmitter* mEmitter;
|
||||
/* 0x08 */ u16 mID;
|
||||
/* 0x0A */ u8 field_0xa;
|
||||
/* 0x0C */ s16 field_0xc;
|
||||
/* 0x10 */ void* mData;
|
||||
}; // Size: 0x14
|
||||
|
||||
class dPa_control_c {
|
||||
public:
|
||||
class level_c {
|
||||
public:
|
||||
class emitter_c {
|
||||
public:
|
||||
/* 8004B504 */ void onActive();
|
||||
/* 8004B544 */ void entry(u32, u16, JPABaseEmitter*, dPa_levelEcallBack*);
|
||||
/* 8004B5AC */ void cleanup();
|
||||
/* 8004FBFC */ emitter_c();
|
||||
|
||||
private:
|
||||
/* 0x00 */ u32 mId;
|
||||
/* 0x04 */ u16 mNameId;
|
||||
/* 0x06 */ u8 mStatus;
|
||||
/* 0x08 */ JPABaseEmitter* mEmitter;
|
||||
/* 0x0C */ dPa_levelEcallBack* mCallback;
|
||||
/* 0x10 */ emitter_c* mPre;
|
||||
/* 0x14 */ emitter_c* mNext;
|
||||
}; // Size: 0x18
|
||||
|
||||
/* 8004B688 */ level_c();
|
||||
/* 8004B7A8 */ void execute();
|
||||
/* 8004B6F8 */ void execute(dPa_control_c::level_c::emitter_c*);
|
||||
/* 8004B808 */ void cleanup();
|
||||
/* 8004B874 */ void get(u32);
|
||||
/* 8004B8B4 */ void forceOnEventMove(u32);
|
||||
/* 8004B8E8 */ void allForceOnEventMove();
|
||||
/* 8004B918 */ emitter_c* getEmitter(u32);
|
||||
/* 8004B94C */ void entry(u16, JPABaseEmitter*, dPa_levelEcallBack*);
|
||||
/* 8004BA40 */ void addTable(dPa_control_c::level_c::emitter_c*);
|
||||
/* 8004BA74 */ void cutTable(dPa_control_c::level_c::emitter_c*);
|
||||
|
||||
/* 0x000 */ u32 field_0x0;
|
||||
/* 0x004 */ u8 field_0x4;
|
||||
/* 0x005 */ u8 field_0x5;
|
||||
/* 0x006 */ u8 field_0x6;
|
||||
/* 0x008 */ emitter_c mEmitter[0x80];
|
||||
/* 0xC08 */
|
||||
};
|
||||
|
||||
/* 8004BACC */ dPa_control_c();
|
||||
/* 8004BB70 */ void getRM_ID(u16);
|
||||
/* 8004BB78 */ void createCommon(void const*);
|
||||
/* 8004BCDC */ void createRoomScene();
|
||||
/* 8004BDFC */ void readScene(u8, mDoDvdThd_toMainRam_c**);
|
||||
/* 8004BEB0 */ void createScene(void const*);
|
||||
/* 8004BF3C */ void removeRoomScene(bool);
|
||||
/* 8004BFD4 */ void removeScene(bool);
|
||||
/* 8004C054 */ void cleanup();
|
||||
/* 8004C078 */ void calc3D();
|
||||
/* 8004C0EC */ void calc2D();
|
||||
/* 8004C134 */ void calcMenu();
|
||||
/* 8004C188 */ void draw(JPADrawInfo*, u8);
|
||||
/* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32);
|
||||
/* 8004C838 */ void setWaterRipple(u32*, cBgS_PolyInfo&, cXyz const*, f32, dKy_tevstr_c const*,
|
||||
cXyz const*, s8);
|
||||
/* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*,
|
||||
u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*,
|
||||
cXyz const*, f32);
|
||||
/* 8004D4CC */ u32 set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*,
|
||||
cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*,
|
||||
_GXColor const*, cXyz const*, f32);
|
||||
/* 8004CF90 */ void getPolyColor(cBgS_PolyInfo&, int, _GXColor*, _GXColor*, u8*, f32*);
|
||||
/* 8004D6A4 */ u32 setPoly(u32, u16, cBgS_PolyInfo&, cXyz const*, dKy_tevstr_c const*,
|
||||
csXyz const*, cXyz const*, int, dPa_levelEcallBack*, s8,
|
||||
cXyz const*);
|
||||
/* 8004D068 */ void setPoly(u16, cBgS_PolyInfo&, cXyz const*, dKy_tevstr_c const*, csXyz const*,
|
||||
cXyz const*, int, dPa_levelEcallBack*, s8, cXyz const*);
|
||||
/* 8004D128 */ void newSimple(u16, u8, u32*);
|
||||
/* 8004D1B8 */ void setSimple(u16, cXyz const*, dKy_tevstr_c const*, u8, _GXColor const&,
|
||||
_GXColor const&, int, f32);
|
||||
/* 8004D23C */ void getSimple(u16);
|
||||
/* 8004D770 */ void setStopContinue(u32);
|
||||
/* 8004D7C4 */ void setSimpleFoot(u32, u32*, cBgS_PolyInfo&, cXyz const*, dKy_tevstr_c const*,
|
||||
int, csXyz const*, cXyz const*, dPa_levelEcallBack*, s8,
|
||||
cXyz const*);
|
||||
/* 8004D988 */ void setCommonPoly(u32*, cBgS_PolyInfo*, cXyz const*, cXyz const*,
|
||||
dKy_tevstr_c const*, u32, u32, csXyz const*, cXyz const*, s8);
|
||||
|
||||
void forceOnEventMove(u32 param_0) { field_0x210.forceOnEventMove(param_0); }
|
||||
level_c::emitter_c* getEmitter(u32 param_0) { return field_0x210.getEmitter(param_0); }
|
||||
u32 setNormal(u32 param_0, u16 param_1, const cXyz* param_2, const dKy_tevstr_c* param_3, const csXyz* param_4, const cXyz* param_5, u8 param_6, dPa_levelEcallBack* param_7, s8 param_8, const GXColor* param_9, const GXColor* param_10, const cXyz* param_11, f32 param_12) {
|
||||
return set(param_0, 0, param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8, param_9, param_10, param_11, param_12);
|
||||
}
|
||||
|
||||
static u8 mTsubo[64];
|
||||
static u8 mLifeBall[24];
|
||||
static u8 mWindViewMatrix[48];
|
||||
static u8 mEmitterMng[4];
|
||||
static u8 mWaterBubblePcallBack[4];
|
||||
static u8 mFsenthPcallBack[4];
|
||||
static u8 mLight8EcallBack[4];
|
||||
static u8 mLight8PcallBack[4];
|
||||
static u8 m_b_Light8EcallBack[4];
|
||||
static u8 m_b_Light8PcallBack[4];
|
||||
static u8 m_d_Light8EcallBack[4];
|
||||
static u8 m_d_Light8PcallBack[4];
|
||||
static u8 mParticleTracePCB[4 + 4 /* padding */];
|
||||
|
||||
private:
|
||||
/* 0x000 */ JKRSolidHeap* mHeap;
|
||||
/* 0x004 */ JPAResourceManager* mCommonResMng;
|
||||
/* 0x008 */ JKRExpHeap* m_resHeap;
|
||||
/* 0x00C */ JKRSolidHeap* m_sceneHeap;
|
||||
/* 0x010 */ void* m_sceneRes;
|
||||
/* 0x014 */ JPAResourceManager* mSceneResMng;
|
||||
/* 0x018 */ u8 field_0x18;
|
||||
/* 0x019 */ u8 field_0x19;
|
||||
/* 0x01C */ dPa_simpleEcallBack field_0x1c[25];
|
||||
/* 0x210 */ level_c field_0x210;
|
||||
};
|
||||
|
||||
#endif /* D_PARTICLE_D_PARTICLE_H */
|
||||
|
|
|
|||
|
|
@ -919,8 +919,10 @@ class dSv_restart_c {
|
|||
public:
|
||||
void setRoom(const cXyz&, s16, s8);
|
||||
|
||||
void setRoomParam(u32 param) { mRoomParam = param; }
|
||||
s16 getStartPoint() const { return mStartPoint; }
|
||||
u32 getLastMode() const { return mLastMode; }
|
||||
s8 getRoomNo() const { return mRoomNo; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ s8 mRoomNo;
|
||||
|
|
@ -1007,6 +1009,7 @@ public:
|
|||
dSv_player_c& getPlayer() { return mSavedata.getPlayer(); }
|
||||
dSv_event_c& getTmp() { return mTmp; }
|
||||
dSv_restart_c& getRestart() { return mRestart; }
|
||||
dSv_turnRestart_c& getTurnRestart() { return mTurnRestart; }
|
||||
dSv_event_c& getEvent() { return mSavedata.getEvent(); }
|
||||
s64 getStartTime() { return mStartTime; }
|
||||
s64 getSaveTotalTime() { return mSaveTotalTime; }
|
||||
|
|
|
|||
|
|
@ -102,6 +102,10 @@ inline u32 fopAcM_GetParam(const void* pActor) {
|
|||
return fpcM_GetParam(pActor);
|
||||
}
|
||||
|
||||
inline void fopAcM_SetParam(void* p_actor, u32 param) {
|
||||
fpcM_SetParam(p_actor, param);
|
||||
}
|
||||
|
||||
inline u8 fopAcM_GetGroup(const fopAc_ac_c* p_actor) {
|
||||
return p_actor->mGroup;
|
||||
}
|
||||
|
|
@ -244,7 +248,7 @@ static const char* fopAcM_getProcNameString(const fopAc_ac_c*);
|
|||
// s32 fopAcM_findObjectCB(const fopAc_ac_c*, void*);
|
||||
s32 fopAcM_searchFromName(const char*, u32, u32);
|
||||
s32 fopAcM_findObject4EventCB(fopAc_ac_c*, void*);
|
||||
s32 fopAcM_searchFromName4Event(const char*, s16);
|
||||
fopAc_ac_c* fopAcM_searchFromName4Event(const char*, s16);
|
||||
s32 fopAcM_getWaterY(const cXyz*, f32*);
|
||||
void fpoAcM_relativePos(const fopAc_ac_c*, const cXyz*, cXyz*);
|
||||
s32 fopAcM_getWaterStream(const cXyz*, const cBgS_PolyInfo&, cXyz*, int*, int);
|
||||
|
|
|
|||
|
|
@ -22,6 +22,10 @@ inline u32 fpcM_GetParam(const void* pActor) {
|
|||
return ((base_process_class*)pActor)->mParameters;
|
||||
}
|
||||
|
||||
inline void fpcM_SetParam(void* p_actor, u32 param) {
|
||||
((base_process_class*)p_actor)->mParameters = param;
|
||||
}
|
||||
|
||||
void fpcM_Draw(void* pProc);
|
||||
s32 fpcM_DrawIterater(fpcM_DrawIteraterFunc pFunc);
|
||||
void fpcM_Execute(void* pProc);
|
||||
|
|
|
|||
|
|
@ -15,61 +15,57 @@ public:
|
|||
/* 8000D428 */ void play();
|
||||
|
||||
private:
|
||||
J3DFrameCtrl frame_control;
|
||||
};
|
||||
/* 0x0 */ J3DFrameCtrl mFrameCtrl;
|
||||
}; // Size: 0x14
|
||||
|
||||
class mDoExt_btkAnm {
|
||||
class mDoExt_btkAnm : public mDoExt_baseAnm {
|
||||
public:
|
||||
mDoExt_btkAnm(void) { field_0x14 = 0; }
|
||||
mDoExt_btkAnm(void) { mBtkAnm = 0; }
|
||||
/* 8000D63C */ void init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, f32, s16, s16);
|
||||
/* 8000D6D8 */ void entry(J3DMaterialTable*, f32);
|
||||
|
||||
private:
|
||||
mDoExt_baseAnm base_anm;
|
||||
u32 field_0x14;
|
||||
};
|
||||
/* 0x14 */ u32 mBtkAnm;
|
||||
}; // Size: 0x18
|
||||
|
||||
STATIC_ASSERT(sizeof(mDoExt_btkAnm) == 0x18);
|
||||
|
||||
class mDoExt_brkAnm {
|
||||
class mDoExt_brkAnm : public mDoExt_baseAnm {
|
||||
public:
|
||||
mDoExt_brkAnm(void) { field_0x14 = 0; }
|
||||
mDoExt_brkAnm(void) { mBrkAnm = 0; }
|
||||
/* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16);
|
||||
/* 8000D7A8 */ void entry(J3DMaterialTable*, f32);
|
||||
|
||||
private:
|
||||
mDoExt_baseAnm mDoExt_baseAnm;
|
||||
u32 field_0x14;
|
||||
};
|
||||
/* 0x14 */ u32 mBrkAnm;
|
||||
}; // Size: 0x18
|
||||
|
||||
STATIC_ASSERT(sizeof(mDoExt_brkAnm) == 0x18);
|
||||
|
||||
class mDoExt_bpkAnm {
|
||||
class mDoExt_bpkAnm : public mDoExt_baseAnm {
|
||||
public:
|
||||
mDoExt_bpkAnm(void) { field_0x14 = 0; }
|
||||
mDoExt_bpkAnm(void) { mBpkAnm = 0; }
|
||||
/* 8000D47C */ void init(J3DMaterialTable*, J3DAnmColor*, int, int, f32, s16, s16);
|
||||
/* 8000D518 */ void entry(J3DMaterialTable*, f32);
|
||||
|
||||
private:
|
||||
mDoExt_baseAnm mDoExt_baseAnm;
|
||||
u32 field_0x14;
|
||||
};
|
||||
/* 0x14 */ u32 mBpkAnm;
|
||||
}; // Size: 0x18
|
||||
|
||||
STATIC_ASSERT(sizeof(mDoExt_bpkAnm) == 0x18);
|
||||
|
||||
class mDoExt_bckAnm {
|
||||
class mDoExt_bckAnm : public mDoExt_baseAnm {
|
||||
public:
|
||||
mDoExt_bckAnm(void) { field_0x18 = 0; }
|
||||
mDoExt_bckAnm(void) { mAnm = 0; }
|
||||
/* 8000D7DC */ void init(J3DAnmTransform*, int, int, f32, s16, s16, bool);
|
||||
/* 8000D990 */ void changeBckOnly(J3DAnmTransform*);
|
||||
/* 8000D9CC */ void entry(J3DModelData*, f32);
|
||||
/* 8000D9E8 */ void entryJoint(J3DModelData*, u16, f32);
|
||||
|
||||
private:
|
||||
mDoExt_baseAnm base_anm;
|
||||
u8 field_0x14[4];
|
||||
u32 field_0x18;
|
||||
}; // Size = 0x1C
|
||||
/* 0x14 */ u32 mBckAnm;
|
||||
/* 0x18 */ u32 mAnm;
|
||||
}; // Size: 0x1C
|
||||
|
||||
STATIC_ASSERT(sizeof(mDoExt_bckAnm) == 0x1C);
|
||||
|
||||
|
|
@ -77,8 +73,6 @@ class J3DTransformInfo;
|
|||
|
||||
class mDoExt_McaMorfCallBack1_c {
|
||||
public:
|
||||
private:
|
||||
/*void* vtable;*/
|
||||
virtual void execute(u16, J3DTransformInfo*) = 0;
|
||||
};
|
||||
|
||||
|
|
@ -88,11 +82,69 @@ public:
|
|||
/* 80140E2C */ mDoExt_AnmRatioPack();
|
||||
|
||||
void setRatio(f32 ratio) { mRatio = ratio; }
|
||||
J3DAnmTransform* getAnmTransform() { return mAnmTransform; }
|
||||
|
||||
private:
|
||||
/* 0x0 */ f32 mRatio;
|
||||
/* 0x4 */ J3DAnmTransform* mAnmTransform;
|
||||
}; // Size = 0x8
|
||||
}; // Size: 0x8
|
||||
|
||||
class mDoExt_invJntPacket : public J3DPacket {
|
||||
public:
|
||||
/* 8000E654 */ mDoExt_invJntPacket();
|
||||
|
||||
/* 80012220 */ virtual void draw();
|
||||
/* 8000E5F8 */ virtual ~mDoExt_invJntPacket();
|
||||
|
||||
private:
|
||||
/* 0x10 */ J3DModel* field_0x10;
|
||||
/* 0x14 */ u16 field_0x14;
|
||||
/* 0x16 */ u8 field_0x16;
|
||||
}; // Size: 0x18
|
||||
|
||||
class mDoExt_invisibleModel {
|
||||
public:
|
||||
/* 8000E53C */ void create(J3DModel*, u8);
|
||||
/* 8000E6C8 */ void entryJoint(cXyz*);
|
||||
/* 8000E7C0 */ void entryDL(cXyz*);
|
||||
|
||||
/* 0x0 */ J3DModel* mModel;
|
||||
/* 0x4 */ mDoExt_invJntPacket* field_0x4;
|
||||
};
|
||||
|
||||
class mDoExt_morf_c : public J3DMtxCalcNoAnm<J3DMtxCalcCalcTransformMaya, J3DMtxCalcJ3DSysInitMaya> {
|
||||
public:
|
||||
/* 8000F950 */ mDoExt_morf_c();
|
||||
/* 8000FB7C */ void setMorf(f32);
|
||||
/* 8000FBC0 */ void frameUpdate();
|
||||
|
||||
/* 8000FAE8 */ virtual ~mDoExt_morf_c();
|
||||
|
||||
private:
|
||||
/* 0x04 */ u32 field_0x4;
|
||||
/* 0x08 */ u32 mAnm;
|
||||
/* 0x0C */ J3DFrameCtrl mFrameCtrl;
|
||||
/* 0x20 */ u32 field_0x20;
|
||||
/* 0x24 */ u32 field_0x24;
|
||||
};
|
||||
|
||||
class mDoExt_MtxCalcOldFrame {
|
||||
public:
|
||||
/* 8000F848 */ void initOldFrameMorf(f32, u16, u16);
|
||||
/* 8000F8CC */ void decOldFrameMorfCounter();
|
||||
|
||||
private:
|
||||
/* 0x00 */ bool mOldFrameFlg;
|
||||
/* 0x04 */ f32 mOldFrameMorfCounter;
|
||||
/* 0x08 */ f32 field_0x8;
|
||||
/* 0x0C */ f32 mOldFrameRate;
|
||||
/* 0x10 */ f32 field_0x10;
|
||||
/* 0x14 */ f32 field_0x14;
|
||||
/* 0x18 */ u16 mOldFrameStartJoint;
|
||||
/* 0x1A */ u16 mOldFrameEndJoint;
|
||||
/* 0x1C */ J3DTransformInfo* mOldFrameTransInfo;
|
||||
/* 0x20 */ Quaternion* mOldFrameQuaternion;
|
||||
}; // Size: 0x24
|
||||
|
||||
JKRSolidHeap* mDoExt_createSolidHeapFromGame(u32, u32);
|
||||
void mDoExt_destroySolidHeap(JKRSolidHeap*);
|
||||
|
|
|
|||
|
|
@ -61,4 +61,10 @@ public:
|
|||
/* 0x118 */ mDoMtx_quatStack_c* field_0x118;
|
||||
}; // Size: 0x11C
|
||||
|
||||
inline void mDoMtx_multVecZero(MtxP param_0, Vec* param_1) {
|
||||
param_1->x = param_0[0][3];
|
||||
param_1->y = param_0[1][3];
|
||||
param_1->z = param_0[2][3];
|
||||
}
|
||||
|
||||
#endif /* M_DO_M_DO_MTX_H */
|
||||
|
|
|
|||
|
|
@ -3,9 +3,11 @@
|
|||
|
||||
#include "f_op/f_op_actor.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/cc/d_cc_d.h"
|
||||
#include "d/a/d_a_player.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class daCrod_c {
|
||||
class daCrod_c : public fopAc_ac_c {
|
||||
public:
|
||||
/* 80141A94 */ void setControllActorData();
|
||||
/* 804A2E38 */ void createHeap();
|
||||
|
|
@ -23,6 +25,31 @@ public:
|
|||
static fopAc_ac_c* makeIronBallDummy(fopAc_ac_c* p_actor) {
|
||||
return (fopAc_ac_c*)fopAcM_fastCreate(0x2F4, 6, &p_actor->mCurrent.mPosition, fopAcM_GetRoomNo(p_actor), NULL, NULL, -1, NULL, NULL);
|
||||
}
|
||||
};
|
||||
|
||||
fopAc_ac_c* getControllActor() {
|
||||
return mControllActor.getActor();
|
||||
}
|
||||
|
||||
fopAc_ac_c* getCameraActor() {
|
||||
return mCameraActor.getActor();
|
||||
}
|
||||
|
||||
void setThrow() { fopAcM_SetParam(this, 2); }
|
||||
|
||||
private:
|
||||
/* 0x568 */ J3DModel* field_568;
|
||||
/* 0x56C */ mDoExt_bckAnm field_0x56c;
|
||||
/* 0x588 */ J3DAnmTevRegKey* field_0x588;
|
||||
/* 0x58C */ J3DAnmTextureSRTKey* field_0x58c;
|
||||
/* 0x590 */ dCcD_Stts field_0x590;
|
||||
/* 0x5CC */ dCcD_Cps field_0x5cc;
|
||||
/* 0x710 */ LIGHT_INFLUENCE field_0x710;
|
||||
/* 0x730 */ u8 field_0x730;
|
||||
/* 0x731 */ u8 field_0x731;
|
||||
/* 0x732 */ u8 field_0x732;
|
||||
/* 0x734 */ cXyz field_0x734;
|
||||
/* 0x740 */ daPy_actorKeep_c mControllActor;
|
||||
/* 0x748 */ daPy_actorKeep_c mCameraActor;
|
||||
}; // Size: 0x750
|
||||
|
||||
#endif /* D_A_CROD_H */
|
||||
|
|
|
|||
|
|
@ -2,5 +2,14 @@
|
|||
#define D_A_KYTAG05_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
|
||||
class kytag05_class : public fopAc_ac_c {
|
||||
public:
|
||||
u8 getSceneListID() const { return mSceneListID; }
|
||||
|
||||
/* 0x568 */ u8 field_0x568[5];
|
||||
/* 0x56D */ u8 mSceneListID;
|
||||
};
|
||||
|
||||
#endif /* D_A_KYTAG05_H */
|
||||
|
|
|
|||
|
|
@ -177,7 +177,7 @@ SECTION_SDATA2 static f32 lit_1581[1 + 1 /* padding */] = {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void J2DAnmLoaderDataBase::load(void const* param_0) {
|
||||
asm void* J2DAnmLoaderDataBase::load(void const* param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J2DGraph/J2DAnmLoader/load__20J2DAnmLoaderDataBaseFPCv.s"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,11 +18,6 @@ struct mDoMtx_stack_c {
|
|||
static u8 now[48];
|
||||
};
|
||||
|
||||
struct daPy_actorKeep_c {
|
||||
/* 8015ECB8 */ void setData(fopAc_ac_c*);
|
||||
/* 8015ECFC */ void clearData();
|
||||
};
|
||||
|
||||
struct daAlink_c {
|
||||
/* 8009D884 */ void getAlinkArcName();
|
||||
/* 800A9248 */ void simpleAnmPlay(J3DAnmBase*);
|
||||
|
|
@ -31,61 +26,10 @@ struct daAlink_c {
|
|||
/* 800E1A30 */ void returnCopyRod();
|
||||
};
|
||||
|
||||
struct dRes_info_c {};
|
||||
|
||||
struct dRes_control_c {
|
||||
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
|
||||
};
|
||||
|
||||
struct dCcD_Stts {
|
||||
/* 80083860 */ void Init(int, int, fopAc_ac_c*);
|
||||
};
|
||||
|
||||
struct dCcD_SrcCps {};
|
||||
|
||||
struct dCcD_GStts {
|
||||
/* 80083760 */ dCcD_GStts();
|
||||
/* 804A3240 */ ~dCcD_GStts();
|
||||
};
|
||||
|
||||
struct dCcD_GObjInf {
|
||||
/* 80083A28 */ dCcD_GObjInf();
|
||||
/* 800840E4 */ ~dCcD_GObjInf();
|
||||
/* 800842C0 */ void ChkAtHit();
|
||||
/* 80084318 */ void ResetAtHit();
|
||||
};
|
||||
|
||||
struct dCcD_GAtTgCoCommonBase {
|
||||
/* 80083688 */ void GetAc();
|
||||
};
|
||||
|
||||
struct dCcD_Cps {
|
||||
/* 800847D0 */ void Set(dCcD_SrcCps const&);
|
||||
};
|
||||
|
||||
struct cM3dGLin {
|
||||
/* 8026F2E8 */ void SetStartEnd(cXyz const&, cXyz const&);
|
||||
};
|
||||
|
||||
struct cM3dGCps {
|
||||
/* 8026EF88 */ cM3dGCps();
|
||||
/* 8026EFA4 */ ~cM3dGCps();
|
||||
};
|
||||
|
||||
struct cM3dGAab {
|
||||
/* 804A31F8 */ ~cM3dGAab();
|
||||
};
|
||||
|
||||
struct cCcD_Obj {};
|
||||
|
||||
struct cCcS {
|
||||
/* 80264BA8 */ void Set(cCcD_Obj*);
|
||||
};
|
||||
|
||||
struct cCcD_GStts {
|
||||
/* 804A409C */ ~cCcD_GStts();
|
||||
};
|
||||
|
||||
struct JAISoundID {};
|
||||
|
||||
struct Z2SeMgr {
|
||||
|
|
@ -318,7 +262,8 @@ asm void daCrod_c::create() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm cM3dGAab::~cM3dGAab() {
|
||||
// asm cM3dGAab::~cM3dGAab() {
|
||||
extern "C" asm void __dt__8cM3dGAabFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_crod/d_a_crod/__dt__8cM3dGAabFv.s"
|
||||
}
|
||||
|
|
@ -328,7 +273,8 @@ asm cM3dGAab::~cM3dGAab() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dCcD_GStts::~dCcD_GStts() {
|
||||
// asm dCcD_GStts::~dCcD_GStts() {
|
||||
extern "C" asm void __dt__10dCcD_GSttsFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_crod/d_a_crod/__dt__10dCcD_GSttsFv.s"
|
||||
}
|
||||
|
|
@ -554,7 +500,8 @@ static asm void daCrod_Draw(daCrod_c* param_0) {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm cCcD_GStts::~cCcD_GStts() {
|
||||
// asm cCcD_GStts::~cCcD_GStts() {
|
||||
extern "C" asm void __dt__10cCcD_GSttsFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_crod/d_a_crod/__dt__10cCcD_GSttsFv.s"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,16 +7,6 @@
|
|||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct kytag05_class {};
|
||||
|
||||
struct fopAc_ac_c {
|
||||
/* 80018B64 */ fopAc_ac_c();
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -232,7 +232,7 @@ void daPy_boomerangMove_c::initOffset(cXyz const* param_0) {
|
|||
|
||||
/* ############################################################################################## */
|
||||
/* 80451018-8045101C 000518 0004+00 2/2 33/32 103/103 .sbss m_midnaActor__9daPy_py_c */
|
||||
u8 daPy_py_c::m_midnaActor[4];
|
||||
daMidna_c* daPy_py_c::m_midnaActor;
|
||||
|
||||
/* 8045101C-80451020 -00001 0004+00 1/1 1/1 1/1 .sbss None */
|
||||
/* 8045101C 0002+00 data_8045101C m_dropAngleY__20daPy_boomerangMove_c */
|
||||
|
|
@ -304,7 +304,7 @@ asm void daPy_boomerangMove_c::bgCheckAfterOffset(cXyz const* param_0) {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daPy_py_c::setParamData(int param_0, int param_1, int param_2, int param_3) {
|
||||
asm u32 daPy_py_c::setParamData(int param_0, int param_1, int param_2, int param_3) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/setParamData__9daPy_py_cFiiii.s"
|
||||
}
|
||||
|
|
@ -574,9 +574,9 @@ J3DAnmBase* daPy_anmHeap_c::loadDataDemoRID(u16 pID, u16 pArcNo) {
|
|||
}
|
||||
|
||||
/* 8015F168-8015F1A0 159AA8 0038+00 1/1 4/4 0/0 .text setAnimeHeap__14daPy_anmHeap_cFv */
|
||||
void daPy_anmHeap_c::setAnimeHeap() {
|
||||
JKRHeap* daPy_anmHeap_c::setAnimeHeap() {
|
||||
mAnimeHeap->freeAll();
|
||||
mDoExt_setCurrentHeap(mAnimeHeap);
|
||||
return mDoExt_setCurrentHeap(mAnimeHeap);
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
|
|
|
|||
|
|
@ -28,10 +28,6 @@ struct dSmplMdl_draw_c {
|
|||
/* 80049058 */ void removeModel(J3DModelData*, int);
|
||||
};
|
||||
|
||||
struct dPa_control_c {
|
||||
/* 8004BACC */ dPa_control_c();
|
||||
};
|
||||
|
||||
struct dMapInfo_n {
|
||||
/* 8003EE5C */ void getMapPlayerPos();
|
||||
};
|
||||
|
|
@ -2276,7 +2272,7 @@ cXyz dComIfGs_getWarpPlayerPos() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dComIfGs_getWarpPlayerPos() {
|
||||
asm cXyz& dComIfGs_getWarpPlayerPos() {
|
||||
nofralloc
|
||||
#include "asm/d/com/d_com_inf_game/dComIfGs_getWarpPlayerPos__Fv.s"
|
||||
}
|
||||
|
|
@ -2287,7 +2283,7 @@ s16 dComIfGs_getWarpPlayerAngleY() {
|
|||
return dComIfGs_getLastWarpMarkPlayerAngleY();
|
||||
}
|
||||
|
||||
int dComIfGs_getWarpRoomNo() {
|
||||
s8 dComIfGs_getWarpRoomNo() {
|
||||
return dComIfGs_getLastWarpMarkRoomNo();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -628,7 +628,7 @@ bool dEvt_control_c::compulsory(void* param_0, char const* param_1, u16 param_2)
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm bool dEvt_control_c::compulsory(void* param_0, char const* param_1, u16 param_2) {
|
||||
asm BOOL dEvt_control_c::compulsory(void* param_0, char const* param_1, u16 param_2) {
|
||||
nofralloc
|
||||
#include "asm/d/event/d_event/compulsory__14dEvt_control_cFPvPCcUs.s"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
//
|
||||
|
||||
#include "d/event/d_event_data.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
|
|
@ -18,45 +19,6 @@ struct mDoGph_gInf_c {
|
|||
static f32 mFadeRate;
|
||||
};
|
||||
|
||||
struct dVibration_c {
|
||||
/* 8006FA24 */ void StartShock(int, int, cXyz);
|
||||
/* 8006FB10 */ void StartQuake(int, int, cXyz);
|
||||
/* 8006FC0C */ void StartQuake(u8 const*, int, int, cXyz);
|
||||
/* 8006FD94 */ void StopQuake(int);
|
||||
};
|
||||
|
||||
struct dMsgObject_c {
|
||||
/* 8023806C */ void demoMessageGroup();
|
||||
};
|
||||
|
||||
struct dEvt_control_c {
|
||||
/* 80042914 */ void setSkipProc(void*, int (*)(void*, int), int);
|
||||
/* 80042958 */ void setSkipZev(void*, char*);
|
||||
/* 80043278 */ void getStageEventDt();
|
||||
/* 800432EC */ void convPId(unsigned int);
|
||||
/* 8004331C */ void getStbDemoData(char*);
|
||||
/* 800434D8 */ void searchMapEventData(u8);
|
||||
/* 8004365C */ void setPt2(void*);
|
||||
/* 8004368C */ void setPtT(void*);
|
||||
/* 800436BC */ void setPtI(void*);
|
||||
/* 800436F4 */ void setPtD(void*);
|
||||
};
|
||||
|
||||
struct dEvent_manager_c {
|
||||
/* 80047B1C */ void getMyStaffId(char const*, fopAc_ac_c*, int);
|
||||
/* 80047D4C */ void getIsAddvance(int);
|
||||
/* 80047F5C */ void getMyNowCutName(int);
|
||||
/* 800480EC */ void getMySubstanceP(int, char const*, int);
|
||||
/* 80048144 */ void getMySubstanceNum(int, char const*);
|
||||
/* 8004817C */ void cutEnd(int);
|
||||
};
|
||||
|
||||
struct dDlst_list_c {
|
||||
/* 800568D8 */ void wipeIn(f32);
|
||||
|
||||
static f32 mWipeRate;
|
||||
};
|
||||
|
||||
struct dDemo_c {
|
||||
/* 80039B6C */ void start(u8 const*, cXyz*, f32);
|
||||
/* 80039CF8 */ void end();
|
||||
|
|
@ -75,8 +37,6 @@ struct Z2SeqMgr {
|
|||
/* 802AFE18 */ void bgmStreamPlay();
|
||||
};
|
||||
|
||||
struct JAISoundID {};
|
||||
|
||||
struct Z2SeMgr {
|
||||
/* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
|
||||
};
|
||||
|
|
@ -189,7 +149,6 @@ extern "C" void _restgpr_28();
|
|||
extern "C" void _restgpr_29();
|
||||
extern "C" u8 const tempBitLabels__20dSv_event_tmp_flag_c[370 + 2 /* padding */];
|
||||
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" f32 mFadeRate__13mDoGph_gInf_c;
|
||||
extern "C" extern u8 struct_80450BE4[4];
|
||||
extern "C" u8 m_control__7dDemo_c[4];
|
||||
|
|
@ -316,14 +275,116 @@ SECTION_SDATA2 static f32 lit_4265 = 15.0f;
|
|||
SECTION_SDATA2 static f64 lit_4267 = 4503601774854144.0 /* cast s32 to float */;
|
||||
|
||||
/* 80043A14-80043D60 03E354 034C+00 1/1 0/0 0/0 .text dEvDt_Next_Stage__Fii */
|
||||
// bunch of issues with sclsInfo section. regalloc for the rest
|
||||
#ifdef NONMATCHING
|
||||
static int dEvDt_Next_Stage(int index, int wipe_type) {
|
||||
char* stage;
|
||||
s16 point;
|
||||
s8 roomNo;
|
||||
s8 layer;
|
||||
u32 mode = 0; // uvar8 - retail
|
||||
s8 wipe = wipe_type; // ivar10
|
||||
int noVisit = true;
|
||||
int wipe_time = 0; // bvar9
|
||||
f32 speed = FLOAT_LABEL(lit_4264); // dvar12
|
||||
bool setHour = false; // bvar2
|
||||
f32 hour = speed; // set to 0.0f dvar13
|
||||
|
||||
int* p_id = dComIfGp_evmng_getMyIntegerP(index, "ID");
|
||||
if (p_id != NULL) {
|
||||
int id = *p_id;
|
||||
s8 room_no = dComIfGp_roomControl_getStayNo();
|
||||
stage_scls_info_dummy_class* info;
|
||||
if (room_no == -1) {
|
||||
info = dComIfGp_getStageSclsInfo();
|
||||
} else {
|
||||
info = dComIfGp_roomControl_getStatusRoomDt(room_no)->mRoomDt.getSclsInfo();
|
||||
}
|
||||
|
||||
if (info != NULL && id >= 0 && id < info->numEntries) {
|
||||
stage = info->mEntries[id].mStage;
|
||||
point = info->mEntries[id].mStart;
|
||||
roomNo = info->mEntries[id].mRoom;
|
||||
layer = dStage_sclsInfo_getSceneLayer(&info->mEntries[id]);
|
||||
wipe = dStage_sclsInfo_getWipe(&info->mEntries[id]);
|
||||
wipe_time = dStage_sclsInfo_getWipeTime(&info->mEntries[id]);
|
||||
|
||||
if (wipe == 15) {
|
||||
wipe = 0;
|
||||
}
|
||||
|
||||
s8 timeH = dStage_sclsInfo_getTimeH(&info->mEntries[id]);
|
||||
if (timeH >= 0 && timeH <= 23) {
|
||||
setHour = true;
|
||||
hour = timeH;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
char* stageP = dComIfGp_evmng_getMyStringP(index, "Stage");
|
||||
if (stageP != NULL) {
|
||||
stage = stageP;
|
||||
}
|
||||
|
||||
int* pointP = dComIfGp_evmng_getMyIntegerP(index, "StartCode");
|
||||
if (pointP != NULL) {
|
||||
point = *pointP;
|
||||
}
|
||||
|
||||
int* roomP = dComIfGp_evmng_getMyIntegerP(index, "RoomNo");
|
||||
if (roomP != NULL) {
|
||||
roomNo = *roomP;
|
||||
}
|
||||
|
||||
int* layerP = dComIfGp_evmng_getMyIntegerP(index, "Layer");
|
||||
if (layerP != NULL) {
|
||||
layer = *layerP;
|
||||
}
|
||||
|
||||
int* wipeP = dComIfGp_evmng_getMyIntegerP(index, "Wipe");
|
||||
if (wipeP != NULL) {
|
||||
wipe = *wipeP;
|
||||
}
|
||||
|
||||
int* modeP = dComIfGp_evmng_getMyIntegerP(index, "Mode");
|
||||
if (modeP != NULL) {
|
||||
mode = *modeP;
|
||||
}
|
||||
|
||||
f32* speedP = dComIfGp_evmng_getMyFloatP(index, "Speed");
|
||||
if (speedP != NULL) {
|
||||
speed = *speedP;
|
||||
}
|
||||
|
||||
f32* hourP = dComIfGp_evmng_getMyFloatP(index, "Hour");
|
||||
if (hourP != NULL) {
|
||||
hour = *hourP;
|
||||
setHour = true;
|
||||
}
|
||||
|
||||
int* noVisitP = dComIfGp_evmng_getMyIntegerP(index, "NoVisit");
|
||||
if (noVisitP != NULL) {
|
||||
noVisit = false;
|
||||
}
|
||||
|
||||
if (stage != NULL && point != -1) {
|
||||
if (setHour) {
|
||||
dKy_set_nexttime(15.0f * hour);
|
||||
}
|
||||
dComIfGp_setNextStage(stage, point, roomNo, layer, speed, mode, 1, wipe, 0, noVisit, wipe_time);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void dEvDt_Next_Stage(int param_0, int param_1) {
|
||||
static asm int dEvDt_Next_Stage(int param_0, int param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/event/d_event_data/dEvDt_Next_Stage__Fii.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80043D60-80043DC8 03E6A0 0068+00 3/3 0/0 0/0 .text flagCheck__11dEvDtFlag_cFi */
|
||||
#pragma push
|
||||
|
|
@ -447,25 +508,28 @@ asm void dEvDtStaff_c::specialProc() {
|
|||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80044134-80044170 03EA74 003C+00 0/0 1/1 0/0 .text init__12dEvDtStaff_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dEvDtStaff_c::init() {
|
||||
nofralloc
|
||||
#include "asm/d/event/d_event_data/init__12dEvDtStaff_cFv.s"
|
||||
inline dEvent_manager_c& dComIfGp_getEventManager() {
|
||||
return g_dComIfG_gameInfo.play.getEvtManager();
|
||||
}
|
||||
|
||||
/* 80044134-80044170 03EA74 003C+00 0/0 1/1 0/0 .text init__12dEvDtStaff_cFv */
|
||||
void dEvDtStaff_c::init() {
|
||||
mCurrentCut = mStartCut;
|
||||
field_0x40 = true;
|
||||
field_0x41 = false;
|
||||
field_0x3c = -1;
|
||||
if (mType == TYPE_CAMERA) {
|
||||
dComIfGp_getEventManager().setCameraPlay(1);
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80044170-80044190 03EAB0 0020+00 1/1 0/0 0/0 .text advanceCut__12dEvDtStaff_cFi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dEvDtStaff_c::advanceCut(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/event/d_event_data/advanceCut__12dEvDtStaff_cFi.s"
|
||||
void dEvDtStaff_c::advanceCut(int cut) {
|
||||
mCurrentCut = cut;
|
||||
field_0x40 = true;
|
||||
field_0x41 = false;
|
||||
field_0x3c = -1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80379DD0-80379DD0 006430 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
|
@ -676,34 +740,66 @@ asm void dEvDtCut_c::startCheck() {
|
|||
#pragma pop
|
||||
|
||||
/* 80046138-8004616C 040A78 0034+00 1/1 7/7 0/0 .text init__11dEvDtBase_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dEvDtBase_c::init() {
|
||||
nofralloc
|
||||
#include "asm/d/event/d_event_data/init__11dEvDtBase_cFv.s"
|
||||
int dEvDtBase_c::init() {
|
||||
mHeaderP = NULL;
|
||||
mEventP = NULL;
|
||||
mStaffP = NULL;
|
||||
mCutP = NULL;
|
||||
mDataP = NULL;
|
||||
mFDataP = NULL;
|
||||
mIDataP = NULL;
|
||||
mSDataP = NULL;
|
||||
mRoomNo = -1;
|
||||
return 0;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8004616C-8004628C 040AAC 0120+00 0/0 6/6 0/0 .text init__11dEvDtBase_cFPci */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dEvDtBase_c::init(char* param_0, int param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/event/d_event_data/init__11dEvDtBase_cFPci.s"
|
||||
int dEvDtBase_c::init(char* p_data, int roomNo) {
|
||||
init();
|
||||
if (p_data == NULL) {
|
||||
return 0;
|
||||
} else {
|
||||
setHeaderP((event_binary_data_header*)p_data);
|
||||
|
||||
if (getEventNum() > 0) {
|
||||
setEventP((dEvDtEvent_c*)(p_data + getEventTop()));
|
||||
}
|
||||
|
||||
if (getStaffNum() > 0) {
|
||||
setStaffP((dEvDtStaff_c*)(p_data + getStaffTop()));
|
||||
}
|
||||
|
||||
if (getCutNum() > 0) {
|
||||
setCutP((dEvDtCut_c*)(p_data + getCutTop()));
|
||||
}
|
||||
|
||||
if (getDataNum() > 0) {
|
||||
setDataP((dEvDtData_c*)(p_data + getDataTop()));
|
||||
}
|
||||
|
||||
if (getFDataNum() > 0) {
|
||||
setFDataP((f32*)(p_data + getFDataTop()));
|
||||
}
|
||||
|
||||
if (getIDataNum() > 0) {
|
||||
setIDataP((int*)(p_data + getIDataTop()));
|
||||
}
|
||||
|
||||
if (getSDataNum() > 0) {
|
||||
setSDataP((char*)(p_data + getSDataTop()));
|
||||
}
|
||||
|
||||
mRoomNo = roomNo;
|
||||
return getEventNum();
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8004628C-800462FC 040BCC 0070+00 0/0 1/1 0/0 .text advanceCut__11dEvDtBase_cFP12dEvDtEvent_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dEvDtBase_c::advanceCut(dEvDtEvent_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/event/d_event_data/advanceCut__11dEvDtBase_cFP12dEvDtEvent_c.s"
|
||||
void dEvDtBase_c::advanceCut(dEvDtEvent_c* p_event) {
|
||||
for (int i = 0; i < p_event->getNStaff(); i++) {
|
||||
advanceCutLocal(mStaffP + p_event->getStaff(i));
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800462FC-800463DC 040C3C 00E0+00 1/1 0/0 0/0 .text
|
||||
* advanceCutLocal__11dEvDtBase_cFP12dEvDtStaff_c */
|
||||
|
|
|
|||
|
|
@ -199,21 +199,21 @@ SECTION_DEAD static char const* const stringBase_8037A071 = "(!BAD DATA!)";
|
|||
#pragma pop
|
||||
|
||||
/* 803A8270-803A82A8 -00001 0038+00 1/1 0/0 0/0 .data soecial_names$3966 */
|
||||
SECTION_DATA static void* soecial_names[14] = {
|
||||
(void*)&d_event_d_event_manager__stringBase0,
|
||||
(void*)(((char*)&d_event_d_event_manager__stringBase0) + 0x10),
|
||||
(void*)(((char*)&d_event_d_event_manager__stringBase0) + 0x1E),
|
||||
(void*)(((char*)&d_event_d_event_manager__stringBase0) + 0x2C),
|
||||
(void*)(((char*)&d_event_d_event_manager__stringBase0) + 0x3F),
|
||||
(void*)(((char*)&d_event_d_event_manager__stringBase0) + 0x50),
|
||||
(void*)(((char*)&d_event_d_event_manager__stringBase0) + 0x63),
|
||||
(void*)(((char*)&d_event_d_event_manager__stringBase0) + 0x6E),
|
||||
(void*)(((char*)&d_event_d_event_manager__stringBase0) + 0x7B),
|
||||
(void*)(((char*)&d_event_d_event_manager__stringBase0) + 0x89),
|
||||
(void*)(((char*)&d_event_d_event_manager__stringBase0) + 0x94),
|
||||
(void*)(((char*)&d_event_d_event_manager__stringBase0) + 0xA3),
|
||||
(void*)(((char*)&d_event_d_event_manager__stringBase0) + 0xB2),
|
||||
(void*)(((char*)&d_event_d_event_manager__stringBase0) + 0xC3),
|
||||
SECTION_DATA static char* soecial_names[14] = {
|
||||
"NORMAL_COMEBACK",
|
||||
"DEFAULT_START",
|
||||
"SHUTTER_START",
|
||||
"SHUTTER_START_STOP",
|
||||
"BS_SHUTTER_START",
|
||||
"BS_SHUTTER_START_B",
|
||||
"KNOB_START",
|
||||
"KNOB_START_B",
|
||||
"FMASTER_START",
|
||||
"FALL_START",
|
||||
"CRAWLOUT_START",
|
||||
"BOSSWARP_START",
|
||||
"PORTALWARP_START",
|
||||
"PORTALWARP_START_B",
|
||||
};
|
||||
|
||||
/* 80046480-800465E8 040DC0 0168+00 1/1 0/0 0/0 .text getEventName__18dEvent_exception_cFv */
|
||||
|
|
@ -228,14 +228,23 @@ asm void dEvent_exception_c::getEventName() {
|
|||
|
||||
/* 800465E8-80046688 040F28 00A0+00 1/1 0/0 0/0 .text
|
||||
* getSubstance__16dEvent_manager_cFP11dEvDtData_ci */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dEvent_manager_c::getSubstance(dEvDtData_c* param_0, int param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/event/d_event_manager/getSubstance__16dEvent_manager_cFP11dEvDtData_ci.s"
|
||||
void* dEvent_manager_c::getSubstance(dEvDtData_c* p_data, int type) {
|
||||
if (p_data->getIndex() < 0 || p_data->getNumber() <= 0) {
|
||||
return NULL;
|
||||
} else {
|
||||
switch(p_data->getType()) {
|
||||
case dEvDtData_c::TYPE_FLOAT:
|
||||
case dEvDtData_c::TYPE_VEC:
|
||||
case 2:
|
||||
return getBase().getFDataP(p_data->getIndex());
|
||||
case dEvDtData_c::TYPE_INT:
|
||||
return getBase().getIDataP(p_data->getIndex());
|
||||
case dEvDtData_c::TYPE_STRING:
|
||||
return getBase().getSDataP(p_data->getIndex());
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
dEvent_manager_c::dEvent_manager_c() {
|
||||
mDataLoaded = false;
|
||||
|
|
@ -264,18 +273,16 @@ int dEvent_manager_c::create() {
|
|||
field_0x1b4 = 0;
|
||||
field_0x1aa = -1;
|
||||
field_0x1b8 = 0;
|
||||
field_0x1b0 = -1;
|
||||
mRoomNo = -1;
|
||||
mDataLoaded = 0;
|
||||
|
||||
for (int i = 4; i <= 9; i++) {
|
||||
mEventList[i].init();
|
||||
}
|
||||
char* res = (char*)dComIfG_getStageRes(data_80379F50);
|
||||
mEventList[3].init(res, -1);
|
||||
mEventList[10].init();
|
||||
|
||||
res = (char*)dComIfG_getObjectRes("Event", data_80379F50);
|
||||
mEventList[1].init(res, -1);
|
||||
mEventList[3].init((char*)dComIfG_getStageRes(data_80379F50), -1);
|
||||
mEventList[10].init();
|
||||
mEventList[1].init((char*)dComIfG_getObjectRes("Event", data_80379F50), -1);
|
||||
mEventList[2].init();
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -305,6 +312,35 @@ asm void dEvent_manager_c::demoInit() {
|
|||
#pragma pop
|
||||
|
||||
/* 80046904-800469EC 041244 00E8+00 0/0 1/1 0/0 .text roomInit__16dEvent_manager_cFi */
|
||||
// reversed reg alloc
|
||||
#ifdef NONMATCHING
|
||||
void dEvent_manager_c::roomInit(int roomNo) {
|
||||
if (roomNo == -1) {
|
||||
roomNo = dComIfGp_roomControl_getStayNo();
|
||||
}
|
||||
char arc_name[8];
|
||||
strcpy(arc_name, dComIfG_getRoomArcName(roomNo));
|
||||
char* data = (char*)dComIfG_getStageRes(arc_name, data_80379F50);
|
||||
|
||||
int tmp = -1;
|
||||
for (int i = 4; i <= 9; i++) {
|
||||
if (mEventList[i].getHeaderP() == NULL) {
|
||||
tmp = i;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (mEventList[i].roomNo() == roomNo) {
|
||||
tmp = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (tmp != -1) {
|
||||
mEventList[tmp].init(data, roomNo);
|
||||
}
|
||||
mRoomNo = roomNo;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -313,6 +349,7 @@ asm void dEvent_manager_c::roomInit(int param_0) {
|
|||
#include "asm/d/event/d_event_manager/roomInit__16dEvent_manager_cFi.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
void dEvent_manager_c::roomFinish(int param_0) {
|
||||
for (int i = 4; i <= 9; i++) {
|
||||
|
|
@ -369,19 +406,31 @@ static int allOffObjectCallBack(fopAc_ac_c* pActor, void* param_1) {
|
|||
|
||||
/* 80046CB8-80046DA0 0415F8 00E8+00 1/1 0/0 0/0 .text
|
||||
* startProc__16dEvent_manager_cFP12dEvDtEvent_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dEvent_manager_c::startProc(dEvDtEvent_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/event/d_event_manager/startProc__16dEvent_manager_cFP12dEvDtEvent_c.s"
|
||||
void dEvent_manager_c::startProc(dEvDtEvent_c* p_evnt) {
|
||||
for (int i = 0; i < p_evnt->getNStaff(); i++) {
|
||||
dEvDtStaff_c* staff = getBase().getStaffP(p_evnt->getStaff(i));
|
||||
if (staff->getType() == dEvDtStaff_c::TYPE_DEFAULT) {
|
||||
fopAc_ac_c* ac = specialCast(staff->getName(), 1);
|
||||
if (ac == NULL) {
|
||||
ac = fopAcM_searchFromName4Event(staff->getName(), -1);
|
||||
}
|
||||
if (ac != NULL) {
|
||||
fopAcM_OnStatus(ac, 0x8000);
|
||||
}
|
||||
}
|
||||
if (staff->getType() == dEvDtStaff_c::TYPE_ALL) {
|
||||
issueStaff(staff->getName());
|
||||
}
|
||||
staff->init();
|
||||
}
|
||||
p_evnt->mEventState = 1;
|
||||
mFlags.init();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80046DA0-80046DAC 0416E0 000C+00 2/2 0/0 0/0 .text
|
||||
* closeProc__16dEvent_manager_cFP12dEvDtEvent_c */
|
||||
void dEvent_manager_c::closeProc(dEvDtEvent_c* param_0) {
|
||||
param_0->field_0xa4 = 2;
|
||||
void dEvent_manager_c::closeProc(dEvDtEvent_c* p_evnt) {
|
||||
p_evnt->mEventState = 2;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
|
|
@ -452,23 +501,21 @@ asm void dEvent_manager_c::Experts() {
|
|||
/* 80047454-800474BC 041D94 0068+00 1/1 0/0 0/0 .text getEventData__16dEvent_manager_cFsi
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
dEvDtEvent_c* dEvent_manager_c::getEventData(s16 param_0, int param_1) {
|
||||
dEvDtBase_c* baseptr;
|
||||
dEvDtEvent_c* eventptr;
|
||||
|
||||
if (param_1 < 1 || param_1 > 12) {
|
||||
eventptr = NULL;
|
||||
dEvDtEvent_c* dEvent_manager_c::getEventData(s16 param_0, int idx) {
|
||||
if (idx <= 0 || idx > 11) {
|
||||
return NULL;
|
||||
} else {
|
||||
baseptr = &mEventList[param_1];
|
||||
if (baseptr == NULL || baseptr->getHeaderP() == NULL) {
|
||||
eventptr = NULL;
|
||||
} else if (param_0 < 0 || baseptr->getEventNum() <= param_0) {
|
||||
eventptr = NULL;
|
||||
dEvDtBase_c* base = &mEventList[idx];
|
||||
|
||||
if (base == NULL || base->getHeaderP() == NULL) {
|
||||
return NULL;
|
||||
} else if (param_0 < 0 || param_0 >= base->getEventNum()) {
|
||||
return NULL;
|
||||
} else {
|
||||
eventptr = baseptr->getEventP(param_1);
|
||||
return base->getEventP(idx);
|
||||
}
|
||||
}
|
||||
return eventptr;
|
||||
return NULL;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
|
|
@ -664,26 +711,62 @@ asm void dEvent_manager_c::getMyNowCutName(int param_0) {
|
|||
}
|
||||
#pragma pop
|
||||
|
||||
inline dEvt_control_c& dComIfGp_getEvent() {
|
||||
return g_dComIfG_gameInfo.play.getEvent();
|
||||
}
|
||||
|
||||
/* 80047FC8-800480EC 042908 0124+00 2/2 0/0 0/0 .text getMyDataP__16dEvent_manager_cFiPCci */
|
||||
// instruction in wrong place
|
||||
#ifdef NONMATCHING
|
||||
dEvDtData_c* dEvent_manager_c::getMyDataP(int index, char const* name, int type) {
|
||||
if (dComIfGp_getEvent().getMode() == 0) {
|
||||
return NULL;
|
||||
}
|
||||
else if (index == -1) {
|
||||
return NULL;
|
||||
}
|
||||
else if (field_0x1aa == -1) {
|
||||
return NULL;
|
||||
} else {
|
||||
dEvDtCut_c* cut;
|
||||
if (type != 0) {
|
||||
cut = getBase().getCutStaffStartCutP(index);
|
||||
} else {
|
||||
cut = getBase().getCutStaffCurrentCutP(index);
|
||||
}
|
||||
|
||||
int top = cut->getDataTop();
|
||||
while (top != -1) {
|
||||
dEvDtData_c* data = getBase().getDataP(index);
|
||||
if (!strcmp(name, data->getName())) {
|
||||
return data;
|
||||
}
|
||||
top = data->getNext();
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dEvent_manager_c::getMyDataP(int param_0, char const* param_1, int param_2) {
|
||||
asm dEvDtData_c* dEvent_manager_c::getMyDataP(int param_0, char const* param_1, int param_2) {
|
||||
nofralloc
|
||||
#include "asm/d/event/d_event_manager/getMyDataP__16dEvent_manager_cFiPCci.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 800480EC-80048144 042A2C 0058+00 0/0 22/22 355/355 .text
|
||||
* getMySubstanceP__16dEvent_manager_cFiPCci */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dEvent_manager_c::getMySubstanceP(int param_0, char const* param_1, int param_2) {
|
||||
nofralloc
|
||||
#include "asm/d/event/d_event_manager/getMySubstanceP__16dEvent_manager_cFiPCci.s"
|
||||
void* dEvent_manager_c::getMySubstanceP(int index, char const* name, int type) {
|
||||
dEvDtData_c* data = getMyDataP(index, name, 0);
|
||||
if (data == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
return getSubstance(data, type);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80048144-8004817C 042A84 0038+00 0/0 12/12 0/0 .text getMySubstanceNum__16dEvent_manager_cFiPCc
|
||||
*/
|
||||
|
|
@ -821,7 +904,7 @@ SECTION_DEAD static char const* const stringBase_8037A0DE = "SHUTTER_DOOR";
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dEvent_manager_c::specialCast(char const* param_0, int param_1) {
|
||||
asm fopAc_ac_c* dEvent_manager_c::specialCast(char const* param_0, int param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/event/d_event_manager/specialCast__16dEvent_manager_cFPCci.s"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,12 +26,6 @@ struct mDoGph_gInf_c {
|
|||
static u8 m_bloom[20];
|
||||
};
|
||||
|
||||
struct dPa_control_c {
|
||||
/* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*,
|
||||
u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*,
|
||||
cXyz const*, f32);
|
||||
};
|
||||
|
||||
struct color_RGB_class {};
|
||||
|
||||
struct Z2SeMgr {
|
||||
|
|
@ -3152,7 +3146,7 @@ static asm void dKy_Indoor_check() {
|
|||
#pragma pop
|
||||
|
||||
/* 801AC2E0-801AC2E8 1A6C20 0008+00 0/0 1/1 0/0 .text dKy_withwarp_capture_check__Fv */
|
||||
bool dKy_withwarp_capture_check() {
|
||||
BOOL dKy_withwarp_capture_check() {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
// Types:
|
||||
//
|
||||
|
||||
|
||||
struct mDoLib_clipper {
|
||||
static u8 mClipper[92];
|
||||
};
|
||||
|
|
@ -50,13 +51,6 @@ struct dPa_wbPcallBack_c {
|
|||
|
||||
struct JPADrawInfo {};
|
||||
|
||||
struct JPAResourceManager {
|
||||
/* 80273E10 */ JPAResourceManager(void const*, JKRHeap*);
|
||||
/* 80273EA8 */ void checkUserIndexDuplication(u16) const;
|
||||
/* 80273EEC */ void swapTexture(ResTIMG const*, char const*);
|
||||
/* 80273FCC */ void getResUserWork(u16) const;
|
||||
};
|
||||
|
||||
struct JGeometry {
|
||||
template <typename A1>
|
||||
struct TVec3 {};
|
||||
|
|
@ -75,16 +69,6 @@ struct JPAEmitterManager {
|
|||
/* 8027E354 */ void clearResourceManager(u8);
|
||||
};
|
||||
|
||||
struct dPa_simpleEcallBack {
|
||||
/* 8004ADF4 */ dPa_simpleEcallBack();
|
||||
/* 8004AE1C */ void executeAfter(JPABaseEmitter*);
|
||||
/* 8004AF94 */ void draw(JPABaseEmitter*);
|
||||
/* 8004AF98 */ void create(JPAEmitterManager*, u16, u8);
|
||||
/* 8004B064 */ void createEmitter(JPAEmitterManager*);
|
||||
/* 8004B168 */ void set(cXyz const*, dKy_tevstr_c const*, u8, _GXColor const&, _GXColor const&,
|
||||
int, f32);
|
||||
/* 8004FC08 */ ~dPa_simpleEcallBack();
|
||||
};
|
||||
|
||||
struct dPa_simpleData_c {
|
||||
/* 8004B024 */ ~dPa_simpleData_c();
|
||||
|
|
@ -205,82 +189,6 @@ struct dPa_followEcallBack {
|
|||
|
||||
struct cBgS_PolyInfo {};
|
||||
|
||||
struct dPa_control_c {
|
||||
struct level_c {
|
||||
struct emitter_c {
|
||||
/* 8004B504 */ void onActive();
|
||||
/* 8004B544 */ void entry(u32, u16, JPABaseEmitter*, dPa_levelEcallBack*);
|
||||
/* 8004B5AC */ void cleanup();
|
||||
/* 8004FBFC */ emitter_c();
|
||||
};
|
||||
|
||||
/* 8004B688 */ level_c();
|
||||
/* 8004B7A8 */ void execute();
|
||||
/* 8004B6F8 */ void execute(dPa_control_c::level_c::emitter_c*);
|
||||
/* 8004B808 */ void cleanup();
|
||||
/* 8004B874 */ void get(u32);
|
||||
/* 8004B8B4 */ void forceOnEventMove(u32);
|
||||
/* 8004B8E8 */ void allForceOnEventMove();
|
||||
/* 8004B918 */ void getEmitter(u32);
|
||||
/* 8004B94C */ void entry(u16, JPABaseEmitter*, dPa_levelEcallBack*);
|
||||
/* 8004BA40 */ void addTable(dPa_control_c::level_c::emitter_c*);
|
||||
/* 8004BA74 */ void cutTable(dPa_control_c::level_c::emitter_c*);
|
||||
};
|
||||
|
||||
/* 8004BACC */ dPa_control_c();
|
||||
/* 8004BB70 */ void getRM_ID(u16);
|
||||
/* 8004BB78 */ void createCommon(void const*);
|
||||
/* 8004BCDC */ void createRoomScene();
|
||||
/* 8004BDFC */ void readScene(u8, mDoDvdThd_toMainRam_c**);
|
||||
/* 8004BEB0 */ void createScene(void const*);
|
||||
/* 8004BF3C */ void removeRoomScene(bool);
|
||||
/* 8004BFD4 */ void removeScene(bool);
|
||||
/* 8004C054 */ void cleanup();
|
||||
/* 8004C078 */ void calc3D();
|
||||
/* 8004C0EC */ void calc2D();
|
||||
/* 8004C134 */ void calcMenu();
|
||||
/* 8004C188 */ void draw(JPADrawInfo*, u8);
|
||||
/* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32);
|
||||
/* 8004C838 */ void setWaterRipple(u32*, cBgS_PolyInfo&, cXyz const*, f32, dKy_tevstr_c const*,
|
||||
cXyz const*, s8);
|
||||
/* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*,
|
||||
u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*,
|
||||
cXyz const*, f32);
|
||||
/* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*,
|
||||
cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*,
|
||||
_GXColor const*, cXyz const*, f32);
|
||||
/* 8004CF90 */ void getPolyColor(cBgS_PolyInfo&, int, _GXColor*, _GXColor*, u8*, f32*);
|
||||
/* 8004D6A4 */ void setPoly(u32, u16, cBgS_PolyInfo&, cXyz const*, dKy_tevstr_c const*,
|
||||
csXyz const*, cXyz const*, int, dPa_levelEcallBack*, s8,
|
||||
cXyz const*);
|
||||
/* 8004D068 */ void setPoly(u16, cBgS_PolyInfo&, cXyz const*, dKy_tevstr_c const*, csXyz const*,
|
||||
cXyz const*, int, dPa_levelEcallBack*, s8, cXyz const*);
|
||||
/* 8004D128 */ void newSimple(u16, u8, u32*);
|
||||
/* 8004D1B8 */ void setSimple(u16, cXyz const*, dKy_tevstr_c const*, u8, _GXColor const&,
|
||||
_GXColor const&, int, f32);
|
||||
/* 8004D23C */ void getSimple(u16);
|
||||
/* 8004D770 */ void setStopContinue(u32);
|
||||
/* 8004D7C4 */ void setSimpleFoot(u32, u32*, cBgS_PolyInfo&, cXyz const*, dKy_tevstr_c const*,
|
||||
int, csXyz const*, cXyz const*, dPa_levelEcallBack*, s8,
|
||||
cXyz const*);
|
||||
/* 8004D988 */ void setCommonPoly(u32*, cBgS_PolyInfo*, cXyz const*, cXyz const*,
|
||||
dKy_tevstr_c const*, u32, u32, csXyz const*, cXyz const*, s8);
|
||||
|
||||
static u8 mTsubo[64];
|
||||
static u8 mLifeBall[24];
|
||||
static u8 mWindViewMatrix[48];
|
||||
static u8 mEmitterMng[4];
|
||||
static u8 mWaterBubblePcallBack[4];
|
||||
static u8 mFsenthPcallBack[4];
|
||||
static u8 mLight8EcallBack[4];
|
||||
static u8 mLight8PcallBack[4];
|
||||
static u8 m_b_Light8EcallBack[4];
|
||||
static u8 m_b_Light8PcallBack[4];
|
||||
static u8 m_d_Light8EcallBack[4];
|
||||
static u8 m_d_Light8PcallBack[4];
|
||||
static u8 mParticleTracePCB[4 + 4 /* padding */];
|
||||
};
|
||||
|
||||
struct dJntCol_c {
|
||||
/* 80036C44 */ void getHitmarkPosAndAngle(cXyz const*, csXyz const*, cXyz*, csXyz*, int) const;
|
||||
};
|
||||
|
|
@ -1628,7 +1536,7 @@ asm void dPa_control_c::level_c::allForceOnEventMove() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dPa_control_c::level_c::getEmitter(u32 param_0) {
|
||||
asm dPa_control_c::level_c::emitter_c* dPa_control_c::level_c::getEmitter(u32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/particle/d_particle/getEmitter__Q213dPa_control_c7level_cFUl.s"
|
||||
}
|
||||
|
|
@ -2144,7 +2052,7 @@ static asm void dPa_kankyocolor_set(f32 param_0, JPABaseEmitter* param_1,
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dPa_control_c::set(u32 param_0, u8 param_1, u16 param_2, cXyz const* param_3,
|
||||
asm u32 dPa_control_c::set(u32 param_0, u8 param_1, u16 param_2, cXyz const* param_3,
|
||||
dKy_tevstr_c const* param_4, csXyz const* param_5, cXyz const* param_6,
|
||||
u8 param_7, dPa_levelEcallBack* param_8, s8 param_9,
|
||||
_GXColor const* param_10, _GXColor const* param_11,
|
||||
|
|
@ -2160,7 +2068,7 @@ asm void dPa_control_c::set(u32 param_0, u8 param_1, u16 param_2, cXyz const* pa
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dPa_control_c::setPoly(u32 param_0, u16 param_1, cBgS_PolyInfo& param_2,
|
||||
asm u32 dPa_control_c::setPoly(u32 param_0, u16 param_1, cBgS_PolyInfo& param_2,
|
||||
cXyz const* param_3, dKy_tevstr_c const* param_4,
|
||||
csXyz const* param_5, cXyz const* param_6, int param_7,
|
||||
dPa_levelEcallBack* param_8, s8 param_9, cXyz const* param_10) {
|
||||
|
|
@ -2379,7 +2287,8 @@ asm void dPa_particleTracePcallBack_c::execute(JPABaseEmitter* param_0, JPABaseP
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dPa_levelEcallBack::~dPa_levelEcallBack() {
|
||||
// asm dPa_levelEcallBack::~dPa_levelEcallBack() {
|
||||
extern "C" asm void __dt__18dPa_levelEcallBackFv() {
|
||||
nofralloc
|
||||
#include "asm/d/particle/d_particle/__dt__18dPa_levelEcallBackFv.s"
|
||||
}
|
||||
|
|
@ -2415,7 +2324,8 @@ asm dPa_control_c::level_c::emitter_c::emitter_c() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dPa_simpleEcallBack::~dPa_simpleEcallBack() {
|
||||
// asm dPa_simpleEcallBack::~dPa_simpleEcallBack() {
|
||||
extern "C" asm void __dt__19dPa_simpleEcallBackFv() {
|
||||
nofralloc
|
||||
#include "asm/d/particle/d_particle/__dt__19dPa_simpleEcallBackFv.s"
|
||||
}
|
||||
|
|
@ -2435,7 +2345,8 @@ asm dPa_particleTracePcallBack_c::~dPa_particleTracePcallBack_c() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dPa_hermiteEcallBack_c::~dPa_hermiteEcallBack_c() {
|
||||
// asm dPa_hermiteEcallBack_c::~dPa_hermiteEcallBack_c() {
|
||||
extern "C" asm void __dt__22dPa_hermiteEcallBack_cFv() {
|
||||
nofralloc
|
||||
#include "asm/d/particle/d_particle/__dt__22dPa_hermiteEcallBack_cFv.s"
|
||||
}
|
||||
|
|
@ -2666,7 +2577,7 @@ asm dPa_setColorEcallBack::~dPa_setColorEcallBack() {
|
|||
|
||||
/* 80050368-8005036C 04ACA8 0004+00 10/0 0/0 0/0 .text
|
||||
* execute__18JPAEmitterCallBackFP14JPABaseEmitter */
|
||||
void JPAEmitterCallBack::execute(JPABaseEmitter* param_0) {
|
||||
extern "C" void execute__18JPAEmitterCallBackFP14JPABaseEmitter() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1948,7 +1948,7 @@ asm s32 fopAcM_findObject4EventCB(fopAc_ac_c* param_0, void* param_1) {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm s32 fopAcM_searchFromName4Event(char const* param_0, s16 param_1) {
|
||||
asm fopAc_ac_c* fopAcM_searchFromName4Event(char const* param_0, s16 param_1) {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_actor_mng/fopAcM_searchFromName4Event__FPCcs.s"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,25 +18,6 @@
|
|||
// Types:
|
||||
//
|
||||
|
||||
struct mDoExt_morf_c {
|
||||
/* 8000F950 */ mDoExt_morf_c();
|
||||
/* 8000FAE8 */ ~mDoExt_morf_c();
|
||||
/* 8000FB7C */ void setMorf(f32);
|
||||
/* 8000FBC0 */ void frameUpdate();
|
||||
};
|
||||
|
||||
struct mDoExt_invisibleModel {
|
||||
/* 8000E53C */ void create(J3DModel*, u8);
|
||||
/* 8000E6C8 */ void entryJoint(cXyz*);
|
||||
/* 8000E7C0 */ void entryDL(cXyz*);
|
||||
};
|
||||
|
||||
struct mDoExt_invJntPacket {
|
||||
/* 8000E5F8 */ ~mDoExt_invJntPacket();
|
||||
/* 8000E654 */ mDoExt_invJntPacket();
|
||||
/* 80012220 */ void draw();
|
||||
};
|
||||
|
||||
struct mDoExt_btpAnm {
|
||||
/* 8000D54C */ void init(J3DMaterialTable*, J3DAnmTexPattern*, int, int, f32, s16, s16);
|
||||
/* 8000D5E8 */ void entry(J3DMaterialTable*, s16);
|
||||
|
|
@ -46,11 +27,6 @@ struct mDoExt_blkAnm {
|
|||
/* 8000DA08 */ void init(J3DDeformData*, J3DAnmCluster*, int, int, f32, s16, s16);
|
||||
};
|
||||
|
||||
struct mDoExt_MtxCalcOldFrame {
|
||||
/* 8000F848 */ void initOldFrameMorf(f32, u16, u16);
|
||||
/* 8000F8CC */ void decOldFrameMorfCounter();
|
||||
};
|
||||
|
||||
struct mDoExt_MtxCalcAnmBlendTblOld {
|
||||
/* 8000F4B0 */ void calc();
|
||||
/* 80014EB0 */ ~mDoExt_MtxCalcAnmBlendTblOld();
|
||||
|
|
@ -203,12 +179,6 @@ struct JUTCacheFont {
|
|||
/* 802DD188 */ JUTCacheFont(ResFONT const*, u32, JKRHeap*);
|
||||
};
|
||||
|
||||
struct J3DMtxCalcNoAnmBase {
|
||||
/* 8000FA8C */ ~J3DMtxCalcNoAnmBase();
|
||||
};
|
||||
|
||||
template <typename A0, typename B0>
|
||||
struct J3DMtxCalcNoAnm {};
|
||||
/* J3DMtxCalcNoAnm<J3DMtxCalcCalcTransformMaya, J3DMtxCalcJ3DSysInitMaya> */
|
||||
struct J3DMtxCalcNoAnm__template0 {
|
||||
/* 8000FA20 */ void func_8000FA20(void* _this);
|
||||
|
|
@ -2518,7 +2488,8 @@ extern "C" asm void func_8000FA20(void* _this) {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm J3DMtxCalcNoAnmBase::~J3DMtxCalcNoAnmBase() {
|
||||
// asm J3DMtxCalcNoAnmBase::~J3DMtxCalcNoAnmBase() {
|
||||
extern "C" asm void __dt__19J3DMtxCalcNoAnmBaseFv() {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_ext/__dt__19J3DMtxCalcNoAnmBaseFv.s"
|
||||
}
|
||||
|
|
@ -2528,7 +2499,8 @@ asm J3DMtxCalcNoAnmBase::~J3DMtxCalcNoAnmBase() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm mDoExt_morf_c::~mDoExt_morf_c() {
|
||||
// asm mDoExt_morf_c::~mDoExt_morf_c() {
|
||||
extern "C" asm void __dt__13mDoExt_morf_cFv() {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_ext/__dt__13mDoExt_morf_cFv.s"
|
||||
}
|
||||
|
|
@ -2920,7 +2892,8 @@ asm void mDoExt_McaMorf2::stopZelAnime() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void mDoExt_invJntPacket::draw() {
|
||||
// asm void mDoExt_invJntPacket::draw() {
|
||||
extern "C" asm void draw__19mDoExt_invJntPacketFv() {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_ext/draw__19mDoExt_invJntPacketFv.s"
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue