mirror of
https://github.com/zeldaret/tww.git
synced 2026-08-21 14:07:29 -04:00
player_main cleanup and a few matches
This commit is contained in:
@@ -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*);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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) {}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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()))
|
||||
|
||||
@@ -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()) &&
|
||||
|
||||
+614
-668
File diff suppressed because it is too large
Load Diff
@@ -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
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user