d_a_player_main - 70% Matching. (#742)

Co-authored-by: ‎ ‎ ‎ <‎ ‎ ‎>
This commit is contained in:
123456789758
2025-04-27 19:32:36 -04:00
committed by GitHub
parent c4eb26b2a1
commit eef20535ac
6 changed files with 3255 additions and 106 deletions
+7
View File
@@ -29,10 +29,14 @@ class daPy_demo_c {
public:
enum {
DEMO_UNK01_e = 0x01,
DEMO_UNK02_e = 0x02,
DEMO_UNK03_e = 0x03,
DEMO_UNK04_e = 0x04,
DEMO_UNK05_e = 0x05,
DEMO_UNK06_e = 0x06,
DEMO_UNK08_e = 0x08,
DEMO_UNK09_e = 0x09,
DEMO_UNK0A_e = 0x0A,
DEMO_UNK0F_e = 0x0F,
DEMO_UNK10_e = 0x10,
DEMO_UNK11_e = 0x11,
@@ -53,6 +57,7 @@ public:
DEMO_UNK33_e = 0x33,
DEMO_UNK35_e = 0x35,
DEMO_UNK38_e = 0x38,
DEMO_UNK39_e = 0x39,
DEMO_UNK3D_e = 0x3D,
DEMO_UNK3E_e = 0x3E,
DEMO_UNK40_e = 0x40,
@@ -168,6 +173,7 @@ public:
daPyRFlg0_GRAB_UP_END = 0x00000020,
daPyRFlg0_AUTO_JUMP_LAND = 0x00000040,
daPyRFlg0_UNK80 = 0x00000080,
daPyRFlg0_UNK100 = 0x00000100,
daPyRFlg0_UNK200 = 0x00000200,
daPyRFlg0_RIGHT_FOOT_ON_GROUND = 0x00000400,
daPyRFlg0_LEFT_FOOT_ON_GROUND = 0x00000800,
@@ -180,6 +186,7 @@ public:
daPyRFlg0_UNK40000 = 0x00040000,
daPyRFlg0_UNK80000 = 0x00080000,
daPyRFlg0_POISON_CURSE = 0x00100000,
daPyRFlg0_UNK200000 = 0x00200000,
daPyRFlg0_GRAB_PUT_START = 0x00400000,
daPyRFlg0_UNK800000 = 0x00800000,
daPyRFlg0_TACT_INPUT = 0x01000000,
+17 -13
View File
@@ -264,13 +264,14 @@ public:
}
static void decMabaTimer() { cLib_calcTimer(&m_maba_timer); }
static void decMorfFrame() { cLib_calcTimer(&m_morf_frame); }
static void getEyeMoveFlg() {}
static void getMabaFlg() {}
static void getMabaTimer() {}
static u8 getEyeMoveFlg() { return m_eye_move_flg; }
static u8 getMabaFlg() { return m_maba_flg; }
static u8 getMabaTimer() { return m_maba_timer; }
static u8 getMorfFrame() { return m_morf_frame; }
static void getNowOffsetXP() {}
static void getNowOffsetYP() {}
static void offEyeMoveFlg() {}
static void onEyeMoveFlg() {}
static void offEyeMoveFlg() { m_eye_move_flg = 0; }
static void onEyeMoveFlg() { m_eye_move_flg = 1; }
static void setMabaTimer(u8 timer) { m_maba_timer = timer; }
static void setMorfFrame(u8 frame) { m_morf_frame = frame; }
static void setNowOffsetX(f32) {}
@@ -311,15 +312,18 @@ public:
daPy_footData_c();
public:
/* 0x000 */ u8 field_0x000[0x002 - 0x000];
// TODO: is this right?
/* 0x000 */ u8 field_0x000;
/* 0x001 */ u8 field_0x001;
/* 0x002 */ s16 field_0x002;
/* 0x004 */ u8 field_0x004[0x008 - 0x004];
/* 0x004 */ s16 field_0x004;
/* 0x006 */ s16 field_0x006;
/* 0x008 */ s16 field_0x008;
/* 0x00A */ s16 field_0x00A;
/* 0x00C */ u8 field_0x00C[0x018 - 0x00C];
/* 0x00C */ cXyz field_0x00C;
/* 0x018 */ cXyz field_0x018;
/* 0x018 */ u8 field_0x024[0x034 - 0x024];
/* 0x024 */ cXyz field_0x024;
/* 0x030 */ f32 field_0x030;
/* 0x034 */ dBgS_LinkGndChk field_0x034;
/* 0x088 */ Mtx field_0x088[3];
};
@@ -930,7 +934,7 @@ public:
J3DAnmTexPattern* loadTextureAnimeResource(u32, BOOL);
BOOL checkBossBgm();
BOOL checkMabaAnimeBtp(int);
s32 checkNormalFace();
u16 checkNormalFace();
void setTextureAnime(u16, int);
void setPriTextureAnime(u16, int);
void resetPriTextureAnime();
@@ -941,7 +945,7 @@ public:
void playTextureAnime();
BOOL checkSightLine(f32, cXyz*);
void setBootsModel(J3DModel**);
void setItemModel();
s32 setItemModel();
BOOL checkUpperReadyAnime() const;
BOOL checkUpperReadyThrowAnime() const;
BOOL checkNoCollisionCorret();
@@ -1013,7 +1017,7 @@ public:
void setFrontWallType();
BOOL changeFrontWallTypeProc();
int changeSlideProc();
void changeWaitProc();
BOOL changeWaitProc();
BOOL changeLandProc(f32);
BOOL setDamagePoint(f32);
BOOL checkNormalDamage(int);
@@ -1140,7 +1144,7 @@ public:
BOOL procNotUse_init(int);
BOOL procNotUse();
s16 getGroundAngle(cBgS_PolyInfo*, s16);
void setLegAngle(f32, int, s16*, s16*);
int setLegAngle(f32, int, s16*, s16*);
void footBgCheck();
void setWaterY();
void autoGroundHit();
+1 -1
View File
@@ -1420,7 +1420,7 @@ void daPy_lk_c::dProcPresent_init_sub() {
daPy_HIO_turn_c0::m.field_0x30
);
onModeFlg(ModeFlg_00000400);
if (checkBottleItem(dComIfGp_event_getPreItemNo()) == 0) {
if (!checkBottleItem(dComIfGp_event_getPreItemNo())) {
dComIfGp_event_setItemPartnerId(fopAcM_createItemForPresentDemo(
&current.pos, dComIfGp_event_getPreItemNo(), 3, -1, fopAcM_GetRoomNo(this), &shape_angle, &scale
));
+1 -1
View File
@@ -388,7 +388,7 @@ BOOL daPy_lk_c::procFanGlide() {
return true;
}
if (m3280.mpBaseEmitter != NULL) {
if (m3280.getEmitter() != NULL) {
if ((int)m34DA == 0) {
seStartOnlyReverb(JA_SE_LK_FAN_CHUTE_WATER);
m34DA = 6;
+3 -3
View File
@@ -243,7 +243,7 @@ BOOL daPy_lk_c::checkNextActionGrab() {
return true;
}
if (checkSetItemTrigger(dItem_IRON_BOOTS_e, 1) ||
(checkNoResetFlg0(daPyFlg0_EQUIP_HEAVY_BOOTS) && checkSetItemTrigger(dItem_IRON_BOOTS_e, 0)))
(checkEquipHeavyBoots() && checkSetItemTrigger(dItem_IRON_BOOTS_e, 0)))
{
return procBootsEquip_init(dItem_IRON_BOOTS_e);
} else if (fopAcM_GetName(grab_actor) == PROC_BOMB && checkSetItemTrigger(dItem_BOMB_BAG_e, 0)) {
@@ -600,7 +600,7 @@ BOOL daPy_lk_c::procGrabPut_init() {
}
commonProcInit(daPyProc_GRAB_PUT_e);
if (field_0x2b0 < 0.0f) {
if (checkGrabWear()) {
mProcVar0.m3570 = 1;
setSingleMoveAnime(ANM_GRABWAIT, daPy_HIO_grab_c0::m.field_0x78, 0.0f, -1, daPy_HIO_grab_c0::m.field_0x7C);
} else {
@@ -638,7 +638,7 @@ BOOL daPy_lk_c::procGrabPut() {
}
if (mProcVar0.m3570 == 1) {
if (!(field_0x2b0 < 0.0f)) {
if (!checkGrabWear()) {
mProcVar0.m3570 = 0;
setSingleMoveAnime(
ANM_GRABUP,
File diff suppressed because it is too large Load Diff