mirror of
https://github.com/zeldaret/tww.git
synced 2026-05-30 08:56:28 -04:00
player_main work
This commit is contained in:
@@ -82,20 +82,20 @@ private:
|
||||
class daPy_py_c : public fopAc_ac_c {
|
||||
public:
|
||||
enum daPy_FLG0 {
|
||||
daPyFlg0_UNK4 = 0x00000004,
|
||||
daPyFlg0_UNK10 = 0x00000010,
|
||||
daPyFlg0_CUT_AT_FLG = 0x00000040,
|
||||
daPyFlg0_UNK100 = 0x00000100,
|
||||
daPyFlg0_PUSH_PULL_KEEP = 0x00000800,
|
||||
daPyFlg0_UNK1000 = 0x00001000,
|
||||
daPyFlg0_UNK4000 = 0x00004000,
|
||||
daPyFlg0_UNK10000 = 0x00010000,
|
||||
daPyFlg0_NO_FALL_VOICE = 0x00040000,
|
||||
daPyFlg0_SCOPE_CANCEL = 0x00080000,
|
||||
daPyFlg0_UNK200000 = 0x00200000,
|
||||
daPyFlg0_EQUIP_HEAVY_BOOTS = 0x02000000,
|
||||
daPyFlg0_NO_DRAW = 0x08000000,
|
||||
daPyFlg0_HEAVY_STATE = 0x40000000,
|
||||
daPyFlg0_UNK4 = 0x00000004,
|
||||
daPyFlg0_DEKU_SP_RETURN_FLG = 0x00000010,
|
||||
daPyFlg0_CUT_AT_FLG = 0x00000040,
|
||||
daPyFlg0_UNK100 = 0x00000100,
|
||||
daPyFlg0_PUSH_PULL_KEEP = 0x00000800,
|
||||
daPyFlg0_UNK1000 = 0x00001000,
|
||||
daPyFlg0_UNK4000 = 0x00004000,
|
||||
daPyFlg0_UNK10000 = 0x00010000,
|
||||
daPyFlg0_NO_FALL_VOICE = 0x00040000,
|
||||
daPyFlg0_SCOPE_CANCEL = 0x00080000,
|
||||
daPyFlg0_UNK200000 = 0x00200000,
|
||||
daPyFlg0_EQUIP_HEAVY_BOOTS = 0x02000000,
|
||||
daPyFlg0_NO_DRAW = 0x08000000,
|
||||
daPyFlg0_HEAVY_STATE = 0x40000000,
|
||||
};
|
||||
|
||||
enum daPy_FLG1 {
|
||||
@@ -204,8 +204,6 @@ public:
|
||||
void offConfuse() { offNoResetFlg1(daPyFlg1_CONFUSE); }
|
||||
bool checkConfuse() const { return checkNoResetFlg1(daPyFlg1_CONFUSE); }
|
||||
bool checkFreezeState() const { return checkNoResetFlg1(daPyFlg1_FREEZE_STATE); }
|
||||
void onShipTact() { onNoResetFlg1(daPyFlg1_SHIP_TACT); }
|
||||
void offShipTact() { offNoResetFlg1(daPyFlg1_SHIP_TACT); }
|
||||
void onUseArrowEffect() { onNoResetFlg1(daPyFlg1_USE_ARROW_EFFECT); }
|
||||
void offUseArrowEffect() { offNoResetFlg1(daPyFlg1_USE_ARROW_EFFECT); }
|
||||
void onLetterReadEyeMove() { onNoResetFlg1(daPyFlg1_LETTER_READ_EYE_MOVE); }
|
||||
|
||||
@@ -2038,7 +2038,6 @@ public:
|
||||
BOOL procCutExMJ();
|
||||
BOOL procCutKesa_init();
|
||||
BOOL procCutKesa();
|
||||
void checkNoControll() const;
|
||||
|
||||
J3DAnmTevRegKey* getBombBrk() { return mpBombBrk; }
|
||||
J3DAnmTextureSRTKey* getIceArrowBtk() { return mpIceArrowBtk; }
|
||||
@@ -2052,6 +2051,22 @@ public:
|
||||
s16 checkTinkleShield() const { return mTinkleShieldTimer; }
|
||||
void setTinkleShield(s16 time) { mTinkleShieldTimer = time; }
|
||||
bool checkNoDamageMode() const { return checkEquipDragonShield() || checkTinkleShield() != 0; }
|
||||
void onShipTact() { onNoResetFlg1(daPyFlg1_SHIP_TACT); }
|
||||
void offShipTact() { offNoResetFlg1(daPyFlg1_SHIP_TACT); }
|
||||
void checkShipGetOff() {}
|
||||
void onShipDrop(s16) {}
|
||||
void checkCarryActionNow() const {}
|
||||
void checkNoControll() const {}
|
||||
void clearDamageWait() {}
|
||||
void exchangeGrabActor(fopAc_ac_c*) {}
|
||||
void getDekuLeafWindPos() const {}
|
||||
void getIceParticleBtk() {}
|
||||
void getIceWaterParticleBtk() {}
|
||||
void getShadowID() const {}
|
||||
void npcStartRestartRoom() {}
|
||||
void offModeFlg(u32) {}
|
||||
void setDaiokutaEnd() {}
|
||||
void setWhirlId(unsigned int) {}
|
||||
|
||||
int getStartRoomNo() { return fopAcM_GetParam(this) & 0x3F; }
|
||||
int getStartMode() { return (fopAcM_GetParam(this) >> 0x0C) & 0xF; }
|
||||
@@ -2073,7 +2088,7 @@ public:
|
||||
virtual BOOL getBokoFlamePos(cXyz*);
|
||||
virtual BOOL checkTactWait() const { return mCurProcID == PROC_TACT_WAIT_e; }
|
||||
virtual void setTactZev(unsigned int, int, char*);
|
||||
virtual void onDekuSpReturnFlg(u8);
|
||||
virtual void onDekuSpReturnFlg(u8 i_point);
|
||||
virtual bool checkComboCutTurn() const;
|
||||
virtual f32 getBaseAnimeFrameRate() { return mFrameCtrlUnder[0].getRate(); }
|
||||
virtual f32 getBaseAnimeFrame() { return mFrameCtrlUnder[0].getFrame(); }
|
||||
@@ -2255,8 +2270,8 @@ public:
|
||||
/* 0x34BD */ u8 mLastUsedEquipItem;
|
||||
/* 0x34BE */ u8 m34BE;
|
||||
/* 0x34BF */ s8 mReverb;
|
||||
/* 0x34C0 */ u8 m34C0;
|
||||
/* 0x34C1 */ u8 m34C1;
|
||||
/* 0x34C0 */ u8 mLeftHandIdx;
|
||||
/* 0x34C1 */ u8 mRightHandIdx;
|
||||
/* 0x34C2 */ u8 m34C2;
|
||||
/* 0x34C3 */ u8 m34C3;
|
||||
/* 0x34C4 */ u8 m34C4;
|
||||
@@ -2266,7 +2281,7 @@ public:
|
||||
/* 0x34C8 */ u8 mPressedButtonsBitfield;
|
||||
/* 0x34C9 */ u8 m34C9;
|
||||
/* 0x34CA */ u8 m34CA;
|
||||
/* 0x34CB */ u8 m34CB;
|
||||
/* 0x34CB */ u8 mDekuSpRestartPoint;
|
||||
/* 0x34CC */ u8 m34CC[0x34D0 - 0x34CC];
|
||||
/* 0x34D0 */ s16 m34D0;
|
||||
/* 0x34D2 */ s16 m34D2;
|
||||
@@ -2351,7 +2366,7 @@ public:
|
||||
/* 0x3588 */ u8 m3588[0x358C - 0x3588];
|
||||
/* 0x358C */ int mStaffIdx;
|
||||
/* 0x3590 */ int mEventIdx;
|
||||
/* 0x3594 */ int m3594;
|
||||
/* 0x3594 */ int mRestartPoint;
|
||||
/* 0x3598 */ f32 m3598;
|
||||
/* 0x359C */ u8 m359C[0x35A0 - 0x359C];
|
||||
/* 0x35A0 */ f32 m35A0;
|
||||
@@ -2429,10 +2444,25 @@ public:
|
||||
struct ProcInitTableEntry {
|
||||
/* 0x00 */ ProcFunc mProcFunc;
|
||||
/* 0x0C */ u32 mProcFlags;
|
||||
};
|
||||
}; // Size: 0x10
|
||||
static ProcInitTableEntry mProcInitTable[];
|
||||
|
||||
static ProcInitTableEntry mProcInitTable[0xDB];
|
||||
static ProcFunc mDemoProcInitFuncTable[0x4B];
|
||||
static ProcFunc mDemoProcInitFuncTable[];
|
||||
|
||||
struct TexAnmTableEntry {
|
||||
/* 0x00 */ u16 mBtpIdx;
|
||||
/* 0x04 */ u16 mBtkIdx;
|
||||
}; // Size: 0x04
|
||||
static const TexAnmTableEntry mTexAnmIndexTable[];
|
||||
|
||||
struct AnmDataTableEntry {
|
||||
/* 0x00 */ u16 mUpperBckIdx;
|
||||
/* 0x02 */ u16 mUnderBckIdx;
|
||||
/* 0x04 */ u8 mLeftHandIdx;
|
||||
/* 0x05 */ u8 mRightHandIdx;
|
||||
/* 0x06 */ u16 mTexAnmIdx;
|
||||
}; // Size: 0x08
|
||||
static const AnmDataTableEntry mAnmDataTable[];
|
||||
}; // Size: 0x4C28
|
||||
|
||||
#endif /* D_A_PLAYER_MAIN */
|
||||
|
||||
+1831
-10
File diff suppressed because it is too large
Load Diff
@@ -47,18 +47,20 @@ namespace daTagRet {
|
||||
struct Act_c : public fopAc_ac_c {
|
||||
public:
|
||||
enum Prm_e {
|
||||
PRM_PLAYER_ID_W = 8,
|
||||
PRM_PLAYER_ID_S = 0,
|
||||
PRM_LINK_ID_W = 8,
|
||||
PRM_LINK_ID_S = 0,
|
||||
};
|
||||
|
||||
|
||||
s32 _create();
|
||||
bool _delete();
|
||||
void set_mtx();
|
||||
bool _execute();
|
||||
bool _draw();
|
||||
|
||||
|
||||
u32 prm_get_linkID() const { return daObj::PrmAbstract(this, PRM_LINK_ID_W, PRM_LINK_ID_S); }
|
||||
|
||||
public:
|
||||
u8 unknown_padding[0xC];
|
||||
/* 0x290 */ u8 m290[0x29C - 0x290];
|
||||
/* 0x29C */ dCcD_Stts mStts;
|
||||
/* 0x2D8 */ dCcD_Cyl mCyl;
|
||||
};
|
||||
@@ -98,8 +100,8 @@ namespace daTagRet {
|
||||
dComIfG_Ccsp()->Set(&mCyl);
|
||||
|
||||
if (mCyl.ChkCoHit()) {
|
||||
u32 playerId = daObj::PrmAbstract(this, PRM_PLAYER_ID_W, PRM_PLAYER_ID_S);
|
||||
daPy_getPlayerLinkActorClass()->onDekuSpReturnFlg(playerId);
|
||||
u32 linkId = prm_get_linkID();
|
||||
daPy_getPlayerLinkActorClass()->onDekuSpReturnFlg(linkId);
|
||||
}
|
||||
|
||||
set_mtx();
|
||||
|
||||
@@ -1103,7 +1103,6 @@ BOOL dComIfGs_checkSeaLandingEvent(s8 i_roomNo) {
|
||||
}
|
||||
|
||||
/* 800548FC-80054C70 .text dComIfGs_setGameStartStage__Fv */
|
||||
// NONMATCHING - one tiny reg swap
|
||||
void dComIfGs_setGameStartStage() {
|
||||
struct check_data {
|
||||
/* 0x0 */ u8 mbHasEvent;
|
||||
@@ -1148,7 +1147,7 @@ void dComIfGs_setGameStartStage() {
|
||||
dKy_set_nexttime(120.0f);
|
||||
} else if (stage_type == 7) {
|
||||
daPy_lk_c* player_p = daPy_getPlayerLinkActorClass();
|
||||
point = player_p->m3594;
|
||||
point = player_p->mRestartPoint;
|
||||
|
||||
s8 temp_r3 = player_p->current.roomNo;
|
||||
room_no = temp_r3;
|
||||
|
||||
Reference in New Issue
Block a user