mirror of
https://github.com/zeldaret/tp
synced 2026-07-07 14:13:27 -04:00
@@ -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,7 @@ 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];
|
||||
|
||||
|
||||
@@ -299,6 +299,8 @@ public:
|
||||
virtual ~J3DFrameCtrl() {}
|
||||
|
||||
f32 getRate() const { return mRate; }
|
||||
f32 getFrame() const { return mFrame; }
|
||||
u8 getAttribute() const { return mAttribute; }
|
||||
void setAttribute(u8 attr) { mAttribute = attr; }
|
||||
void setEnd(s16 end) { mEnd = end; }
|
||||
void setRate(f32 rate) { mRate = rate; }
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -124,6 +124,8 @@ public:
|
||||
/* 800A4820 */ virtual ~J3DMaterialAnm();
|
||||
/* 8032C3C4 */ virtual void calc(J3DMaterial*) const;
|
||||
|
||||
const J3DTexMtxAnm& getTexMtxAnm(int i) const { return mTexMtxAnm[i]; }
|
||||
|
||||
private:
|
||||
/* 0x04 */ J3DMatColorAnm mMatColorAnm[2];
|
||||
/* 0x14 */ J3DTexMtxAnm mTexMtxAnm[8];
|
||||
|
||||
@@ -34,7 +34,7 @@ public:
|
||||
/* 803281B4 */ void calcBumpMtx();
|
||||
/* 803282B8 */ void calcBBoardMtx();
|
||||
/* 803282EC */ void prepareShapePackets();
|
||||
Mtx* getAnmMtx(int);
|
||||
MtxP getAnmMtx(int);
|
||||
|
||||
/* 80327CA4 */ virtual void update();
|
||||
/* 80327E4C */ virtual void entry();
|
||||
@@ -48,6 +48,8 @@ public:
|
||||
void onFlag(u32 flag) { mFlags |= flag; }
|
||||
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); }
|
||||
|
||||
@@ -49,6 +49,7 @@ public:
|
||||
J3DColorBlock* getColorBlock() const { return mColorBlock; }
|
||||
J3DTexGenBlock* getTexGenBlock() const { return mTexGenBlock; }
|
||||
J3DDisplayListObj* getSharedDisplayListObj() const { return mSharedDLObj; }
|
||||
J3DShape* getShape() { return mShape; }
|
||||
J3DMaterialAnm* getMaterialAnm() const {
|
||||
if ((u32)mMaterialAnm < 0xC0000000) {
|
||||
return mMaterialAnm;
|
||||
|
||||
@@ -48,6 +48,8 @@ public:
|
||||
void setVertexDataPointer(J3DVertexData* pVtxData) { mVertexData = pVtxData; }
|
||||
void* getVcdVatCmd() const { return mVcdVatCmd; }
|
||||
void setVcdVatCmd(void* pVatCmd) { mVcdVatCmd = pVatCmd; }
|
||||
void show() { offFlag(1); }
|
||||
void hide() { onFlag(1); }
|
||||
|
||||
static void resetVcdVatCache() { sOldVcdVatCmd = NULL; }
|
||||
|
||||
|
||||
@@ -10,6 +10,14 @@ inline f32 JMAFastReciprocal(f32 value) {
|
||||
return __fres(value);
|
||||
}
|
||||
|
||||
inline f32 JMAFastSqrt(f32 input) {
|
||||
if (input > 0.0f) {
|
||||
f64 tmp = __frsqrte(input);
|
||||
return tmp * input;
|
||||
}
|
||||
return input;
|
||||
}
|
||||
|
||||
namespace JMath {
|
||||
|
||||
inline f32 fastReciprocal(f32 value) {
|
||||
|
||||
@@ -273,6 +273,7 @@ public:
|
||||
u8 GetWeightUc() const { return mWeight; }
|
||||
void SetWeight(u8 weight) { mWeight = weight; }
|
||||
fopAc_ac_c* GetAc() { return mActor; }
|
||||
void SetActor(void* ac) { mActor = (fopAc_ac_c*)ac; }
|
||||
}; // Size = 0x1C
|
||||
|
||||
STATIC_ASSERT(0x1C == sizeof(cCcD_Stts));
|
||||
@@ -281,8 +282,8 @@ class cCcD_Obj; // placeholder
|
||||
|
||||
class cCcD_ObjCommonBase {
|
||||
protected:
|
||||
/* 0x00 */ int mSPrm;
|
||||
/* 0x04 */ int mRPrm;
|
||||
/* 0x00 */ u32 mSPrm;
|
||||
/* 0x04 */ u32 mRPrm;
|
||||
/* 0x08 */ cCcD_Obj* mHitObj;
|
||||
/* 0x0C vtable */
|
||||
public:
|
||||
@@ -295,6 +296,8 @@ public:
|
||||
s32 getRPrm() const { return mRPrm; }
|
||||
cCcD_Obj* getHitObj() { return mHitObj; }
|
||||
u32 MskSPrm(u32 mask) const { return mSPrm & mask; }
|
||||
void OnSPrmBit(u32 flag) { mSPrm |= flag; }
|
||||
void OffSPrmBit(u32 flag) { mSPrm &= ~flag; }
|
||||
};
|
||||
|
||||
STATIC_ASSERT(0x10 == sizeof(cCcD_ObjCommonBase));
|
||||
@@ -311,6 +314,8 @@ public:
|
||||
bool ChkSet() const { return MskSPrm(1); }
|
||||
u8 GetAtp() const { return mAtp; }
|
||||
u32 MskType(u32 msk) const { return mType & msk; }
|
||||
void SetType(u32 type) { mType = type; }
|
||||
void SetAtp(int atp) { mAtp = atp; }
|
||||
|
||||
protected:
|
||||
/* 0x10 */ int mType;
|
||||
@@ -388,6 +393,11 @@ public:
|
||||
bool ChkAtType(u32 type) const { return mObjAt.MskType(type); }
|
||||
u32 ChkCoNoCrr() const { return mObjCo.ChkNoCrr(); }
|
||||
u32 ChkCoSph3DCrr() const { return mObjCo.ChkSph3DCrr(); }
|
||||
void OnAtSPrmBit(u32 flag) { mObjAt.OnSPrmBit(flag); }
|
||||
void OffAtSPrmBit(u32 flag) { mObjAt.OffSPrmBit(flag); }
|
||||
void SetAtType(u32 type) { mObjAt.SetType(type); }
|
||||
void OnAtSetBit() { mObjAt.OnSPrmBit(1); }
|
||||
void SetAtAtp(int atp) { mObjAt.SetAtp(atp); }
|
||||
|
||||
}; // Size = 0x40
|
||||
|
||||
|
||||
@@ -47,6 +47,18 @@ inline u8 cLib_checkBit(u8& pVar, u8 pBit) {
|
||||
return pVar & pBit;
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
inline T cLib_minMaxLimit(T param_0, T min, T max) {
|
||||
if (param_0 < min) {
|
||||
return max;
|
||||
}
|
||||
min = param_0;
|
||||
if (min > max) {
|
||||
min = max;
|
||||
}
|
||||
return min;
|
||||
}
|
||||
|
||||
void MtxInit(void);
|
||||
void MtxTrans(float, float, float, unsigned char);
|
||||
void MtxScale(float, float, float, unsigned char);
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
+2173
-493
File diff suppressed because it is too large
Load Diff
+297
-174
@@ -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];
|
||||
@@ -27,11 +30,18 @@ private:
|
||||
/* 0x48 */ ResTIMG* field_0x48;
|
||||
};
|
||||
|
||||
struct daPy_boomerangMove_c {
|
||||
class daPy_boomerangMove_c {
|
||||
public:
|
||||
/* 8015E5B0 */ void initOffset(cXyz const*);
|
||||
/* 8015E654 */ void posMove(cXyz*, s16*, fopAc_ac_c*, s16);
|
||||
/* 8015E87C */ void bgCheckAfterOffset(cXyz const*);
|
||||
};
|
||||
|
||||
private:
|
||||
/* 0x0 */ u8 field_0x0;
|
||||
/* 0x2 */ u16 field_0x2;
|
||||
/* 0x4 */ f32 field_0x4;
|
||||
/* 0x8 */ f32 field_0x8;
|
||||
}; // Size: 0xC
|
||||
|
||||
class daPy_anmHeap_c {
|
||||
public:
|
||||
@@ -47,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;
|
||||
@@ -66,26 +77,27 @@ private:
|
||||
|
||||
class daPy_actorKeep_c {
|
||||
public:
|
||||
daPy_actorKeep_c(void);
|
||||
void setActor(void);
|
||||
daPy_actorKeep_c();
|
||||
void setActor();
|
||||
void setData(fopAc_ac_c*);
|
||||
void clearData(void);
|
||||
void clearData();
|
||||
|
||||
u32 getID(void) const { return mID; }
|
||||
u32 getID() const { return mID; }
|
||||
void setID(u32 id) { mID = id; }
|
||||
fopAc_ac_c* getActor(void) const { return mActor; }
|
||||
fopAc_ac_c* getActor() const { return mActor; }
|
||||
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:
|
||||
/* 80140D24 */ ~daPy_frameCtrl_c();
|
||||
/* 80140D80 */ daPy_frameCtrl_c();
|
||||
bool checkAnmEnd(void);
|
||||
void updateFrame(void);
|
||||
bool checkAnmEnd();
|
||||
void updateFrame();
|
||||
void setFrameCtrl(u8, short, short, float, float);
|
||||
|
||||
u16 getEndFlg() { return mEndFlg; }
|
||||
@@ -103,12 +115,18 @@ private:
|
||||
/* 0x16 */ u16 mNowSetFlg;
|
||||
};
|
||||
|
||||
class Z2WolfHowlMgr;
|
||||
class daBoomerang_c;
|
||||
|
||||
class daPy_demo_c {
|
||||
public:
|
||||
void setSpecialDemoType();
|
||||
|
||||
void setDemoType(u16 pType) { mDemoType = pType; }
|
||||
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;
|
||||
@@ -117,24 +135,34 @@ private:
|
||||
/* 0x06 */ s16 mParam2;
|
||||
/* 0x08 */ int mParam0;
|
||||
/* 0x0C */ int mParam1;
|
||||
/* 0x10 */ int mDemoMode;
|
||||
/* 0x10 */ u32 mDemoMode;
|
||||
/* 0x14 */ float mStick;
|
||||
/* 0x18 */ cXyz mDemoPos0;
|
||||
}; // Size = 0x24
|
||||
}; // Size: 0x24
|
||||
|
||||
class daMidna_c;
|
||||
|
||||
class daPy_py_c : public fopAc_ac_c {
|
||||
public:
|
||||
/* 0x0568 */ u8 field_0x568[8];
|
||||
/* 0x0570 */ int mNoResetFlg0;
|
||||
/* 0x0574 */ int mNoResetFlg1;
|
||||
/* 0x0578 */ int mNoResetFlg2;
|
||||
/* 0x057C */ int mNoResetFlg3;
|
||||
/* 0x0580 */ int mResetFlg0;
|
||||
/* 0x0584 */ int mResetFlg1;
|
||||
/* 0x0588 */ int mEndResetFlg0;
|
||||
/* 0x058C */ int mEndResetFlg1;
|
||||
/* 0x0590 */ int mEndResetFlg2;
|
||||
/* 0x0594 */ u8 field_0x594[0x10];
|
||||
/* 0x0568 */ u8 mCutType;
|
||||
/* 0x0569 */ u8 mComboCutCount;
|
||||
/* 0x056A */ u8 mSpecialMode; // maybe needs better name
|
||||
/* 0x056B */ u8 field_0x56b;
|
||||
/* 0x056C */ s16 mDamageTimer;
|
||||
/* 0x056E */ u16 mSwordUpTimer;
|
||||
/* 0x0570 */ u32 mNoResetFlg0;
|
||||
/* 0x0574 */ u32 mNoResetFlg1;
|
||||
/* 0x0578 */ u32 mNoResetFlg2;
|
||||
/* 0x057C */ u32 mNoResetFlg3;
|
||||
/* 0x0580 */ u32 mResetFlg0;
|
||||
/* 0x0584 */ u32 mResetFlg1;
|
||||
/* 0x0588 */ u32 mEndResetFlg0;
|
||||
/* 0x058C */ u32 mEndResetFlg1;
|
||||
/* 0x0590 */ u32 mEndResetFlg2;
|
||||
/* 0x0594 */ f32 field_0x594;
|
||||
/* 0x0598 */ u8 field_0x598[0x4];
|
||||
/* 0x059C */ s16 mLookAngleY;
|
||||
/* 0x059E */ u8 field_0x59e[0x6];
|
||||
/* 0x05A4 */ cXyz mHeadTopPos;
|
||||
/* 0x05B0 */ cXyz mItemPos;
|
||||
/* 0x05BC */ cXyz mSwordTopPos;
|
||||
@@ -147,23 +175,96 @@ public:
|
||||
|
||||
public:
|
||||
enum daPy_FLG0 {
|
||||
EquipHeavyBoots = 0x2000000,
|
||||
MagneBootsOn = 0x1000,
|
||||
UnkFrollCrashFlg2 = 0x10,
|
||||
UnkFrollCrashFlg1 = 0x8
|
||||
};
|
||||
enum daPy_FLG1 { Wolf = 0x2000000, ThrowDamage = 0x4000 };
|
||||
enum daPy_FLG2 { BoarSingleBattle = 0x1800000, UnkArmor = 0x80000, Unk = 1 };
|
||||
enum daPy_FLG3 { CopyRodThrowAfter = 0x40000 };
|
||||
enum daPy_ERFLG0 {};
|
||||
enum daPy_ERFLG1 { GanonFinish = 0x80000000, UnkForcePutPos = 0x2000 };
|
||||
enum daPy_ERFLG2 {};
|
||||
enum daPy_RFLG0 {};
|
||||
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,
|
||||
FLG0_UNK_4 = 4,
|
||||
|
||||
void setParamData(int, int, int, int);
|
||||
HEAVY_STATE_BOOTS = FLG0_UNK_40000000 | EQUIP_HEAVY_BOOTS | FLG0_UNK_20000,
|
||||
};
|
||||
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_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,
|
||||
RFLG0_UNK_80 = 0x80,
|
||||
RFLG0_UNK_40 = 0x40,
|
||||
RFLG0_UNK_2 = 0x2,
|
||||
};
|
||||
|
||||
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,
|
||||
};
|
||||
|
||||
enum CutType {
|
||||
/* 0x01 */ TYPE_CUT_VERTICAL = 1,
|
||||
/* 0x02 */ TYPE_CUT_STAB,
|
||||
/* 0x03 */ TYPE_CUT_SWEEP,
|
||||
/* 0x04 */ TYPE_CUT_HORIZONTAL,
|
||||
/* 0x05 */ TYPE_CUT_HEAD, // Helm Splitter
|
||||
/* 0x06 */ TYPE_CUT_LEFT_SWEEP_FINISH,
|
||||
/* 0x07 */ TYPE_CUT_DOWN_FINISH,
|
||||
/* 0x08 */ TYPE_CUT_TURN_RIGHT,
|
||||
/* 0x0A */ TYPE_CUT_JUMP = 10,
|
||||
/* 0x10 */ TYPE_CUT_AIR = 0x10,
|
||||
/* 0x12 */ TYPE_CUT_LARGE_JUMP_INIT = 0x12,
|
||||
/* 0x13 */ TYPE_CUT_LARGE_JUMP,
|
||||
/* 0x14 */ TYPE_CUT_LARGE_JUMP_FINISH,
|
||||
/* 0x15 */ TYPE_CUT_RIGHT_SWEEP_FINISH,
|
||||
/* 0x16 */ TYPE_CUT_TURN_LEFT,
|
||||
/* 0x17 */ TYPE_CUT_LARGE_TURN_LEFT,
|
||||
/* 0x18 */ TYPE_CUT_LARGE_TURN_RIGHT,
|
||||
/* 0x1A */ TYPE_CUT_FAST_MOVE = 0x1A,
|
||||
/* 0x1E */ TYPE_CUT_TWIRL = 0x1E, // Back Slice
|
||||
/* 0x1F */ TYPE_CUT_FAST,
|
||||
/* 0x20 */ TYPE_CUT_STAB_FINISH,
|
||||
/* 0x21 */ TYPE_CUT_STAB_COMBO,
|
||||
};
|
||||
|
||||
static u32 setParamData(int, int, int, int);
|
||||
int checkFishingRodItem(int);
|
||||
void checkBombItem(int);
|
||||
void checkBottleItem(int);
|
||||
static BOOL checkBombItem(int);
|
||||
static BOOL checkBottleItem(int);
|
||||
void checkDrinkBottleItem(int);
|
||||
static BOOL checkOilBottleItem(int);
|
||||
static BOOL checkOpenBottleItem(int);
|
||||
@@ -171,7 +272,7 @@ public:
|
||||
static BOOL checkHookshotItem(int);
|
||||
static BOOL checkTradeItem(int);
|
||||
static BOOL checkDungeonWarpItem(int);
|
||||
BOOL checkMasterSwordEquip();
|
||||
static BOOL checkMasterSwordEquip();
|
||||
void checkWoodShieldEquip();
|
||||
f32 getAttentionOffsetY();
|
||||
s16 checkNowWolfEyeUp();
|
||||
@@ -183,105 +284,104 @@ public:
|
||||
void linkGrabSubjectNoDraw(fopAc_ac_c*);
|
||||
void wolfGrabSubjectNoDraw(fopAc_ac_c*);
|
||||
void checkRoomRestartStart();
|
||||
void checkCarryStartLightBallA();
|
||||
void checkCarryStartLightBallB();
|
||||
static u32 checkCarryStartLightBallA();
|
||||
static u32 checkCarryStartLightBallB();
|
||||
float getSpinnerRideSpeed() const;
|
||||
void checkSpinnerReflectEffect();
|
||||
void checkBoomerangCharge();
|
||||
bool checkBoomerangChargeTime();
|
||||
void getThrowBoomerangActor();
|
||||
static daBoomerang_c* getThrowBoomerangActor();
|
||||
void cancelBoomerangLockActor(fopAc_ac_c*);
|
||||
void setPlayerDamage(int, int);
|
||||
void setMidnaMotionNum(int);
|
||||
void setMidnaFaceNum(int);
|
||||
int checkNoResetFlg0(daPy_FLG0) const;
|
||||
int checkEquipHeavyBoots() const;
|
||||
int checkBoarSingleBattle(void) const;
|
||||
int checkBoarSingleBattle() const;
|
||||
int checkEndResetFlg0(daPy_ERFLG0) const;
|
||||
void onNoResetFlg2(daPy_py_c::daPy_FLG2);
|
||||
void offNoResetFlg0(daPy_py_c::daPy_FLG0);
|
||||
int checkEndResetFlg2(daPy_py_c::daPy_ERFLG2) const;
|
||||
bool getSumouMode() const;
|
||||
int checkNoResetFlg3(daPy_py_c::daPy_FLG3) const;
|
||||
void checkShieldGet();
|
||||
BOOL checkShieldGet();
|
||||
void onNoResetFlg0(daPy_py_c::daPy_FLG0);
|
||||
int checkEndResetFlg1(daPy_py_c::daPy_ERFLG1) const;
|
||||
void offNoResetFlg1(daPy_py_c::daPy_FLG1);
|
||||
void offNoResetFlg2(daPy_py_c::daPy_FLG2);
|
||||
int checkWolf() const;
|
||||
void checkSwordGet();
|
||||
BOOL checkSwordGet();
|
||||
int checkResetFlg0(daPy_py_c::daPy_RFLG0) const;
|
||||
int checkNoResetFlg2(daPy_py_c::daPy_FLG2) const;
|
||||
int checkMagneBootsOn() const;
|
||||
|
||||
virtual void unk();
|
||||
virtual bool getMidnaAtnPos(void) const;
|
||||
virtual cXyz* getMidnaAtnPos() const;
|
||||
virtual void setMidnaMsgNum(fopAc_ac_c*, u16);
|
||||
virtual Mtx* getModelMtx(void);
|
||||
virtual Mtx* getInvMtx(void);
|
||||
virtual cXyz* getShadowTalkAtnPos(void);
|
||||
virtual float getGroundY();
|
||||
virtual Mtx* getLeftItemMatrix(void);
|
||||
virtual Mtx* getRightItemMatrix(void);
|
||||
virtual Mtx* getLeftHandMatrix(void);
|
||||
virtual Mtx* getRightHandMatrix(void);
|
||||
virtual Mtx* getLinkBackBone1Matrix(void);
|
||||
virtual Mtx* getWolfMouthMatrix(void);
|
||||
virtual Mtx* getWolfBackbone2Matrix(void);
|
||||
virtual bool getBottleMtx(void);
|
||||
virtual bool checkPlayerGuard(void) const;
|
||||
virtual bool checkPlayerFly() const;
|
||||
virtual bool checkFrontRoll() const;
|
||||
virtual bool checkWolfDash() const;
|
||||
virtual bool checkAutoJump(void) const;
|
||||
virtual bool checkSideStep(void) const;
|
||||
virtual bool checkWolfTriggerJump(void) const;
|
||||
virtual bool checkGuardBreakMode(void) const;
|
||||
virtual bool checkLv3Slide(void) const;
|
||||
virtual bool checkWolfHowlDemoMode(void) const;
|
||||
virtual bool checkChainBlockPushPull(void);
|
||||
virtual bool checkElecDamage(void) const;
|
||||
virtual bool checkEmptyBottleSwing(void) const;
|
||||
virtual bool checkBottleSwingMode(void) const;
|
||||
virtual bool checkHawkWait(void) const;
|
||||
virtual bool checkGoatThrow(void) const;
|
||||
virtual bool checkGoatThrowAfter(void) const;
|
||||
virtual bool checkWolfTagLockJump(void) const;
|
||||
virtual bool checkWolfTagLockJumpLand(void) const;
|
||||
virtual bool checkWolfRope(void);
|
||||
virtual bool checkWolfRopeHang(void) const;
|
||||
virtual bool checkRollJump(void) const;
|
||||
virtual bool checkGoronRideWait(void) const;
|
||||
virtual bool checkWolfChain(void) const;
|
||||
virtual bool checkWolfWait(void) const;
|
||||
virtual bool checkWolfJumpAttack(void) const;
|
||||
virtual bool checkWolfRSit(void) const;
|
||||
virtual bool checkBubbleFly(void) const;
|
||||
virtual bool checkBottleDrinkEnd(void) const;
|
||||
virtual bool checkWolfDig(void) const;
|
||||
virtual bool checkCutCharge(void) const;
|
||||
virtual bool checkCutTurnCharge(void) const;
|
||||
virtual bool checkCutLargeJumpCharge(void) const;
|
||||
virtual MtxP getModelMtx();
|
||||
virtual MtxP getInvMtx();
|
||||
virtual cXyz* getShadowTalkAtnPos();
|
||||
virtual f32 getGroundY();
|
||||
virtual MtxP getLeftItemMatrix();
|
||||
virtual MtxP getRightItemMatrix();
|
||||
virtual MtxP getLeftHandMatrix();
|
||||
virtual MtxP getRightHandMatrix();
|
||||
virtual MtxP getLinkBackBone1Matrix();
|
||||
virtual MtxP getWolfMouthMatrix();
|
||||
virtual MtxP getWolfBackbone2Matrix();
|
||||
virtual MtxP getBottleMtx();
|
||||
virtual BOOL checkPlayerGuard() const;
|
||||
virtual u32 checkPlayerFly() const;
|
||||
virtual BOOL checkFrontRoll() const;
|
||||
virtual BOOL checkWolfDash() const;
|
||||
virtual BOOL checkAutoJump() const;
|
||||
virtual bool checkSideStep() const;
|
||||
virtual bool checkWolfTriggerJump() const;
|
||||
virtual BOOL checkGuardBreakMode() const;
|
||||
virtual bool checkLv3Slide() const;
|
||||
virtual bool checkWolfHowlDemoMode() const;
|
||||
virtual bool checkChainBlockPushPull();
|
||||
virtual BOOL checkElecDamage() const;
|
||||
virtual BOOL checkEmptyBottleSwing() const;
|
||||
virtual BOOL checkBottleSwingMode() const;
|
||||
virtual BOOL checkHawkWait() const;
|
||||
virtual BOOL checkGoatThrow() const;
|
||||
virtual BOOL checkGoatThrowAfter() const;
|
||||
virtual BOOL checkWolfTagLockJump() const;
|
||||
virtual BOOL checkWolfTagLockJumpLand() const;
|
||||
virtual bool checkWolfRope();
|
||||
virtual BOOL checkWolfRopeHang() const;
|
||||
virtual BOOL checkRollJump() const;
|
||||
virtual BOOL checkGoronRideWait() const;
|
||||
virtual BOOL checkWolfChain() const;
|
||||
virtual BOOL checkWolfWait() const;
|
||||
virtual BOOL checkWolfJumpAttack() const;
|
||||
virtual BOOL checkWolfRSit() const;
|
||||
virtual bool checkBubbleFly() const;
|
||||
virtual BOOL checkBottleDrinkEnd() const;
|
||||
virtual BOOL checkWolfDig() const;
|
||||
virtual BOOL checkCutCharge() const;
|
||||
virtual BOOL checkCutTurnCharge() const;
|
||||
virtual BOOL checkCutLargeJumpCharge() const;
|
||||
virtual bool getBokoFlamePos(cXyz*);
|
||||
virtual bool checkComboCutTurn(void) const;
|
||||
virtual bool checkClimbMove(void) const;
|
||||
virtual bool checkGrassWhistle(void) const;
|
||||
virtual bool checkBoarRun(void) const;
|
||||
virtual bool checkFmChainPut(void) const;
|
||||
virtual bool checkHorseElecDamage(void) const;
|
||||
virtual float getBaseAnimeFrameRate(void) const;
|
||||
virtual float getBaseAnimeFrame(void) const;
|
||||
virtual BOOL checkComboCutTurn() const;
|
||||
virtual BOOL checkClimbMove() const;
|
||||
virtual BOOL checkGrassWhistle() const;
|
||||
virtual BOOL checkBoarRun() const;
|
||||
virtual bool checkFmChainPut() const;
|
||||
virtual bool checkHorseElecDamage() const;
|
||||
virtual float getBaseAnimeFrameRate() const;
|
||||
virtual float getBaseAnimeFrame() const;
|
||||
virtual void setAnimeFrame(float);
|
||||
virtual bool checkWolfLock(fopAc_ac_c*) const;
|
||||
virtual bool cancelWolfLock(fopAc_ac_c*);
|
||||
virtual bool getAtnActorID(void) const;
|
||||
virtual s32 getItemID(void) const;
|
||||
virtual bool getGrabActorID(void) const;
|
||||
virtual s32 getAtnActorID() const;
|
||||
virtual s32 getItemID() const;
|
||||
virtual s32 getGrabActorID() const;
|
||||
virtual bool exchangeGrabActor(fopAc_ac_c*);
|
||||
virtual bool setForceGrab(fopAc_ac_c*, int, int);
|
||||
virtual void setForcePutPos(cXyz const&);
|
||||
virtual bool checkPlayerNoDraw(void);
|
||||
virtual bool checkRopeTag(void);
|
||||
virtual bool checkPlayerNoDraw();
|
||||
virtual bool checkRopeTag();
|
||||
virtual void voiceStart(u32);
|
||||
virtual void seStartOnlyReverb(u32);
|
||||
virtual void seStartOnlyReverbLevel(u32);
|
||||
@@ -289,14 +389,14 @@ public:
|
||||
virtual void setGrabCollisionOffset(float, float, cBgS_PolyInfo*);
|
||||
virtual void onMagneGrab(float, float);
|
||||
virtual void onFrollCrashFlg(u8, int);
|
||||
virtual bool getModelJointMtx(u16);
|
||||
virtual bool getHeadMtx(void);
|
||||
virtual MtxP getModelJointMtx(u16);
|
||||
virtual MtxP getHeadMtx();
|
||||
virtual bool setHookshotCarryOffset(unsigned int, cXyz const*);
|
||||
// virtual void checkCutJumpCancelTurn() const;
|
||||
virtual bool checkIronBallReturn(void) const;
|
||||
virtual bool checkIronBallGroundStop(void) const;
|
||||
virtual bool checkSingleBoarBattleSecondBowReady(void) const;
|
||||
virtual bool checkPointSubWindowMode(void) const;
|
||||
virtual BOOL checkCutJumpCancelTurn() const;
|
||||
virtual bool checkIronBallReturn() const;
|
||||
virtual bool checkIronBallGroundStop() const;
|
||||
virtual BOOL checkSingleBoarBattleSecondBowReady() const;
|
||||
virtual bool checkPointSubWindowMode() const;
|
||||
virtual void setClothesChange(int);
|
||||
virtual void setPlayerPosAndAngle(float (*)[4]);
|
||||
virtual void setPlayerPosAndAngle(cXyz const*, csXyz const*);
|
||||
@@ -306,27 +406,27 @@ public:
|
||||
virtual bool setRollJump(float, float, short);
|
||||
virtual void playerStartCollisionSE(u32, u32);
|
||||
virtual void changeTextureAnime(u16, u16, int);
|
||||
virtual void cancelChangeTextureAnime(void);
|
||||
virtual void cancelDungeonWarpReadyNeck(void);
|
||||
virtual void cancelChangeTextureAnime();
|
||||
virtual void cancelDungeonWarpReadyNeck();
|
||||
virtual void onSceneChangeArea(u8, u8, fopAc_ac_c*);
|
||||
virtual void onSceneChangeAreaJump(u8, u8, fopAc_ac_c*);
|
||||
virtual void onSceneChangeDead(u8, int);
|
||||
virtual bool checkHorseRide() const;
|
||||
virtual bool checkBoarRide() const;
|
||||
virtual bool checkCanoeRide() const;
|
||||
virtual bool checkBoardRide() const;
|
||||
virtual u32 checkHorseRide() const;
|
||||
virtual u32 checkBoarRide() const;
|
||||
virtual u32 checkCanoeRide() const;
|
||||
virtual u32 checkBoardRide() const;
|
||||
virtual u32 checkSpinnerRide() const;
|
||||
virtual bool getSpinnerActor(void);
|
||||
virtual bool checkHorseRideNotReady(void) const;
|
||||
virtual bool checkArrowChargeEnd(void) const;
|
||||
virtual void getSearchBallScale(void) const;
|
||||
virtual bool checkFastShotTime(void);
|
||||
virtual bool checkNoEquipItem(void) const;
|
||||
virtual bool checkFireMaterial(void) const;
|
||||
virtual fopAc_ac_c* getSpinnerActor();
|
||||
virtual BOOL checkHorseRideNotReady() const;
|
||||
virtual bool checkArrowChargeEnd() const;
|
||||
virtual f32 getSearchBallScale() const;
|
||||
virtual s16 checkFastShotTime();
|
||||
virtual bool checkNoEquipItem() const;
|
||||
virtual bool checkFireMaterial() const;
|
||||
virtual bool checkKandelaarSwing(int) const;
|
||||
virtual bool getBoardCutTurnOffsetAngleY(void) const;
|
||||
virtual cXyz* getMagneHitPos(void);
|
||||
virtual cXyz* getMagneBootsTopVec(void);
|
||||
virtual s16 getBoardCutTurnOffsetAngleY() const;
|
||||
virtual cXyz* getMagneHitPos();
|
||||
virtual cXyz* getMagneBootsTopVec();
|
||||
virtual bool getKandelaarFlamePos();
|
||||
virtual bool checkUseKandelaar(int);
|
||||
virtual void setDkCaught(fopAc_ac_c*);
|
||||
@@ -337,53 +437,53 @@ public:
|
||||
virtual void setWolfEnemyHangBiteAngle(short);
|
||||
virtual void setKandelaarMtx(float (*)[4], int, int);
|
||||
virtual bool getStickAngleFromPlayerShape(short*) const;
|
||||
virtual bool checkSpinnerPathMove(void);
|
||||
virtual bool checkSpinnerTriggerAttack(void);
|
||||
virtual void onSpinnerPathForceRemove(void);
|
||||
virtual bool getIronBallBgHit(void) const;
|
||||
virtual bool getIronBallCenterPos(void);
|
||||
virtual bool checkCanoeFishingGetLeft(void) const;
|
||||
virtual bool checkCanoeFishingGetRight(void) const;
|
||||
virtual bool checkBeeChildDrink(void) const;
|
||||
virtual void skipPortalObjWarp(void);
|
||||
virtual bool checkSpinnerPathMove();
|
||||
virtual bool checkSpinnerTriggerAttack();
|
||||
virtual void onSpinnerPathForceRemove();
|
||||
virtual bool getIronBallBgHit() const;
|
||||
virtual bool getIronBallCenterPos();
|
||||
virtual bool checkCanoeFishingGetLeft() const;
|
||||
virtual bool checkCanoeFishingGetRight() const;
|
||||
virtual u8 checkBeeChildDrink() const;
|
||||
virtual void skipPortalObjWarp();
|
||||
virtual bool checkTreasureRupeeReturn(int) const;
|
||||
virtual void setSumouReady(fopAc_ac_c*);
|
||||
virtual bool checkAcceptDungeonWarpAlink(int);
|
||||
virtual bool getSumouCounter(void) const;
|
||||
virtual bool checkSumouWithstand(void) const;
|
||||
virtual void cancelGoronThrowEvent(void);
|
||||
virtual s16 getSumouCounter() const;
|
||||
virtual s16 checkSumouWithstand() const;
|
||||
virtual void cancelGoronThrowEvent();
|
||||
virtual void setSumouGraspCancelCount(int);
|
||||
virtual void setSumouPushBackDirection(short);
|
||||
virtual void setSumouLoseHeadUp(void);
|
||||
virtual s16 getGiantPuzzleAimAngle(void) const;
|
||||
virtual void setSumouLoseHeadUp();
|
||||
virtual s16 getGiantPuzzleAimAngle() const;
|
||||
virtual void setGoronSideMove(fopAc_ac_c*);
|
||||
virtual void setCargoCarry(fopAc_ac_c*);
|
||||
virtual bool getDpdFarFlg(void) const;
|
||||
virtual bool getHookshotTopPos(void);
|
||||
virtual bool checkHookshotReturnMode(void) const;
|
||||
virtual bool checkHookshotShootReturnMode(void) const;
|
||||
virtual bool checkOctaIealHang(void) const;
|
||||
virtual void cancelOctaIealHang(void);
|
||||
virtual void cancelDragonHangBackJump(void);
|
||||
virtual void setOctaIealWildHang(void);
|
||||
virtual bool checkDragonHangRide(void) const;
|
||||
virtual bool getDpdFarFlg() const;
|
||||
virtual bool getHookshotTopPos();
|
||||
virtual bool checkHookshotReturnMode() const;
|
||||
virtual bool checkHookshotShootReturnMode() const;
|
||||
virtual bool checkOctaIealHang() const;
|
||||
virtual void cancelOctaIealHang();
|
||||
virtual void cancelDragonHangBackJump();
|
||||
virtual void setOctaIealWildHang();
|
||||
virtual bool checkDragonHangRide() const;
|
||||
virtual void changeDragonActor(fopAc_ac_c*);
|
||||
virtual bool getClothesChangeWaitTimer(void) const;
|
||||
virtual bool getShieldChangeWaitTimer(void) const;
|
||||
virtual bool getSwordChangeWaitTimer(void) const;
|
||||
virtual bool checkMetamorphose(void) const;
|
||||
virtual bool checkWolfDownAttackPullOut(void) const;
|
||||
virtual bool checkBootsOrArmorHeavy(void) const;
|
||||
virtual s32 getBottleOpenAppearItem(void) const;
|
||||
virtual bool checkItemSwordEquip(void) const;
|
||||
virtual float getSinkShapeOffset(void) const;
|
||||
virtual bool checkSinkDead(void) const;
|
||||
virtual bool checkHorseStart(void);
|
||||
virtual bool getWolfHowlMgrP(void);
|
||||
virtual bool checkWolfHowlSuccessAnime(void) const;
|
||||
virtual bool checkCopyRodTopUse(void);
|
||||
virtual bool checkCopyRodEquip(void) const;
|
||||
virtual bool checkCutJumpMode(void) const;
|
||||
virtual u8 getClothesChangeWaitTimer() const;
|
||||
virtual u8 getShieldChangeWaitTimer() const;
|
||||
virtual u8 getSwordChangeWaitTimer() const;
|
||||
virtual BOOL checkMetamorphose() const;
|
||||
virtual BOOL checkWolfDownAttackPullOut() const;
|
||||
virtual BOOL checkBootsOrArmorHeavy() const;
|
||||
virtual s32 getBottleOpenAppearItem() const;
|
||||
virtual bool checkItemSwordEquip() const;
|
||||
virtual float getSinkShapeOffset() const;
|
||||
virtual BOOL checkSinkDead() const;
|
||||
virtual BOOL checkHorseStart();
|
||||
virtual Z2WolfHowlMgr* getWolfHowlMgrP();
|
||||
virtual BOOL checkWolfHowlSuccessAnime() const;
|
||||
virtual BOOL checkCopyRodTopUse();
|
||||
virtual bool checkCopyRodEquip() const;
|
||||
virtual BOOL checkCutJumpMode() const;
|
||||
|
||||
bool getSumouCameraMode() const {
|
||||
bool sumouCameraMode = false;
|
||||
@@ -393,20 +493,43 @@ public:
|
||||
return sumouCameraMode;
|
||||
}
|
||||
|
||||
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?
|
||||
int i_checkNoResetFlg0(daPy_FLG0 pFlag) const { return mNoResetFlg0 & pFlag; }
|
||||
int i_checkNoResetFlg1(daPy_FLG1 pFlag) const { return mNoResetFlg1 & pFlag; }
|
||||
int i_checkNoResetFlg2(daPy_FLG2 pFlag) const { return mNoResetFlg2 & pFlag; }
|
||||
int i_checkNoResetFlg3(daPy_FLG3 pFlag) const { return mNoResetFlg3 & pFlag; }
|
||||
void i_onNoResetFlg0(int pFlg) { mNoResetFlg0 |= pFlg; }
|
||||
void i_onNoResetFlg1(int pFlg) { mNoResetFlg1 |= pFlg; }
|
||||
void i_onNoResetFlg2(int pFlg) { mNoResetFlg2 |= pFlg; }
|
||||
void i_onNoResetFlg3(int pFlg) { mNoResetFlg3 |= pFlg; }
|
||||
void i_offNoResetFlg0(int pFlg) { mNoResetFlg0 &= ~pFlg; }
|
||||
void i_offNoResetFlg3(int pFlg) { mNoResetFlg3 &= ~pFlg; }
|
||||
void i_offResetFlg0(int flag) { mResetFlg0 &= ~flag; }
|
||||
void i_onResetFlg0(int flag) { mResetFlg0 |= flag; }
|
||||
void i_onResetFlg1(int flag) { mResetFlg1 |= flag; }
|
||||
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() { return i_checkNoResetFlg1(Wolf); }
|
||||
BOOL i_checkEquipHeavyBoots() const { return i_checkNoResetFlg0(EquipHeavyBoots); }
|
||||
inline BOOL checkNowWolf();
|
||||
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); }
|
||||
|
||||
static u8 m_midnaActor[4];
|
||||
inline u32 getLastSceneMode();
|
||||
inline bool checkWoodSwordEquip();
|
||||
inline BOOL i_checkSwordGet();
|
||||
inline bool i_checkShieldGet() const;
|
||||
inline BOOL checkNowWolf();
|
||||
inline bool checkZoraWearFlg() const;
|
||||
|
||||
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; }
|
||||
const u32 MaskWaterHit() { return m_flags & WATER_HIT; }
|
||||
const bool ChkWaterHit() { return MaskWaterHit(); }
|
||||
|
||||
// inline dupe
|
||||
void i_ClrGroundHit() { m_flags &= ~GROUND_HIT; }
|
||||
|
||||
+33
-2
@@ -57,6 +57,7 @@ public:
|
||||
/* 80083830 */ void Move();
|
||||
/* 8008523C */ virtual ~dCcD_GStts() {}
|
||||
void ClrTg() { mTg = 0; }
|
||||
void SetAtApid(unsigned int id) { mAtApid = id; }
|
||||
|
||||
// private:
|
||||
/* 0x04 */ u8 mAt;
|
||||
@@ -82,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;
|
||||
@@ -108,7 +117,12 @@ public:
|
||||
u32 GetGFlag() const { return mGFlag; }
|
||||
u32 GetRPrm() const { return mRPrm; }
|
||||
u32 MskSPrm(u32 mask) const { return mGFlag & mask; }
|
||||
u32 MskRPrm(u32 mask) const { return mRPrm & mask; }
|
||||
bool ChkSPrm(u32 mask) const { return MskSPrm(mask); }
|
||||
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 {
|
||||
@@ -117,6 +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;
|
||||
@@ -156,7 +175,7 @@ public:
|
||||
/* 800840E4 */ virtual ~dCcD_GObjInf();
|
||||
/* 80084268 */ cCcD_GObjInf* GetGObjInf();
|
||||
/* 8008426C */ virtual void ClrAtHit();
|
||||
/* 800842C0 */ s32 ChkAtHit();
|
||||
/* 800842C0 */ u32 ChkAtHit();
|
||||
/* 80084318 */ void ResetAtHit();
|
||||
/* 80084358 */ cCcD_Obj* GetAtHitObj();
|
||||
/* 800843A8 */ cCcD_GObjInf* GetAtHitGObj();
|
||||
@@ -176,6 +195,18 @@ public:
|
||||
|
||||
void SetAtVec(cXyz& vec) { mGObjAt.SetVec(vec); }
|
||||
bool ChkAtNoMass() const { return mGObjAt.ChkSPrm(8); }
|
||||
void OnAtNoHitMark() { mGObjAt.OnSPrm(2); }
|
||||
void OffAtNoHitMark() { mGObjAt.OffSPrm(2); }
|
||||
void OnAtNoConHit() { mGObjAt.OnSPrm(1); }
|
||||
void OffAtNoConHit() { mGObjAt.OffSPrm(1); }
|
||||
void SetAtHitMark(u8 mark) { mGObjAt.SetHitMark(mark); }
|
||||
void SetAtSe(u8 se) { mGObjAt.SetSe(se); }
|
||||
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];
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#include "d/d_vibration.h"
|
||||
#include "d/event/d_event.h"
|
||||
#include "d/event/d_event_manager.h"
|
||||
#include "d/particle/d_particle.h"
|
||||
#include "d/save/d_save.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
@@ -68,6 +69,10 @@ STATIC_ASSERT(sizeof(dComIfG_camera_info_class) == 0x38);
|
||||
|
||||
enum PlayerPtr { LINK_PTR, HORSE_PTR };
|
||||
|
||||
class daHorse_c;
|
||||
class dPa_control_c;
|
||||
class daAlink_c;
|
||||
|
||||
class dComIfG_play_c {
|
||||
public:
|
||||
dComIfG_play_c() { this->ct(); }
|
||||
@@ -138,6 +143,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,6 +191,20 @@ public:
|
||||
void* getPlayerPtr(int ptrIdx) { return mPlayerPtr[ptrIdx]; }
|
||||
JKRArchive* getMain2DArchive() { return mMain2DArchive; }
|
||||
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;
|
||||
m3DSetFlag = flag;
|
||||
}
|
||||
|
||||
public:
|
||||
/* 0x00000 */ dBgS mDBgS;
|
||||
@@ -217,7 +244,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;
|
||||
@@ -319,7 +346,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;
|
||||
@@ -386,8 +413,8 @@ public:
|
||||
/* 0x04FD4 */ fopAc_ac_c* mMesgCamInfoActor8;
|
||||
/* 0x04FD8 */ fopAc_ac_c* mMesgCamInfoActor9;
|
||||
/* 0x04FDC */ fopAc_ac_c* mMesgCamInfoActor10;
|
||||
/* 0x04FE0 */ int mPlayerStatus;
|
||||
/* 0x04FE4 */ u8 field_0x4fe4[0x14];
|
||||
/* 0x04FE0 */ u32 mPlayerStatus[2];
|
||||
/* 0x04FE8 */ u8 field_0x4fe8[0x10];
|
||||
/* 0x04FF8 */ __d_timer_info_c mTimerInfo;
|
||||
/* 0x0500C */ dDlst_window_c* mCurrentWindow;
|
||||
/* 0x05010 */ void* mCurrentView;
|
||||
@@ -453,6 +480,18 @@ void dComIfGs_setSelectEquipSword(u8);
|
||||
void dComIfGs_setSelectEquipShield(u8);
|
||||
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);
|
||||
@@ -707,7 +746,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();
|
||||
}
|
||||
|
||||
@@ -1033,4 +1072,124 @@ inline dBgS& dComIfG_Bgsp() {
|
||||
return g_dComIfG_gameInfo.play.mDBgS;
|
||||
}
|
||||
|
||||
inline s16 dComIfGs_getStartPoint() {
|
||||
return g_dComIfG_gameInfo.info.getRestart().getStartPoint();
|
||||
}
|
||||
|
||||
inline dVibration_c& dComIfGp_getVibration() {
|
||||
return g_dComIfG_gameInfo.play.getVibration();
|
||||
}
|
||||
|
||||
inline void dComIfGp_setPlayerStatus0(int param_0, u32 flag) {
|
||||
g_dComIfG_gameInfo.play.setPlayerStatus(param_0, 0, flag);
|
||||
}
|
||||
|
||||
inline void dComIfGp_setPlayerStatus1(int param_0, u32 flag) {
|
||||
g_dComIfG_gameInfo.play.setPlayerStatus(param_0, 1, flag);
|
||||
}
|
||||
|
||||
inline dEvent_manager_c* dComIfGp_getPEvtManager() {
|
||||
return &g_dComIfG_gameInfo.play.getEvtManager();
|
||||
}
|
||||
|
||||
inline void dComIfGp_evmng_cutEnd(int param_0) {
|
||||
dComIfGp_getPEvtManager()->cutEnd(param_0);
|
||||
}
|
||||
|
||||
inline BOOL dComIfGp_checkCameraAttentionStatus(int i, u32 flag) {
|
||||
return g_dComIfG_gameInfo.play.checkCameraAttentionStatus(i, flag);
|
||||
}
|
||||
|
||||
inline void dComIfGp_set3DStatus(u8 status, u8 direction, u8 flag) {
|
||||
g_dComIfG_gameInfo.play.set3DStatus(status, direction, flag);
|
||||
}
|
||||
|
||||
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 */
|
||||
|
||||
+24
-2
@@ -148,6 +148,16 @@ public:
|
||||
/* 80070178 */ virtual void execute(u16, J3DTransformInfo*);
|
||||
};
|
||||
|
||||
struct dist_entry {
|
||||
f32 field_0x0;
|
||||
f32 field_0x4;
|
||||
f32 field_0x8;
|
||||
f32 field_0xc;
|
||||
f32 field_0x10;
|
||||
f32 field_0x14;
|
||||
u32 field_0x18;
|
||||
}; // Size: 0x1C
|
||||
|
||||
class dAttention_c {
|
||||
public:
|
||||
dAttention_c() {}
|
||||
@@ -185,14 +195,26 @@ public:
|
||||
/* 800736CC */ void LockonTargetPId(s32);
|
||||
/* 80073734 */ void ActionTarget(s32);
|
||||
/* 8007378C */ void CheckObjectTarget(s32);
|
||||
/* 800737E4 */ void LockonTruth();
|
||||
/* 800737E4 */ bool LockonTruth();
|
||||
/* 80073838 */ void checkDistance(cXyz*, s16, cXyz*, f32, f32, f32, f32);
|
||||
|
||||
dAttCatch_c& getCatghTarget() { return mCatghTarget; }
|
||||
bool chkFlag(u32 flag) { return mFlags & flag; }
|
||||
BOOL Lockon() {
|
||||
bool chk = true;
|
||||
if (!LockonTruth()) {
|
||||
if (!chkFlag(0x20000000)) {
|
||||
chk = false;
|
||||
}
|
||||
}
|
||||
return chk;
|
||||
|
||||
// return !LockonTruth() && !chkFlag(0x20000000);
|
||||
}
|
||||
|
||||
static u8 loc_type_tbl[12];
|
||||
static u8 act_type_tbl[20];
|
||||
static u8 dist_table[6552];
|
||||
static dist_entry dist_table[234];
|
||||
static u32 loc_type_num;
|
||||
static u32 act_type_num;
|
||||
static u32 chk_type_tbl;
|
||||
|
||||
@@ -41,6 +41,14 @@ public:
|
||||
bool checkFlowerBombWait(fopAc_ac_c*);
|
||||
bool checkWaterBomb(fopAc_ac_c*);
|
||||
bool checkInsectBombMove(fopAc_ac_c*);
|
||||
|
||||
static fopAc_ac_c* createNormalBombPlayer(cXyz* p_pos) {
|
||||
return (fopAc_ac_c*)fopAcM_fastCreate(0x221, 8, p_pos, -1, NULL, NULL, -1, NULL, NULL);
|
||||
}
|
||||
|
||||
static fopAc_ac_c* createWaterBombPlayer(cXyz* p_pos) {
|
||||
return (fopAc_ac_c*)fopAcM_fastCreate(0x221, 9, p_pos, -1, NULL, NULL, -1, NULL, NULL);
|
||||
}
|
||||
};
|
||||
|
||||
#endif /* D_D_BOMB_H */
|
||||
|
||||
@@ -20,6 +20,8 @@ public:
|
||||
/* 80036C44 */ void getHitmarkPosAndAngle(cXyz const*, csXyz const*, cXyz*, csXyz*, int) const;
|
||||
/* 80036FA8 */ void setArrowPosAndAngle(cXyz const*, cXyz const*, int, cXyz*, csXyz*);
|
||||
|
||||
bool checkPassNum(int bit) { return field_0xc & (1 << bit); }
|
||||
|
||||
/* 0x00 */ dJntColData_c* mData;
|
||||
/* 0x04 */ J3DModel* mModel;
|
||||
/* 0x08 */ int field_0x8;
|
||||
|
||||
@@ -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
|
||||
|
||||
+38
-1
@@ -45,7 +45,23 @@ struct stage_stag_info_class {
|
||||
/* 0x2A */ u16 mStageTitleNo;
|
||||
}; // Size: Unknown
|
||||
|
||||
struct stage_scls_info_dummy_class {};
|
||||
inline u16 dStage_stagInfo_GetUpButton(stage_stag_info_class* p_info) {
|
||||
return p_info->field_0x10 & 7;
|
||||
}
|
||||
|
||||
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 {};
|
||||
|
||||
@@ -650,6 +666,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;
|
||||
@@ -659,4 +676,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);
|
||||
@@ -80,6 +80,9 @@ public:
|
||||
void isOrderOK();
|
||||
|
||||
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];
|
||||
|
||||
+130
-30
@@ -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();
|
||||
@@ -48,12 +48,12 @@ public:
|
||||
void startCheckOld(char const*);
|
||||
void endCheck(s16);
|
||||
void endCheckOld(char const*);
|
||||
void getMyStaffId(char const*, fopAc_ac_c*, int);
|
||||
s32 getMyStaffId(char const*, fopAc_ac_c*, int);
|
||||
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();
|
||||
@@ -114,7 +115,6 @@ struct GB_MAPLE_COL_CHANGE {
|
||||
|
||||
class dKy_tevstr_c {
|
||||
public:
|
||||
private:
|
||||
/* 0x000 */ J3DLightObj field_0x000;
|
||||
/* 0x074 */ J3DLightObj field_0x074[6];
|
||||
/* 0x32C */ cXyz field_0x32c;
|
||||
@@ -124,10 +124,18 @@ private:
|
||||
/* 0x34C */ int field_0x34c;
|
||||
/* 0x350 */ int field_0x350;
|
||||
/* 0x354 */ int field_0x354;
|
||||
/* 0x358 */ int field_0x358;
|
||||
/* 0x35C */ int field_0x35c;
|
||||
/* 0x360 */ int field_0x360;
|
||||
/* 0x364 */ int field_0x364;
|
||||
/* 0x358 */ u16 field_0x358;
|
||||
/* 0x35A */ u16 field_0x35a;
|
||||
/* 0x35C */ u16 field_0x35c;
|
||||
/* 0x35E */ u8 field_0x35e[2];
|
||||
/* 0x360 */ u8 field_0x360;
|
||||
/* 0x361 */ u8 field_0x361;
|
||||
/* 0x362 */ u8 field_0x362;
|
||||
/* 0x363 */ u8 field_0x363;
|
||||
/* 0x364 */ u8 field_0x364;
|
||||
/* 0x365 */ u8 field_0x365;
|
||||
/* 0x366 */ u8 field_0x366;
|
||||
/* 0x367 */ u8 field_0x367;
|
||||
/* 0x368 */ f32 field_0x368;
|
||||
/* 0x36C */ f32 field_0x36c;
|
||||
/* 0x370 */ f32 field_0x370;
|
||||
@@ -656,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 */
|
||||
|
||||
@@ -1,6 +1,158 @@
|
||||
#ifndef D_METER_D_METER2_H
|
||||
#define D_METER_D_METER2_H
|
||||
|
||||
#include "JSystem/JKernel/JKRExpHeap.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "d/meter/d_meter2_draw.h"
|
||||
#include "d/meter/d_meter_map.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class msg_class {
|
||||
public:
|
||||
/* 0x0 */ u8 field_0x0[0x100];
|
||||
};
|
||||
|
||||
class dMeterMap_c;
|
||||
|
||||
class dMeter2_c {
|
||||
public:
|
||||
/* 8021EA14 */ void _create();
|
||||
/* 8021F128 */ void _execute();
|
||||
/* 8021F370 */ void _draw();
|
||||
/* 8021F49C */ void _delete();
|
||||
/* 8021F6EC */ void emphasisButtonDelete();
|
||||
/* 8021F780 */ void setLifeZero();
|
||||
/* 8021F7B0 */ void checkStatus();
|
||||
/* 8021FD60 */ void moveLife();
|
||||
/* 80220180 */ void moveKantera();
|
||||
/* 8022051C */ void moveOxygen();
|
||||
/* 80220888 */ void moveLightDrop();
|
||||
/* 80220C30 */ void moveRupee();
|
||||
/* 802210AC */ void moveKey();
|
||||
/* 80221244 */ void moveButtonA();
|
||||
/* 802217F4 */ void moveButtonB();
|
||||
/* 80221EC8 */ void moveButtonR();
|
||||
/* 80222000 */ void moveButtonZ();
|
||||
/* 802222A0 */ void moveButton3D();
|
||||
/* 80222364 */ void moveButtonC();
|
||||
/* 80222494 */ void moveButtonS();
|
||||
/* 80222518 */ void moveButtonXY();
|
||||
/* 80222E88 */ void moveButtonCross();
|
||||
/* 802230F8 */ void moveTouchSubMenu();
|
||||
/* 802230FC */ void moveSubContents();
|
||||
/* 802231C8 */ void move2DContents();
|
||||
/* 802237D4 */ void checkSubContents();
|
||||
/* 80223BC4 */ void check2DContents();
|
||||
/* 80223E00 */ void moveBombNum();
|
||||
/* 80224258 */ void moveBottleNum();
|
||||
/* 80224354 */ void moveArrowNum();
|
||||
/* 80224680 */ void movePachinkoNum();
|
||||
/* 802248E4 */ void alphaAnimeLife();
|
||||
/* 80224A04 */ void alphaAnimeKantera();
|
||||
/* 80224BAC */ void alphaAnimeOxygen();
|
||||
/* 80224D6C */ void alphaAnimeLightDrop();
|
||||
/* 80224DC0 */ void alphaAnimeRupee();
|
||||
/* 80224F70 */ void alphaAnimeKey();
|
||||
/* 802250F4 */ void alphaAnimeButton();
|
||||
/* 802254C0 */ void alphaAnimeButtonCross();
|
||||
/* 802256DC */ void isShowLightDrop();
|
||||
/* 802258A0 */ void killSubContents(u8);
|
||||
/* 80225960 */ void isKeyVisible();
|
||||
/* 802259F8 */ void isArrowEquip();
|
||||
/* 80225A64 */ void isPachinkoEquip();
|
||||
|
||||
private:
|
||||
/* 0x100 */ JKRExpHeap* mpHeap;
|
||||
/* 0x104 */ JKRExpHeap* mpSubHeap;
|
||||
/* 0x108 */ void* field_0x108;
|
||||
/* 0x10C */ dMeter2Draw_c* mpMeterDraw;
|
||||
/* 0x110 */ dDlst_base_c* field_0x110;
|
||||
/* 0x114 */ dDlst_base_c* field_0x114;
|
||||
/* 0x118 */ dDlst_base_c* field_0x118;
|
||||
/* 0x11C */ void* field_0x11c;
|
||||
/* 0x120 */ dMeterMap_c* mpMap;
|
||||
/* 0x124 */ u32 field_0x124;
|
||||
/* 0x128 */ int field_0x128;
|
||||
/* 0x12C */ int field_0x12c;
|
||||
/* 0x130 */ f32 field_0x130;
|
||||
/* 0x134 */ f32 field_0x134[2];
|
||||
/* 0x13C */ f32 field_0x13c[2];
|
||||
/* 0x144 */ f32 field_0x144;
|
||||
/* 0x148 */ f32 field_0x148[2];
|
||||
/* 0x150 */ f32 field_0x150[2];
|
||||
/* 0x158 */ f32 field_0x158;
|
||||
/* 0x15C */ f32 field_0x15c;
|
||||
/* 0x160 */ f32 field_0x160[4];
|
||||
/* 0x170 */ u8 field_0x170[4];
|
||||
/* 0x174 */ f32 field_0x174[4];
|
||||
/* 0x184 */ u8 field_0x184[4];
|
||||
/* 0x188 */ f32 field_0x188;
|
||||
/* 0x18C */ f32 field_0x18c;
|
||||
/* 0x190 */ s16 field_0x190;
|
||||
/* 0x192 */ s16 mNowLifeGauge;
|
||||
/* 0x194 */ s16 field_0x194;
|
||||
/* 0x196 */ s16 field_0x196;
|
||||
/* 0x198 */ s16 field_0x198;
|
||||
/* 0x19A */ s16 field_0x19a;
|
||||
/* 0x19C */ int field_0x19c;
|
||||
/* 0x1A0 */ int field_0x1a0;
|
||||
/* 0x1A4 */ int field_0x1a4;
|
||||
/* 0x1A8 */ int field_0x1a8;
|
||||
/* 0x1AC */ int field_0x1ac;
|
||||
/* 0x1B0 */ u16 field_0x1b0;
|
||||
/* 0x1B2 */ u16 field_0x1b2;
|
||||
/* 0x1B4 */ u16 field_0x1b4;
|
||||
/* 0x1B6 */ u16 mSubContentsStringType;
|
||||
/* 0x1B8 */ u16 field_0x1b8[5];
|
||||
/* 0x1C2 */ u8 field_0x1c2;
|
||||
/* 0x1C3 */ u8 field_0x1c3;
|
||||
/* 0x1C4 */ u8 field_0x1c4;
|
||||
/* 0x1C5 */ u8 field_0x1c5;
|
||||
/* 0x1C6 */ u8 field_0x1c6;
|
||||
/* 0x1C7 */ u8 field_0x1c7;
|
||||
/* 0x1C8 */ u8 field_0x1c8;
|
||||
/* 0x1C9 */ u8 field_0x1c9;
|
||||
/* 0x1CA */ u8 field_0x1ca;
|
||||
/* 0x1CB */ u8 field_0x1cb;
|
||||
/* 0x1CC */ u8 field_0x1cc;
|
||||
/* 0x1CD */ u8 field_0x1cd;
|
||||
/* 0x1CE */ u8 field_0x1ce;
|
||||
/* 0x1CF */ u8 field_0x1cf;
|
||||
/* 0x1D0 */ u8 field_0x1d0;
|
||||
/* 0x1D1 */ u8 field_0x1d1;
|
||||
/* 0x1D2 */ u8 field_0x1d2[4];
|
||||
/* 0x1D6 */ u8 field_0x1d6[2];
|
||||
/* 0x1D8 */ u8 field_0x1d8[2];
|
||||
/* 0x1DA */ u8 field_0x1da;
|
||||
/* 0x1DB */ u8 field_0x1db;
|
||||
/* 0x1DC */ u8 field_0x1dc;
|
||||
/* 0x1DD */ u8 field_0x1dd;
|
||||
/* 0x1DE */ u8 field_0x1de;
|
||||
/* 0x1DF */ u8 field_0x1df;
|
||||
/* 0x1E0 */ u8 field_0x1e0;
|
||||
/* 0x1E1 */ u8 field_0x1e1;
|
||||
/* 0x1E2 */ u8 field_0x1e2;
|
||||
/* 0x1E3 */ u8 field_0x1e3;
|
||||
/* 0x1E4 */ u8 field_0x1e4;
|
||||
/* 0x1E5 */ u8 mSubContents;
|
||||
/* 0x1E6 */ u8 field_0x1e6;
|
||||
/* 0x1E7 */ u8 field_0x1e7;
|
||||
/* 0x1E8 */ u8 field_0x1e8;
|
||||
/* 0x1E9 */ u8 field_0x1e9;
|
||||
/* 0x1EA */ u8 field_0x1ea;
|
||||
/* 0x1EB */ u8 field_0x1eb;
|
||||
/* 0x1EC */ u8 field_0x1ec;
|
||||
/* 0x1ED */ u8 field_0x1ed;
|
||||
/* 0x1EE */ u8 field_0x1ee;
|
||||
/* 0x1EF */ u8 field_0x1ef[4];
|
||||
/* 0x1F3 */ u8 field_0x1f3[3];
|
||||
/* 0x1F6 */ u8 field_0x1f6[3];
|
||||
/* 0x1F9 */ u8 field_0x1f9[4];
|
||||
/* 0x1FD */ u8 field_0x1fd;
|
||||
/* 0x1FE */ u8 field_0x1fe;
|
||||
/* 0x1FF */ u8 field_0x1ff;
|
||||
/* 0x200 */ u8 field_0x200;
|
||||
/* 0x201 */ u8 field_0x201;
|
||||
};
|
||||
|
||||
#endif /* D_METER_D_METER2_H */
|
||||
|
||||
@@ -1,6 +1,364 @@
|
||||
#ifndef D_METER_D_METER2_DRAW_H
|
||||
#define D_METER_D_METER2_DRAW_H
|
||||
|
||||
#include "JSystem/J2DGraph/J2DAnimation.h"
|
||||
#include "JSystem/J2DGraph/J2DPicture.h"
|
||||
#include "JSystem/JKernel/JKRExpHeap.h"
|
||||
#include "JSystem/JUtility/TColor.h"
|
||||
#include "d/d_drawlist.h"
|
||||
#include "d/pane/d_pane_class.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class dKantera_icon_c;
|
||||
|
||||
class dMeter2Draw_c : public dDlst_base_c {
|
||||
public:
|
||||
/* 8020FAB4 */ dMeter2Draw_c(JKRExpHeap*);
|
||||
/* 80210FB0 */ void init();
|
||||
/* 8021135C */ void exec(u32);
|
||||
/* 8021151C */ void draw();
|
||||
/* 80211BEC */ void initLife();
|
||||
/* 80211E64 */ void initMagic();
|
||||
/* 80212190 */ void initLightDrop();
|
||||
/* 80212404 */ void initRupeeKey();
|
||||
/* 802126E4 */ void initButton();
|
||||
/* 8021350C */ void initButtonCross();
|
||||
/* 80213CEC */ void playPikariBckAnimation(f32);
|
||||
/* 80213D6C */ void setPikariBpkAnimation(J2DAnmColor*);
|
||||
/* 80213E3C */ void playPikariBpkAnimation(f32);
|
||||
/* 80213E94 */ void playOxygenBpkAnimation(J2DAnmColor*);
|
||||
/* 802140DC */ void drawPikari(f32, f32, f32*, f32, JUtility::TColor, JUtility::TColor,
|
||||
JUtility::TColor, JUtility::TColor, f32, u8);
|
||||
/* 80213FF0 */ void drawPikari(CPaneMgr*, f32*, f32, JUtility::TColor, JUtility::TColor,
|
||||
JUtility::TColor, JUtility::TColor, f32, u8);
|
||||
/* 8021462C */ void drawPikariHakusha(f32, f32, f32, f32, JUtility::TColor, JUtility::TColor,
|
||||
JUtility::TColor, JUtility::TColor);
|
||||
/* 802147CC */ void changeTextureLife(int, bool, u8);
|
||||
/* 802149F4 */ void drawLife(s16, s16, f32, f32);
|
||||
/* 80214C20 */ void setAlphaLifeChange(bool);
|
||||
/* 80214DF4 */ void setAlphaLifeAnimeMin();
|
||||
/* 80214E54 */ void setAlphaLifeAnimeMax();
|
||||
/* 80214EB4 */ void drawKanteraScreen(u8);
|
||||
/* 80215290 */ void drawMagic(s16, s16, f32, f32);
|
||||
/* 80215380 */ void setAlphaMagicChange(bool);
|
||||
/* 802154A8 */ void drawKantera(s32, s32, f32, f32);
|
||||
/* 802155B8 */ void setAlphaKanteraChange(bool);
|
||||
/* 802156E0 */ void setAlphaKanteraAnimeMin();
|
||||
/* 8021575C */ void setAlphaKanteraAnimeMax();
|
||||
/* 802157E0 */ void drawOxygen(s32, s32, f32, f32);
|
||||
/* 802158F0 */ void setAlphaOxygenChange(bool);
|
||||
/* 80215A18 */ void setAlphaOxygenAnimeMin();
|
||||
/* 80215A94 */ void setAlphaOxygenAnimeMax();
|
||||
/* 80215B18 */ void drawLightDrop(u8, u8, f32, f32, f32, f32, u8);
|
||||
/* 80215DA4 */ void setAlphaLightDropChange(bool);
|
||||
/* 80215DA8 */ void getNowLightDropRateCalc();
|
||||
/* 80215E40 */ void setAlphaLightDropAnimeMin();
|
||||
/* 80215F88 */ void setAlphaLightDropAnimeMax();
|
||||
/* 8021632C */ void drawRupee(s16);
|
||||
/* 80216684 */ void setAlphaRupeeChange(bool);
|
||||
/* 802168D0 */ void setAlphaRupeeAnimeMin();
|
||||
/* 80216990 */ void setAlphaRupeeAnimeMax();
|
||||
/* 80216A40 */ void drawKey(s16);
|
||||
/* 80216B28 */ void setAlphaKeyChange(bool);
|
||||
/* 80216CA8 */ void setAlphaKeyAnimeMin();
|
||||
/* 80216D2C */ void setAlphaKeyAnimeMax();
|
||||
/* 80216DAC */ void drawButtonA(u8, f32, f32, f32, f32, f32, bool, bool);
|
||||
/* 802170E4 */ void drawButtonB(u8, bool, f32, f32, f32, f32, f32, bool);
|
||||
/* 8021764C */ void drawButtonR(u8, u8, bool, bool);
|
||||
/* 802176EC */ void drawButtonZ(u8);
|
||||
/* 80217904 */ void drawButton3D(u8);
|
||||
/* 80217954 */ void drawButtonC(u8, bool);
|
||||
/* 802179C0 */ void drawButtonS(u8);
|
||||
/* 80217A10 */ void drawButtonBin(u8);
|
||||
/* 80217AB4 */ void drawButtonXY(int, u8, u8, bool, bool);
|
||||
/* 80218238 */ void getButtonCrossParentInitTransY();
|
||||
/* 80218254 */ void drawButtonCross(f32, f32);
|
||||
/* 80218338 */ void setAlphaButtonCrossAnimeMin();
|
||||
/* 802183A8 */ void setAlphaButtonCrossAnimeMax();
|
||||
/* 80218448 */ void setAlphaButtonCrossItemAnimeMin();
|
||||
/* 80218524 */ void setAlphaButtonCrossItemAnimeMax();
|
||||
/* 802185E8 */ void setAlphaButtonCrossMapAnimeMin();
|
||||
/* 802186C4 */ void setAlphaButtonCrossMapAnimeMax();
|
||||
/* 80218788 */ void setAlphaButtonChange(bool);
|
||||
/* 8021901C */ void setAlphaButtonAnimeMin();
|
||||
/* 802190A8 */ void setAlphaButtonAnimeMax();
|
||||
/* 80219174 */ void setAlphaButtonAAnimeMin();
|
||||
/* 80219258 */ void setAlphaButtonAAnimeMax();
|
||||
/* 80219324 */ void setAlphaButtonBAnimeMin();
|
||||
/* 80219474 */ void setAlphaButtonBAnimeMax();
|
||||
/* 802195A4 */ void setButtonIconAAlpha(u8, u32, bool);
|
||||
/* 80219788 */ void setButtonIconBAlpha(u8, u32, bool);
|
||||
/* 80219A84 */ void setButtonIconMidonaAlpha(u32);
|
||||
/* 80219E98 */ void setButtonIconAlpha(int, u8, u32, bool);
|
||||
/* 8021A29C */ void getNumberTexture(int);
|
||||
/* 8021A2F4 */ void getActionString(u8, u8, u8*);
|
||||
/* 8021A468 */ void changeTextureItemB(u8);
|
||||
/* 8021A71C */ void changeTextureItemXY(int, u8);
|
||||
/* 8021A9C8 */ void setAlphaAnimeMin(CPaneMgrAlpha*, s16);
|
||||
/* 8021AAA4 */ void setAlphaAnimeMax(CPaneMgrAlpha*, s16);
|
||||
/* 8021AB84 */ void setItemNum(u8, u8, u8);
|
||||
/* 8021AEC8 */ void drawItemNum(u8, f32);
|
||||
/* 8021AF78 */ void drawKanteraMeter(u8, f32);
|
||||
/* 8021B0C8 */ void isButtonVisible();
|
||||
/* 8021B104 */ void setItemParamX(u8);
|
||||
/* 8021B364 */ void setItemParamY(u8);
|
||||
/* 8021B5B0 */ void setItemParamZ(u8);
|
||||
/* 8021B810 */ void setItemParamB(u8);
|
||||
/* 8021BB6C */ void getFishingType();
|
||||
/* 8021BBB4 */ void getCanoeFishing();
|
||||
/* 8021BC24 */ void getCameraSubject();
|
||||
/* 8021BC54 */ void getItemSubject();
|
||||
/* 8021BCAC */ void getPlayerSubject();
|
||||
/* 8021BCC0 */ void isBButtonShow(bool);
|
||||
/* 8021BDD0 */ void getButtonTimer();
|
||||
|
||||
/* 802102F8 */ virtual ~dMeter2Draw_c();
|
||||
|
||||
private:
|
||||
/* 0x004 */ f32 field_0x4;
|
||||
/* 0x008 */ f32 field_0x8;
|
||||
/* 0x00C */ f32 field_0xc;
|
||||
/* 0x010 */ f32 field_0x10;
|
||||
/* 0x014 */ f32 field_0x14;
|
||||
/* 0x028 */ f32 field_0x18;
|
||||
/* 0x01C */ f32 field_0x1c;
|
||||
/* 0x020 */ f32 field_0x20;
|
||||
/* 0x024 */ f32 field_0x24;
|
||||
/* 0x028 */ f32 field_0x28;
|
||||
/* 0x02C */ f32 field_0x2c;
|
||||
/* 0x030 */ f32 field_0x30;
|
||||
/* 0x034 */ f32 field_0x34;
|
||||
/* 0x038 */ f32 field_0x38;
|
||||
/* 0x03C */ f32 field_0x3c;
|
||||
/* 0x040 */ f32 field_0x40;
|
||||
/* 0x044 */ f32 field_0x44;
|
||||
/* 0x048 */ f32 field_0x48;
|
||||
/* 0x04C */ f32 field_0x4c;
|
||||
/* 0x050 */ f32 field_0x50;
|
||||
/* 0x054 */ f32 field_0x54;
|
||||
/* 0x058 */ f32 field_0x58;
|
||||
/* 0x05C */ f32 field_0x5c;
|
||||
/* 0x060 */ f32 field_0x60;
|
||||
/* 0x064 */ f32 field_0x64;
|
||||
/* 0x068 */ f32 field_0x68;
|
||||
/* 0x06C */ f32 field_0x6c;
|
||||
/* 0x070 */ f32 field_0x70;
|
||||
/* 0x074 */ JKRExpHeap* mp_heap;
|
||||
/* 0x078 */ J2DScreen* mpScreen;
|
||||
/* 0x07C */ J2DScreen* mpKanteraScreen;
|
||||
/* 0x080 */ J2DScreen* mpPikariScreen;
|
||||
/* 0x084 */ J2DScreen* mpItemNumTex[2][3];
|
||||
/* 0x09C */ int field_0x9c[3];
|
||||
/* 0x0A8 */ int field_0xa8;
|
||||
/* 0x0AC */ dKantera_icon_c* mpKanteraMeter[2];
|
||||
/* 0x0B4 */ u8 field_0xb4[8];
|
||||
/* 0x0BC */ void* mpParent;
|
||||
/* 0x0C0 */ CPaneMgr* mpAText[5];
|
||||
/* 0x0D4 */ CPaneMgr* mpBText[5];
|
||||
/* 0x0E8 */ CPaneMgr* mpXYText[5][3];
|
||||
/* 0x124 */ CPaneMgr* mpLifeParent;
|
||||
/* 0x128 */ CPaneMgr* mpLifeParts[20];
|
||||
/* 0x178 */ CPaneMgr* mpHeartMask[20];
|
||||
/* 0x1C8 */ CPaneMgr* mpBigHeart;
|
||||
/* 0x1CC */ CPaneMgr* mpMagicParent;
|
||||
/* 0x1D0 */ CPaneMgr* mpMagicBase;
|
||||
/* 0x1D4 */ CPaneMgr* mpMagicFrameL;
|
||||
/* 0x1D8 */ CPaneMgr* mpMagicMeter;
|
||||
/* 0x1DC */ CPaneMgr* mpMagicFrameR;
|
||||
/* 0x1E0 */ CPaneMgr* mpLightDropParent;
|
||||
/* 0x1E4 */ int field_0x1e4;
|
||||
/* 0x1E8 */ CPaneMgr* mpSIParent[2];
|
||||
/* 0x1F0 */ CPaneMgr* mpSIParts[16][3];
|
||||
/* 0x2B0 */ CPaneMgr* mpRupeeKeyParent;
|
||||
/* 0x2B4 */ CPaneMgr* mpRupeeParent[3];
|
||||
/* 0x2C0 */ CPaneMgr* mpRupeeTexture[4][2];
|
||||
/* 0x2E0 */ CPaneMgr* mpKeyParent;
|
||||
/* 0x2E4 */ CPaneMgr* mpKeyTexture[5];
|
||||
/* 0x2F8 */ CPaneMgr* mpButtonParent;
|
||||
/* 0x2FC */ int field_0x2fc;
|
||||
/* 0x300 */ CPaneMgr* mpButtonA;
|
||||
/* 0x304 */ CPaneMgr* mpButtonB;
|
||||
/* 0x308 */ CPaneMgr* mpButtonMidona;
|
||||
/* 0x30C */ CPaneMgr* mpButtonXY[3];
|
||||
/* 0x318 */ CPaneMgr* mpLightB;
|
||||
/* 0x31C */ CPaneMgr* mpLightXY[3];
|
||||
/* 0x328 */ CPaneMgr* mpItemB;
|
||||
/* 0x32C */ CPaneMgr* mpItemXY[2];
|
||||
/* 0x334 */ CPaneMgr* mpItemR;
|
||||
/* 0x338 */ CPaneMgr* mpBTextA;
|
||||
/* 0x33C */ CPaneMgr* mpBTextB;
|
||||
/* 0x340 */ CPaneMgr* mpBTextXY[2];
|
||||
/* 0x348 */ int field_0x348;
|
||||
/* 0x34C */ CPaneMgr* mpTextA;
|
||||
/* 0x350 */ CPaneMgr* mpTextB;
|
||||
/* 0x354 */ CPaneMgr* mpTextXY[3];
|
||||
/* 0x360 */ CPaneMgr* mpTextI;
|
||||
/* 0x364 */ CPaneMgr* mpTextM;
|
||||
/* 0x368 */ CPaneMgr* mpButtonCrossParent;
|
||||
/* 0x36C */ int field_0x36c;
|
||||
/* 0x370 */ u8 field_0x370[0x2C];
|
||||
/* 0x39C */ CPaneMgr* mpPikariParent;
|
||||
/* 0x3A0 */ CPaneMgr* mpLifeTexture[20][2];
|
||||
/* 0x440 */ CPaneMgr* mpHeartBase[20];
|
||||
/* 0x490 */ CPaneMgr* mpJujiI[5];
|
||||
/* 0x4A4 */ CPaneMgr* mpJujiM[5];
|
||||
/* 0x4B8 */ CPaneMgr* mpUzu;
|
||||
/* 0x4BC */ u8 field_0x4bc[0x28];
|
||||
/* 0x4E4 */ JKRHeap* mpItemBTex[2][2];
|
||||
/* 0x4F4 */ JKRHeap* mpItemXYTex[2][2][2];
|
||||
/* 0x514 */ J2DPicture* mpItemBPane;
|
||||
/* 0x518 */ J2DPicture* mpItemXYPane[3];
|
||||
/* 0x524 */ int field_0x524[2][2];
|
||||
/* 0x534 */ u8 field_0x534[8];
|
||||
/* 0x53C */ void* field_0x53c;
|
||||
/* 0x540 */ J2DAnmBase* field_0x540; // bpk
|
||||
/* 0x544 */ J2DAnmBase* field_0x544; // bpk
|
||||
/* 0x548 */ u8 field_0x548[8];
|
||||
/* 0x550 */ f32 field_0x550;
|
||||
/* 0x554 */ f32 field_0x554;
|
||||
/* 0x558 */ f32 field_0x558;
|
||||
/* 0x55C */ f32 field_0x55c;
|
||||
/* 0x560 */ f32 field_0x560;
|
||||
/* 0x564 */ f32 field_0x564;
|
||||
/* 0x568 */ f32 field_0x568;
|
||||
/* 0x56C */ f32 field_0x56c;
|
||||
/* 0x570 */ f32 field_0x570;
|
||||
/* 0x574 */ f32 field_0x574;
|
||||
/* 0x578 */ f32 field_0x578;
|
||||
/* 0x57C */ f32 field_0x57c;
|
||||
/* 0x580 */ f32 field_0x580;
|
||||
/* 0x584 */ u8 field_0x584[0x78];
|
||||
/* 0x5FC */ f32 field_0x5fc[3];
|
||||
/* 0x608 */ f32 field_0x608;
|
||||
/* 0x60C */ f32 field_0x60c;
|
||||
/* 0x610 */ f32 field_0x610[3];
|
||||
/* 0x61C */ f32 field_0x61c;
|
||||
/* 0x620 */ f32 field_0x620[3];
|
||||
/* 0x62C */ f32 field_0x62c[16];
|
||||
/* 0x66C */ f32 field_0x66c[16];
|
||||
/* 0x6AC */ f32 field_0x6ac[3];
|
||||
/* 0x6B8 */ f32 field_0x6b8[3];
|
||||
/* 0x6C4 */ f32 field_0x6c4[3];
|
||||
/* 0x6D0 */ f32 field_0x6d0[3];
|
||||
/* 0x6DC */ f32 field_0x6dc;
|
||||
/* 0x6E0 */ f32 field_0x6e0;
|
||||
/* 0x6E4 */ f32 field_0x6e4;
|
||||
/* 0x6E8 */ f32 field_0x6e8;
|
||||
/* 0x6EC */ f32 field_0x6ec;
|
||||
/* 0x6F0 */ f32 field_0x6f0;
|
||||
/* 0x6F4 */ f32 field_0x6f4;
|
||||
/* 0x6F8 */ f32 field_0x6f8;
|
||||
/* 0x6FC */ f32 field_0x6fc;
|
||||
/* 0x700 */ u8 field_0x700[0x18];
|
||||
/* 0x718 */ f32 field_0x718;
|
||||
/* 0x71C */ u8 field_0x71c[4];
|
||||
/* 0x720 */ f32 mZButtonAlpha;
|
||||
/* 0x724 */ f32 field_0x724;
|
||||
/* 0x728 */ f32 field_0x728;
|
||||
/* 0x72C */ f32 field_0x72c;
|
||||
/* 0x730 */ f32 field_0x730;
|
||||
/* 0x734 */ f32 field_0x734;
|
||||
/* 0x738 */ f32 field_0x738;
|
||||
/* 0x73C */ u8 field_0x73c[4];
|
||||
/* 0x740 */ u16 field_0x740;
|
||||
/* 0x742 */ u16 field_0x742[3];
|
||||
/* 0x748 */ u8 field_0x748[0xE];
|
||||
/* 0x756 */ u16 field_0x754;
|
||||
/* 0x756 */ u16 field_0x756;
|
||||
/* 0x758 */ u8 field_0x758;
|
||||
/* 0x759 */ u8 field_0x759;
|
||||
/* 0x75A */ u8 field_0x75a;
|
||||
/* 0x75B */ u8 field_0x75b;
|
||||
/* 0x75C */ u8 field_0x75c[3];
|
||||
/* 0x75F */ u8 field_0x75f;
|
||||
/* 0x760 */ u8 field_0x760;
|
||||
/* 0x761 */ u8 field_0x761;
|
||||
/* 0x762 */ u8 field_0x762;
|
||||
/* 0x763 */ u8 field_0x763;
|
||||
/* 0x764 */ u8 field_0x764;
|
||||
/* 0x765 */ u8 field_0x765;
|
||||
/* 0x766 */ u8 field_0x766;
|
||||
/* 0x767 */ u8 field_0x767;
|
||||
/* 0x768 */ u8 field_0x768[3];
|
||||
/* 0x76B */ u8 field_0x76b;
|
||||
/* 0x76C */ u8 field_0x76c[2];
|
||||
/* 0x76E */ u8 field_0x76e;
|
||||
/* 0x76F */ u8 field_0x76f;
|
||||
/* 0x770 */ u8 field_0x770;
|
||||
/* 0x771 */ u8 field_0x771;
|
||||
/* 0x772 */ u8 field_0x772;
|
||||
/* 0x773 */ u8 field_0x773[2];
|
||||
/* 0x778 */ f32 field_0x778;
|
||||
/* 0x77C */ f32 field_0x77c;
|
||||
/* 0x780 */ f32 field_0x780;
|
||||
/* 0x784 */ f32 field_0x784;
|
||||
/* 0x788 */ f32 field_0x788;
|
||||
/* 0x78C */ f32 field_0x78c;
|
||||
/* 0x790 */ f32 field_0x790;
|
||||
/* 0x794 */ f32 field_0x794;
|
||||
/* 0x798 */ f32 field_0x798;
|
||||
/* 0x79C */ f32 field_0x79c;
|
||||
/* 0x7A0 */ f32 field_0x7a0;
|
||||
/* 0x7A4 */ f32 field_0x7a4;
|
||||
/* 0x7A8 */ f32 field_0x7a8;
|
||||
/* 0x7AC */ f32 field_0x7ac;
|
||||
/* 0x7B0 */ f32 field_0x7b0;
|
||||
/* 0x7B4 */ f32 field_0x7b4;
|
||||
/* 0x7B8 */ f32 field_0x7b8;
|
||||
/* 0x7BC */ f32 field_0x7bc;
|
||||
/* 0x7C0 */ f32 field_0x7c0;
|
||||
/* 0x7C4 */ f32 field_0x7c4;
|
||||
/* 0x7C8 */ f32 field_0x7c8;
|
||||
/* 0x7CC */ f32 field_0x7cc;
|
||||
/* 0x7D0 */ f32 field_0x7d0;
|
||||
/* 0x7D4 */ f32 field_0x7d4;
|
||||
/* 0x7D8 */ f32 field_0x7d8;
|
||||
/* 0x7DC */ f32 field_0x7dc;
|
||||
/* 0x7E0 */ f32 field_0x7e0;
|
||||
/* 0x7E4 */ f32 field_0x7e4;
|
||||
/* 0x7E8 */ f32 field_0x7e8;
|
||||
/* 0x7EC */ f32 field_0x7ec;
|
||||
/* 0x7F0 */ f32 field_0x7f0;
|
||||
/* 0x7F4 */ f32 field_0x7f4;
|
||||
/* 0x7F8 */ f32 field_0x7f8;
|
||||
/* 0x7FC */ f32 field_0x7fc;
|
||||
/* 0x800 */ f32 field_0x800;
|
||||
/* 0x804 */ f32 field_0x804;
|
||||
/* 0x808 */ f32 field_0x808;
|
||||
/* 0x80C */ f32 field_0x80c;
|
||||
/* 0x810 */ f32 field_0x810;
|
||||
/* 0x814 */ f32 field_0x814[2];
|
||||
/* 0x81C */ f32 field_0x81c[2];
|
||||
/* 0x824 */ f32 field_0x824[2];
|
||||
/* 0x82C */ f32 field_0x82c[2];
|
||||
/* 0x834 */ f32 field_0x834;
|
||||
/* 0x838 */ f32 field_0x838;
|
||||
/* 0x83C */ f32 field_0x83c;
|
||||
/* 0x840 */ f32 field_0x840;
|
||||
/* 0x844 */ f32 field_0x844;
|
||||
/* 0x848 */ f32 field_0x848;
|
||||
/* 0x84C */ u8 field_0x84c;
|
||||
/* 0x84D */ u8 field_0x84d;
|
||||
/* 0x84E */ u8 field_0x84e;
|
||||
/* 0x84F */ u8 field_0x84f;
|
||||
/* 0x850 */ u8 field_0x850;
|
||||
/* 0x851 */ u8 field_0x851;
|
||||
/* 0x852 */ u8 field_0x852;
|
||||
/* 0x853 */ u8 field_0x853;
|
||||
/* 0x854 */ u8 field_0x854;
|
||||
/* 0x855 */ u8 field_0x855;
|
||||
/* 0x856 */ u8 field_0x856;
|
||||
/* 0x857 */ u8 field_0x857;
|
||||
/* 0x858 */ u8 field_0x858;
|
||||
/* 0x859 */ u8 field_0x859;
|
||||
/* 0x85A */ u8 field_0x85a;
|
||||
/* 0x85B */ u8 field_0x85b;
|
||||
/* 0x85C */ u8 field_0x85c;
|
||||
/* 0x85D */ u8 field_0x85d;
|
||||
/* 0x85E */ u8 field_0x85e;
|
||||
/* 0x85F */ u8 field_0x85f;
|
||||
/* 0x860 */ u8 field_0x860;
|
||||
/* 0x861 */ u8 field_0x861;
|
||||
};
|
||||
|
||||
#endif /* D_METER_D_METER2_DRAW_H */
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "JSystem/JUtility/JUTTexture.h"
|
||||
#include "d/d_resorce.h"
|
||||
#include "d/menu/d_menu_window.h"
|
||||
#include "d/meter/d_meter2.h"
|
||||
#include "d/msg/d_msg_flow.h"
|
||||
#include "d/pane/d_pane_class.h"
|
||||
#include "dolphin/types.h"
|
||||
@@ -13,18 +14,9 @@ struct dMsgObject_c {
|
||||
/* 802384C4 */ static void setLetterNameID(u16);
|
||||
/* 802379AC */ void setKillMessageFlag();
|
||||
/* 8023822C */ void getStatus();
|
||||
/* 802371E4 */ void isPlaceMessage();
|
||||
};
|
||||
|
||||
class dMeterMap_c {
|
||||
public:
|
||||
/* 8020D900 */ static bool isMapOpenCheck();
|
||||
/* 8020D650 */ void isEnableDispMapAndMapDispSizeTypeNo();
|
||||
/* 8020D874 */ void setDispPosInsideFlg_SE_On();
|
||||
/* 8020D8BC */ void setDispPosOutsideFlg_SE_On();
|
||||
};
|
||||
|
||||
struct J2DPicture {};
|
||||
|
||||
struct JMSMesgEntry_c {
|
||||
/* 0x00 */ u32 mStringOffset;
|
||||
/* 0x04 */ u16 mStringId;
|
||||
@@ -64,11 +56,9 @@ struct dItem_data {
|
||||
};
|
||||
|
||||
class dMw_c;
|
||||
|
||||
class dMeter2_c {
|
||||
public:
|
||||
/* 8021F6EC */ void emphasisButtonDelete();
|
||||
};
|
||||
class dMeter2_c;
|
||||
class J2DPicture;
|
||||
class dMeterMap_c;
|
||||
|
||||
class dMeter2Info_c {
|
||||
public:
|
||||
@@ -95,7 +85,7 @@ public:
|
||||
void getStringKana(u32, char*, JMSMesgEntry_c*);
|
||||
void getStringKanji(u32, char*, JMSMesgEntry_c*);
|
||||
double getStringLength(J2DTextBox*, char*); // define J2DTextBox
|
||||
dMeter2Info_c* getStringLength(JUTFont*, float, float, char*);
|
||||
dMeter2Info_c* getStringLength(JUTFont*, f32, f32, char*);
|
||||
void onDirectUseItem(int);
|
||||
bool isDirectUseItem(int);
|
||||
int setMeterString(s32);
|
||||
@@ -132,6 +122,13 @@ 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; }
|
||||
void setNowCount(u8 count) { mNowCount = count; }
|
||||
void setMaxCount(u8 count) { mMaxCount = count; }
|
||||
|
||||
private:
|
||||
/* 0x04 */ u8 unk4[4];
|
||||
@@ -144,18 +141,18 @@ private:
|
||||
/* 0x24 */ dMw_c* mMenuWindowClass;
|
||||
/* 0x28 */ CPaneMgr* mMeterItemPanePtr[4];
|
||||
/* 0x38 */ WarpInfo_c mWarpInfo;
|
||||
/* 0x54 */ float unk84;
|
||||
/* 0x58 */ float unk88;
|
||||
/* 0x5C */ float unk92;
|
||||
/* 0x60 */ float unk96;
|
||||
/* 0x64 */ float unk100;
|
||||
/* 0x68 */ float unk104;
|
||||
/* 0x6C */ float unk108;
|
||||
/* 0x70 */ float m2DWidth;
|
||||
/* 0x74 */ float m2DHeight;
|
||||
/* 0x78 */ float m2DPosH;
|
||||
/* 0x7C */ float m2DPosV;
|
||||
/* 0x80 */ float unk128;
|
||||
/* 0x54 */ f32 unk84;
|
||||
/* 0x58 */ f32 unk88;
|
||||
/* 0x5C */ f32 unk92;
|
||||
/* 0x60 */ f32 unk96;
|
||||
/* 0x64 */ f32 unk100;
|
||||
/* 0x68 */ f32 unk104;
|
||||
/* 0x6C */ f32 unk108;
|
||||
/* 0x70 */ f32 m2DWidth;
|
||||
/* 0x74 */ f32 m2DHeight;
|
||||
/* 0x78 */ f32 m2DPosH;
|
||||
/* 0x7C */ f32 m2DPosV;
|
||||
/* 0x80 */ f32 unk128;
|
||||
/* 0x84 */ u32 mTimeMs;
|
||||
/* 0x88 */ u32 mMsgTimeMs;
|
||||
/* 0x8C */ u32 mMeterString;
|
||||
@@ -252,4 +249,32 @@ 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();
|
||||
}
|
||||
|
||||
inline void dMeter2Info_setNowCount(u8 count) {
|
||||
g_meter2_info.setNowCount(count);
|
||||
}
|
||||
|
||||
inline void dMeter2Info_setMaxCount(u8 count) {
|
||||
g_meter2_info.setMaxCount(count);
|
||||
}
|
||||
|
||||
#endif /* D_METER_D_METER2_INFO_H */
|
||||
|
||||
@@ -1,6 +1,38 @@
|
||||
#ifndef D_METER_D_METER_MAP_H
|
||||
#define D_METER_D_METER_MAP_H
|
||||
|
||||
#include "JSystem/J2DGraph/J2DScreen.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class dMeterMap_c {
|
||||
public:
|
||||
/* 8020D49C */ void isEnableDispMap();
|
||||
/* 8020D528 */ void getMapDispSizeTypeNo();
|
||||
/* 8020D650 */ void isEnableDispMapAndMapDispSizeTypeNo();
|
||||
/* 8020D690 */ void getMapDispEdgeBottomY_Layout();
|
||||
/* 8020D698 */ void isEventRunCheck();
|
||||
/* 8020D72C */ void getMapDispEdgeLeftX_Layout();
|
||||
/* 8020D75C */ void getMapDispEdgeTop();
|
||||
/* 8020D7E4 */ bool getDispPosInside_OffsetX();
|
||||
/* 8020D7EC */ void getDispPosOutSide_OffsetX();
|
||||
/* 8020D874 */ void setDispPosInsideFlg_SE_On();
|
||||
/* 8020D8BC */ void setDispPosOutsideFlg_SE_On();
|
||||
/* 8020D8F8 */ void setMapAlpha(u8);
|
||||
/* 8020D900 */ static bool isMapOpenCheck();
|
||||
/* 8020D948 */ dMeterMap_c(J2DScreen*);
|
||||
/* 8020D990 */ ~dMeterMap_c();
|
||||
/* 8020D9EC */ void _create(J2DScreen*);
|
||||
/* 8020DC50 */ void _delete();
|
||||
/* 8020DCE4 */ void _move(u32);
|
||||
/* 8020DF1C */ void _draw();
|
||||
/* 8020DF68 */ void draw();
|
||||
/* 8020E070 */ void ctrlShowMap();
|
||||
/* 8020E45C */ void checkMoveStatus();
|
||||
/* 8020E4C8 */ void isShow(u32);
|
||||
/* 8020E620 */ void isFmapScreen();
|
||||
/* 8020E70C */ void isDmapScreen();
|
||||
/* 8020E754 */ void meter_map_move(u32);
|
||||
/* 8020E9CC */ void keyCheck();
|
||||
};
|
||||
|
||||
#endif /* D_METER_D_METER_MAP_H */
|
||||
|
||||
+160
-12
@@ -7,33 +7,181 @@
|
||||
|
||||
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 */
|
||||
|
||||
@@ -315,6 +315,10 @@ enum ItemTable {
|
||||
/* 0xFF */ NO_ITEM
|
||||
};
|
||||
|
||||
enum EquipItem {
|
||||
/* 0x103 */ EQUIP_SWORD = 0x103,
|
||||
};
|
||||
|
||||
enum CollectItem {
|
||||
/* 0x0 */ COLLECT_CLOTHING,
|
||||
/* 0x1 */ COLLECT_SWORD,
|
||||
@@ -915,6 +919,11 @@ 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;
|
||||
/* 0x01 */ u8 field_0x01[3];
|
||||
@@ -999,6 +1008,9 @@ public:
|
||||
dSv_zone_c* getZones() { return mZone; }
|
||||
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; }
|
||||
void initDan(s8 param_0) { mDan.init(param_0); }
|
||||
|
||||
@@ -19,7 +19,7 @@ public:
|
||||
void onCondition(u16);
|
||||
void offCondition(u16);
|
||||
bool checkCommandCatch();
|
||||
bool checkCommandDoor();
|
||||
BOOL checkCommandDoor();
|
||||
bool checkCommandDemoAccrpt();
|
||||
|
||||
void setCommand(u16 command) { mCommand = command; }
|
||||
@@ -52,7 +52,7 @@ public:
|
||||
struct actor_place {
|
||||
cXyz mPosition;
|
||||
csXyz mAngle;
|
||||
u8 mRoomNo;
|
||||
s8 mRoomNo;
|
||||
};
|
||||
|
||||
struct actor_attention_types {
|
||||
@@ -88,7 +88,7 @@ public:
|
||||
/* 0x4E4 */ csXyz mCollisionRot;
|
||||
/* 0x4EC */ cXyz mScale;
|
||||
/* 0x4F8 */ cXyz mSpeed;
|
||||
/* 0x504 */ Mtx* mCullMtx;
|
||||
/* 0x504 */ MtxP mCullMtx;
|
||||
union {
|
||||
struct {
|
||||
/* 0x508 */ cXyz mMin;
|
||||
|
||||
@@ -54,6 +54,8 @@ public:
|
||||
static bool gndCheck(const cXyz*);
|
||||
static u8 mGndCheck[84];
|
||||
static f32 mGroundY;
|
||||
|
||||
static f32 getGroundY() { return mGroundY; }
|
||||
};
|
||||
|
||||
class fopAcM_wt_c {
|
||||
@@ -100,6 +102,14 @@ 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;
|
||||
}
|
||||
|
||||
inline void fopAcM_OnStatus(fopAc_ac_c* pActor, u32 flag) {
|
||||
pActor->mStatus |= flag;
|
||||
}
|
||||
@@ -132,6 +142,14 @@ inline csXyz& fopAcM_GetShapeAngle_p(fopAc_ac_c* pActor) {
|
||||
return pActor->mCollisionRot;
|
||||
}
|
||||
|
||||
inline bool fopAcM_CheckCondition(fopAc_ac_c* p_actor, u32 flag) {
|
||||
return p_actor->mCondition & flag;
|
||||
}
|
||||
|
||||
inline void fopAcM_OnCondition(fopAc_ac_c* p_actor, u32 flag) {
|
||||
p_actor->mCondition |= flag;
|
||||
}
|
||||
|
||||
void* fopAcM_FastCreate(s16 pProcTypeID, FastCreateReqFunc param_2, void* param_3, void* pData);
|
||||
void fopAcM_setStageLayer(void*);
|
||||
int fopAcM_setRoomLayer(void*, int);
|
||||
@@ -230,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);
|
||||
|
||||
@@ -6,4 +6,6 @@
|
||||
|
||||
typedef int (*fopMsgCreateFunc)(void*);
|
||||
|
||||
JKRExpHeap* fopMsgM_createExpHeap(u32, JKRHeap*);
|
||||
|
||||
#endif
|
||||
@@ -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);
|
||||
|
||||
@@ -31,4 +31,8 @@ public:
|
||||
|
||||
extern JKRSolidHeap* g_mDoAud_audioHeap;
|
||||
|
||||
inline void mDoAud_bgmSetSwordUsing(s32 id) {
|
||||
Z2AudioMgr::getInterface()->mSeqMgr.bgmSetSwordUsing(id);
|
||||
}
|
||||
|
||||
#endif /* M_DO_M_DO_AUDIO_H */
|
||||
|
||||
+82
-27
@@ -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;
|
||||
};
|
||||
|
||||
@@ -87,10 +81,71 @@ public:
|
||||
/* 80140DF0 */ ~mDoExt_AnmRatioPack();
|
||||
/* 80140E2C */ mDoExt_AnmRatioPack();
|
||||
|
||||
void setRatio(f32 ratio) { mRatio = ratio; }
|
||||
J3DAnmTransform* getAnmTransform() { return mAnmTransform; }
|
||||
|
||||
private:
|
||||
/* 0x0 */ float mRatio;
|
||||
/* 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 */
|
||||
|
||||
@@ -1,6 +1,128 @@
|
||||
#ifndef D_A_BOOMERANG_H
|
||||
#define D_A_BOOMERANG_H
|
||||
|
||||
#include "JSystem/J2DGraph/J2DScreen.h"
|
||||
#include "Z2AudioLib/Z2SoundObject.h"
|
||||
#include "d/bg/d_bg_s_acch.h"
|
||||
#include "d/particle/d_particle_copoly.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
|
||||
class daBoomerang_sight_c {
|
||||
public:
|
||||
/* 8049E0B8 */ void createHeap();
|
||||
/* 8049E36C */ void initialize();
|
||||
/* 8049EB64 */ void playAnime(int, int);
|
||||
/* 8049EDA8 */ void initFrame(int);
|
||||
/* 8049EDE8 */ void copyNumData(int);
|
||||
/* 8049EEC8 */ void setSight(cXyz const*, int);
|
||||
/* 8049EF60 */ void draw();
|
||||
|
||||
/* 804A278C */ virtual ~daBoomerang_sight_c();
|
||||
|
||||
private:
|
||||
/* 0x04 */ J2DScreen* field_0x4;
|
||||
/* 0x08 */ J2DPane* field_0x8;
|
||||
/* 0x0C */ J2DPane* field_0xc;
|
||||
/* 0x10 */ J2DPane* field_0x10;
|
||||
/* 0x14 */ J2DPane* field_0x14;
|
||||
/* 0x18 */ J2DAnmBase* field_0x18;
|
||||
/* 0x1C */ J2DAnmBase* field_0x1c;
|
||||
/* 0x20 */ J2DScreen* field_0x20;
|
||||
/* 0x24 */ J2DPane* field_0x24;
|
||||
/* 0x28 */ J2DPane* field_0x28;
|
||||
/* 0x2C */ J2DPane* field_0x2c;
|
||||
/* 0x30 */ J2DPane* field_0x30;
|
||||
/* 0x34 */ J2DAnmBase* field_0x34;
|
||||
/* 0x38 */ J2DAnmBase* field_0x38;
|
||||
/* 0x3C */ J2DScreen* field_0x3c;
|
||||
/* 0x40 */ J2DPane* field_0x40;
|
||||
/* 0x44 */ J2DPane* field_0x44;
|
||||
/* 0x48 */ J2DPane* field_0x48;
|
||||
/* 0x4C */ J2DPane* field_0x4c;
|
||||
/* 0x50 */ J2DAnmBase* field_0x50;
|
||||
/* 0x54 */ J2DAnmBase* field_0x54;
|
||||
/* 0x58 */ J2DAnmBase* field_0x58;
|
||||
/* 0x5C */ J2DAnmBase* field_0x5c;
|
||||
/* 0x60 */ bool mRedSight;
|
||||
/* 0x61 */ u8 mReserve;
|
||||
/* 0x62 */ u8 mAlpha[6];
|
||||
/* 0x68 */ f32 field_0x68[6];
|
||||
/* 0x80 */ f32 field_0x80[6];
|
||||
/* 0x98 */ f32 field_0x98[6];
|
||||
/* 0xB0 */ f32 field_0xb0[6];
|
||||
/* 0xC8 */ cXyz field_0xc8[6];
|
||||
}; // Size: 0x110
|
||||
|
||||
struct daMirror_c;
|
||||
class daAlink_c;
|
||||
|
||||
class daBoomerang_c : public fopAc_ac_c {
|
||||
public:
|
||||
enum daBoomerang_FLG0 {
|
||||
/* 0x80 */ WIND_CATCH = 0x80,
|
||||
};
|
||||
|
||||
/* 8049F280 */ void windModelCallBack();
|
||||
/* 8049F39C */ void draw();
|
||||
/* 8049F5F4 */ void lockLineCallback(fopAc_ac_c*);
|
||||
/* 8049F660 */ void moveLineCallback(fopAc_ac_c*);
|
||||
/* 8049F710 */ void pushLockList(int);
|
||||
/* 8049F818 */ void cancelLockActorBase(fopAc_ac_c*);
|
||||
/* 8049F874 */ void setAimActorBase(fopAc_ac_c*);
|
||||
/* 8049F8B0 */ void setLockActor(fopAc_ac_c*, int);
|
||||
/* 8049F9A4 */ void resetLockActor();
|
||||
/* 8049F9F0 */ void setRoomInfo();
|
||||
/* 8049FAA4 */ void setKeepMatrix();
|
||||
/* 8049FBAC */ void setMoveMatrix();
|
||||
/* 8049FCD0 */ void setRotAngle();
|
||||
/* 8049FD6C */ void setAimPos();
|
||||
/* 8049FE6C */ void checkBgHit(cXyz*, cXyz*);
|
||||
/* 804A006C */ void setEffectTraceMatrix(u32*, u16);
|
||||
/* 804A012C */ void setEffect();
|
||||
/* 804A0874 */ void procWait();
|
||||
/* 804A0F0C */ void procMove();
|
||||
/* 804A1814 */ void execute();
|
||||
/* 804A1BF4 */ ~daBoomerang_c();
|
||||
/* 804A1EE4 */ void createHeap();
|
||||
/* 804A2084 */ void create();
|
||||
/* 804A230C */ daBoomerang_c();
|
||||
|
||||
void onStateFlg0(daBoomerang_FLG0 flag) { mStateFlg0 |= flag; }
|
||||
void onWindCatch() { onStateFlg0(WIND_CATCH); }
|
||||
|
||||
private:
|
||||
/* 0x568 */ daMirror_c* field_0x568;
|
||||
/* 0x56C */ J3DModel* field_0x56c;
|
||||
/* 0x570 */ daAlink_c* field_0x570;
|
||||
/* 0x574 */ u8 field_0x574[0x1C];
|
||||
/* 0x590 */ J3DModel* field_0x590;
|
||||
/* 0x594 */ void* field_0x594;
|
||||
/* 0x598 */ daBoomerang_sight_c mSight;
|
||||
/* 0x6A8 */ int field_0x6a8;
|
||||
/* 0x6AC */ int field_0x6ac[5];
|
||||
/* 0x6C0 */ fopAc_ac_c* field_0x6c0[5];
|
||||
/* 0x6D4 */ u8 field_0x6d4[8];
|
||||
/* 0x6DC */ cXyz field_0x6dc[5];
|
||||
/* 0x718 */ u8 field_0x718[5];
|
||||
/* 0x720 */ Z2SoundObjSimple field_0x720;
|
||||
/* 0x740 */ dBgS_Acch field_0x740;
|
||||
/* 0x918 */ dPaPo_c field_0x918;
|
||||
/* 0x950 */ u8 field_0x950;
|
||||
/* 0x951 */ u8 field_0x951;
|
||||
/* 0x952 */ u8 field_0x952;
|
||||
/* 0x953 */ u8 field_0x953;
|
||||
/* 0x954 */ u8 field_0x954;
|
||||
/* 0x955 */ u8 field_0x955;
|
||||
/* 0x956 */ u8 field_0x956;
|
||||
/* 0x957 */ u8 field_0x957;
|
||||
/* 0x958 */ s16 field_0x958;
|
||||
/* 0x95A */ s16 field_0x95a;
|
||||
/* 0x95C */ s16 field_0x95c;
|
||||
/* 0x95E */ s16 field_0x95e;
|
||||
/* 0x960 */ s16 field_0x960;
|
||||
/* 0x962 */ s16 field_0x962;
|
||||
/* 0x964 */ u32 mStateFlg0;
|
||||
};
|
||||
|
||||
#endif /* D_A_BOOMERANG_H */
|
||||
|
||||
@@ -1,6 +1,53 @@
|
||||
#ifndef D_A_CROD_H
|
||||
#define D_A_CROD_H
|
||||
|
||||
#include "d/a/d_a_player.h"
|
||||
#include "d/cc/d_cc_d.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
class daCrod_c : public fopAc_ac_c {
|
||||
public:
|
||||
/* 80141A94 */ void setControllActorData();
|
||||
/* 804A2E38 */ void createHeap();
|
||||
/* 804A2F18 */ void create();
|
||||
/* 804A3304 */ ~daCrod_c();
|
||||
/* 804A34B0 */ void setRoomInfo();
|
||||
/* 804A34B4 */ void setMatrix();
|
||||
/* 804A3500 */ void posMove();
|
||||
/* 804A3580 */ void setBckAnm(u16);
|
||||
/* 804A35FC */ void setReturn();
|
||||
/* 804A365C */ void setLightPower();
|
||||
/* 804A36D8 */ void execute();
|
||||
/* 804A3FD4 */ void draw();
|
||||
|
||||
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 */
|
||||
|
||||
@@ -1,6 +1,204 @@
|
||||
#ifndef D_A_OBJ_CARRY_H
|
||||
#define D_A_OBJ_CARRY_H
|
||||
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
#include "d/bg/d_bg_s_acch.h"
|
||||
#include "d/cc/d_cc_d.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class daObjCarry_c : public fopAc_ac_c {
|
||||
public:
|
||||
enum {
|
||||
/* 0x0 */ TYPE_TSUBO, // Small Blue Pot
|
||||
/* 0x1 */ TYPE_OOTSUBO, // Big Red Pot
|
||||
/* 0x2 */ TYPE_KIBAKO, // Box
|
||||
/* 0x3 */ TYPE_IRON_BALL, // Cannon Ball
|
||||
/* 0x4 */ TYPE_TARU, // Barrel
|
||||
/* 0x5 */ TYPE_DOKURO, // Skull
|
||||
/* 0x6 */ TYPE_BOKKURI, // Deku Nut
|
||||
/* 0x7 */ TYPE_TSUBO_2, // Small Red Pot
|
||||
/* 0x8 */ TYPE_BALL_S, // Light Ball A
|
||||
/* 0x9 */ TYPE_BALL_S_2, // Light Ball B
|
||||
/* 0xA */ TYPE_AOTSUBO, // Big Blue Pot
|
||||
/* 0xB */ TYPE_LV8_BALL,
|
||||
/* 0xC */ TYPE_TSUBO_S, // Small pot - Twilight
|
||||
/* 0xD */ TYPE_TSUBO_B, // Big pot - Twilight
|
||||
};
|
||||
|
||||
/* 80031CF8 */ static void clrSaveFlag();
|
||||
/* 80031D04 */ static void setSaveFlag();
|
||||
/* 80031D10 */ void chkSaveFlag();
|
||||
/* 80031D24 */ void getPos(int);
|
||||
/* 80031D38 */ void savePos(int, cXyz);
|
||||
/* 80031D64 */ void onSttsFlag(int, u8);
|
||||
/* 80031D78 */ void offSttsFlag(int, u8);
|
||||
/* 80031D8C */ void chkSttsFlag(int, u8);
|
||||
/* 80031DAC */ void setRoomNo(int, s8);
|
||||
/* 80031DB8 */ void getRoomNo(int);
|
||||
/* 8046F6A4 */ void data();
|
||||
/* 8046F6BC */ void getArcName();
|
||||
/* 8046F6D4 */ void getBmdName();
|
||||
/* 8046F6EC */ void checkFlag(u8);
|
||||
/* 8046F724 */ void initBaseMtx();
|
||||
/* 8046F7AC */ void setBaseMtx();
|
||||
/* 8046FACC */ void preInit();
|
||||
/* 8046FB78 */ daObjCarry_c();
|
||||
/* 8046FFA4 */ void checkBreakWolfAttack();
|
||||
/* 8046FFF8 */ void checkCarryBoomerang();
|
||||
/* 80470054 */ void checkCarryHookshot();
|
||||
/* 80470080 */ void checkCarryWolf();
|
||||
/* 804700B4 */ void checkCarryOneHand();
|
||||
/* 804700F0 */ void Create();
|
||||
/* 804705DC */ void CreateInit_tsubo();
|
||||
/* 80470650 */ void CreateInit_ootubo();
|
||||
/* 80470674 */ void CreateInit_kibako();
|
||||
/* 804706D4 */ void CreateInit_ironball();
|
||||
/* 804707E0 */ void CreateInit_taru();
|
||||
/* 80470840 */ void CreateInit_dokuro();
|
||||
/* 80470890 */ void CreateInit_bokkuri();
|
||||
/* 804709DC */ void CreateInit_LightBall();
|
||||
/* 80470AB4 */ void CreateInit_Lv8Ball();
|
||||
/* 80470B5C */ void CreateHeap();
|
||||
/* 80470BF4 */ void create();
|
||||
/* 80470CF0 */ void checkCreate_LightBallA();
|
||||
/* 8047114C */ void checkCreate_LightBallB();
|
||||
/* 804715A8 */ void checkCreate_Lv8Ball();
|
||||
/* 80471680 */ void resetIconPosForLightBallA();
|
||||
/* 804716D4 */ void setIconPosForLightBallAAtR00();
|
||||
/* 804717B4 */ void setIconPosForLightBallBAtR00();
|
||||
/* 80471894 */ void resetIconPosForLightBallB();
|
||||
/* 804718E8 */ void execute();
|
||||
/* 8047233C */ void checkCulling();
|
||||
/* 80472460 */ void draw();
|
||||
/* 80472730 */ void debugDraw();
|
||||
/* 80472734 */ void _delete();
|
||||
/* 80472B54 */ void crr_pos();
|
||||
/* 80472D8C */ void check_sink(f32*);
|
||||
/* 80472E5C */ void calc_gravity();
|
||||
/* 80472EF0 */ void checkRollAngle();
|
||||
/* 80473050 */ void mode_proc_call();
|
||||
/* 804733E8 */ void mode_init_wait();
|
||||
/* 804734B0 */ void mode_proc_wait();
|
||||
/* 80473718 */ void mode_init_walk(u8);
|
||||
/* 804737CC */ void mode_proc_walk();
|
||||
/* 80473ED8 */ void mode_init_carry();
|
||||
/* 804741A8 */ void mode_proc_carry();
|
||||
/* 80474448 */ void mode_init_drop(u8);
|
||||
/* 80474540 */ void mode_proc_drop();
|
||||
/* 80474618 */ void mode_init_float();
|
||||
/* 80474734 */ void mode_proc_float();
|
||||
/* 80474A08 */ void mode_init_sink();
|
||||
/* 80474B8C */ void mode_proc_sink();
|
||||
/* 80474D64 */ void mode_init_yogan();
|
||||
/* 80474E08 */ void mode_proc_yogan();
|
||||
/* 80474E98 */ bool mode_proc_magne();
|
||||
/* 80474EA0 */ bool mode_proc_magneCarry();
|
||||
/* 80474EA8 */ void mode_init_boomCarry();
|
||||
/* 80474FA8 */ void mode_proc_boomCarry();
|
||||
/* 80475014 */ void mode_init_growth();
|
||||
/* 804750C8 */ void mode_proc_growth();
|
||||
/* 8047515C */ bool mode_proc_end();
|
||||
/* 80475164 */ void mode_init_dbDrop(u8);
|
||||
/* 80475210 */ void mode_proc_dbDrop();
|
||||
/* 80475238 */ void mode_init_hookCarry();
|
||||
/* 80475354 */ void mode_proc_hookCarry();
|
||||
/* 80475384 */ void mode_init_fit();
|
||||
/* 80475450 */ void mode_proc_fit();
|
||||
/* 80475478 */ void mode_proc_controled();
|
||||
/* 804754D0 */ void mode_init_resetLightBall();
|
||||
/* 80475598 */ void mode_proc_resetLightBall();
|
||||
/* 80475618 */ void chkSinkAll();
|
||||
/* 8047567C */ void chkWaterLineIn();
|
||||
/* 804756D4 */ void chkSinkObj();
|
||||
/* 8047573C */ void bg_check();
|
||||
/* 80476618 */ void check_bg_damage_proc_base();
|
||||
/* 80476764 */ void bg_damage_proc_kotubo();
|
||||
/* 804767C4 */ void bg_damage_proc_ootubo();
|
||||
/* 804767E4 */ void bg_damage_proc_kibako();
|
||||
/* 80476804 */ bool bg_damage_proc_ironball();
|
||||
/* 8047680C */ void bg_damage_proc_taru();
|
||||
/* 8047682C */ void bg_damage_proc_dokuro();
|
||||
/* 8047684C */ void bg_damage_proc_bokkuri();
|
||||
/* 80476930 */ bool bg_damage_proc_LightBall();
|
||||
/* 80476938 */ bool bg_damage_proc_Lv8Ball();
|
||||
/* 80476940 */ void obj_break(bool, bool, bool);
|
||||
/* 80476A5C */ void check_cc_damage_proc_base(bool);
|
||||
/* 80476B04 */ void cc_damage_proc_kotubo();
|
||||
/* 80476B68 */ void cc_damage_proc_ootubo();
|
||||
/* 80476B88 */ void cc_damage_proc_kibako();
|
||||
/* 80476CE4 */ void cc_damage_proc_ironball();
|
||||
/* 80476E04 */ void cc_damage_proc_taru();
|
||||
/* 80476F88 */ void cc_damage_proc_dokuro();
|
||||
/* 80476FA8 */ void cc_damage_proc_bokkuri();
|
||||
/* 804771B0 */ bool cc_damage_proc_LightBall();
|
||||
/* 804771B8 */ bool cc_damage_proc_Lv8Ball();
|
||||
/* 804771C0 */ void eff_break_tuboBmd(u16, cXyz);
|
||||
/* 8047731C */ void eff_break_kibakoBmd(cXyz);
|
||||
/* 8047747C */ void eff_break_tsubo();
|
||||
/* 804774D4 */ void eff_break_ootubo();
|
||||
/* 8047752C */ void eff_break_kibako();
|
||||
/* 80477574 */ void eff_break_ironball();
|
||||
/* 80477578 */ void eff_break_taru();
|
||||
/* 804775BC */ void eff_break_dokuro();
|
||||
/* 80477614 */ void eff_break_bokkuri();
|
||||
/* 80477798 */ void eff_break_kotubo2();
|
||||
/* 804777F0 */ void eff_break_LightBall();
|
||||
/* 804777F4 */ void eff_break_ootubo2();
|
||||
/* 8047784C */ void eff_break_Lv8Ball();
|
||||
/* 80477850 */ void eff_break_tsuboL8();
|
||||
/* 804778A8 */ void eff_break_ootuboL8();
|
||||
/* 80477900 */ void se_break(cBgS_PolyInfo*);
|
||||
/* 80477990 */ void se_put(cBgS_PolyInfo*);
|
||||
/* 80477A14 */ void se_put_water();
|
||||
/* 80477A98 */ void se_fall_water();
|
||||
/* 80477B1C */ void calc_rot_axis_base(u8);
|
||||
/* 80477FE0 */ void calc_rot_axis_tsubo();
|
||||
/* 80478004 */ void calc_rot_axis_ootubo();
|
||||
/* 80478028 */ void calc_rot_axis_kibako();
|
||||
/* 8047814C */ void calc_rot_axis_ironball();
|
||||
/* 80478170 */ void calc_rot_axis_taru();
|
||||
/* 80478190 */ void calc_rot_axis_dokuro();
|
||||
/* 804781B4 */ void calc_rot_axis_bokkuri();
|
||||
/* 804783C0 */ void calc_rot_axis_kotubo2();
|
||||
/* 804783E4 */ void calc_rot_axis_LightBall();
|
||||
/* 80478408 */ void calc_rot_axis_Lv8Ball();
|
||||
/* 8047842C */ void set_wind_power();
|
||||
/* 80478808 */ void exec_proc_tsubo();
|
||||
/* 80478828 */ void exec_proc_ootubo();
|
||||
/* 80478848 */ void exec_proc_kibako();
|
||||
/* 8047884C */ void exec_proc_ironball();
|
||||
/* 804788C4 */ void exec_proc_taru();
|
||||
/* 804788C8 */ void exec_proc_dokuro();
|
||||
/* 804788CC */ void exec_proc_bokkuri();
|
||||
/* 80478C18 */ void exec_proc_LightBall();
|
||||
/* 80478CE4 */ void exec_proc_Lv8Ball();
|
||||
/* 80478D78 */ void bg_damage_proc_call();
|
||||
/* 80478F50 */ void cc_damage_proc_call();
|
||||
/* 80479128 */ void eff_break_call();
|
||||
/* 804792D4 */ void calc_rot_call();
|
||||
/* 80479480 */ void obj_execute_proc_call();
|
||||
/* 8047962C */ void setTgHitCallBack();
|
||||
/* 80479648 */ void setCoHitCallBack();
|
||||
/* 80479664 */ void CreateInitCall();
|
||||
|
||||
s32 getType() { return mType; }
|
||||
|
||||
static u8 const mData[2072];
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[8];
|
||||
/* 0x570 */ J3DModel* field_0x570;
|
||||
/* 0x574 */ dBgS_Acch field_0x574;
|
||||
/* 0x74C */ dBgS_AcchCir field_0x74c;
|
||||
/* 0x78C */ dCcD_Stts field_0x78c;
|
||||
/* 0x7C8 */ dCcD_Cyl field_0x7c8;
|
||||
/* 0x904 */ dCcD_Sph field_0x904;
|
||||
/* 0xA3C */ dCcD_Cps field_0xa3c;
|
||||
/* 0xB80 */ dCcD_Cyl field_0xb80;
|
||||
/* 0xCBC */ u8 field_0xcbc[0x34];
|
||||
/* 0xCF0 */ u8 mType;
|
||||
/* 0xCF4 */ cXyz field_0xcf4;
|
||||
/* 0xD00 */
|
||||
};
|
||||
|
||||
#endif /* D_A_OBJ_CARRY_H */
|
||||
|
||||
@@ -1,6 +1,28 @@
|
||||
#ifndef D_A_TAG_MMSG_H
|
||||
#define D_A_TAG_MMSG_H
|
||||
|
||||
#include "d/a/d_a_player.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class daTagMmsg_c : public fopAc_ac_c {
|
||||
public:
|
||||
/* 80D5B918 */ void create();
|
||||
/* 80D5BAB4 */ ~daTagMmsg_c();
|
||||
/* 80D5BB30 */ void execute();
|
||||
|
||||
void onUseFlg() { mUseFlg = true; }
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568;
|
||||
/* 0x569 */ u8 field_0x569;
|
||||
/* 0x56A */ u8 mAttention;
|
||||
/* 0x56B */ u8 field_0x56b;
|
||||
/* 0x56C */ bool mUseFlg;
|
||||
/* 0x56D */ u8 field_0x56d[3];
|
||||
/* 0x570 */ u16 field_0x570;
|
||||
/* 0x572 */ u16 field_0x572;
|
||||
/* 0x574 */ f32 field_0x574;
|
||||
/* 0x578 */ f32 field_0x578;
|
||||
};
|
||||
|
||||
#endif /* D_A_TAG_MMSG_H */
|
||||
|
||||
Reference in New Issue
Block a user