big d_a_alink pass (#214)

* d_a_alink pass1 wip

* more d_a_alink work

* remove asm

* more daalink work

* 20% dol code decompiled

* fixed some nonmatchings for building

* a few daalink functions and labeling some HIO data
This commit is contained in:
TakaRikka
2022-12-19 12:06:32 -07:00
committed by GitHub
parent 1114b13da8
commit ca71275bbe
727 changed files with 15610 additions and 33013 deletions
+1316 -1308
View File
File diff suppressed because it is too large Load Diff
+122 -32
View File
@@ -21,6 +21,9 @@ public:
/* 8015F384 */ void setSightImage(ResTIMG*);
bool getDrawFlg() { return mDrawFlag; }
void onDrawFlg() { mDrawFlag = true; }
void offDrawFlg() { mDrawFlag = false; }
void setPos(const cXyz* i_pos) { mPos = *i_pos; }
private:
/* 0x04 */ bool mDrawFlag;
@@ -37,6 +40,9 @@ public:
/* 8015E654 */ int posMove(cXyz*, s16*, fopAc_ac_c*, s16);
/* 8015E87C */ void bgCheckAfterOffset(cXyz const*);
static void initDropAngleY() { m_dropAngleY = 0x4000; }
static void offEventKeepFlg() { m_eventKeepFlg = 0; }
static s16 m_dropAngleY;
static s16 m_eventKeepFlg;
@@ -138,15 +144,18 @@ public:
void setSpecialDemoType();
void setDemoType(u16 pType) { mDemoType = pType; }
u16 getDemoType() const { return mDemoType; }
int getDemoType() const { return mDemoType; }
void setDemoMode(u32 mode) { mDemoMode = mode; }
u32 getDemoMode() const { return mDemoMode; }
int getParam1() const { return mParam1; }
void setOriginalDemoType() { setDemoType(3); }
void i_setSpecialDemoType() { setDemoType(5); }
void setSystemDemoType() { setDemoType(2); }
void setStick(f32 stick) { mStick = stick; }
void setMoveAngle(s16 angle) { mDemoMoveAngle = angle; }
s16 getMoveAngle() const { return mDemoMoveAngle; }
f32 getStick() { return mStick; }
int getParam0() const { return mParam0; }
private:
/* 0x00 */ u16 mDemoType;
@@ -156,7 +165,7 @@ private:
/* 0x08 */ int mParam0;
/* 0x0C */ int mParam1;
/* 0x10 */ u32 mDemoMode;
/* 0x14 */ float mStick;
/* 0x14 */ f32 mStick;
/* 0x18 */ cXyz mDemoPos0;
}; // Size: 0x24
@@ -191,8 +200,8 @@ public:
/* 0x05BC */ cXyz mSwordTopPos;
/* 0x05C8 */ cXyz mLeftHandPos;
/* 0x05D4 */ cXyz mRightHandPos;
/* 0x05E0 */ cXyz mLeftFootPosP;
/* 0x05EC */ cXyz mRightFootPosP;
/* 0x05E0 */ cXyz mLeftFootPos;
/* 0x05EC */ cXyz mRightFootPos;
/* 0x05F8 */ u8 field_0x5f8[0xC];
/* 0x0604 */ daPy_demo_c mDemo;
@@ -221,25 +230,34 @@ public:
FLG0_UNK_2 = 2,
FLG0_HVY_STATE = FLG0_UNK_40000000 | FLG0_EQUIP_HVY_BOOTS | FLG0_UNK_20000,
FLG0_UNK_14000 = 0x14000,
};
enum daPy_FLG1 {
FLG1_UNK_40000000 = 0x40000000,
FLG1_UNK_10000000 = 0x10000000,
FLG1_UNK_4000000 = 0x4000000,
FLG1_IS_WOLF = 0x2000000,
FLG1_UNK_400000 = 0x400000,
FLG1_DASH_MODE = 0x400000,
FLG1_UNK_10000 = 0x10000,
FLG1_UNK_8000 = 0x8000,
FLG1_THROW_DAMAGE = 0x4000,
FLG1_UNK_80 = 0x80,
FLG1_UNK_40 = 0x40,
FLG1_UNK_20 = 0x20,
FLG1_UNK_10 = 0x10,
FLG1_UNK_4 = 4,
FLG1_UNK_2 = 2,
FLG1_UNK_1 = 1,
};
enum daPy_FLG2 {
FLG2_UNK_20000000 = 0x20000000,
FLG2_UNK_10000000 = 0x10000000,
FLG2_UNK_4080000 = 0x4080000,
FLG2_UNK_2080000 = 0x2080000,
FLG2_BOAR_SINGLE_BATTLE = 0x1800000,
FLG2_UNK_8000000 = 0x8000000,
FLG2_UNK_1000000 = 0x1000000,
FLG2_UNK_800000 = 0x800000,
FLG2_STATUS_WINDOW_DRAW = 0x400000,
@@ -250,6 +268,8 @@ public:
FLG2_UNK_20000 = 0x20000,
FLG2_SCN_CHG_START = 0x8000,
FLG2_UNK_4000 = 0x4000,
FLG2_UNK_1000 = 0x1000,
FLG2_UNK_200 = 0x200,
FLG2_UNK_80 = 0x80,
FLG2_UNK_40 = 0x40,
FLG2_UNK_10 = 0x10,
@@ -262,15 +282,25 @@ public:
enum daPy_FLG3 {
FLG3_UNK_40000000 = 0x40000000,
FLG3_UNK_20000000 = 0x20000000,
FLG3_UNK_4000000 = 0x4000000,
FLG3_UNK_2000000 = 0x2000000,
FLG3_UNK_1000000 = 0x1000000,
FLG3_UNK_100000 = 0x100000,
FLG3_UNK_80000 = 0x80000,
FLG3_COPY_ROD_THROW_AFTER = 0x40000,
FLG3_UNK_4000 = 0x4000,
FLG3_UNK_200 = 0x200,
FLG3_UNK_100 = 0x100,
FLG3_UNK_40 = 0x40,
FLG3_UNK_20 = 0x20,
FLG3_UNK_10 = 0x10,
FLG3_UNK_4 = 4,
};
enum daPy_ERFLG0 {
ERFLG0_UNK_40000000 = 0x40000000,
ERFLG0_UNK_10000000 = 0x10000000,
ERFLG0_UNK_8000000 = 0x8000000,
ERFLG0_UNK_2000000 = 0x2000000,
ERFLG0_UNK_1000000 = 0x1000000,
@@ -279,8 +309,12 @@ public:
ERFLG0_UNK_200000 = 0x200000,
ERFLG0_UNK_100000 = 0x100000,
ERFLG0_UNK_2000 = 0x2000,
ERFLG0_UNK_1000 = 0x1000,
ERFLG0_UNK_400 = 0x400,
ERFLG0_UNK_100 = 0x100,
ERFLG0_UNK_80 = 0x80,
ERFLG0_UNK_40 = 0x40,
ERFLG0_UNK_8 = 8,
ERFLG0_UNK_4 = 4,
ERFLG0_UNK_2 = 2,
ERFLG0_UNK_1 = 1,
@@ -288,11 +322,19 @@ public:
enum daPy_ERFLG1 {
ERFLG1_GANON_FINISH = 0x80000000,
ERFLG1_UNK_40000000 = 0x40000000,
ERFLG1_UNK_10000000 = 0x10000000,
ERFLG1_UNK_4000000 = 0x4000000,
ERFLG1_UNK_40000 = 0x40000,
ERFLG1_UNK_2000 = 0x2000,
ERFLG1_UNK_800 = 0x800,
ERFLG1_UNK_400 = 0x400,
ERFLG1_UNK_200 = 0x200,
ERFLG1_UNK_100 = 0x100,
ERFLG1_UNK_80 = 0x80,
ERFLG1_UNK_10 = 0x10,
ERFLG1_UNK_20 = 0x20,
ERFLG1_UNK_8 = 8,
ERFLG1_UNK_4 = 4,
ERFLG1_UNK_2 = 2,
ERFLG1_UNK_1 = 1,
@@ -300,11 +342,13 @@ public:
enum daPy_ERFLG2 {
ERFLG2_UNK_100 = 0x100,
ERFLG2_UNK_40 = 0x40,
ERFLG2_UNK_20 = 0x20,
};
enum daPy_RFLG0 {
RFLG0_UNK_8000000 = 0x8000000,
RFLG0_UNK_4000000 = 0x4000000,
RFLG0_UNK_4000 = 0x4000,
RFLG0_ENEMY_ATTN_LOCK = 0x1000,
RFLG0_UNK_400 = 0x400,
@@ -314,6 +358,11 @@ public:
RFLG0_UNK_2 = 0x2,
};
enum daPy_RFLG1 {
RFLG1_UNK_30 = 0x30,
RFLG1_UNK_2 = 0x2,
};
enum {
/* 0x01 */ SMODE_SUMO_READY = 1,
/* 0x25 */ SMODE_SUMO_LOSE = 37,
@@ -324,28 +373,51 @@ public:
};
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,
/* 0x01 */ CUT_TYPE_NM_VERTICAL = 1,
/* 0x02 */ CUT_TYPE_NM_STAB,
/* 0x03 */ CUT_TYPE_NM_RIGHT,
/* 0x04 */ CUT_TYPE_NM_LEFT,
/* 0x05 */ CUT_TYPE_HEAD_JUMP, // Helm Splitter
/* 0x06 */ CUT_TYPE_FINISH_LEFT,
/* 0x07 */ CUT_TYPE_FINISH_VERTICAL,
/* 0x08 */ CUT_TYPE_TURN_RIGHT,
/* 0x0A */ CUT_TYPE_JUMP = 10,
/* 0x0B */ CUT_TYPE_DASH_UNK_B,
/* 0x0C */ CUT_TYPE_DASH_UNK_C,
/* 0x0D */ CUT_TYPE_DASH_UNK_D,
/* 0x10 */ CUT_TYPE_AIR = 0x10,
/* 0x11 */ CUT_TYPE_DASH_UNK_11,
/* 0x12 */ CUT_TYPE_LARGE_JUMP_INIT,
/* 0x13 */ CUT_TYPE_LARGE_JUMP,
/* 0x14 */ CUT_TYPE_LARGE_JUMP_FINISH,
/* 0x15 */ CUT_TYPE_FINISH_RIGHT,
/* 0x16 */ CUT_TYPE_TURN_LEFT,
/* 0x17 */ CUT_TYPE_LARGE_TURN_LEFT,
/* 0x18 */ CUT_TYPE_LARGE_TURN_RIGHT,
/* 0x1A */ CUT_TYPE_MORTAL_DRAW_A = 0x1A,
/* 0x1E */ CUT_TYPE_TWIRL = 0x1E, // Back Slice
/* 0x1F */ CUT_TYPE_MORTAL_DRAW_B,
/* 0x20 */ CUT_TYPE_FINISH_STAB,
/* 0x21 */ CUT_TYPE_COMBO_STAB,
/* 0x22 */ CUT_TYPE_HORSE_UNK_22,
/* 0x23 */ CUT_TYPE_HORSE_UNK_23,
/* 0x25 */ CUT_TYPE_DASH_UNK_25 = 0x25,
/* 0x26 */ CUT_TYPE_DASH_UNK_26 = 0x26,
/* 0x27 */ CUT_TYPE_DOWN,
/* 0x29 */ CUT_TYPE_GUARD_ATTACK = 0x29,
/* 0x2A */ CUT_TYPE_HORSE_UNK_2A,
/* 0x2B */ CUT_TYPE_HORSE_TURN,
/* 0x2C */ CUT_TYPE_WOLF_B_LEFT,
/* 0x2D */ CUT_TYPE_WOLF_B_RIGHT,
/* 0x2E */ CUT_TYPE_WOLF_B_FRONT,
/* 0x2F */ CUT_TYPE_WOLF_B_BACK,
/* 0x31 */ CUT_TYPE_WOLF_UNK_31 = 0x31,
/* 0x32 */ CUT_TYPE_WOLF_UNK_32,
/* 0x33 */ CUT_TYPE_WOLF_TURN_LEFT,
/* 0x34 */ CUT_TYPE_WOLF_TURN_RIGHT,
/* 0x36 */ CUT_TYPE_WOLF_LOCK = 0x36,
/* 0x38 */ CUT_TYPE_DASH_UNK_38 = 0x38,
/* 0x39 */ CUT_TYPE_WOLF_UNK_39,
};
static u32 setParamData(int, int, int, int);
@@ -360,7 +432,7 @@ public:
static BOOL checkTradeItem(int);
static BOOL checkDungeonWarpItem(int);
static BOOL checkMasterSwordEquip();
bool checkWoodShieldEquip();
static BOOL checkWoodShieldEquip();
f32 getAttentionOffsetY();
s16 checkNowWolfEyeUp();
static void forceRestartRoom(int, u32, int);
@@ -458,7 +530,7 @@ public:
virtual BOOL checkGoatThrowAfter() const;
virtual BOOL checkWolfTagLockJump() const;
virtual BOOL checkWolfTagLockJumpLand() const;
virtual bool checkWolfRope();
virtual BOOL checkWolfRope();
virtual BOOL checkWolfRopeHang() const;
virtual BOOL checkRollJump() const;
virtual BOOL checkGoronRideWait() const;
@@ -537,7 +609,7 @@ public:
virtual s16 getBoardCutTurnOffsetAngleY() const;
virtual cXyz* getMagneHitPos();
virtual cXyz* getMagneBootsTopVec();
virtual bool getKandelaarFlamePos();
virtual cXyz* getKandelaarFlamePos();
virtual bool checkUseKandelaar(int);
virtual void setDkCaught(fopAc_ac_c*);
virtual void onPressedDamage(cXyz const&, short);
@@ -550,8 +622,8 @@ public:
virtual bool checkSpinnerPathMove();
virtual bool checkSpinnerTriggerAttack();
virtual void onSpinnerPathForceRemove();
virtual bool getIronBallBgHit() const;
virtual bool getIronBallCenterPos();
virtual s16 getIronBallBgHit() const;
virtual cXyz* getIronBallCenterPos();
virtual bool checkCanoeFishingGetLeft() const;
virtual bool checkCanoeFishingGetRight() const;
virtual u8 checkBeeChildDrink() const;
@@ -604,16 +676,28 @@ public:
}
bool i_getSumouMode() const { return getSumouCameraMode(); }
void i_cancelOriginalDemo() {
mDemo.setSystemDemoType();
mDemo.setDemoMode(1);
}
bool checkStatusWindowDraw() { return i_checkNoResetFlg2(FLG2_STATUS_WINDOW_DRAW); }
bool checkCargoCarry() const { return mSpecialMode == SMODE_CARGO_CARRY; }
bool getHeavyStateAndBoots() { return i_checkNoResetFlg0(FLG0_HVY_STATE); }
bool checkEnemyAttentionLock() const { return i_checkResetFlg0(RFLG0_ENEMY_ATTN_LOCK); }
bool checkCanoeSlider() const { return mSpecialMode == 0x2D; }
bool checkGoatStopGame() const { return mSpecialMode == 0x2A; }
bool i_checkGoronSideMove() const { return mSpecialMode == 0x2B; }
u8 getCutType() const { return mCutType; }
u16 getSwordAtUpTime() const { return mSwordUpTimer; }
bool checkWaterInMove() const { return i_checkNoResetFlg0(FLG0_UNDERWATER); }
bool checkSceneChangeAreaStart() const { return i_checkNoResetFlg2(FLG2_SCN_CHG_START); }
void offGoronSideMove() {
if (i_checkGoronSideMove()) {
mSpecialMode = 0;
}
}
// some functions use these function as an inline
// is there a better way to handle this?
@@ -628,6 +712,7 @@ public:
void i_onNoResetFlg3(int pFlg) { mNoResetFlg3 |= pFlg; }
void i_offNoResetFlg0(int pFlg) { mNoResetFlg0 &= ~pFlg; }
void i_offNoResetFlg1(int pFlg) { mNoResetFlg1 &= ~pFlg; }
void i_offNoResetFlg2(int pFlg) { mNoResetFlg2 &= ~pFlg; }
void i_offNoResetFlg3(int pFlg) { mNoResetFlg3 &= ~pFlg; }
@@ -637,11 +722,13 @@ public:
void i_onEndResetFlg0(int flag) { mEndResetFlg0 |= flag; }
void i_onEndResetFlg2(int flag) { mEndResetFlg2 |= flag; }
void i_offEndResetFlg2(daPy_ERFLG2 flag) { mEndResetFlg2 &= ~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; }
int i_checkEndResetFlg2(daPy_py_c::daPy_ERFLG2 flag) const { return mEndResetFlg2 & flag; }
void i_onEndResetFlg1(daPy_ERFLG1 pFlg) { mEndResetFlg1 |= pFlg; }
@@ -652,9 +739,12 @@ public:
void i_onPlayerNoDraw() { i_onNoResetFlg0(FLG0_PLAYER_NO_DRAW); }
void i_offPlayerNoDraw() { i_offNoResetFlg0(FLG0_PLAYER_NO_DRAW); }
u32 i_checkBoarSingleBattle() const { return i_checkNoResetFlg2(FLG2_BOAR_SINGLE_BATTLE); }
inline static u32 i_getLastSceneMode();
inline static u32 getLastSceneMode();
inline static bool checkWoodSwordEquip();
inline static bool checkLightMasterSwordEquip();
inline BOOL i_checkSwordGet();
inline bool i_checkShieldGet() const;
inline static BOOL checkNowWolf();
+11
View File
@@ -113,6 +113,7 @@ public:
cXyz* GetPos() { return pm_pos; }
cXyz* GetOldPos() { return pm_old_pos; }
f32 GetGroundH() const { return m_ground_h; }
f32 GetRoofHeight() const { return m_roof_height; }
void SetLin() { m_lin.SetStartEnd(*pm_old_pos, *pm_pos); }
bool ChkGroundFind() { return m_flags & GROUND_FIND; }
bool ChkGroundHit() { return m_flags & GROUND_HIT; }
@@ -123,6 +124,7 @@ public:
void SetRoofHit() { m_flags |= ROOF_HIT; }
bool ChkWallHit() { return m_flags & WALL_HIT; }
void OffLineCheckHit() { m_flags &= ~LINE_CHECK_HIT; }
void OffLineCheck() { m_flags &= ~LINE_CHECK; }
bool ChkLineCheckNone() { return m_flags & LINE_CHECK_NONE; }
bool ChkLineCheck() { return m_flags & LINE_CHECK; }
void ClrRoofHit() { m_flags &= ~ROOF_HIT; }
@@ -206,4 +208,13 @@ public:
/* 80BB336C */ virtual ~dBgS_ObjAcch();
};
class dBgS_StatueAcch : public dBgS_Acch {
public:
dBgS_StatueAcch() {
SetStatue();
}
/* 806646F8 */ virtual ~dBgS_StatueAcch();
};
#endif /* D_BG_D_BG_S_ACCH_H */
+17 -2
View File
@@ -87,7 +87,7 @@ public:
enum dCcG_At_Spl {
/* 0x0 */ dCcG_At_Spl_UNK_0,
/* 0x1 */ dCcG_At_Spl_UNK_01,
/* 0x1 */ dCcG_At_Spl_UNK_1,
};
class dCcD_GObjInf;
@@ -151,6 +151,7 @@ public:
/* 0x2C */ cXyz mVec;
/* 0x38 */ cXyz mRVec;
}; // Size = 0x44
class dCcD_GObjTg : public dCcD_GAtTgCoCommonBase {
public:
/* 800839A0 */ void Set(dCcD_SrcGObjTg const&);
@@ -159,6 +160,7 @@ public:
cXyz& GetVec() { return mVec; }
void SetShieldFrontRangeYAngle(s16* angle) { mShieldFrontRangeYAngle = angle; }
void SetMtrl(u8 mtrl) { mMtrl = mtrl; }
void SetHitMark(CcG_Tg_HitMark mark) { mHitMark = mark; }
private:
/* 0x1C */ u8 mSe;
@@ -171,6 +173,7 @@ private:
/* 0x44 */ s16* mShieldFrontRangeYAngle;
/* 0x48 */ s16 mShieldRange;
}; // Size = 0x4A ?
class dCcD_GObjCo : public dCcD_GAtTgCoCommonBase {
public:
/* 80083B8C */ virtual ~dCcD_GObjCo() {}
@@ -195,11 +198,13 @@ public:
/* 8008457C */ u8 GetTgHitObjSe();
/* 800845B0 */ static u32 getHitSeID(u8, int);
/* 8008460C */ void ClrCoHit();
/* 80084658 */ bool ChkCoHit();
/* 80084658 */ u32 ChkCoHit();
/* 800846B0 */ void ResetCoHit();
/* 800846F0 */ cCcD_Obj* GetCoHitObj();
/* 80084740 */ void Set(dCcD_SrcGObjInf const&);
fopAc_ac_c* GetCoHitAc() { return mGObjCo.GetAc(); }
void SetAtVec(cXyz& vec) { mGObjAt.SetVec(vec); }
bool ChkAtNoMass() const { return mGObjAt.ChkSPrm(8); }
void OnAtNoHitMark() { mGObjAt.OnSPrm(2); }
@@ -224,6 +229,16 @@ public:
u8 GetAtMtrl() { return mGObjAt.GetMtrl(); }
fopAc_ac_c* GetTgHitAc() { return mGObjTg.GetAc(); }
void SetTgShieldFrontRangeYAngle(s16* angle) { mGObjTg.SetShieldFrontRangeYAngle(angle); }
void OffTgWolfSpNoDamage() { mGObjTg.OffSPrm(0x800); }
void OnTgWolfSpNoDamage() { mGObjTg.OnSPrm(0x800); }
void SetTgHitMark(CcG_Tg_HitMark mark) { mGObjTg.SetHitMark(mark); }
void OnTgSpShield() { mGObjTg.OnSPrm(0x40); }
void OffTgSpShield() { mGObjTg.OffSPrm(0x40); }
void OnTgShield() { mGObjTg.OnSPrm(0x1); }
void OffTgShield() { mGObjTg.OffSPrm(0x1); }
void OnTgShieldFrontRange() { mGObjTg.OnSPrm(0x8); }
void OffTgShieldFrontRange() { mGObjTg.OffSPrm(0x8); }
bool ChkTgIronBallRebound() { return mGObjTg.ChkSPrm(0x100); }
static u32 const m_hitSeID[24];
+2
View File
@@ -43,6 +43,8 @@ public:
/* 800872A8 */ virtual void MoveAfterCheck();
/* 80086754 */ virtual void CalcParticleAngle(dCcD_GObjInf*, cCcD_Stts*, cCcD_Stts*, csXyz*);
void SetMass(cCcD_Obj* i_obj, u8 i_priority) { mMass_Mng.Set(i_obj, i_priority); }
static u8 m_mtrl_hit_tbl[64];
private:
File diff suppressed because it is too large Load Diff
+1 -9
View File
@@ -211,15 +211,7 @@ public:
BOOL chkFlag(u32 flag) { return mFlags & flag; }
void setFlag(u32 flag) { mFlags |= flag; }
void clrFlag(u32 flag) { mFlags &= ~flag; }
s8 Lockon() {
/* s32 chk = true;
if (!LockonTruth() && !chkFlag(0x20000000)) {
chk = false;
}
return chk; */
return !LockonTruth() && !chkFlag(0x20000000);
}
bool Lockon() { return LockonTruth() || chkFlag(0x20000000); } // only matches with -O2?
static type_tbl_entry loc_type_tbl[3];
static type_tbl_entry act_type_tbl[5];
+3
View File
@@ -164,6 +164,8 @@ public:
/* 0x40 */ cSAngle field_0x40;
}; // Size: 0x44
/* 80088A7C */ void StartEventCamera(int, int, ...);
/* 80088BBC */ void EndEventCamera(int);
/* 8008908C */ void getEvIntData(int*, char*, int);
/* 80088CB0 */ void getEvIntData(int*, char*);
/* 80089154 */ void getEvFloatData(f32*, char*, f32);
@@ -521,5 +523,6 @@ public:
dCamera_c* dCam_getBody();
dCamera_c* dCam_getCamera();
s16 dCam_getControledAngleY(camera_class* param_0);
#endif /* D_D_CAMERA_H */
+2
View File
@@ -118,6 +118,8 @@ public:
/* 80039AAC */ virtual ~dDemo_system_c();
/* 80039528 */ virtual bool JSGFindObject(JStage::TObject**, char const*,
JStage::TEObject) const;
void setObject(dDemo_object_c* i_object) { mpObject = i_object; }
private:
/* 0x4 */ dDemo_object_c* mpObject;
+2
View File
@@ -21,6 +21,8 @@ public:
/* 80036FA8 */ void setArrowPosAndAngle(cXyz const*, cXyz const*, int, cXyz*, csXyz*);
bool checkPassNum(int bit) { return field_0xc & (1 << bit); }
void onPassNum(int num) { field_0xc |= (1 << num); }
void offPassNum(int num) { field_0xc &= ~(1 << num); }
/* 0x00 */ dJntColData_c* mData;
/* 0x04 */ J3DModel* mModel;
+5 -2
View File
@@ -1,4 +1,5 @@
#pragma once
#ifndef D_PROCNAME_H
#define D_PROCNAME_H
enum {
PROC_OVERLAP0 = 0x0000,
@@ -793,4 +794,6 @@ enum {
PROC_TIMER = 0x0315,
PROC_METER2 = 0x0316,
PROC_GAMEOVER = 0x0317,
};
};
#endif /* D_PROCNAME_H */
+1 -1
View File
@@ -16,7 +16,7 @@ public:
/* 8003AB30 */ static void onWarpMaterial(J3DModelData*);
/* 8003AC1C */ static void offWarpMaterial(J3DModelData*);
/* 8003AD08 */ void setWarpSRT(J3DModelData*, cXyz const&, f32, f32);
/* 8003AE14 */ void loaderBasicBmd(u32, void*);
/* 8003AE14 */ static J3DModelData* loaderBasicBmd(u32, void*);
/* 8003B30C */ int loadResource();
/* 8003B998 */ void deleteArchiveRes();
/* 8003BAC4 */ int setRes(JKRArchive*, JKRHeap*);
+5 -1
View File
@@ -292,7 +292,8 @@ struct dStage_MapEvent_dt_c {
/* 0x08 */ u8 field_0x8;
/* 0x09 */ u8 field_0x9;
/* 0x0A */ u8 field_0xA[0xD - 0xA];
/* 0x0D */ char mName[9];
/* 0x0D */ char mName[7];
/* 0x14 */ u16 field_0x14;
/* 0x16 */ u8 field_0x16;
/* 0x17 */ u8 field_0x17;
/* 0x18 */ u8 mSeType; // 1: RIDDLE_A, 2: RIDDLE_B
@@ -908,6 +909,9 @@ int dStage_changeScene4Event(int i_exitId, s8 room_no, int i_wipe, bool param_3,
u32 mode, s16 angle, int param_7);
void dStage_Create();
static s32 dStage_stagInfo_GetSaveTbl(stage_stag_info_class* param_0);
void dStage_restartRoom(u32 roomParam, u32 mode, int param_2);
struct cBgS_GndChk;
int dStage_RoomCheck(cBgS_GndChk* gndChk);
inline s32 dStage_roomRead_dt_c_GetVrboxswitch(roomRead_data_class& data) {
return data.field_0x2 & 8;
+1 -1
View File
@@ -28,7 +28,7 @@ private:
public:
class {
public:
/* 0x00 */ u32 field_0x0;
/* 0x00 */ u32 field_0x0;
/* 0x04 */ int field_0x4;
/* 0x08 */ s32 field_0x8;
/* 0x0C */ s32 field_0xc;
+2
View File
@@ -35,6 +35,8 @@ static void dKy_vrbox_addcol_set(s16 param_0, s16 param_1, s16 param_2, f32 para
void dKy_GxFog_set();
static void GxFog_set();
static void GxXFog_set();
u8 dKy_pol_argument_get(cBgS_PolyInfo const* i_poly);
void dKy_Sound_set(cXyz param_0, int param_1, unsigned int param_2, int param_3);
struct LIGHT_INFLUENCE {
+2
View File
@@ -116,6 +116,8 @@ public:
/* 80202240 */ virtual void draw();
/* 80201370 */ virtual ~dMeterButton_c();
/* 0x004 */ u8 field_0x4[0x630 - 0x4];
};
class dMeterString_c : public dMeterSub_c {
+7 -5
View File
@@ -300,7 +300,7 @@ public:
/* 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 */ u32 set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, u8,
/* 8004CA90 */ JPABaseEmitter* 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*,
@@ -334,10 +334,10 @@ public:
param_8, param_9, param_10, param_11, param_12);
}
u32 setNormal(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) {
JPABaseEmitter* setNormal(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(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);
}
@@ -352,6 +352,8 @@ public:
return ((dPa_selectTexEcallBack*)mTsubo) + idx;
}
static JPAEmitterManager* getEmitterManager() { return mEmitterMng; }
static u8 mTsubo[64];
static u8 mLifeBall[24];
static Mtx mWindViewMatrix;
+37 -37
View File
@@ -376,9 +376,9 @@ enum {
class dSv_player_status_a_c {
public:
void init();
void setSelectItemIndex(int i_no, u8 item_index);
void setSelectItemIndex(int i_no, u8 i_slotNo);
u8 getSelectItemIndex(int i_no) const;
void setMixItemIndex(int i_no, u8 item_index);
void setMixItemIndex(int i_no, u8 i_slotNo);
u8 getMixItemIndex(int i_no) const;
u16 getRupeeMax() const;
int isMagicFlag(u8 i_magic) const;
@@ -392,15 +392,15 @@ public:
u8& getMaxMagic() { return mMaxMagic; }
u8 getSelectEquip(int item) const { return mSelectEquip[item]; }
u8 getTransformStatus() const { return mTransformStatus; }
void setOil(u16 oil) { mOil = oil; }
void setMaxOil(u16 max) { mMaxOil = max; }
void setWalletSize(u8 size) { mWalletSize = size; }
void setMagic(u8 magic) { mMagic = magic; }
void setMaxMagic(u8 max) { mMaxMagic = max; }
void setRupee(u16 rupees) { mRupee = rupees; }
void setLife(u16 life) { mLife = life; }
void setMaxLife(u8 max) { mMaxLife = max; }
void setSelectEquip(int item_index, u8 item) { mSelectEquip[item_index] = item; }
void setOil(u16 i_oil) { mOil = i_oil; }
void setMaxOil(u16 i_maxOil) { mMaxOil = i_maxOil; }
void setWalletSize(u8 i_size) { mWalletSize = i_size; }
void setMagic(u8 i_magic) { mMagic = i_magic; }
void setMaxMagic(u8 i_maxMagic) { mMaxMagic = i_maxMagic; }
void setRupee(u16 i_rupees) { mRupee = i_rupees; }
void setLife(u16 i_life) { mLife = i_life; }
void setMaxLife(u8 i_maxLife) { mMaxLife = i_maxLife; }
void setSelectEquip(int i_equipId, u8 i_itemNo) { mSelectEquip[i_equipId] = i_itemNo; }
private:
/* 0x00 */ u16 mMaxLife;
@@ -431,11 +431,11 @@ public:
void onTransformLV(int i_no);
BOOL isTransformLV(int i_no) const;
void setDateIpl(s64 time) { mDateIpl = time; }
void setDateIpl(s64 i_time) { mDateIpl = i_time; }
u16 getDate() const { return mDate; }
f32 getTime() const { return mTime; }
void setDate(u16 date) { mDate = date; }
void setTime(f32 time) { mTime = time; }
void setDate(u16 i_date) { mDate = i_date; }
void setTime(f32 i_time) { mTime = i_time; }
OSTime getDateIpl() const { return mDateIpl; }
private:
@@ -530,10 +530,10 @@ private:
class dSv_player_item_c {
public:
void init();
void setItem(int item_slot, u8 i_itemNo);
u8 getItem(int slot_no, bool check_combo) const;
void setItem(int i_slotNo, u8 i_itemNo);
u8 getItem(int i_slotNo, bool i_checkCombo) const;
void setLineUpItem();
u8 getLineUpItem(int slot_no) const;
u8 getLineUpItem(int i_slotNo) const;
void setBottleItemIn(u8 curItemIn, u8 newItemIn);
void setEmptyBottleItemIn(u8 i_itemNo);
void setEmptyBottle();
@@ -543,12 +543,12 @@ public:
u8 checkBottle(u8 i_itemNo);
int checkInsectBottle();
u8 checkEmptyBottle();
void setBombBagItemIn(u8 curBomb, u8 newBomb, bool setNum);
void setBombBagItemIn(u8 curBomb, u8 newBomb, u8 bombNum, bool setNum);
void setEmptyBombBagItemIn(u8 newBomb, bool setNum);
void setEmptyBombBagItemIn(u8 newBomb, u8 bombNum, bool setNum);
void setBombBagItemIn(u8 i_curBomb, u8 i_newBomb, bool i_setNum);
void setBombBagItemIn(u8 i_curBomb, u8 i_newBomb, u8 i_bombNum, bool i_setNum);
void setEmptyBombBagItemIn(u8 i_newBomb, bool i_setNum);
void setEmptyBombBagItemIn(u8 i_newBomb, u8 i_bombNum, bool i_setNum);
void setEmptyBombBag();
void setEmptyBombBag(u8 newBomb, u8 bombNum);
void setEmptyBombBag(u8 i_newBomb, u8 i_bombNum);
u8 checkBombBag(u8 i_itemNo);
void setWarashibeItem(u8 i_itemNo);
void setRodTypeLevelUp();
@@ -573,16 +573,16 @@ private:
class dSv_player_item_record_c {
public:
void init();
void setBombNum(u8 i_bagIdx, u8 bag_id);
void setBombNum(u8 i_bagIdx, u8 i_bombNum);
u8 getBombNum(u8 i_bagIdx) const;
void setBottleNum(u8 i_bottleIdx, u8 bottle_num);
u8 addBottleNum(u8 i_bottleIdx, s16 num);
void setBottleNum(u8 i_bottleIdx, u8 i_bottleNum);
u8 addBottleNum(u8 i_bottleIdx, s16 i_num);
u8 getBottleNum(u8 i_bottleIdx) const;
u8 getArrowNum() const { return mArrowNum; }
void setArrowNum(u8 amount) { mArrowNum = amount; }
void setArrowNum(u8 i_num) { mArrowNum = i_num; }
u8 getPachinkoNum() const { return mPachinkoNum; }
void setPachinkoNum(u8 num) { mPachinkoNum = num; }
void setPachinkoNum(u8 i_num) { mPachinkoNum = i_num; }
private:
/* 0x0 */ u8 mArrowNum;
@@ -595,10 +595,10 @@ private:
class dSv_player_item_max_c {
public:
void init();
void setBombNum(u8 bomb_id, u8 bomb_max);
u8 getBombNum(u8 bomb_id) const;
void setBombNum(u8 i_bombType, u8 i_maxNum);
u8 getBombNum(u8 i_bombType) const;
void setArrowNum(u8 max) { mItemMax[ARROW_MAX] = max; }
void setArrowNum(u8 i_maxNum) { mItemMax[ARROW_MAX] = i_maxNum; }
u8 getArrowNum() { return mItemMax[ARROW_MAX]; }
private:
@@ -639,7 +639,7 @@ private:
class dSv_light_drop_c {
public:
void init();
void setLightDropNum(u8 i_nowLevel, u8 dropNum);
void setLightDropNum(u8 i_nowLevel, u8 i_dropNum);
u8 getLightDropNum(u8 i_nowLevel) const;
void onLightDropGetFlag(u8 i_nowLevel);
BOOL isLightDropGetFlag(u8 i_nowLevel) const;
@@ -667,7 +667,7 @@ private:
class dSv_fishing_info_c {
public:
void init();
void addFishCount(u8 fish_index);
void addFishCount(u8 i_fishIndex);
private:
/* 0x00 */ u16 mFishCount[16];
@@ -678,9 +678,9 @@ class dSv_player_info_c {
public:
void init();
char* getLinkName() { return mPlayerName; }
void setPlayerName(const char* name) { strcpy((char*)mPlayerName, name); }
void setHorseName(const char* name) { strcpy((char*)mHorseName, name); }
void setTotalTime(s64 time) { mTotalTime = time; }
void setPlayerName(const char* i_name) { strcpy((char*)mPlayerName, i_name); }
void setHorseName(const char* i_name) { strcpy((char*)mHorseName, i_name); }
void setTotalTime(s64 i_time) { mTotalTime = i_time; }
s64 getTotalTime() const { return mTotalTime; }
private:
@@ -802,7 +802,7 @@ public:
s32 isDungeonItem(int i_no) const;
u8 getKeyNum() { return mKeyNum; }
void setKeyNum(u8 keyNum) { mKeyNum = keyNum; }
void setKeyNum(u8 i_keyNum) { mKeyNum = i_keyNum; }
void onDungeonItemMap() { onDungeonItem(MAP); }
s32 isDungeonItemMap() const { return isDungeonItem(MAP); }
void onDungeonItemCompass() { onDungeonItem(COMPASS); }
@@ -884,7 +884,7 @@ STATIC_ASSERT(sizeof(dSv_memory2_c) == 8);
class dSv_danBit_c {
public:
bool init(s8 i_stage);
bool init(s8 i_stageNo);
void onSwitch(int i_no);
void offSwitch(int i_no);
BOOL isSwitch(int i_no) const;