mirror of
https://github.com/zeldaret/tww.git
synced 2026-06-01 17:57:24 -04:00
player_main work, player_ship start
This commit is contained in:
@@ -114,6 +114,7 @@ public:
|
||||
daPyFlg1_FORCE_VOMIT_JUMP_SHORT = 0x00010000,
|
||||
daPyFlg1_FOREST_WATER_USE = 0x00020000,
|
||||
daPyFlg1_WATER_DROP = 0x00080000,
|
||||
daPyFlg1_UNK200000 = 0x00200000,
|
||||
daPyFlg1_UNK800000 = 0x00800000,
|
||||
daPyFlg1_UNK1000000 = 0x01000000,
|
||||
daPyFlg1_VINE_CATCH = 0x02000000,
|
||||
|
||||
@@ -110,7 +110,7 @@ public:
|
||||
class daPy_swimTailEcallBack_c : public dPa_levelEcallBack {
|
||||
public:
|
||||
void setup(JPABaseEmitter*, const cXyz*, const csXyz*, s8);
|
||||
void getMaxWaterY(JGeometry::TVec3<float>*);
|
||||
void getMaxWaterY(JGeometry::TVec3<f32>*);
|
||||
void remove();
|
||||
void execute(JPABaseEmitter*);
|
||||
void draw(JPABaseEmitter*);
|
||||
@@ -176,7 +176,7 @@ public:
|
||||
|
||||
class daPy_swBlur_c : public J3DPacket {
|
||||
public:
|
||||
void initSwBlur(MtxP, int, float, int);
|
||||
void initSwBlur(MtxP, int, f32, int);
|
||||
void copySwBlur(MtxP, int);
|
||||
void draw();
|
||||
~daPy_swBlur_c() {}
|
||||
@@ -212,7 +212,10 @@ struct daPy_aura_c {
|
||||
f32 getFrame() { return mFrame; }
|
||||
};
|
||||
|
||||
class daPy_anmIndex_c;
|
||||
class daPy_anmIndex_c {
|
||||
public:
|
||||
|
||||
};
|
||||
|
||||
enum LINK_RES_FILE_ID { // IDs and indexes are synced
|
||||
/* BCK */
|
||||
@@ -1506,13 +1509,13 @@ public:
|
||||
void initSeAnime();
|
||||
void resetSeAnime();
|
||||
void setMoveAnime(f32, f32, f32, daPy_lk_c::daPy_ANM, daPy_lk_c::daPy_ANM, int, f32);
|
||||
void setSingleMoveAnime(daPy_lk_c::daPy_ANM, float, float, short, float);
|
||||
BOOL setSingleMoveAnime(daPy_lk_c::daPy_ANM, f32, f32, s16, f32);
|
||||
void setActAnimeUpper(u16, daPy_lk_c::daPy_UPPER, f32, f32, s16, f32);
|
||||
void resetActAnimeUpper(daPy_lk_c::daPy_UPPER, float);
|
||||
void resetActAnimeUpper(daPy_lk_c::daPy_UPPER, f32);
|
||||
void animeUpdate();
|
||||
void simpleAnmPlay(J3DAnmBase*);
|
||||
void setHandModel(daPy_lk_c::daPy_ANM);
|
||||
void getAnmData(daPy_lk_c::daPy_ANM) const;
|
||||
daPy_anmIndex_c* getAnmData(daPy_lk_c::daPy_ANM) const;
|
||||
BOOL checkGrabWeapon(int);
|
||||
void endDemoMode();
|
||||
void setAuraEffect();
|
||||
@@ -2066,7 +2069,6 @@ public:
|
||||
void getIceWaterParticleBtk() {}
|
||||
void getShadowID() const {}
|
||||
void npcStartRestartRoom() {}
|
||||
void offModeFlg(u32) {}
|
||||
void setDaiokutaEnd() {}
|
||||
void setWhirlId(unsigned int) {}
|
||||
|
||||
@@ -2074,6 +2076,10 @@ public:
|
||||
int getStartMode() { return (fopAcM_GetParam(this) >> 0x0C) & 0xF; }
|
||||
int getStartEvent() { return (fopAcM_GetParam(this) >> 0x18) & 0xFF; }
|
||||
|
||||
void onModeFlg(u32 flag) { mModeFlg |= flag; }
|
||||
void offModeFlg(u32 flag) { mModeFlg &= ~flag; }
|
||||
BOOL checkModeFlg(u32 flag) const { return mModeFlg & flag; }
|
||||
|
||||
request_of_phase_process_class* getPhase() { return &mPhsLoad; }
|
||||
|
||||
virtual MtxP getLeftHandMatrix() { return mpCLModel->getAnmMtx(0x08); } // cl_LhandA joint
|
||||
@@ -2083,7 +2089,7 @@ public:
|
||||
virtual int getTactTimerCancel() const;
|
||||
virtual BOOL checkPlayerGuard() const;
|
||||
virtual fopAc_ac_c* getGrabMissActor();
|
||||
virtual BOOL checkPlayerFly() const { return mProcFlags & 0x10452822; } // TODO add enum
|
||||
virtual BOOL checkPlayerFly() const { return checkModeFlg(0x10452822); } // TODO add enum
|
||||
virtual BOOL checkFrontRoll() const { return mCurProcID == PROC_FRONT_ROLL_e; }
|
||||
virtual BOOL checkBottleSwing() const { return mCurProcID == PROC_BOTTLE_SWING_e; }
|
||||
virtual BOOL checkCutCharge() const { return mCurProcID == PROC_CUT_TURN_MOVE_e; }
|
||||
@@ -2109,7 +2115,7 @@ public:
|
||||
virtual BOOL setHookshotCarryOffset(unsigned int, const cXyz*);
|
||||
virtual void setPlayerPosAndAngle(cXyz*, s16);
|
||||
virtual void setPlayerPosAndAngle(cXyz*, csXyz*);
|
||||
virtual void setPlayerPosAndAngle(float (*)[4]);
|
||||
virtual void setPlayerPosAndAngle(MtxP);
|
||||
virtual BOOL setThrowDamage(cXyz*, s16, f32, f32, int);
|
||||
virtual void changeTextureAnime(u16, u16, int);
|
||||
virtual void cancelChangeTextureAnime();
|
||||
@@ -2165,7 +2171,7 @@ public:
|
||||
/* 0x2E90 */ JKRSolidHeap* mpItemHeaps[2];
|
||||
/* 0x2E98 */ J3DModel* mpHeldItemModel;
|
||||
/* 0x2E9C */ mDoExt_bckAnm mSwordAnim;
|
||||
/* 0x2EAC */ u8 m2EAC[0x2EB0 - 0x2EAC];
|
||||
/* 0x2EAC */ mDoExt_McaMorf* m2EAC;
|
||||
/* 0x2EB0 */ J3DAnmTevRegKey* mpBombBrk;
|
||||
/* 0x2EB4 */ J3DAnmTevRegKey* mpGwp00BrkData;
|
||||
/* 0x2EB8 */ J3DAnmTextureSRTKey* mpGwp00BtkData;
|
||||
@@ -2284,7 +2290,10 @@ public:
|
||||
/* 0x34C9 */ u8 m34C9;
|
||||
/* 0x34CA */ u8 m34CA;
|
||||
/* 0x34CB */ u8 mDekuSpRestartPoint;
|
||||
/* 0x34CC */ u8 m34CC[0x34D0 - 0x34CC];
|
||||
/* 0x34CC */ u8 m34CC;
|
||||
/* 0x34CD */ u8 m34CD;
|
||||
/* 0x34CE */ u8 m34CE;
|
||||
/* 0x34CF */ u8 m34CF[0x34D0 - 0x34CF];
|
||||
/* 0x34D0 */ s16 m34D0;
|
||||
/* 0x34D2 */ s16 m34D2;
|
||||
/* 0x34D4 */ s16 m34D4;
|
||||
@@ -2342,16 +2351,20 @@ public:
|
||||
/* 0x353C */ s16 m353C;
|
||||
/* 0x353E */ s16 m353E;
|
||||
/* 0x3540 */ s16 m3540;
|
||||
/* 0x3542 */ u8 m3542[0x3544 - 0x3542];
|
||||
/* 0x3542 */ s16 m3542;
|
||||
/* 0x3544 */ s16 m3544;
|
||||
/* 0x3546 */ s16 mShieldFrontRangeYAngle;
|
||||
/* 0x3548 */ u8 m3548[0x354C - 0x3548];
|
||||
/* 0x3548 */ s16 m3548;
|
||||
/* 0x354A */ u8 m354A[0x354C - 0x354A];
|
||||
/* 0x354C */ s16 m354C;
|
||||
/* 0x354E */ s16 mTinkleShieldTimer;
|
||||
/* 0x3550 */ u8 m3550[0x3552 - 0x3550];
|
||||
/* 0x3550 */ s16 m3550;
|
||||
/* 0x3552 */ u16 mKeepItemType;
|
||||
/* 0x3554 */ s16 m3554;
|
||||
/* 0x3556 */ u8 m3556[0x355E - 0x3556];
|
||||
/* 0x3556 */ u8 m3556[0x3558 - 0x3556];
|
||||
/* 0x3558 */ s16 m3558;
|
||||
/* 0x355A */ s16 m355A;
|
||||
/* 0x355C */ s16 m355C;
|
||||
/* 0x355E */ u16 m355E;
|
||||
/* 0x3560 */ u16 mHeldItemType;
|
||||
/* 0x3562 */ u8 m3562[0x3564 - 0x3562];
|
||||
@@ -2362,7 +2375,8 @@ public:
|
||||
/* 0x356C */ int mCameraInfoIdx;
|
||||
/* 0x3570 */ int m3570;
|
||||
/* 0x3574 */ int m3574;
|
||||
/* 0x3578 */ u8 m3578[0x3580 - 0x3578];
|
||||
/* 0x3578 */ int m3578;
|
||||
/* 0x357C */ u8 m357C[0x3580 - 0x357C];
|
||||
/* 0x3580 */ int m3580;
|
||||
/* 0x3584 */ int mCurrentGroundAttributeCode;
|
||||
/* 0x3588 */ u8 m3588[0x358C - 0x3588];
|
||||
@@ -2373,7 +2387,9 @@ public:
|
||||
/* 0x359C */ u8 m359C[0x35A0 - 0x359C];
|
||||
/* 0x35A0 */ f32 m35A0;
|
||||
/* 0x35A4 */ f32 m35A4;
|
||||
/* 0x35A8 */ u8 m35A8[0x35BC - 0x35A8];
|
||||
/* 0x35A8 */ u8 m35A8[0x35B0 - 0x35A8];
|
||||
/* 0x35B0 */ f32 m35B0;
|
||||
/* 0x35B4 */ u8 m35B4[0x35BC - 0x35B4];
|
||||
/* 0x35BC */ f32 mVelocity;
|
||||
/* 0x35C0 */ u8 m35C0[0x35C4 - 0x35C0];
|
||||
/* 0x35C4 */ f32 m35C4;
|
||||
@@ -2396,7 +2412,7 @@ public:
|
||||
/* 0x360C */ f32 mSeAnmRate;
|
||||
/* 0x3610 */ f32 m3610;
|
||||
/* 0x3614 */ int m3614;
|
||||
/* 0x3618 */ u32 mProcFlags;
|
||||
/* 0x3618 */ u32 mModeFlg;
|
||||
/* 0x361C */ u32 mMtrlSndId;
|
||||
/* 0x3620 */ u32 m3620;
|
||||
/* 0x3624 */ int m3624;
|
||||
@@ -2409,9 +2425,8 @@ public:
|
||||
/* 0x3640 */ s16 m3640;
|
||||
/* 0x3642 */ u8 m3642[0x3644 - 0x3642];
|
||||
/* 0x3644 */ f32 m3644;
|
||||
/* 0x3648 */ u8 m3648[0x3654 - 0x3648];
|
||||
/* 0x3654 */ f32 m3654;
|
||||
/* 0x3658 */ u8 m3658[0x3668 - 0x3658];
|
||||
/* 0x3648 */ Quaternion m3648;
|
||||
/* 0x3658 */ Quaternion m3658;
|
||||
/* 0x3668 */ J3DTransformInfo m3668;
|
||||
/* 0x3688 */ cXyz m3688;
|
||||
/* 0x3694 */ cXyz mOldSpeed;
|
||||
@@ -2422,15 +2437,16 @@ public:
|
||||
/* 0x36D0 */ cXyz m36D0;
|
||||
/* 0x36DC */ cXyz m36DC;
|
||||
/* 0x36E8 */ cXyz mHookshotRootPos;
|
||||
/* 0x36F4 */ u8 m36F4[0x3700 - 0x36F4];
|
||||
/* 0x36F4 */ cXyz m36F4;
|
||||
/* 0x3700 */ cXyz m3700;
|
||||
/* 0x370C */ cXyz m370C;
|
||||
/* 0x3718 */ u8 m3718[0x3724 - 0x3718];
|
||||
/* 0x3718 */ cXyz m3718;
|
||||
/* 0x3724 */ cXyz m3724;
|
||||
/* 0x3730 */ cXyz m3730;
|
||||
/* 0x373C */ u8 m373C[0x3748 - 0x373C];
|
||||
/* 0x373C */ cXyz m373C;
|
||||
/* 0x3748 */ cXyz m3748;
|
||||
/* 0x3754 */ u8 m3754[0x37E4 - 0x3754];
|
||||
/* 0x3754 */ u8 m3754[0x37B4 - 0x3754];
|
||||
/* 0x37B4 */ Mtx m37B4;
|
||||
/* 0x37E4 */ daPy_swBlur_c mSwBlur;
|
||||
/* 0x3DB8 */ daPy_footData_c mFootData[2];
|
||||
/* 0x3FE8 */ dCcD_Stts mStts;
|
||||
|
||||
@@ -100,10 +100,11 @@ public:
|
||||
/* 0x0304 */ J3DModel* mpSalvageArmModel;
|
||||
/* 0x0308 */ J3DModel* field_0x308;
|
||||
/* 0x030C */ mDoExt_3DlineMat1_c mRopeLine;
|
||||
/* 0x0341 */ u8 field_0x0348[0x034d - 0x0341];
|
||||
/* 0x034d */ u8 field_0x034d;
|
||||
/* 0x0348 */ u8 field_0x0348[0x034D - 0x0348];
|
||||
/* 0x034D */ u8 field_0x034D;
|
||||
/* 0x034E */ u8 mShipMode;
|
||||
/* 0x0358 */ u32 field_0x0358; //showing 390
|
||||
/* 0x034F */ u8 field_0x034F[0x0358 - 0x034F];
|
||||
/* 0x0358 */ u32 field_0x0358;
|
||||
/* 0x035C */ int mNextMessageID;
|
||||
/* 0x0360 */ int mShadowId;
|
||||
/* 0x0364 */ u8 field_0x0364[0x183C - 0x0364];
|
||||
|
||||
+2
-2
@@ -292,7 +292,6 @@ public:
|
||||
void SetAtMtrl(u8 mtrl) { mGObjAt.SetMtrl(mtrl); }
|
||||
void SetTgMtrl(u8 mtrl) { mGObjTg.SetMtrl(mtrl); }
|
||||
fopAc_ac_c* GetAtHitAc() { return mGObjAt.GetAc(); }
|
||||
bool ChkAtShieldHit() { return mGObjAt.ChkRPrm(1); }
|
||||
cXyz* GetAtVecP() { return mGObjAt.GetVecP(); }
|
||||
cXyz* GetTgVecP() { return mGObjTg.GetVecP(); }
|
||||
cXyz* GetTgRVecP() { return mGObjTg.GetRVecP(); }
|
||||
@@ -361,9 +360,10 @@ public:
|
||||
void SubtractCoEffCounter() { mGObjCo.SubtractEffCounter(); }
|
||||
void OnTgShieldHit() { mGObjTg.OnRPrm(2); }
|
||||
void OffTgShieldHit() { mGObjTg.OffRPrm(2); }
|
||||
bool ChkTgShieldHit() { return mGObjTg.ChkRPrm(2); }
|
||||
void OnAtShieldHit() { mGObjAt.OnRPrm(1); }
|
||||
void OffAtShieldHit() { mGObjAt.OffRPrm(1); }
|
||||
void OffTgMagneHit() { mGObjTg.OffRPrm(4); }
|
||||
bool ChkAtShieldHit() { return mGObjAt.ChkRPrm(1); }
|
||||
void SetTgRVec(cXyz& vec) { mGObjTg.SetRVec(vec); }
|
||||
void SetAtRVec(cXyz& vec) { mGObjAt.SetRVec(vec); }
|
||||
void SetTgHitPos(cXyz& pos) { mGObjTg.SetHitPos(pos); }
|
||||
|
||||
@@ -1851,6 +1851,14 @@ inline bool dComIfGp_checkPlayerStatus1(int param_0, u32 flag) {
|
||||
return g_dComIfG_gameInfo.play.checkPlayerStatus(param_0, 1, flag);
|
||||
}
|
||||
|
||||
inline void dComIfGp_setPlayerStatus0(int param_0, u32 flag) {
|
||||
g_dComIfG_gameInfo.play.setPlayerStatus(param_0, 0, flag);
|
||||
}
|
||||
|
||||
inline void dComIfGp_setPlayerStatus1(int param_0, u32 flag) {
|
||||
g_dComIfG_gameInfo.play.setPlayerStatus(param_0, 1, flag);
|
||||
}
|
||||
|
||||
inline void dComIfGp_clearPlayerStatus0(int param_0, u32 flag) {
|
||||
g_dComIfG_gameInfo.play.clearPlayerStatus(param_0, 0, flag);
|
||||
}
|
||||
|
||||
@@ -97,6 +97,10 @@ inline void mDoAud_seStart(u32 i_sfxID, Vec* i_sePos, u32 param_2, s8 i_reverb)
|
||||
mDoAud_zelAudio_c::getInterface()->seStart(i_sfxID, i_sePos, param_2, i_reverb, 1.0f, 1.0f, -1.0f, -1.0f, 0);
|
||||
}
|
||||
|
||||
inline void mDoAud_bgmSetSwordUsing(s32 param_1) {
|
||||
mDoAud_zelAudio_c::getInterface()->bgmSetSwordUsing(param_1);
|
||||
}
|
||||
|
||||
inline void mDoAud_seStop(u32 i_sfxID, s32 param_2) {
|
||||
mDoAud_zelAudio_c::getInterface()->seStop(i_sfxID, param_2);
|
||||
}
|
||||
|
||||
@@ -619,7 +619,7 @@ JKRSolidHeap * mDoExt_createSolidHeapFromSystem(u32 i_size, u32 i_alignment);
|
||||
void mDoExt_restoreCurrentHeap();
|
||||
s32 mDoExt_adjustSolidHeap(JKRSolidHeap * pHeap);
|
||||
void mDoExt_destroySolidHeap(JKRSolidHeap * pHeap);
|
||||
JKRHeap* mDoExt_setCurrentHeap(JKRHeap*);
|
||||
JKRHeap* mDoExt_setCurrentHeap(JKRHeap* pHeap);
|
||||
|
||||
JUTFont* mDoExt_getMesgFont();
|
||||
JUTFont* mDoExt_getRubyFont();
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
/**
|
||||
* d_a_kytag04.cpp
|
||||
*/
|
||||
* d_a_kytag04.cpp
|
||||
*/
|
||||
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
/**
|
||||
* d_a_kytag06.cpp
|
||||
*/
|
||||
* d_a_kytag06.cpp
|
||||
*/
|
||||
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* The original name of this file is not known, but a best guess was taken
|
||||
* based on the original names of the functions it contains.
|
||||
*/
|
||||
*/
|
||||
|
||||
#include "d/actor/d_a_player_main.h"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* The original name of this file is not known, but a best guess was taken
|
||||
* based on the original names of the functions it contains.
|
||||
*/
|
||||
*/
|
||||
|
||||
#include "d/actor/d_a_player_main.h"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* The original name of this file is not known, but a best guess was taken
|
||||
* based on the original names of the functions it contains.
|
||||
*/
|
||||
*/
|
||||
|
||||
#include "d/actor/d_a_player_main.h"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* The original name of this file is known because of an assert contained within
|
||||
* a function from this file.
|
||||
*/
|
||||
*/
|
||||
|
||||
#include "d/actor/d_a_player_main.h"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* The original name of this file is not known, but a best guess was taken
|
||||
* based on the original names of the functions it contains.
|
||||
*/
|
||||
*/
|
||||
|
||||
#include "d/actor/d_a_player_main.h"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* The original name of this file is not known, but a best guess was taken
|
||||
* based on the original names of the functions it contains.
|
||||
*/
|
||||
*/
|
||||
|
||||
#include "d/actor/d_a_player_main.h"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* The original name of this file is known because of an assert contained within
|
||||
* a function from this file.
|
||||
*/
|
||||
*/
|
||||
|
||||
#include "d/actor/d_a_player_main.h"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* The original name of this file is known because of an assert contained within
|
||||
* a function from this file.
|
||||
*/
|
||||
*/
|
||||
|
||||
#include "d/actor/d_a_player_main.h"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* The original name of this file is not known, but a best guess was taken
|
||||
* based on the original names of the functions it contains.
|
||||
*/
|
||||
*/
|
||||
|
||||
#include "d/actor/d_a_player_main.h"
|
||||
#include "f_op/f_op_camera.h"
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* The original name of this file is not known, but a best guess was taken
|
||||
* based on the original names of the functions it contains.
|
||||
*/
|
||||
*/
|
||||
|
||||
#include "d/actor/d_a_player_main.h"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* The original name of this file is known because of an assert contained within
|
||||
* a function from this file.
|
||||
*/
|
||||
*/
|
||||
|
||||
#include "d/actor/d_a_player_main.h"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* The original name of this file is not known, but a best guess was taken
|
||||
* based on the original names of the functions it contains.
|
||||
*/
|
||||
*/
|
||||
|
||||
#include "d/actor/d_a_player_main.h"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* The original name of this file is known because of an assert contained within
|
||||
* a function from this file.
|
||||
*/
|
||||
*/
|
||||
|
||||
#include "d/actor/d_a_player_main.h"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* The original name of this file is not known, but a best guess was taken
|
||||
* based on the original names of the functions it contains.
|
||||
*/
|
||||
*/
|
||||
|
||||
#include "d/actor/d_a_player_main.h"
|
||||
|
||||
|
||||
+138
-37
@@ -6,7 +6,7 @@
|
||||
* Much of Link's code is spread across various `.inc` files and included directly
|
||||
* into this one to make the file size more managable.
|
||||
* The original split locations are indicated in the map file.
|
||||
*/
|
||||
*/
|
||||
|
||||
#include "d/actor/d_a_player_main.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
@@ -2716,17 +2716,26 @@ void daPy_lk_c::setAtnList() {
|
||||
|
||||
/* 8010841C-8010848C .text setActor__16daPy_actorKeep_cFv */
|
||||
void daPy_actorKeep_c::setActor() {
|
||||
/* Nonmatching */
|
||||
if (mID != -1) {
|
||||
mActor = fopAcM_SearchByID(mID);
|
||||
if (mActor == NULL) {
|
||||
mID = -1;
|
||||
}
|
||||
} else {
|
||||
mActor = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
/* 8010848C-801084AC .text setData__16daPy_actorKeep_cFP10fopAc_ac_c */
|
||||
void daPy_actorKeep_c::setData(fopAc_ac_c*) {
|
||||
/* Nonmatching */
|
||||
void daPy_actorKeep_c::setData(fopAc_ac_c* actor) {
|
||||
mActor = actor;
|
||||
mID = fopAcM_GetID(actor);
|
||||
}
|
||||
|
||||
/* 801084AC-801084C0 .text clearData__16daPy_actorKeep_cFv */
|
||||
void daPy_actorKeep_c::clearData() {
|
||||
/* Nonmatching */
|
||||
mID = -1;
|
||||
mActor = NULL;
|
||||
}
|
||||
|
||||
/* 801084C0-80108564 .text setActorPointer__9daPy_lk_cFv */
|
||||
@@ -2910,8 +2919,53 @@ BOOL daPy_lk_c::checkEquipAnime() const {
|
||||
}
|
||||
|
||||
/* 8010C570-8010C71C .text deleteEquipItem__9daPy_lk_cFi */
|
||||
void daPy_lk_c::deleteEquipItem(int) {
|
||||
/* Nonmatching */
|
||||
void daPy_lk_c::deleteEquipItem(int param_1) {
|
||||
fopAc_ac_c* equipActor = mActorKeepEquip.getActor();
|
||||
if (param_1 != 0 && (mHeldItemType != 0x100 && mHeldItemType != 0x101)) {
|
||||
if (mHeldItemType == 0x103) {
|
||||
seStartOnlyReverb(JA_SE_LK_SW_PUTIN_S);
|
||||
} else {
|
||||
seStartOnlyReverb(JA_SE_LK_ITEM_TAKEOUT);
|
||||
}
|
||||
}
|
||||
|
||||
if (mHeldItemType == 0x103) {
|
||||
mDoAud_bgmSetSwordUsing(0);
|
||||
} else if (mHeldItemType == 0x101) {
|
||||
if (equipActor != NULL) {
|
||||
fopAcM_cancelCarryNow(equipActor);
|
||||
}
|
||||
} else if (equipActor != NULL) {
|
||||
fopAcM_delete(equipActor);
|
||||
}
|
||||
|
||||
if ((mHeldItemType == ROPE && checkRopeAnime()) ||
|
||||
(mHeldItemType == BOOMERANG && checkBoomerangAnime()) ||
|
||||
(mHeldItemType == HOOKSHOT && m_anm_heap_upper[2].mIdx == LKANM_BCK_HOOKSHOTWAIT) ||
|
||||
(checkBowItem(mHeldItemType) && checkBowAnime()))
|
||||
{
|
||||
resetActAnimeUpper(UPPER_UNK2, -1.0f);
|
||||
}
|
||||
|
||||
mActorKeepEquip.clearData();
|
||||
mHeldItemType = 0x100;
|
||||
mpHeldItemModel = NULL;
|
||||
if (mSwordAnim.getBckAnm() != NULL) {
|
||||
mSwordAnim.changeBckOnly(NULL);
|
||||
}
|
||||
m2EAC = NULL;
|
||||
mpHeldItemModelAnimTexEx = NULL;
|
||||
mpBottleContentsModel = NULL;
|
||||
mpBottleCapModel = NULL;
|
||||
mpHeldItemAnimBRK = NULL;
|
||||
mpSwordAnimBTK = NULL;
|
||||
mpSwordModel1 = NULL;
|
||||
m3454.end();
|
||||
mpSwordTipStabModel = NULL;
|
||||
m2EF8 = 0;
|
||||
m2EF4 = 0;
|
||||
m2EF0 = 0;
|
||||
offNoResetFlg1(daPyFlg1_UNK200000);
|
||||
}
|
||||
|
||||
/* 8010C71C-8010C7F4 .text setFallVoice__9daPy_lk_cFv */
|
||||
@@ -3180,7 +3234,7 @@ BOOL daPy_lk_c::checkSubjectEnd(int) {
|
||||
|
||||
/* 80112280-80112330 .text checkGuardAccept__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::checkGuardAccept() {
|
||||
if (mProcFlags & 0x40 && !checkBowAnime()) {
|
||||
if (checkModeFlg(0x40) && !checkBowAnime()) {
|
||||
u32 stageType = dStage_stagInfo_GetSTType(dComIfGp_getStageStagInfo());
|
||||
if (stageType != 2 ||
|
||||
strcmp(dComIfGp_getStartStageName(), "Ojhous") == 0 ||
|
||||
@@ -3250,28 +3304,28 @@ BOOL daPy_lk_c::commonProcInit(daPy_lk_c::daPy_PROC procID) {
|
||||
|
||||
returnKeepItemData();
|
||||
|
||||
temp_r28 = (mProcFlags & 0x40000) >> 0x12;
|
||||
temp_r28 = checkModeFlg(0x40000) >> 0x12;
|
||||
|
||||
if (mProcFlags & 0x10040820) {
|
||||
if (checkModeFlg(0x10040820)) {
|
||||
m34C2 = 0xA;
|
||||
}
|
||||
|
||||
temp_r29 = ((mProcFlags & 0x2) >> 1) ^ 1;
|
||||
temp_r29 = (checkModeFlg(0x2) >> 1) ^ 1;
|
||||
|
||||
mCurProcID = procID;
|
||||
mCurProcFunc = procInit.mProcFunc;
|
||||
m3598 = 0.0f;
|
||||
mProcFlags = procInit.mProcFlags;
|
||||
mModeFlg = procInit.mProcFlags;
|
||||
|
||||
if (m34C2 == 1) {
|
||||
m34C2 = 2;
|
||||
}
|
||||
|
||||
if (mProcFlags & 0x10040820) {
|
||||
if (checkModeFlg(0x10040820)) {
|
||||
m34C2 = 0xB;
|
||||
}
|
||||
|
||||
if (mProcFlags & 0x20) {
|
||||
if (checkModeFlg(0x20)) {
|
||||
mAcch.OffLineCheck();
|
||||
} else {
|
||||
mAcch.OnLineCheck();
|
||||
@@ -3298,20 +3352,20 @@ BOOL daPy_lk_c::commonProcInit(daPy_lk_c::daPy_PROC procID) {
|
||||
shape_angle.z = 0;
|
||||
m34EC = 0;
|
||||
|
||||
if (!(checkEquipAnime() && (mProcFlags & 0x4)) && !(mProcFlags & 0x1000)) {
|
||||
if (!(checkGrabAnime() || checkBoomerangThrowAnime()) || !(mProcFlags & 0x4000)) {
|
||||
if (!(checkEquipAnime() && checkModeFlg(0x4)) && !checkModeFlg(0x1000)) {
|
||||
if (!(checkGrabAnime() || checkBoomerangThrowAnime()) || !checkModeFlg(0x4000)) {
|
||||
resetActAnimeUpper(UPPER_UNK2, -1.0f);
|
||||
if (!(mProcFlags & 0x00100000)) {
|
||||
if (!checkModeFlg(0x00100000)) {
|
||||
freeGrabItem();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!(mProcFlags & 0x00100000) && !checkGrabAnime() && mActorKeepGrab.getActor()) {
|
||||
if (!checkModeFlg(0x00100000) && !checkGrabAnime() && mActorKeepGrab.getActor()) {
|
||||
freeGrabItem();
|
||||
}
|
||||
|
||||
if (temp_r29 && (mProcFlags & 2)) {
|
||||
if (temp_r29 && checkModeFlg(0x2)) {
|
||||
m3688 = current.pos;
|
||||
m35F0 = m3688.y;
|
||||
m35F4 = m3688.y;
|
||||
@@ -3322,7 +3376,7 @@ BOOL daPy_lk_c::commonProcInit(daPy_lk_c::daPy_PROC procID) {
|
||||
mSwimTailEcallBack[1].onEnd();
|
||||
}
|
||||
|
||||
if (!(mProcFlags & 0x40000)) {
|
||||
if (!checkModeFlg(0x40000)) {
|
||||
m3608 = 0.0f;
|
||||
}
|
||||
|
||||
@@ -3354,13 +3408,13 @@ BOOL daPy_lk_c::commonProcInit(daPy_lk_c::daPy_PROC procID) {
|
||||
|
||||
m35E8 = 0.0f;
|
||||
|
||||
if (!(mProcFlags & 0x800) && mCurProcID != PROC_ROPE_SUBJECT_e && mCurProcID != PROC_ROPE_MOVE_e) {
|
||||
if (!checkModeFlg(0x800) && mCurProcID != PROC_ROPE_SUBJECT_e && mCurProcID != PROC_ROPE_MOVE_e) {
|
||||
freeRopeItem();
|
||||
}
|
||||
if (!(mProcFlags & 0x200)) {
|
||||
if (!checkModeFlg(0x200)) {
|
||||
freeHookshotItem();
|
||||
}
|
||||
if (temp_r28 && !(mProcFlags & 0x40000)) {
|
||||
if (temp_r28 && !checkModeFlg(0x40000)) {
|
||||
swimOutAfter(0);
|
||||
}
|
||||
|
||||
@@ -3981,26 +4035,26 @@ void daPy_lk_c::setBgCheckParam() {
|
||||
mAcchCir[0].SetWallH(-125.0f);
|
||||
mAcchCir[1].SetWallH(-89.9f);
|
||||
mAcchCir[2].SetWallH(0.0f);
|
||||
} else if (mCurProcID == PROC_LARGE_DAMAGE_WALL_e || mProcFlags & 0x410000) {
|
||||
} else if (mCurProcID == PROC_LARGE_DAMAGE_WALL_e || checkModeFlg(0x410000)) {
|
||||
mAcchCir[0].SetWallR(5.0f);
|
||||
} else if (mProcFlags & 0x200000) {
|
||||
} else if (checkModeFlg(0x200000)) {
|
||||
mAcchCir[0].SetWallR(40.0f);
|
||||
} else if (mProcFlags & 0x10) {
|
||||
} else if (checkModeFlg(0x10)) {
|
||||
mAcchCir[0].SetWallR(daPy_HIO_wall_c0::m.field_0x50);
|
||||
if (checkNoResetFlg0(daPyFlg0_UNK10000)) {
|
||||
mAcchCir[2].SetWallH(89.9f);
|
||||
}
|
||||
} else if (mProcFlags & 0x40000) {
|
||||
} else if (checkModeFlg(0x40000)) {
|
||||
mAcchCir[0].SetWallR(67.5f);
|
||||
mAcchCir[0].SetWallH(-5.0f);
|
||||
mAcchCir[1].SetWallH(0.0f);
|
||||
mAcchCir[2].SetWallH(20.0f);
|
||||
} else if (mProcFlags & 0x1000000 && mCurProcID != PROC_CRAWL_END_e) {
|
||||
} else if (checkModeFlg(0x1000000) && mCurProcID != PROC_CRAWL_END_e) {
|
||||
mAcchCir[0].SetWallR(30.0f);
|
||||
mAcchCir[0].SetWallH(10.0f);
|
||||
mAcchCir[1].SetWallH(50.0f);
|
||||
mAcchCir[2].SetWallH(50.0f);
|
||||
} else if (mProcFlags & 0x20) {
|
||||
} else if (checkModeFlg(0x20)) {
|
||||
mAcchCir[0].SetWallR(12.5f);
|
||||
mAcchCir[0].SetWallH(25.0f);
|
||||
mAcchCir[1].SetWallH(25.0f);
|
||||
@@ -4161,8 +4215,11 @@ BOOL daPy_lk_c::startRestartRoom(u32 param_1, int eventInfoIdx, f32 param_3, int
|
||||
}
|
||||
|
||||
/* 80120BBC-80120BE0 .text checkSuccessGuard__9daPy_lk_cFi */
|
||||
BOOL daPy_lk_c::checkSuccessGuard(int) {
|
||||
/* Nonmatching */
|
||||
BOOL daPy_lk_c::checkSuccessGuard(int param_1) {
|
||||
if (!mCyl.ChkTgShieldHit() || param_1 >= 8) {
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 80120BE0-80120F94 .text setShapeAngleOnGround__9daPy_lk_cFv */
|
||||
@@ -4425,8 +4482,13 @@ void daPy_lk_c::createAnimeHeap(JKRSolidHeap**, daPy_lk_c::daPy_HEAP_TYPE) {
|
||||
}
|
||||
|
||||
/* 80124A40-80124B30 .text initModel__9daPy_lk_cFPP8J3DModeliUl */
|
||||
J3DModelData* daPy_lk_c::initModel(J3DModel**, int, u32) {
|
||||
/* Nonmatching */
|
||||
J3DModelData* daPy_lk_c::initModel(J3DModel** i_model, int i_fileIndex, u32 i_differedDlistFlag) {
|
||||
J3DModelData* tmp_modelData;
|
||||
tmp_modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, i_fileIndex);
|
||||
JUT_ASSERT(21340, tmp_modelData != 0);
|
||||
*i_model = mDoExt_J3DModel__create(tmp_modelData, 0x00080000, i_differedDlistFlag);
|
||||
JUT_ASSERT(21344, *i_model != 0);
|
||||
return tmp_modelData;
|
||||
}
|
||||
|
||||
/* 80124B30-80124BE4 .text entryBtk__9daPy_lk_cFP12J3DModelDatai */
|
||||
@@ -4619,7 +4681,7 @@ void daPy_lk_c::playerInit() {
|
||||
current.angle.z = 0;
|
||||
shape_angle.z = 0;
|
||||
m3526 = 8;
|
||||
m3654 = 1.0f;
|
||||
m3648.w = 1.0f;
|
||||
resetSeAnime();
|
||||
|
||||
ResTIMG* tmp_tex = (ResTIMG*)dComIfG_getObjectRes("Always", ALWAYS_I4_BALL128B);
|
||||
@@ -4831,8 +4893,47 @@ void daPy_lk_c::setMoveAnime(f32, f32, f32, daPy_lk_c::daPy_ANM, daPy_lk_c::daPy
|
||||
}
|
||||
|
||||
/* 8012821C-80128494 .text setSingleMoveAnime__9daPy_lk_cFQ29daPy_lk_c8daPy_ANMffsf */
|
||||
void daPy_lk_c::setSingleMoveAnime(daPy_lk_c::daPy_ANM, f32, f32, s16, f32) {
|
||||
/* Nonmatching */
|
||||
BOOL daPy_lk_c::setSingleMoveAnime(daPy_lk_c::daPy_ANM param_1, f32 param_2, f32 param_3, s16 param_4, f32 param_5) {
|
||||
const daPy_anmIndex_c* anmData = getAnmData(param_1);
|
||||
J3DAnmTransform* under_bck;
|
||||
J3DAnmTransform* upper_bck;
|
||||
getUnderUpperAnime(anmData, &under_bck, &upper_bck, 0, 0xB400);
|
||||
m_anm_heap_under[1].mIdx = -1;
|
||||
m_anm_heap_upper[1].mIdx = -1;
|
||||
mAnmRatioUpper[0].setRatio(1.0f);
|
||||
mAnmRatioUpper[1].setRatio(0.0f);
|
||||
mAnmRatioUnder[0].setRatio(1.0f);
|
||||
mAnmRatioUnder[1].setRatio(0.0f);
|
||||
mAnmRatioUnder[0].setAnmTransform(under_bck);
|
||||
mAnmRatioUnder[1].setAnmTransform(NULL);
|
||||
|
||||
s16 maxFrame = param_4 < 0 ? under_bck->getFrameMax() : param_4;
|
||||
f32 f29 = param_2 < 0.0f ? maxFrame-0.001f : param_3;
|
||||
setFrameCtrl(&mFrameCtrlUnder[0], under_bck->getAttribute(), param_3, maxFrame, param_2, f29);
|
||||
under_bck->setFrame(f29);
|
||||
|
||||
if (upper_bck) {
|
||||
mAnmRatioUpper[0].setAnmTransform(upper_bck);
|
||||
maxFrame = param_4 < 0 ? upper_bck->getFrameMax() : param_4;
|
||||
f29 = param_2 < 0.0f ? maxFrame-0.001f : param_3;
|
||||
// Note: It uses under_bck->getAttribute() again here instead of using upper_bck->getAttribute().
|
||||
setFrameCtrl(&mFrameCtrlUpper[0], under_bck->getAttribute(), param_3, maxFrame, param_2, f29);
|
||||
upper_bck->setFrame(f29);
|
||||
} else {
|
||||
mAnmRatioUpper[0].setAnmTransform(under_bck);
|
||||
}
|
||||
mAnmRatioUpper[1].setAnmTransform(NULL);
|
||||
|
||||
if (param_5 >= 0.0f) {
|
||||
m_old_fdata->initOldFrameMorf(param_5, 0, 0x2A);
|
||||
}
|
||||
|
||||
setTextureAnime(mAnmDataTable[param_1].mTexAnmIdx, 0);
|
||||
setHandModel(param_1);
|
||||
setSeAnime(&m_anm_heap_under[0], &mFrameCtrlUnder[0]);
|
||||
m34C3 = 0;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 80128494-801285F8 .text setActAnimeUpper__9daPy_lk_cFUsQ29daPy_lk_c10daPy_UPPERffsf */
|
||||
@@ -4862,7 +4963,7 @@ void daPy_lk_c::setHandModel(daPy_lk_c::daPy_ANM anmIdx) {
|
||||
}
|
||||
|
||||
/* 801288A0-8012894C .text getAnmData__9daPy_lk_cCFQ29daPy_lk_c8daPy_ANM */
|
||||
void daPy_lk_c::getAnmData(daPy_lk_c::daPy_ANM) const {
|
||||
daPy_anmIndex_c* daPy_lk_c::getAnmData(daPy_lk_c::daPy_ANM) const {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* The original name of this file is not known, but a best guess was taken
|
||||
* based on the original names of the functions it contains.
|
||||
*/
|
||||
*/
|
||||
|
||||
#include "d/actor/d_a_player_main.h"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* The original name of this file is not known, but a best guess was taken
|
||||
* based on the original names of the functions it contains.
|
||||
*/
|
||||
*/
|
||||
|
||||
#include "d/actor/d_a_player_main.h"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* The original name of this file is not known, but a best guess was taken
|
||||
* based on the original names of the functions it contains.
|
||||
*/
|
||||
*/
|
||||
|
||||
#include "d/actor/d_a_player_main.h"
|
||||
|
||||
|
||||
@@ -8,9 +8,10 @@
|
||||
*
|
||||
* The original name of this file is not known, but a best guess was taken
|
||||
* based on the original names of the functions it contains.
|
||||
*/
|
||||
*/
|
||||
|
||||
#include "d/actor/d_a_player_main.h"
|
||||
#include "d/actor/d_a_ship.h"
|
||||
|
||||
/* 8013F848-8013F8AC .text shipSpecialDemoStart__9daPy_lk_cFv */
|
||||
void daPy_lk_c::shipSpecialDemoStart() {
|
||||
@@ -33,13 +34,40 @@ void daPy_lk_c::setShipRideArmAngle(int, J3DTransformInfo*) {
|
||||
}
|
||||
|
||||
/* 8013FE78-8013FEF4 .text checkShipRideUseItem__9daPy_lk_cFi */
|
||||
int daPy_lk_c::checkShipRideUseItem(int) {
|
||||
/* Nonmatching */
|
||||
int daPy_lk_c::checkShipRideUseItem(int param_1) {
|
||||
if (dComIfGp_checkPlayerStatus0(0, 0x10000) && dComIfGp_getShipActor() != NULL) {
|
||||
if (param_1 != 0) {
|
||||
deleteEquipItem(0);
|
||||
}
|
||||
if (checkShipNotNormalMode()) {
|
||||
return 2;
|
||||
} else {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* 8013FEF4-8013FFC0 .text initShipRideUseItem__9daPy_lk_cFii */
|
||||
void daPy_lk_c::initShipRideUseItem(int, int) {
|
||||
/* Nonmatching */
|
||||
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
|
||||
mGravity = 0.0f;
|
||||
speed.y = 0.0f;
|
||||
if (param_1 == 1) {
|
||||
setOldRootQuaternion(0, 0x4000, 0);
|
||||
}
|
||||
dComIfGp_setPlayerStatus0(0, 0x10000);
|
||||
if (param_2 == 2) {
|
||||
setShipRidePosUseItem();
|
||||
} else if (param_2 == 1) {
|
||||
setShipRidePos(1);
|
||||
} else {
|
||||
setShipRidePos(0);
|
||||
}
|
||||
onModeFlg(0x2000);
|
||||
}
|
||||
|
||||
/* 8013FFC0-80140018 .text setShipRidePosUseItem__9daPy_lk_cFv */
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* The original name of this file is not known, but a best guess was taken
|
||||
* based on the original names of the functions it contains.
|
||||
*/
|
||||
*/
|
||||
|
||||
#include "d/actor/d_a_player_main.h"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* The original name of this file is known because of an assert contained within
|
||||
* a function from this file.
|
||||
*/
|
||||
*/
|
||||
|
||||
#include "d/actor/d_a_player_main.h"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* The original name of this file is not known, but a best guess was taken
|
||||
* based on the original names of the functions it contains.
|
||||
*/
|
||||
*/
|
||||
|
||||
#include "d/actor/d_a_player_main.h"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* The original name of this file is not known, but a best guess was taken
|
||||
* based on the original names of the functions it contains.
|
||||
*/
|
||||
*/
|
||||
|
||||
#include "d/actor/d_a_player_main.h"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* The original name of this file is not known, but a best guess was taken
|
||||
* based on the original names of the functions it contains.
|
||||
*/
|
||||
*/
|
||||
|
||||
#include "d/actor/d_a_player_main.h"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* The original name of this file is not known, but a best guess was taken
|
||||
* based on the original names of the functions it contains.
|
||||
*/
|
||||
*/
|
||||
|
||||
#include "d/actor/d_a_player_main.h"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user