mirror of
https://github.com/zeldaret/tww.git
synced 2026-07-02 03:40:15 -04:00
minor player_main work
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user