player_main cleanup and a few matches

This commit is contained in:
LagoLunatic
2025-04-29 15:44:49 -04:00
parent 5e7b59f2fe
commit 2690304a74
10 changed files with 661 additions and 713 deletions
+1 -1
View File
@@ -120,7 +120,7 @@ void cM3d_CalcVecZAngle(const Vec&, csXyz*);
bool cM3d_NearPos_Cps(const cM3dGCps&, const Vec&, Vec*);
void cM3d_PlaneCrossLineProcWork(f32, f32, f32, f32, f32, f32, f32, f32*, f32*);
int cM3d_2PlaneCrossLine(const cM3dGPla&, const cM3dGPla&, cM3dGLin*);
bool cM3d_3PlaneCrossPos(const cM3dGPla&, const cM3dGPla&, const cM3dGPla&, Vec*);
BOOL cM3d_3PlaneCrossPos(const cM3dGPla&, const cM3dGPla&, const cM3dGPla&, Vec*);
f32 cM3d_lineVsPosSuisenCross(const cM3dGLin*, const Vec*, Vec*);
f32 cM3d_lineVsPosSuisenCross(const Vec&, const Vec&, const Vec&, Vec*);
int cM3d_2PlaneLinePosNearPos(const cM3dGPla&, const cM3dGPla&, const Vec*, Vec*);
+4 -3
View File
@@ -15,6 +15,10 @@ public:
public:
cM3dGPla() {}
cM3dGPla(const cXyz* normal, f32 d) {
mNormal = *normal;
mD = d;
}
void CalcAngleXz(short* pAngleX, short* pAngleY) const;
void SetupNP0(const Vec& pNormal, const Vec& pPoint);
@@ -57,9 +61,6 @@ public:
}
virtual ~cM3dGPla() {}
// TODO
cM3dGPla(const cXyz*, f32) {}
}; // Size: 0x14
STATIC_ASSERT(sizeof(cM3dGPla) == 0x14);
+8 -8
View File
@@ -972,7 +972,7 @@ public:
void posMove();
void setShapeAngleToAtnActor();
BOOL cancelItemUpperReadyAnime();
BOOL checkBodyAngleX(s16);
s16 checkBodyAngleX(s16);
BOOL setBodyAngleToCamera();
void setBodyAngleXReadyAnime();
void setSpeedAndAngleNormal(s16);
@@ -1549,9 +1549,9 @@ public:
void throwBoomerang();
int returnBoomerang();
BOOL checkNextActionBoomerangReady();
BOOL checkNextActionBoomerangFly();
void checkNextActionBoomerangFly();
BOOL checkNextBoomerangMode();
int changeBoomerangCatchProc();
BOOL changeBoomerangCatchProc();
BOOL procBoomerangSubject_init();
BOOL procBoomerangSubject();
BOOL procBoomerangMove_init();
@@ -1742,6 +1742,9 @@ public:
bool checkBoomerangReadyAnime() const { return checkUpperAnime(LKANM_BCK_BOOMWAIT); };
bool checkHookshotReadyAnime() const { return checkUpperAnime(LKANM_BCK_HOOKSHOTWAIT); }
bool checkDashDamageAnime() const { return checkUpperAnime(LKANM_BCK_DAMDASH); }
bool checkBowReloadAnime() const { return checkUpperAnime(LKANM_BCK_ARROWRELORD); }
bool checkBowShootAnime() const { return checkUpperAnime(LKANM_BCK_ARROWSHOOT); }
bool checkBowWaitAnime() const { return checkUpperAnime(LKANM_BCK_BOWWAIT); }
bool checkGuardSlip() const {
return mCurProc == daPyProc_GUARD_SLIP_e ||
mCurProc == daPyProc_CROUCH_DEFENSE_SLIP_e;
@@ -1832,9 +1835,6 @@ public:
void checkAttentionLock() {}
void checkBoomerangRock() {}
void checkBothItemEquipAnime() const {}
void checkBowReloadAnime() const {}
void checkBowShootAnime() const {}
void checkBowWaitAnime() const {}
void checkCrawlWaterIn() {}
void checkDoubleItemEquipAnime() const {}
void checkFaceTypeNot() const {}
@@ -1845,8 +1845,8 @@ public:
void checkShieldEquip() const {}
void checkSwordEquipAnime() const {}
void getAnmSpeedStickRate(f32, f32) {}
void getBombWaterPillarBrk() {}
void getBombWaterPillarBtk() {}
void getBombWaterPillarBrk() {} // mpGwp00BrkData?
void getBombWaterPillarBtk() {} // mpGwp00BtkData?
void getStartModeFromParam(u32) {}
void getTactLeftHandPos() const {}
void seStartSystem(u32) {}
+1 -1
View File
@@ -2315,7 +2315,7 @@ int cM3d_2PlaneCrossLine(const cM3dGPla& pPlaneA, const cM3dGPla& pPlaneB, cM3dG
}
/* 802518F0-80251A10 .text cM3d_3PlaneCrossPos__FRC8cM3dGPlaRC8cM3dGPlaRC8cM3dGPlaP3Vec */
bool cM3d_3PlaneCrossPos(const cM3dGPla& p0, const cM3dGPla& p1, const cM3dGPla& p2, Vec* pDst) {
BOOL cM3d_3PlaneCrossPos(const cM3dGPla& p0, const cM3dGPla& p1, const cM3dGPla& p2, Vec* pDst) {
cM3dGLin lin;
if (!cM3d_2PlaneCrossLine(p0, p1, &lin))
return false;
+11 -20
View File
@@ -40,10 +40,8 @@ void daPy_lk_c::throwBoomerang() {
dComIfGp_clearPlayerStatus0(0, daPyStts0_BOOMERANG_AIM_e);
offModeFlg(ModeFlg_SUBJECT);
onModeFlg(ModeFlg_00000080);
} else {
if (mAcch.ChkGroundHit()) {
procWait_init();
}
} else if (mAcch.ChkGroundHit()) {
procWait_init();
}
}
@@ -52,9 +50,9 @@ int daPy_lk_c::returnBoomerang() {
dComIfGp_clearPlayerStatus0(0, daPyStts0_BOOMERANG_WAIT_e);
if (mEquipItem == daPyItem_NONE_e && !checkNoControll() && !dComIfGp_event_runCheck() && mDemo.getDemoType() == 0 &&
(checkNoUpperAnime() || checkPlayerGuard() || checkDashDamageAnime() ||
checkBoomerangAnime()) &&
(checkNoUpperAnime() || checkPlayerGuard() || checkDashDamageAnime() || checkBoomerangAnime()) &&
(!checkModeFlg(
// These combine to: 0x01FD2810
ModeFlg_WHIDE | ModeFlg_ROPE | ModeFlg_IN_SHIP | ModeFlg_CLIMB | ModeFlg_SWIM | ModeFlg_00080000 |
ModeFlg_GRAB | ModeFlg_PUSHPULL | ModeFlg_LADDER | ModeFlg_CROUCH | ModeFlg_CRAWL
) ||
@@ -89,20 +87,13 @@ BOOL daPy_lk_c::checkNextActionBoomerangReady() {
}
/* 8014984C-801498D8 .text checkNextActionBoomerangFly__9daPy_lk_cFv */
BOOL daPy_lk_c::checkNextActionBoomerangFly() {
void daPy_lk_c::checkNextActionBoomerangFly() {
if (checkBoomerangReadyAnime()) {
return checkNextActionBoomerangReady();
} else {
if (itemTrigger() && mEquipItem == getReadyItem()) {
return setActAnimeUpper(
LKANM_BCK_BOOMWAIT,
UPPER_MOVE2_e,
daPy_HIO_boom_c0::m.field_0x18,
0.0f,
-1,
daPy_HIO_basic_c0::m.field_0xC
);
}
checkNextActionBoomerangReady();
} else if (itemTrigger() && mEquipItem == getReadyItem()) {
setActAnimeUpper(
LKANM_BCK_BOOMWAIT, UPPER_MOVE2_e, daPy_HIO_boom_c0::m.field_0x18, 0.0f, -1, daPy_HIO_basic_c0::m.field_0xC
);
}
}
@@ -119,7 +110,7 @@ BOOL daPy_lk_c::checkNextBoomerangMode() {
}
/* 80149964-80149A44 .text changeBoomerangCatchProc__9daPy_lk_cFv */
int daPy_lk_c::changeBoomerangCatchProc() {
BOOL daPy_lk_c::changeBoomerangCatchProc() {
if (checkNoResetFlg0(daPyFlg0_UNK20)) {
if (!dComIfGp_event_runCheck() && mDemo.getDemoType() == 0 && checkModeFlg(ModeFlg_00020000) &&
(checkNoUpperAnime() || checkBoomerangThrowAnime()))
+5 -5
View File
@@ -56,12 +56,12 @@ BOOL daPy_lk_c::bowButton() const {
/* 8014A008-8014A02C .text checkBowReadyAnime__9daPy_lk_cCFv */
BOOL daPy_lk_c::checkBowReadyAnime() const {
return checkUpperAnime(LKANM_BCK_ARROWRELORD) || checkUpperAnime(LKANM_BCK_BOWWAIT);
return checkBowReloadAnime() || checkBowWaitAnime();
}
/* 8014A02C-8014A080 .text checkBowAnime__9daPy_lk_cCFv */
BOOL daPy_lk_c::checkBowAnime() const {
return checkBowReadyAnime() || checkUpperAnime(LKANM_BCK_ARROWSHOOT);
return checkBowReadyAnime() || checkBowShootAnime();
}
/* 8014A080-8014A180 .text makeArrow__9daPy_lk_cFv */
@@ -114,7 +114,7 @@ void daPy_lk_c::setBowReloadAnime() {
/* 8014A328-8014A60C .text checkNextActionBowReady__9daPy_lk_cFv */
BOOL daPy_lk_c::checkNextActionBowReady() {
if (checkUpperAnime(LKANM_BCK_BOWWAIT)) {
if (checkBowWaitAnime()) {
daArrow_c* arrow = (daArrow_c*)mActorKeepEquip.getActor();
if (m355C != 0) {
setActAnimeUpper(
@@ -149,14 +149,14 @@ BOOL daPy_lk_c::checkNextActionBowReady() {
}
}
}
} else if (checkUpperAnime(LKANM_BCK_ARROWRELORD)) {
} else if (checkBowReloadAnime()) {
if (mFrameCtrlUpper[UPPER_MOVE2_e].getRate() < 0.01f) {
setActAnimeUpper(LKANM_BCK_BOWWAIT, UPPER_MOVE2_e, 1.0f, 0.0f, -1, -1.0f);
mSwordAnim.changeBckOnly(getItemAnimeResource(LKANM_BCK_BOWWAITA));
m35EC = 0.0f;
setPriTextureAnime(0x70, 0);
}
} else if (checkUpperAnime(LKANM_BCK_ARROWSHOOT)) {
} else if (checkBowShootAnime()) {
if (mFrameCtrlUpper[UPPER_MOVE2_e].getRate() < 0.01f) {
if (m355E == 0 && bowButton() &&
(mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK44_e || mEquipItem == getReadyItem()) &&
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -941,7 +941,7 @@ BOOL daPy_lk_c::procShipBow() {
dComIfGp_evmng_cutEnd(mStaffIdx);
}
daShip_c* ship = (daShip_c*)dComIfGp_getShipActor();
if (checkUpperAnime(LKANM_BCK_BOWWAIT)) {
if (checkBowWaitAnime()) {
setShipAttentionAnmSpeed(1.0f);
}
if (mpAttention->Lockon() && (mDemo.getDemoMode() != daPy_demo_c::DEMO_UNK44_e)) {
+3 -3
View File
@@ -1554,7 +1554,7 @@ void dMesg_screenDataItem_c::createScreen() {
f32 y = (field_0x1b4.mSize.y * 0.5f + pane->mScreenBounds.i.y - 240.0f) - 10.0f;
f32 x = (field_0x1b4.mSize.x * 0.5f + pane->mScreenBounds.i.x - 320.0f) + 10.0f;
cXyz pos(x, y, 0.0f);
field_0x3e4 = dComIfGp_particle_set2Dfore(0x2e1, &pos);
field_0x3e4 = dComIfGp_particle_set2Dfore(dPa_name::ID_COMMON_02E1, &pos);
}
}
@@ -1571,7 +1571,7 @@ void dMesg_screenDataItem_c::deleteScreen() {
delete scrn;
if (field_0x3e4) {
field_0x3e4->becomeInvalidEmitter();
field_0x3e4->clearStatus(JPAEmtrStts_Immortal);
field_0x3e4->quitImmortalEmitter();
}
mHeap->free(texBuffer);
}
@@ -1650,7 +1650,7 @@ void dMesg_screenDataItem_c::move() {
vec.y = (field_0x1b4.mSize.y * 0.5f + pane->mScreenBounds.i.y - 240.0f) - 10.0f;
vec.z = 0.0f;
field_0x3e4->setGlobalTranslation(vec);
field_0x3e4->clearStatus(JPAEmtrStts_StopDraw);
field_0x3e4->playDrawParticle();
field_0x3e4->setGlobalAlpha(field_0x1b4.mNowAlpha);
}
}
+13 -3
View File
@@ -37,6 +37,8 @@ struct mesg_header : JUTDataFileHeader {
};
struct mesg_entry {
// mesg_entry() {} // fixes fopMsgM_selectMessageGet, but messes up getMesgEntry
/* 0x00 */ u32 mDataOffs;
/* 0x04 */ u16 mMesgID;
/* 0x06 */ s16 mItemPrice;
@@ -50,7 +52,10 @@ struct mesg_entry {
/* 0x11 */ u8 mInitialSound;
/* 0x12 */ u8 mInitialCamera;
/* 0x13 */ u8 mInitialAnimation;
/* 0x14 */ u8 field_0x14[4];
/* 0x14 */ u8 field_0x14;
/* 0x15 */ u8 field_0x15;
/* 0x16 */ u8 field_0x16;
/* 0x17 */ u8 field_0x17;
};
struct mesg_info : JUTDataBlockHeader {
@@ -593,6 +598,7 @@ u32 fopMsgM_tactMessageSet() {
/* 8002BB78-8002BDBC .text fopMsgM_messageGet__FPcUl */
char* fopMsgM_messageGet(char* dst, u32 msgNo) {
/* Nonmatching */
fopMsgM_itemMsgGet_c msgGet;
msgGet.mMsgIdx = 0;
msgGet.mMsgID = 0;
@@ -651,6 +657,7 @@ char* fopMsgM_messageGet(char* dst, u32 msgNo) {
/* 8002BE04-8002C02C .text fopMsgM_passwordGet__FPcUl */
void fopMsgM_passwordGet(char* dst, u32 msgNo) {
/* Nonmatching */
fopMsgM_itemMsgGet_c msgGet;
msgGet.mMsgIdx = 0;
msgGet.mMsgID = 0;
@@ -708,6 +715,7 @@ void fopMsgM_passwordGet(char* dst, u32 msgNo) {
/* 8002C02C-8002C568 .text fopMsgM_selectMessageGet__FP7J2DPaneP7J2DPanePcPcPcPcUl */
void fopMsgM_selectMessageGet(J2DPane* param_1, J2DPane* param_2, char* param_3, char* param_4, char* param_5, char* param_6, u32 param_7) {
/* Nonmatching */
fopMsgM_msgDataProc_c temp;
fopMsgM_itemMsgGet_c msgGet;
msgGet.mMsgIdx = 0;
@@ -1425,7 +1433,8 @@ mesg_data* fopMsgM_msgGet_c::getMesgData(mesg_header* msg) {
/* 8002E308-8002E378 .text getMesgEntry__16fopMsgM_msgGet_cFP11mesg_header */
mesg_entry fopMsgM_msgGet_c::getMesgEntry(mesg_header* msg) {
return getMesgInfo(msg)->mEntries[mMsgIdx];
mesg_info* info = getMesgInfo(msg);
return info->mEntries[mMsgIdx];
}
/* 8002E378-8002E430 .text getMessage__16fopMsgM_msgGet_cFP11mesg_header */
@@ -1490,7 +1499,8 @@ mesg_data* fopMsgM_itemMsgGet_c::getMesgData(mesg_header* msg) {
/* 8002E4DC-8002E54C .text getMesgEntry__20fopMsgM_itemMsgGet_cFP11mesg_header */
mesg_entry fopMsgM_itemMsgGet_c::getMesgEntry(mesg_header* msg) {
return getMesgInfo(msg)->mEntries[mMsgIdx];
mesg_info* info = getMesgInfo(msg);
return info->mEntries[mMsgIdx];
}
/* 8002E54C-8002E5FC .text getMessage__20fopMsgM_itemMsgGet_cFP11mesg_header */