d_a_player_swim near complete (#711)

* initial progress

* more progress

* added `dComIfGp_clearItemTimeCount` inline

* more progress

* more progress

* more progress

* more progress

* more progress

* more progress, all code matching except for `setSwimMoveAnime`

* resolving symbols, forgot to mention `changeSwimOutProc` is not matching as well

* PR changes made, only `setSwimMoveAnime` nonmatching

* fixed reference to old member name for `mItemTimeMax`
This commit is contained in:
Mattias Blum
2025-03-29 18:55:06 -04:00
committed by GitHub
parent b9c1eed694
commit 2376acb224
9 changed files with 635 additions and 97 deletions
+1
View File
@@ -40,6 +40,7 @@ class daPy_demo_c {
public:
enum {
DEMO_UNK1_e = 0x01,
DEMO_UNK11_e = 0x11,
DEMO_UNK14_e = 0x14,
DEMO_UNK18_e = 0x18,
DEMO_UNK1D_e = 0x1D,
+37 -37
View File
@@ -56,7 +56,7 @@ public:
/* 0x68 */ f32 field_0x68;
/* 0x6C */ f32 field_0x6C;
/* 0x70 */ f32 field_0x70;
/* 0x74 */ f32 field_0x74;
/* 0x74 */ f32 field_0x74;
/* 0x78 */ f32 field_0x78;
/* 0x7C */ f32 field_0x7C;
/* 0x80 */ f32 field_0x80;
@@ -118,9 +118,9 @@ public:
/* 0x00 */ s16 field_0x0;
/* 0x02 */ s16 field_0x2;
/* 0x04 */ s16 field_0x4;
/* 0x06 */ s16 field_0x6;
/* 0x08 */ s16 field_0x8;
/* 0x0A */ s16 field_0xA;
/* 0x06 */ s16 field_0x6; // 0x4
/* 0x08 */ s16 field_0x8; // 0x1000
/* 0x0A */ s16 field_0xA; // 0x200
/* 0x0C */ s16 field_0xC;
/* 0x0E */ s16 field_0xE;
/* 0x10 */ s16 field_0x10;
@@ -705,39 +705,39 @@ public:
class daPy_HIO_swim_c1 {
public:
/* 0x00 */ s16 field_0x0;
/* 0x02 */ s16 field_0x2;
/* 0x04 */ s16 field_0x4;
/* 0x06 */ s16 field_0x6;
/* 0x08 */ s16 field_0x8;
/* 0x0C */ f32 field_0xC;
/* 0x10 */ f32 field_0x10;
/* 0x14 */ f32 field_0x14;
/* 0x18 */ f32 field_0x18;
/* 0x1C */ f32 field_0x1C;
/* 0x20 */ f32 field_0x20;
/* 0x24 */ f32 field_0x24;
/* 0x28 */ f32 field_0x28;
/* 0x2C */ f32 field_0x2C;
/* 0x30 */ f32 field_0x30;
/* 0x34 */ f32 field_0x34;
/* 0x38 */ f32 field_0x38;
/* 0x3C */ f32 field_0x3C;
/* 0x40 */ f32 field_0x40;
/* 0x44 */ f32 field_0x44;
/* 0x48 */ f32 field_0x48;
/* 0x4C */ f32 field_0x4C;
/* 0x50 */ f32 field_0x50;
/* 0x54 */ f32 field_0x54;
/* 0x58 */ f32 field_0x58;
/* 0x5C */ f32 field_0x5C;
/* 0x60 */ f32 field_0x60;
/* 0x64 */ f32 field_0x64;
/* 0x68 */ f32 field_0x68;
/* 0x00 */ s16 field_0x0; // 0x18
/* 0x02 */ s16 field_0x2; // 0x91A
/* 0x04 */ s16 field_0x4; // 0x1388
/* 0x06 */ s16 field_0x6; // 0x4B0
/* 0x08 */ s16 field_0x8; // 0x11
/* 0x0C */ f32 field_0xC; // 18.0f
/* 0x10 */ f32 field_0x10; // 1.0f
/* 0x14 */ f32 field_0x14; // -50.0f
/* 0x18 */ f32 field_0x18; // 0.02f
/* 0x1C */ f32 field_0x1C; // 2.0f
/* 0x20 */ f32 field_0x20; // 0.5f
/* 0x24 */ f32 field_0x24; // 90.0f
/* 0x28 */ f32 field_0x28; // 15.0f
/* 0x2C */ f32 field_0x2C; // 0.7f
/* 0x30 */ f32 field_0x30; // 0.0f
/* 0x34 */ f32 field_0x34; // 19.0f
/* 0x38 */ f32 field_0x38; // 3.0f
/* 0x3C */ f32 field_0x3C; // 0.0f
/* 0x40 */ f32 field_0x40; // 0.5f
/* 0x44 */ f32 field_0x44; // 18.0f
/* 0x48 */ f32 field_0x48; // 1.0f
/* 0x4C */ f32 field_0x4C; // 5.0f
/* 0x50 */ f32 field_0x50; // 0.6f
/* 0x54 */ f32 field_0x54; // 1.1f
/* 0x58 */ f32 field_0x58; // 5.3f
/* 0x5C */ f32 field_0x5C; // 0.0f
/* 0x60 */ f32 field_0x60; // 0.4f
/* 0x64 */ f32 field_0x64; // 6.0f
/* 0x68 */ f32 field_0x68; // 9.5f
/* 0x6C */ f32 field_0x6C;
/* 0x70 */ f32 field_0x70;
/* 0x74 */ f32 field_0x74;
/* 0x78 */ f32 field_0x78;
/* 0x70 */ f32 field_0x70; // 2.5f
/* 0x74 */ f32 field_0x74; // 1.0f
/* 0x78 */ f32 field_0x78; // 30.0f
/* 0x7C */ f32 field_0x7C;
}; // Size: 0x80
@@ -923,7 +923,7 @@ public:
/* 0x48 */ f32 field_0x48;
/* 0x4C */ f32 field_0x4C;
/* 0x50 */ f32 field_0x50;
/* 0x54 */ f32 field_0x54;
/* 0x54 */ f32 field_0x54; // 6.0f
}; // Size: 0x58
class daPy_HIO_wallCatch_c0 {
+23 -23
View File
@@ -809,37 +809,37 @@ public:
enum {
ModeFlg_00000001 = 0x00000001,
ModeFlg_MIDAIR = 0x00000002,
ModeFlg_MIDAIR = 0x00000002,
ModeFlg_00000004 = 0x00000004,
ModeFlg_DAMAGE = 0x00000008,
ModeFlg_WHIDE = 0x00000010,
ModeFlg_HANG = 0x00000020,
ModeFlg_DAMAGE = 0x00000008,
ModeFlg_WHIDE = 0x00000010,
ModeFlg_HANG = 0x00000020,
ModeFlg_00000040 = 0x00000040,
ModeFlg_00000080 = 0x00000080,
ModeFlg_00000100 = 0x00000100,
ModeFlg_HOOKSHOT = 0x00000200,
ModeFlg_00000400 = 0x00000400,
ModeFlg_ROPE = 0x00000800,
ModeFlg_ROPE = 0x00000800,
ModeFlg_00001000 = 0x00001000,
ModeFlg_IN_SHIP = 0x00002000,
ModeFlg_IN_SHIP = 0x00002000,
ModeFlg_00004000 = 0x00004000,
ModeFlg_00008000 = 0x00008000,
ModeFlg_CLIMB = 0x00010000,
ModeFlg_CLIMB = 0x00010000,
ModeFlg_00020000 = 0x00020000,
ModeFlg_SWIM = 0x00040000,
ModeFlg_SWIM = 0x00040000,
ModeFlg_00080000 = 0x00080000,
ModeFlg_GRAB = 0x00100000,
ModeFlg_GRAB = 0x00100000,
ModeFlg_PUSHPULL = 0x00200000,
ModeFlg_LADDER = 0x00400000,
ModeFlg_CROUCH = 0x00800000,
ModeFlg_CRAWL = 0x01000000,
ModeFlg_LADDER = 0x00400000,
ModeFlg_CROUCH = 0x00800000,
ModeFlg_CRAWL = 0x01000000,
ModeFlg_02000000 = 0x02000000,
ModeFlg_04000000 = 0x04000000,
ModeFlg_08000000 = 0x08000000,
ModeFlg_CAUGHT = 0x10000000,
ModeFlg_SUBJECT = 0x20000000,
ModeFlg_CAUGHT = 0x10000000,
ModeFlg_SUBJECT = 0x20000000,
ModeFlg_40000000 = 0x40000000,
ModeFlg_PARRY = 0x80000000,
ModeFlg_PARRY = 0x80000000,
};
enum {
@@ -918,7 +918,7 @@ public:
BOOL draw();
void setAtnList();
void setActorPointer();
void setTalkStatus();
BOOL setTalkStatus();
void setHintActor();
void setDoStatusBasic();
void setDoStatus();
@@ -973,7 +973,7 @@ public:
BOOL checkNextMode(int);
BOOL checkIceSlipFall();
void setFrontWallType();
void changeFrontWallTypeProc();
BOOL changeFrontWallTypeProc();
void changeSlideProc();
void changeWaitProc();
void changeLandProc(f32);
@@ -1401,13 +1401,13 @@ public:
BOOL procGrabRebound();
void setSpeedAndAngleSwim();
BOOL checkNextModeSwim();
void changeSwimProc();
void changeSwimUpProc();
BOOL changeSwimProc();
BOOL changeSwimUpProc();
void swimOutAfter(int);
BOOL checkSwimFallCheck();
void changeSwimOutProc();
BOOL changeSwimOutProc();
void setSwimMoveAnime(daPy_ANM);
void getSwimTimerRate();
f32 getSwimTimerRate();
void setSwimTimerStartStop();
BOOL procSwimUp_init(int);
BOOL procSwimUp();
@@ -1782,7 +1782,7 @@ public:
void otherWeaponTrigger() const {}
void spBattleTrigger() const {}
void checkPlayerDemoMode() const {}
BOOL checkPlayerDemoMode() const { return mDemo.getDemoType(); }
void checkSpecialDemoMode() const {}
void checkAttentionLock() {}
@@ -2122,7 +2122,7 @@ public:
/* 0x35A4 */ f32 m35A4;
/* 0x35A8 */ f32 m35A8;
/* 0x35AC */ f32 m35AC;
/* 0x35B0 */ f32 m35B0;
/* 0x35B0 */ f32 mStickDistance; //
/* 0x35B4 */ f32 m35B4;
/* 0x35B8 */ f32 m35B8;
/* 0x35BC */ f32 mVelocity;
+19 -3
View File
@@ -377,11 +377,15 @@ public:
s16 getItemKeyNumCount() { return mItemKeyNumCount; }
void setItemKeyNumCount(s16 num) { mItemKeyNumCount += num; }
void setItemBeastNumCount(int i_idx, s16 num) { mItemBeastNumCounts[i_idx] += num; }
s16 getItemBeastNumCount(int i_idx) { return mItemBeastNumCounts[i_idx]; }
void setItemBeastNumCount(int i_idx, s16 num) { mItemBeastNumCounts[i_idx] += num; }
s32 getItemTimeCount() { return mAirMeter; }
void setItemTimeCount(s32 time) { mAirMeter = time; }
void setItemTimeMax(s32 time) { field_0x4928 = time; }
void clearItemTimeCount() { mAirMeter = 0; }
s32 getItemTimeMax() { return mItemTimeMax; }
void setItemTimeMax(s32 time) { mItemTimeMax = time; }
u8 getScopeType() { return mScopeType; }
void setScopeType(u8 type) { mScopeType = type; }
@@ -657,7 +661,7 @@ public:
/* 0x4922 */ s16 mItemTimer;
/* 0x4924 */ s16 mItemNowLife;
/* 0x4926 */ s16 mItemNowRupee;
/* 0x4928 */ u8 field_0x4928;
/* 0x4928 */ u8 mItemTimeMax;
/* 0x4929 */ u8 field_0x4929;
/* 0x492A */ u8 mMesgStatus;
/* 0x492B */ u8 mbCamOverrideFarPlane;
@@ -2228,14 +2232,26 @@ inline void dComIfGp_setItemKeyNumCount(s16 num) {
g_dComIfG_gameInfo.play.setItemKeyNumCount(num);
}
inline s32 dComIfGp_getItemTimeCount() {
return g_dComIfG_gameInfo.play.getItemTimeCount();
}
inline void dComIfGp_setItemTimeCount(s32 time) {
g_dComIfG_gameInfo.play.setItemTimeCount(time);
}
inline void dComIfGp_clearItemTimeCount() {
g_dComIfG_gameInfo.play.clearItemTimeCount();
}
inline void dComIfGp_setItemTimeMax(s32 time) {
g_dComIfG_gameInfo.play.setItemTimeMax(time);
}
inline u32 dComIfGp_getItemTimeMax() {
return g_dComIfG_gameInfo.play.getItemTimeMax();
}
inline void dComIfGp_setMessageCountNumber(s16 num) {
g_dComIfG_gameInfo.play.setMessageCountNumber(num);
}