minor player_main work

This commit is contained in:
LagoLunatic
2023-11-25 14:00:37 -05:00
parent 05098b4207
commit 5d53392a9b
5 changed files with 136 additions and 129 deletions
+77 -106
View File
@@ -119,14 +119,17 @@ public:
void onEnd() {
field_0x04 = true;
field_0x20 = 0;
field_0x20 = NULL;
}
/* 0x04 */ bool field_0x04;
/* 0x05 */ bool field_0x05;
/* 0x08 */ u8 field_0x08[0x20 - 0x08];
/* 0x20 */ int field_0x20;
/* 0x24 */ u8 field_0x24[0x28 - 0x24];
/* 0x08 */ u8 field_0x08[0x0C - 0x08];
/* 0x0C */ f32 field_0x0C;
/* 0x10 */ f32 field_0x10;
/* 0x14 */ u8 field_0x14[0x20 - 0x14];
/* 0x20 */ const csXyz* field_0x20;
/* 0x24 */ JPABaseEmitter* mpEmitter;
}; // Size: 0x28
STATIC_ASSERT(sizeof(daPy_swimTailEcallBack_c) == 0x28);
@@ -160,6 +163,9 @@ public:
~daPy_dmEcallBack_c() {}
daPy_dmEcallBack_c() {}
static void setTimer(s16 timer) { m_timer = timer; }
static void setType(u16 type) { m_type = type; }
static s16 m_timer;
static u16 m_type;
}; // Size: 0x0C
@@ -1210,6 +1216,10 @@ public:
ANM_UNK_C4 = 0xC4,
};
enum daPy_UNDER {
};
enum daPy_UPPER {
UPPER_UNK2 = 2,
};
@@ -1225,9 +1235,6 @@ public:
typedef BOOL (daPy_lk_c::*ProcFunc)();
void getBoomerangCatchPos() const;
void getLineTopPos();
cXyz getHookshotRootPos() const { return mHookshotRootPos; }
void seStartOnlyReverb(u32);
void seStartMapInfo(u32);
void seStartSwordCut(u32);
@@ -1281,9 +1288,9 @@ public:
void setHintActor();
void setDoStatusBasic();
void setDoStatus();
void getDirectionFromAngle(s16);
void getDirectionFromShapeAngle();
void getDirectionFromCurrentAngle();
int getDirectionFromAngle(s16);
int getDirectionFromShapeAngle();
int getDirectionFromCurrentAngle();
void setNormalSpeedF(f32, f32, f32, f32);
void posMoveFromFootPos();
void posMove();
@@ -2072,6 +2079,9 @@ public:
void clearDamageWait() {}
void exchangeGrabActor(fopAc_ac_c*) {}
void getDekuLeafWindPos() const {}
void getBoomerangCatchPos() const {}
void getLineTopPos() {}
cXyz getHookshotRootPos() const { return mHookshotRootPos; }
void getIceParticleBtk() {}
void getIceWaterParticleBtk() {}
void getShadowID() const {}
@@ -2089,102 +2099,63 @@ public:
request_of_phase_process_class* getPhase() { return &mPhsLoad; }
// void allTrigger() const {}
// void cancelTrigger() const {}
// void checkAttentionLock() {}
// void checkBoomerangCatchAnime() const {}
// void checkBoomerangReadyAnime() const {}
// void checkBoomerangRock() {}
// void checkBoomerangThrowAnime() const {}
// void checkBothItemEquipAnime() const {}
// void checkBowReloadAnime() const {}
// void checkBowShootAnime() const {}
// void checkBowWaitAnime() const {}
// void checkCarryActionNow() const {}
// void checkCrawlWaterIn() {}
// void checkDashDamageAnime() const {}
// void checkDoubleItemEquipAnime() const {}
// void checkFaceTypeNot() const {}
// void checkGrabAnime() const {}
// void checkGrabAnimeHeavy() const {}
// void checkGrabAnimeLight() const {}
// void checkGuardSlip() const {}
// void checkHookshotReadyAnime() const {}
// void checkIsland() const {}
// void checkMirrorShieldEquip() const {}
// void checkModeFlg(unsigned long) const {}
// void checkNoControll() const {}
// void checkNoDamageMode() const {}
// void checkNoUpperAnime() const {}
// void checkPlayerDemoMode() const {}
// void checkPowerGloveEquip() const {}
// void checkRopeThrowAnime() const {}
// void checkShieldEquip() const {}
// void checkShipGetOff() {}
// void checkSpecialDemoMode() const {}
// void checkSwordEquip() const {}
// void checkSwordEquipAnime() const {}
// void checkTinkleHover() const {}
// void checkTinkleShield() const {}
// void checkUpperAnime(unsigned short) const {}
// void checkUpperGuardAnime() const {}
// void clearDamageWait() {}
// void decrementBombCnt() {}
// void doButton() const {}
// void doTrigger() const {}
// void exchangeGrabActor(fopAc_ac_c*) {}
// void getAnmSpeedStickRate(float, float) {}
// void getBombBrk() {}
// void getBombWaterPillarBrk() {}
// void getBombWaterPillarBtk() {}
// void getBoomerangCatchPos() const {}
// void getDekuLeafWindPos() const {}
// void getHookshotRootPos() const {}
// void getIceArrowBtk() {}
// void getIceParticleBtk() {}
// void getIceWaterParticleBtk() {}
// void getLightArrowBtk() {}
// void getLineTopPos() {}
// void getModelJointMtx(unsigned short) {}
// void getNowAnmPackUnder(daPy_lk_c::daPy_UNDER) {}
// void getNowAnmPackUpper(daPy_lk_c::daPy_UPPER) {}
// void getPhase() {}
// void getShadowID() const {}
// void getStartEvent() {}
// void getStartMode() {}
// void getStartModeFromParam(unsigned long) {}
// void getStartRoomNo() {}
// void getTactLeftHandPos() const {}
// void itemButtonX() const {}
// void itemButtonY() const {}
// void itemButtonZ() const {}
// void itemTriggerX() const {}
// void itemTriggerY() const {}
// void itemTriggerZ() const {}
// void npcStartRestartRoom() {}
// void offModeFlg(unsigned long) {}
// void offShipTact() {}
// void onModeFlg(unsigned long) {}
// void onShipDrop(short) {}
// void onShipTact() {}
// void otherWeaponTrigger() const {}
// void seStartSystem(unsigned long) {}
// void setDaiokutaEnd() {}
// void setFootEffectPosType(unsigned char) {}
// void setHoverBoots(short) {}
// void setSpeedAndAngleBoomerang() {}
// void setSpeedAndAngleBow() {}
// void setSpeedAndAngleHookshot() {}
// void setSpeedAndAngleRope() {}
// void setTinkleShield(short) {}
// void setWhirlId(unsigned int) {}
// void spActionButton() const {}
// void spActionTrigger() const {}
// void spBattleTrigger() const {}
// void spLTrigger() const {}
// void swordButton() const {}
// void swordTrigger() const {}
// void talkTrigger() const {}
void allTrigger() const {}
void cancelTrigger() const {}
void checkAttentionLock() {}
void checkBoomerangRock() {}
void checkBothItemEquipAnime() const {}
void checkBowReloadAnime() const {}
void checkBowShootAnime() const {}
void checkBowWaitAnime() const {}
void checkCrawlWaterIn() {}
void checkDashDamageAnime() const {}
void checkDoubleItemEquipAnime() const {}
void checkFaceTypeNot() const {}
void checkGuardSlip() const {}
void checkHookshotReadyAnime() const {}
void checkIsland() const {}
void checkMirrorShieldEquip() const {}
void checkNoUpperAnime() const {}
void checkPlayerDemoMode() const {}
void checkPowerGloveEquip() const {}
void checkRopeThrowAnime() const {}
void checkShieldEquip() const {}
void checkSpecialDemoMode() const {}
void checkSwordEquip() const {}
void checkSwordEquipAnime() const {}
void checkTinkleHover() const {}
void checkUpperAnime(u16) const {}
void checkUpperGuardAnime() const {}
void decrementBombCnt() {}
void doButton() const {}
void doTrigger() const {}
void getAnmSpeedStickRate(f32, f32) {}
void getBombWaterPillarBrk() {}
void getBombWaterPillarBtk() {}
void getNowAnmPackUnder(daPy_UNDER) {}
void getNowAnmPackUpper(daPy_UPPER) {}
void getStartModeFromParam(u32) {}
void getTactLeftHandPos() const {}
void itemButtonX() const {}
void itemButtonY() const {}
void itemButtonZ() const {}
void itemTriggerX() const {}
void itemTriggerY() const {}
void itemTriggerZ() const {}
void otherWeaponTrigger() const {}
void seStartSystem(u32) {}
void setFootEffectPosType(u8) {}
void setSpeedAndAngleBoomerang() {}
void setSpeedAndAngleBow() {}
void setSpeedAndAngleHookshot() {}
void setSpeedAndAngleRope() {}
void spActionButton() const {}
void spActionTrigger() const {}
void spBattleTrigger() const {}
void spLTrigger() const {}
void swordButton() const {}
void swordTrigger() const {}
void talkTrigger() const {}
virtual MtxP getLeftHandMatrix() { return mpCLModel->getAnmMtx(0x08); } // cl_LhandA joint
virtual MtxP getRightHandMatrix() { return mpCLModel->getAnmMtx(0x0C); } // cl_RhandA joint
+7 -5
View File
@@ -426,17 +426,19 @@ public:
JKRHeap * getHeap() { return mHeap; }
static dPa_setColorEcallBack* getLifeBallSetColorEcallBack(int idx) { return &mLifeBall[idx]; }
static dPa_setColorEcallBack mLifeBall[3];
static bool isStatus(u8 status) { return mStatus & status; }
static void onStatus(u8 status) { mStatus |= status; }
static void offStatus(u8 status) { mStatus &= ~status; }
static u8 mStatus;
static dPa_rippleEcallBack mSingleRippleEcallBack;
static dPa_setColorEcallBack mLifeBall[3];
static JPAEmitterManager * mEmitterMng;
static bool isStatus(u8 b) { return !!(mStatus & b); }
static u8 mStatus;
static Mtx mWindViewMatrix;
static MtxP getWindViewMatrix() { return mWindViewMatrix; }
static Mtx mWindViewMatrix;
/* 0x0000 */ JKRHeap* mHeap;
/* 0x0004 */ JPAResourceManager* mpCommonResMgr;
+14 -6
View File
@@ -2759,18 +2759,26 @@ void daPy_lk_c::setDoStatus() {
}
/* 80108A9C-80108B08 .text getDirectionFromAngle__9daPy_lk_cFs */
void daPy_lk_c::getDirectionFromAngle(s16) {
/* Nonmatching */
int daPy_lk_c::getDirectionFromAngle(s16 angle) {
if (abs(angle) > 0x6000) {
return 1;
} else if (angle >= 0x2000) {
return 2;
} else if (angle <= -0x2000) {
return 3;
} else {
return 0;
}
}
/* 80108B08-80108B38 .text getDirectionFromShapeAngle__9daPy_lk_cFv */
void daPy_lk_c::getDirectionFromShapeAngle() {
/* Nonmatching */
int daPy_lk_c::getDirectionFromShapeAngle() {
return getDirectionFromAngle(m34E8 - shape_angle.y);
}
/* 80108B38-80108B68 .text getDirectionFromCurrentAngle__9daPy_lk_cFv */
void daPy_lk_c::getDirectionFromCurrentAngle() {
/* Nonmatching */
int daPy_lk_c::getDirectionFromCurrentAngle() {
return getDirectionFromAngle(m34E8 - current.angle.y);
}
/* 80108B68-80108D80 .text setNormalSpeedF__9daPy_lk_cFffff */
+36 -11
View File
@@ -11,20 +11,37 @@
*/
#include "d/actor/d_a_player_main.h"
#include "d/actor/d_a_sea.h"
/* 8012901C-80129034 .text setup__24daPy_swimTailEcallBack_cFP14JPABaseEmitterPC4cXyzPC5csXyzSc */
void daPy_swimTailEcallBack_c::setup(JPABaseEmitter*, const cXyz*, const csXyz*, s8) {
/* Nonmatching */
void daPy_swimTailEcallBack_c::setup(JPABaseEmitter* emitter, const cXyz* pos, const csXyz* angle, s8) {
mpEmitter = emitter;
field_0x04 = false;
field_0x20 = angle;
field_0x05 = false;
}
/* 80129034-801290D8 .text getMaxWaterY__24daPy_swimTailEcallBack_cFPQ29JGeometry8TVec3<f> */
void daPy_swimTailEcallBack_c::getMaxWaterY(JGeometry::TVec3<f32>*) {
/* Nonmatching */
void daPy_swimTailEcallBack_c::getMaxWaterY(JGeometry::TVec3<f32>* pos) {
if (daSea_ChkArea(pos->x, pos->z)) {
pos->y = daSea_calcWave(pos->x, pos->z) + 2.0f;
if (field_0x10 > pos->y) {
pos->y = field_0x10 + 2.0f;
}
} else if (field_0x10 != 0.0f) {
pos->y = field_0x10 + 2.0f;
} else {
pos->y = field_0x0C;
}
}
/* 801290D8-8012910C .text remove__24daPy_swimTailEcallBack_cFv */
void daPy_swimTailEcallBack_c::remove() {
/* Nonmatching */
if (mpEmitter != NULL) {
mpEmitter->setEmitterCallBackPtr(NULL);
mpEmitter->becomeInvalidEmitter();
mpEmitter = NULL;
}
}
/* 8012910C-80129310 .text execute__24daPy_swimTailEcallBack_cFP14JPABaseEmitter */
@@ -34,11 +51,13 @@ void daPy_swimTailEcallBack_c::execute(JPABaseEmitter*) {
/* 80129310-80129348 .text draw__24daPy_swimTailEcallBack_cFP14JPABaseEmitter */
void daPy_swimTailEcallBack_c::draw(JPABaseEmitter*) {
/* Nonmatching */
if (dPa_control_c::isStatus(0x01)) {
GXSetZMode(GX_FALSE, GX_NEVER, GX_FALSE);
}
}
/* 80129348-8012952C .text draw__18daPy_sightPacket_cFv */
BOOL daPy_sightPacket_c::draw() {
void daPy_sightPacket_c::draw() {
/* Nonmatching */
}
@@ -58,7 +77,7 @@ void daPy_swBlur_c::copySwBlur(MtxP, int) {
}
/* 80129A78-80129DD0 .text draw__13daPy_swBlur_cFv */
BOOL daPy_swBlur_c::draw() {
void daPy_swBlur_c::draw() {
/* Nonmatching */
}
@@ -104,8 +123,9 @@ void daPy_waterDropEcallBack_c::execute(JPABaseEmitter* emitter) {
}
/* 8012A040-8012A058 .text setup__25daPy_waterDropEcallBack_cFP14JPABaseEmitterPC4cXyzPC5csXyzSc */
void daPy_waterDropEcallBack_c::setup(JPABaseEmitter*, const cXyz*, const csXyz*, s8) {
/* Nonmatching */
void daPy_waterDropEcallBack_c::setup(JPABaseEmitter* emitter, const cXyz* pos, const csXyz* angle, s8) {
mpEmitter = emitter;
mpEmitter->becomeImmortalEmitter();
}
/* 8012A058-8012A0B4 .text end__25daPy_waterDropEcallBack_cFv */
@@ -205,7 +225,12 @@ void daPy_lk_c::endFlameDamageEmitter() {
/* 8012C9D8-8012CA44 .text endDamageEmitter__9daPy_lk_cFv */
void daPy_lk_c::endDamageEmitter() {
/* Nonmatching */
for (int i = 0; i < (int)ARRAY_SIZE(m33B8); i++) {
m33B8[i].end();
}
daPy_dmEcallBack_c::setTimer(0);
daPy_dmEcallBack_c::setType(3);
mLightInfluence.mPower = 0.0f;
}
/* 8012CA44-8012CD60 .text setItemWaterEffect__9daPy_lk_cFP10fopAc_ac_cii */
+2 -1
View File
@@ -12,6 +12,7 @@
#include "d/actor/d_a_player_main.h"
#include "d/actor/d_a_ship.h"
#include "d/d_com_inf_game.h"
/* 8013F848-8013F8AC .text shipSpecialDemoStart__9daPy_lk_cFv */
void daPy_lk_c::shipSpecialDemoStart() {
@@ -53,7 +54,7 @@ void daPy_lk_c::initShipRideUseItem(int param_1, int param_2) {
if (param_1 == 0) {
return;
}
dComIfGp_getShipActor()->field_0x034D = 2; // TODO probably inline setter
dComIfGp_getShipActor()->m034D = 2; // TODO probably inline setter
mGravity = 0.0f;
speed.y = 0.0f;
if (param_1 == 1) {