More d_a_player_main progress

This commit is contained in:
LagoLunatic
2023-10-23 18:06:01 -04:00
parent 9e9f2b3d41
commit ad39e526f2
8 changed files with 395 additions and 282 deletions
@@ -167,14 +167,14 @@ public:
virtual ~J3DMaterialAnm() {};
virtual void calc(J3DMaterial*) const;
const J3DTexMtxAnm& getTexMtxAnm(int i) const { return *mTexMtxAnm[i]; }
const J3DTexMtxAnm* getTexMtxAnm(int i) const { return mTexMtxAnm[i]; }
private:
/* 0x04 */ J3DMatColorAnm * mMatColorAnm[2];
/* 0x14 */ J3DTexMtxAnm * mTexMtxAnm[8];
/* 0x54 */ J3DTexNoAnm * mTexNoAnm[8];
/* 0xB4 */ J3DTevColorAnm * mTevColorAnm[4];
/* 0xD4 */ J3DTevKColorAnm * mTevKColorAnm[4];
}; // Size: 0xF4
/* 0x0C */ J3DTexMtxAnm * mTexMtxAnm[8];
/* 0x2C */ J3DTexNoAnm * mTexNoAnm[8];
/* 0x4C */ J3DTevColorAnm * mTevColorAnm[4];
/* 0x5C */ J3DTevKColorAnm * mTevKColorAnm[4];
}; // Size: 0x6C
#endif /* J3DMATERIALANM_H */
+8 -2
View File
@@ -19,6 +19,10 @@ public:
static u8 m_eye_move_flg;
static u8 m_maba_timer;
static u8 m_morf_frame;
public:
/* 0x6C */ cXy mEyePosOld;
/* 0x74 */ cXy mEyePos;
};
class daPy_mtxFollowEcallBack_c : public dPa_levelEcallBack {
@@ -86,6 +90,7 @@ public:
daPyFlg0_PUSH_PULL_KEEP = 0x00000800,
daPyFlg0_UNK1000 = 0x00001000,
daPyFlg0_UNK4000 = 0x00004000,
daPyFlg0_UNK10000 = 0x00010000,
daPyFlg0_UNK200000 = 0x00200000,
daPyFlg0_EQUIP_HEAVY_BOOTS = 0x02000000,
daPyFlg0_NO_DRAW = 0x08000000,
@@ -95,6 +100,7 @@ public:
enum daPy_FLG1 {
daPyFlg1_EQUIP_DRAGON_SHIELD = 0x00000001,
daPyFlg1_NPC_CALL_COMMAND = 0x00000002,
daPyFlg1_UNK8 = 0x00000008,
daPyFlg1_FORCE_VOMIT_JUMP = 0x00000010,
daPyFlg1_NPC_NOT_CHANGE = 0x00000040,
daPyFlg1_UNK80 = 0x00000080,
@@ -173,6 +179,8 @@ public:
void offPlayerNoDraw() { offNoResetFlg0(daPyFlg0_NO_DRAW); }
void onHeavyState() { onNoResetFlg0(daPyFlg0_HEAVY_STATE); }
void offHeavyState() { offNoResetFlg0(daPyFlg0_HEAVY_STATE); }
bool getHeavyState() { return checkNoResetFlg0(daPyFlg0_HEAVY_STATE); }
bool getHeavyStateAndBoots() { return checkNoResetFlg0(static_cast<daPy_FLG0>(daPyFlg0_HEAVY_STATE | daPyFlg0_EQUIP_HEAVY_BOOTS)); }
void onNoResetFlg1(daPy_FLG1 flag) { mNoResetFlg1 |= flag; }
void offNoResetFlg1(daPy_FLG1 flag) { mNoResetFlg1 &= ~flag; }
@@ -220,9 +228,7 @@ public:
// checkUseArrowEffect__9daPy_py_cCFv
// checkNpcNotChange__9daPy_py_cCFv
// checkFinalMasterSwordEquip__9daPy_py_cCFv
// getHeavyState__9daPy_py_cFv
// checkEquipHoverBoots__9daPy_py_cCFv
// getHeavyStateAndBoots__9daPy_py_cFv
// onNpcCallCommand__9daPy_py_cFv
// onForceVomitJumpShort__9daPy_py_cFv
// onNoFallVoice__9daPy_py_cFv
+212 -167
View File
@@ -70,6 +70,9 @@ public:
~daPy_footEffect_c() {}
daPy_footEffect_c() {}
dPa_smokeEcallBack* getSmokeCallBack() { return &mSmokeCb; }
dPa_followEcallBack* getOtherCallBack() { return &mFollowCb; }
/* 0x00 */ dPa_smokeEcallBack mSmokeCb;
/* 0x20 */ dPa_followEcallBack mFollowCb;
/* 0x34 */ u8 field_0x34[0x4C - 0x34];
@@ -1066,8 +1069,8 @@ public:
void setAnimeUnequipItem(u16);
void setAnimeUnequip();
void checkBossGomaStage();
void checkSingleItemEquipAnime() const;
void checkItemEquipAnime() const;
BOOL checkSingleItemEquipAnime() const;
BOOL checkItemEquipAnime() const;
BOOL checkEquipAnime() const;
void deleteEquipItem(int);
void setFallVoice();
@@ -1107,8 +1110,8 @@ public:
void getDamageVec(dCcD_GObjInf*);
void setOldRootQuaternion(s16, s16, s16);
void checkRestHPAnime();
void checkHeavyStateOn();
void checkBottleItem(int) const;
BOOL checkHeavyStateOn();
BOOL checkBottleItem(int) const;
void checkDrinkBottleItem(int) const;
void checkOpenBottleItem(int) const;
BOOL checkBowItem(int) const;
@@ -1176,7 +1179,7 @@ public:
void procBackJump();
void procBackJumpLand_init();
void procBackJumpLand();
void checkAutoJumpFlying() const;
int checkAutoJumpFlying() const;
void procAutoJump_init();
void procAutoJump();
void procLand_init(f32, int);
@@ -1493,7 +1496,7 @@ public:
void procCrawlAutoMove();
void procCrawlEnd_init(int, s16, s16);
void procCrawlEnd();
void checkGrabSpecialHeavyState();
BOOL checkGrabSpecialHeavyState();
void setWeaponBlur();
BOOL checkGrabBarrelSearch(int);
void setGrabItemPos();
@@ -1812,6 +1815,9 @@ public:
bool checkBoomerangCatchAnime() const { return m_anm_heap_upper[2].mIdx == LKANM_BCK_BOOMCATCH; };
bool checkBoomerangThrowAnime() const { return m_anm_heap_upper[2].mIdx == LKANM_BCK_BOOMTHROW; };
bool checkBoomerangReadyAnime() const { return m_anm_heap_upper[2].mIdx == LKANM_BCK_BOOMWAIT; };
s16 checkTinkleShield() const { return mTinkleShieldTimer; }
void setTinkleShield(s16 time) { mTinkleShieldTimer = time; }
bool checkNoDamageMode() const { return checkEquipDragonShield() || checkTinkleShield() != 0; }
virtual MtxP getLeftHandMatrix() { return mpCLModel->getAnmMtx(0x08); } // cl_LhandA joint
virtual MtxP getRightHandMatrix() { return mpCLModel->getAnmMtx(0x0C); } // cl_RhandA joint
@@ -1856,17 +1862,18 @@ public:
/* 0x032C */ J3DModel* mpCLModel;
/* 0x0330 */ J3DModel* mpKatsuraModel;
/* 0x0334 */ J3DModel* mpYamuModel;
/* 0x0338 */ u8 field_0x0338[0x035C - 0x0338];
/* 0x035C */ J3DAnmTexPattern* field_0x035c;
/* 0x0360 */ u8 field_0x0360[0x0364 - 0x0360];
/* 0x0338 */ ResTIMG* m0338;
/* 0x033C */ ResTIMG m033C;
/* 0x035C */ J3DAnmTexPattern* m035C;
/* 0x0360 */ J3DTexNoAnm* mpTexNoAnm;
/* 0x0364 */ J3DAnmTextureSRTKey* mpTexScrollResData;
/* 0x0368 */ J3DTexMtxAnm* mpTexMtxAnm;
/* 0x036C */ daPy_matAnm_c* mpTexEyeScroll[2];
/* 0x0374 */ J3DShape* mpZOffBlendShape[4];
/* 0x0384 */ J3DShape* mpZOffNoneShape[4];
/* 0x0394 */ J3DShape* mpZOnShape[4];
/* 0x03A4 */ J3DShape* field_0x03a4;
/* 0x03A8 */ J3DShape* field_0x03a8;
/* 0x03A4 */ J3DShape* m03A4;
/* 0x03A8 */ J3DShape* m03A8;
/* 0x03AC */ dBgS_AcchCir mAcchCir[3];
/* 0x046C */ dBgS_LinkAcch mAcch;
/* 0x0630 */ dBgS_LinkLinChk mLinkLinChk;
@@ -1876,7 +1883,7 @@ public:
/* 0x07C8 */ dBgS_LinkRoofChk mRoofChk;
/* 0x0814 */ dBgS_ArrowLinChk mArrowLinChk;
/* 0x0880 */ dBgS_MirLightLinChk mMirLightLinChk;
/* 0x08EC */ dBgS_ObjGndChk_Spl field_0x08EC;
/* 0x08EC */ dBgS_ObjGndChk_Spl m08EC;
/* 0x0940 */ cBgS_PolyInfo mPolyInfo;
/* 0x0950 */ daPy_HIO_c* m_HIO;
/* 0x0954 */ J3DModel* mpHandsModel;
@@ -1901,7 +1908,7 @@ public:
/* 0x2E90 */ JKRSolidHeap* mpItemHeaps[2];
/* 0x2E98 */ J3DModel* mpHeldItemModel;
/* 0x2E9C */ mDoExt_bckAnm mSwordAnim;
/* 0x2EAC */ u8 field_0x2EAC[0x2EB0 - 0x2EAC];
/* 0x2EAC */ u8 m2EAC[0x2EB0 - 0x2EAC];
/* 0x2EB0 */ J3DAnmTevRegKey* mpBombBrk;
/* 0x2EB4 */ J3DAnmTevRegKey* mpGwp00BrkData;
/* 0x2EB8 */ J3DAnmTextureSRTKey* mpGwp00BtkData;
@@ -1909,7 +1916,7 @@ public:
/* 0x2EC0 */ J3DAnmTextureSRTKey* mpIceArrowBtk;
/* 0x2EC4 */ J3DAnmTextureSRTKey* mpLightArrowBtk;
/* 0x2EC8 */ J3DAnmTextureSRTKey* mpGicer01Btk;
/* 0x2ECC */ JKRSolidHeap* field_0x2ECC;
/* 0x2ECC */ JKRSolidHeap* m2ECC;
/* 0x2ED0 */ void* m_item_bck_buffer;
/* 0x2ED4 */ J3DAnmTextureSRTKey* mpHeldItemModelAnimTexEx;
/* 0x2ED8 */ J3DAnmTextureSRTKey* mpSwordAnimBTK;
@@ -1917,11 +1924,11 @@ public:
/* 0x2EE0 */ J3DModel* mpBottleContentsModel;
/* 0x2EE4 */ J3DModel* mpBottleCapModel;
/* 0x2EE8 */ J3DModel* mpSwordModel1;
/* 0x2EEC */ u8 field_0x2EEC[0x2EF0 - 0x2EEC];
/* 0x2EF0 */ J3DAnmColor* field_0x2ef0;
/* 0x2EF4 */ J3DAnmTextureSRTKey* field_0x2ef4;
/* 0x2EF8 */ J3DAnmTevRegKey* field_0x2ef8;
/* 0x2EFC */ mDoExt_brkAnm field_0x2efc;
/* 0x2EEC */ J3DModel* mpSwordTipStabModel;
/* 0x2EF0 */ J3DAnmColor* m2EF0;
/* 0x2EF4 */ J3DAnmTextureSRTKey* m2EF4;
/* 0x2EF8 */ J3DAnmTevRegKey* m2EF8;
/* 0x2EFC */ mDoExt_brkAnm m2EFC;
/* 0x2F14 */ J3DModel* mpSuimenMunyaModel;
/* 0x2F18 */ J3DAnmTextureSRTKey* mpSuimenMunyaBtk;
/* 0x2F1C */ J3DModel* mpYuchw00Model;
@@ -1958,183 +1965,221 @@ public:
/* 0x31B0 */ fopAc_ac_c* mpAttnActorZ;
/* 0x31B4 */ mDoExt_MtxCalcOldFrame* m_old_fdata;
/* 0x31B8 */ s16 mTexAnimeResIdx;
/* 0x31BA */ s16 field_0x31ba;
/* 0x31BC */ s16 field_0x31bc;
/* 0x31BE */ u8 field_0x31BE[0x31C0 - 0x31BE];
/* 0x31BA */ s16 m31BA;
/* 0x31BC */ s16 m31BC;
/* 0x31BE */ u16 m31BE;
/* 0x31C0 */ void* mpTextureAnimeResData;
/* 0x31C4 */ JKRSolidHeap* mpTextureAnimeResHeap;
/* 0x31C8 */ u16 mTexScrollResIdx;
/* 0x31CA */ s16 field_0x31ca;
/* 0x31CC */ s16 field_0x31cc;
/* 0x31CE */ s16 field_0x31ce;
/* 0x31CA */ s16 m31CA;
/* 0x31CC */ s16 m31CC;
/* 0x31CE */ s16 m31CE;
/* 0x31D0 */ void* mpTextureScrollResData;
/* 0x31D4 */ JKRSolidHeap* mpTextureScrollResHeap;
/* 0x31D8 */ int mCurProcID;
/* 0x31DC */ int (daPy_lk_c::*mCurProcFunc)();
/* 0x31E8 */ daPy_footEffect_c field_0x31e8[2];
/* 0x3280 */ dPa_rippleEcallBack field_0x3280;
/* 0x31E8 */ daPy_footEffect_c m31E8[2];
/* 0x3280 */ dPa_rippleEcallBack m3280;
/* 0x3294 */ daPy_swimTailEcallBack_c mSwimTailEcallBack[2];
/* 0x32E4 */ daPy_mtxFollowEcallBack_c field_0x32e4;
/* 0x32F0 */ daPy_mtxFollowEcallBack_c field_0x32f0;
/* 0x32E4 */ daPy_mtxFollowEcallBack_c m32E4;
/* 0x32F0 */ daPy_mtxFollowEcallBack_c m32F0;
/* 0x32FC */ dPa_smokeEcallBack mSmokeEcallBack;
/* 0x331C */ dPa_cutTurnEcallBack_c field_0x331C;
/* 0x332C */ dPa_cutTurnEcallBack_c field_0x332C;
/* 0x333C */ dPa_cutTurnEcallBack_c field_0x333C;
/* 0x334C */ daPy_waterDropEcallBack_c field_0x334C;
/* 0x336C */ daPy_waterDropEcallBack_c field_0x336C;
/* 0x338C */ daPy_followEcallBack_c field_0x338c;
/* 0x33A8 */ daPy_mtxPosFollowEcallBack_c field_0x33a8;
/* 0x33B8 */ daPy_dmEcallBack_c field_0x33b8[4];
/* 0x33E8 */ daPy_mtxFollowEcallBack_c field_0x33E8;
/* 0x331C */ dPa_cutTurnEcallBack_c m331C;
/* 0x332C */ dPa_cutTurnEcallBack_c m332C;
/* 0x333C */ dPa_cutTurnEcallBack_c m333C;
/* 0x334C */ daPy_waterDropEcallBack_c m334C;
/* 0x336C */ daPy_waterDropEcallBack_c m336C;
/* 0x338C */ daPy_followEcallBack_c m338C;
/* 0x33A8 */ daPy_mtxPosFollowEcallBack_c m33A8;
/* 0x33B8 */ daPy_dmEcallBack_c m33B8[4];
/* 0x33E8 */ daPy_mtxFollowEcallBack_c m33E8;
/* 0x33F4 */ daPy_fanSwingEcallBack_c mFanSwingCb;
/* 0x3400 */ daPy_mtxPosFollowEcallBack_c field_0x3400;
/* 0x3410 */ daPy_followEcallBack_c field_0x3410;
/* 0x342C */ daPy_mtxFollowEcallBack_c field_0x342C;
/* 0x3438 */ daPy_followEcallBack_c field_0x3438;
/* 0x3454 */ daPy_mtxFollowEcallBack_c field_0x3454;
/* 0x3460 */ daPy_mtxPosFollowEcallBack_c field_0x3460[2];
/* 0x3400 */ daPy_mtxPosFollowEcallBack_c m3400;
/* 0x3410 */ daPy_followEcallBack_c m3410;
/* 0x342C */ daPy_mtxFollowEcallBack_c m342C;
/* 0x3438 */ daPy_followEcallBack_c m3438;
/* 0x3454 */ daPy_mtxFollowEcallBack_c m3454;
/* 0x3460 */ daPy_mtxPosFollowEcallBack_c m3460[2];
/* 0x3480 */ dAttention_c* mpAttention;
/* 0x3484 */ dAttList_c* mpAttnEntryA;
/* 0x3488 */ dAttList_c* mpAttnEntryX;
/* 0x348C */ dAttList_c* mpAttnEntryY;
/* 0x3490 */ dAttList_c* mpAttnEntryZ;
/* 0x3494 */ u8 field_0x3494[0x3498 - 0x3494];
/* 0x3498 */ LIGHT_INFLUENCE field_0x3498;
/* 0x34B8 */ u8 field_0x34B8[0x34B9 - 0x34B8];
/* 0x3494 */ char* m3494;
/* 0x3498 */ LIGHT_INFLUENCE m3498;
/* 0x34B8 */ u8 m34B8;
/* 0x34B9 */ u8 mFrontWallType;
/* 0x34BA */ u8 field_0x34BA[0x34BB - 0x34BA];
/* 0x34BA */ u8 m34BA;
/* 0x34BB */ u8 mCurrItemHeapIdx;
/* 0x34BC */ u8 field_0x34BC[0x34BD - 0x34BC];
/* 0x34BC */ u8 m34BC;
/* 0x34BD */ u8 mLastUsedEquipItem;
/* 0x34BE */ u8 field_0x34BE[0x34BF - 0x34BE];
/* 0x34BF */ s8 field_0x34bf;
/* 0x34C0 */ u8 field_0x34c0;
/* 0x34C1 */ u8 field_0x34c1;
/* 0x34C2 */ u8 field_0x34c2;
/* 0x34C3 */ u8 field_0x34c3;
/* 0x34C4 */ u8 field_0x34c4;
/* 0x34C5 */ u8 field_0x34c5;
/* 0x34C6 */ u8 field_0x34C6[0x34C7 - 0x34C6];
/* 0x34BE */ u8 m34BE;
/* 0x34BF */ s8 mReverb;
/* 0x34C0 */ u8 m34C0;
/* 0x34C1 */ u8 m34C1;
/* 0x34C2 */ u8 m34C2;
/* 0x34C3 */ u8 m34C3;
/* 0x34C4 */ u8 m34C4;
/* 0x34C5 */ u8 m34C5;
/* 0x34C6 */ u8 m34C6;
/* 0x34C7 */ u8 mActivePlayerBombs;
/* 0x34C8 */ u8 mPressedButtonsBitfield;
/* 0x34C9 */ u8 field_0x34C9[0x34CB - 0x34C9];
/* 0x34CB */ u8 field_0x34CB;
/* 0x34CC */ u8 field_0x34D0[0x34D0 - 0x34CC];
/* 0x34D0 */ s16 field_0x34d0;
/* 0x34D2 */ s16 field_0x34d2;
/* 0x34D4 */ s16 field_0x34d4;
/* 0x34D6 */ s16 field_0x34d6;
/* 0x34D8 */ s16 field_0x34d8;
/* 0x34DA */ s16 field_0x34da;
/* 0x34DC */ u8 field_0x34DC[0x34DE - 0x34DC];
/* 0x34DE */ s16 field_0x34de;
/* 0x34E0 */ s16 field_0x34E0;
/* 0x34E2 */ s16 field_0x34E2;
/* 0x34E4 */ s16 field_0x34E4;
/* 0x34E6 */ s16 field_0x34e6;
/* 0x34E8 */ s16 field_0x34E8;
/* 0x34EA */ s16 field_0x34EA;
/* 0x34EC */ s16 field_0x34EC;
/* 0x34EE */ u16 field_0x34EE;
/* 0x34F0 */ u16 field_0x34F0;
/* 0x34F2 */ s16 field_0x34F2;
/* 0x34F4 */ s16 field_0x34F4;
/* 0x34F6 */ u8 field_0x34F6[0x3522 - 0x34F6];
/* 0x3522 */ s16 field_0x3522;
/* 0x3524 */ u8 field_0x3524[0x352C - 0x3524];
/* 0x352C */ s16 field_0x352c;
/* 0x352E */ s16 field_0x352e;
/* 0x3530 */ s16 field_0x3530;
/* 0x3532 */ s16 field_0x3532;
/* 0x3534 */ u8 field_0x3534[0x3544 - 0x3534];
/* 0x3544 */ s16 field_0x3544;
/* 0x3546 */ u8 field_0x3546[0x354C - 0x3546];
/* 0x354C */ s16 field_0x354c;
/* 0x354E */ s16 field_0x354e;
/* 0x3550 */ u8 field_0x3550[0x3554 - 0x3550];
/* 0x3554 */ s16 field_0x3554;
/* 0x3556 */ u8 field_0x3556[0x355E - 0x3556];
/* 0x355E */ u16 field_0x355e;
/* 0x34C9 */ u8 m34C9;
/* 0x34CA */ u8 m34CA;
/* 0x34CB */ u8 m34CB;
/* 0x34CC */ u8 m34CC[0x34D0 - 0x34CC];
/* 0x34D0 */ s16 m34D0;
/* 0x34D2 */ s16 m34D2;
/* 0x34D4 */ s16 m34D4;
/* 0x34D6 */ s16 m34D6;
/* 0x34D8 */ s16 m34D8;
/* 0x34DA */ s16 m34DA;
/* 0x34DC */ s16 m34DC;
/* 0x34DE */ s16 m34DE;
/* 0x34E0 */ s16 m34E0;
/* 0x34E2 */ s16 m34E2;
/* 0x34E4 */ s16 m34E4;
/* 0x34E6 */ s16 m34E6;
/* 0x34E8 */ s16 m34E8;
/* 0x34EA */ s16 m34EA;
/* 0x34EC */ s16 m34EC;
/* 0x34EE */ u16 m34EE;
/* 0x34F0 */ u16 m34F0;
/* 0x34F2 */ s16 m34F2;
/* 0x34F4 */ s16 m34F4;
/* 0x34F6 */ s16 m34F6;
/* 0x34F8 */ s16 m34F8;
/* 0x34FA */ s16 m34FA;
/* 0x34FC */ s16 m34FC;
/* 0x34FE */ s16 m34FE;
/* 0x3500 */ s16 m3500;
/* 0x3502 */ s16 m3502;
/* 0x3504 */ s16 m3504;
/* 0x3506 */ s16 m3506;
/* 0x3508 */ s16 m3508;
/* 0x350A */ s16 m350A;
/* 0x350C */ s16 m350C;
/* 0x350E */ s16 m350E;
/* 0x3510 */ s16 m3510;
/* 0x3512 */ s16 m3512;
/* 0x3514 */ s16 m3514;
/* 0x3516 */ s16 m3516;
/* 0x3518 */ s16 m3518;
/* 0x351A */ s16 m351A;
/* 0x351C */ s16 m351C;
/* 0x351E */ s16 m351E;
/* 0x3520 */ u8 m3520[0x3522 - 0x3520];
/* 0x3522 */ s16 m3522;
/* 0x3524 */ s16 m3524;
/* 0x3526 */ s16 m3526;
/* 0x3528 */ s16 m3528;
/* 0x352A */ s16 m352A;
/* 0x352C */ s16 m352C;
/* 0x352E */ s16 m352E;
/* 0x3530 */ s16 m3530;
/* 0x3532 */ s16 m3532;
/* 0x3534 */ s16 m3534;
/* 0x3536 */ s16 m3536;
/* 0x3538 */ s16 m3538;
/* 0x353A */ s16 m353A;
/* 0x353C */ s16 m353C;
/* 0x353E */ s16 m353E;
/* 0x3540 */ s16 m3540;
/* 0x3542 */ u8 m3542[0x3544 - 0x3542];
/* 0x3544 */ s16 m3544;
/* 0x3546 */ s16 mShieldFrontRangeYAngle;
/* 0x3548 */ u8 m3548[0x354C - 0x3548];
/* 0x354C */ s16 m354C;
/* 0x354E */ s16 mTinkleShieldTimer;
/* 0x3550 */ u8 m3550[0x3554 - 0x3550];
/* 0x3554 */ s16 m3554;
/* 0x3556 */ u8 m3556[0x355E - 0x3556];
/* 0x355E */ u16 m355E;
/* 0x3560 */ u16 mHeldItemType;
/* 0x3562 */ u8 field_0x3562[0x3564 - 0x3562];
/* 0x3564 */ s16 field_0x3564;
/* 0x3566 */ s16 field_0x3566;
/* 0x3568 */ s16 field_0x3568;
/* 0x356A */ u8 field_0x356A[0x356C - 0x356A];
/* 0x3562 */ u8 m3562[0x3564 - 0x3562];
/* 0x3564 */ s16 m3564;
/* 0x3566 */ s16 m3566;
/* 0x3568 */ s16 m3568;
/* 0x356A */ u8 m356A[0x356C - 0x356A];
/* 0x356C */ int mCameraInfoIdx;
/* 0x3570 */ int field_0x3570;
/* 0x3574 */ int field_0x3574;
/* 0x3578 */ u8 field_0x3578[0x3580 - 0x3578];
/* 0x3580 */ int field_0x3580;
/* 0x3570 */ int m3570;
/* 0x3574 */ int m3574;
/* 0x3578 */ u8 m3578[0x3580 - 0x3578];
/* 0x3580 */ int m3580;
/* 0x3584 */ int mCurrentGroundAttributeCode;
/* 0x3588 */ u8 field_0x3588[0x358C - 0x3588];
/* 0x3588 */ u8 m3588[0x358C - 0x3588];
/* 0x358C */ int mStaffIdx;
/* 0x3590 */ int field_0x3590;
/* 0x3594 */ int field_0x3594;
/* 0x3598 */ f32 field_0x3598;
/* 0x359C */ u8 field_0x359C[0x35A0 - 0x359C];
/* 0x35A0 */ f32 field_0x35a0;
/* 0x35A4 */ f32 field_0x35a4;
/* 0x35A8 */ u8 field_0x35A8[0x35BC - 0x35A8];
/* 0x3590 */ int m3590;
/* 0x3594 */ int m3594;
/* 0x3598 */ f32 m3598;
/* 0x359C */ u8 m359C[0x35A0 - 0x359C];
/* 0x35A0 */ f32 m35A0;
/* 0x35A4 */ f32 m35A4;
/* 0x35A8 */ u8 m35A8[0x35BC - 0x35A8];
/* 0x35BC */ f32 mVelocity;
/* 0x35C0 */ u8 field_0x35C0[0x35C4 - 0x35C0];
/* 0x35C4 */ f32 field_0x35c4;
/* 0x35C8 */ f32 field_0x35c8;
/* 0x35CC */ u8 field_0x35CC[0x35D0 - 0x35CC];
/* 0x35D0 */ f32 field_0x35d0;
/* 0x35D4 */ u8 field_0x35D4[0x35D8 - 0x35D4];
/* 0x35D8 */ f32 field_0x35d8;
/* 0x35DC */ u8 field_0x35DC[0x35E4 - 0x35DC];
/* 0x35E4 */ f32 field_0x35e4;
/* 0x35E8 */ f32 field_0x35e8;
/* 0x35EC */ f32 field_0x35ec;
/* 0x35F0 */ f32 field_0x35f0;
/* 0x35F4 */ f32 field_0x35f4;
/* 0x35F8 */ u8 field_0x35F8[0x35FC - 0x35F8];
/* 0x35FC */ f32 field_0x35fc;
/* 0x3600 */ f32 field_0x3600;
/* 0x3604 */ f32 field_0x3604;
/* 0x3608 */ f32 field_0x3608;
/* 0x360C */ f32 field_0x360C;
/* 0x3610 */ f32 field_0x3610;
/* 0x3614 */ int field_0x3614;
/* 0x35C0 */ u8 m35C0[0x35C4 - 0x35C0];
/* 0x35C4 */ f32 m35C4;
/* 0x35C8 */ f32 m35C8;
/* 0x35CC */ u8 m35CC[0x35D0 - 0x35CC];
/* 0x35D0 */ f32 m35D0;
/* 0x35D4 */ u8 m35D4[0x35D8 - 0x35D4];
/* 0x35D8 */ f32 m35D8;
/* 0x35DC */ u8 m35DC[0x35E4 - 0x35DC];
/* 0x35E4 */ f32 m35E4;
/* 0x35E8 */ f32 m35E8;
/* 0x35EC */ f32 m35EC;
/* 0x35F0 */ f32 m35F0;
/* 0x35F4 */ f32 m35F4;
/* 0x35F8 */ f32 m35F8;
/* 0x35FC */ f32 m35FC;
/* 0x3600 */ f32 m3600;
/* 0x3604 */ f32 m3604;
/* 0x3608 */ f32 m3608;
/* 0x360C */ f32 m360C;
/* 0x3610 */ f32 m3610;
/* 0x3614 */ int m3614;
/* 0x3618 */ u32 mProcFlags;
/* 0x361C */ u8 field_0x361C[0x3624 - 0x361C];
/* 0x3624 */ int field_0x3624;
/* 0x3628 */ int field_0x3628;
/* 0x362C */ u8 field_0x362C[0x3630 - 0x362C];
/* 0x3630 */ int field_0x3630;
/* 0x3634 */ int field_0x3634;
/* 0x3638 */ u8 field_0x3638[0x3644 - 0x3638];
/* 0x3644 */ f32 field_0x3644;
/* 0x3648 */ u8 field_0x3648[0x3668 - 0x3648];
/* 0x3668 */ J3DTransformInfo field_0x3668;
/* 0x3688 */ cXyz field_0x3688;
/* 0x361C */ u32 mMtrlSndId;
/* 0x3620 */ u32 m3620;
/* 0x3624 */ int m3624;
/* 0x3628 */ int m3628;
/* 0x362C */ u8 m362C[0x3630 - 0x362C];
/* 0x3630 */ int m3630;
/* 0x3634 */ int m3634;
/* 0x3638 */ int mMsgId;
/* 0x363C */ u8 m363C[0x3644 - 0x363C];
/* 0x3644 */ f32 m3644;
/* 0x3648 */ u8 m3648[0x3668 - 0x3648];
/* 0x3668 */ J3DTransformInfo m3668;
/* 0x3688 */ cXyz m3688;
/* 0x3694 */ cXyz mOldSpeed;
/* 0x36A0 */ cXyz field_0x36a0;
/* 0x36AC */ cXyz field_0x36ac;
/* 0x36B8 */ u8 field_0x36B8[0x36C4 - 0x36B8];
/* 0x36C4 */ cXyz field_0x36c4;
/* 0x36D0 */ u8 field_0x36D0[0x3700 - 0x36D0];
/* 0x3700 */ cXyz field_0x3700;
/* 0x370C */ cXyz field_0x370c;
/* 0x3718 */ u8 field_0x3718[0x3724 - 0x3718];
/* 0x3724 */ cXyz field_0x3724;
/* 0x3730 */ cXyz field_0x3730;
/* 0x373C */ u8 field_0x373C[0x3748 - 0x373C];
/* 0x3748 */ cXyz field_0x3748;
/* 0x3754 */ u8 field_0x3754[0x37E4 - 0x3754];
/* 0x36A0 */ cXyz m36A0;
/* 0x36AC */ cXyz m36AC;
/* 0x36B8 */ cXyz m36B8;
/* 0x36C4 */ cXyz m36C4;
/* 0x36D0 */ cXyz m36D0;
/* 0x36DC */ cXyz m36DC;
/* 0x36E8 */ cXyz m36E8;
/* 0x36F4 */ u8 m36F4[0x3700 - 0x36F4];
/* 0x3700 */ cXyz m3700;
/* 0x370C */ cXyz m370C;
/* 0x3718 */ u8 m3718[0x3724 - 0x3718];
/* 0x3724 */ cXyz m3724;
/* 0x3730 */ cXyz m3730;
/* 0x373C */ u8 m373C[0x3748 - 0x373C];
/* 0x3748 */ cXyz m3748;
/* 0x3754 */ u8 m3754[0x37E4 - 0x3754];
/* 0x37E4 */ daPy_swBlur_c mSwBlur;
/* 0x3DB8 */ daPy_footData_c mFootData[2];
/* 0x3FE8 */ dCcD_Stts field_0x3fe8;
/* 0x4024 */ dCcD_Cyl field_0x4024;
/* 0x4154 */ dCcD_Cyl field_0x4154;
/* 0x4284 */ dCcD_Cyl field_0x4284;
/* 0x43B4 */ dCcD_Cyl field_0x43b4;
/* 0x44E4 */ dCcD_Cps field_0x44e4[3];
/* 0x488C */ dCcD_Cps field_0x488c;
/* 0x49C4 */ dCcD_Sph field_0x49c4;
/* 0x4AF0 */ dCcD_Cps field_0x4af0;
/* 0x3FE8 */ dCcD_Stts mStts;
/* 0x4024 */ dCcD_Cyl m4024;
/* 0x4154 */ dCcD_Cyl m4154;
/* 0x4284 */ dCcD_Cyl m4284;
/* 0x43B4 */ dCcD_Cyl m43B4;
/* 0x44E4 */ dCcD_Cps m44E4[3];
/* 0x488C */ dCcD_Cps m488C;
/* 0x49C4 */ dCcD_Sph m49C4;
/* 0x4AF0 */ dCcD_Cps m4AF0;
typedef int (daPy_lk_c::*daPy_ProcFunc)();
+7 -8
View File
@@ -760,7 +760,7 @@ void daAgb_c::GbaItemUse() {
case 3:
daPy_lk_c* temp_r3 = daPy_getPlayerLinkActorClass();
temp_r3->onNoResetFlg0(daPy_py_c::daPyFlg0_UNK1000);
temp_r3->field_0x354c = 0x96;
temp_r3->m354C = 5*30;
resetCursor(false);
field_0x65c = 0x96;
mBrk.setPlaySpeed(6.0f);
@@ -779,7 +779,7 @@ void daAgb_c::GbaItemUse() {
mEffect = 0;
return;
} else {
daPy_getPlayerLinkActorClass()->field_0x354e = 300;
daPy_getPlayerLinkActorClass()->setTinkleShield(300);
resetCursor(false);
field_0x65c = 300;
mBrk.setPlaySpeed(6.0f);
@@ -792,9 +792,9 @@ void daAgb_c::GbaItemUse() {
} else {
daPy_lk_c* temp_r4 = daPy_getPlayerLinkActorClass();
temp_r4->onNoResetFlg0(daPy_py_c::daPyFlg0_UNK1000);
temp_r4->field_0x354c = 300;
temp_r4->m354C = 300;
if (!(daPy_getPlayerLinkActorClass()->checkEquipDragonShield())) {
temp_r4->field_0x354e = 300;
temp_r4->setTinkleShield(300);
}
resetCursor(false);
@@ -812,7 +812,7 @@ void daAgb_c::GbaItemUse() {
return;
}
daPy_getPlayerLinkActorClass()->field_0x354e = 600;
daPy_getPlayerLinkActorClass()->setTinkleShield(600);
resetCursor(false);
field_0x65c = 600;
@@ -953,12 +953,11 @@ int daAgb_Execute(daAgb_c* i_this) {
if (i_this->field_0x66b == 3 || i_this->field_0x66b == 12) {
daPy_lk_c* player_p = daPy_getPlayerLinkActorClass();
player_p->onNoResetFlg0(daPy_py_c::daPyFlg0_UNK1000);
player_p->field_0x354c = 10;
player_p->m354C = 10;
} else if (i_this->field_0x66b == 4 || i_this->field_0x66b == 13 ||
i_this->field_0x66b == 12)
{
daPy_lk_c* player_p = daPy_getPlayerLinkActorClass();
player_p->field_0x354e = 10;
daPy_getPlayerLinkActorClass()->setTinkleShield(10);
}
i_this->field_0x65c = 0;
+1 -1
View File
@@ -13,7 +13,7 @@
#include "d/actor/d_a_player_link.h"
/* 8013A85C-8013A890 .text checkGrabSpecialHeavyState__9daPy_lk_cFv */
void daPy_lk_c::checkGrabSpecialHeavyState() {
BOOL daPy_lk_c::checkGrabSpecialHeavyState() {
/* Nonmatching */
}
+155 -92
View File
@@ -29,28 +29,46 @@ static BOOL daPy_createHeap(fopAc_ac_c* i_this) {
}
/* 80102F64-80103074 .text calc__13daPy_matAnm_cCFP11J3DMaterial */
void daPy_matAnm_c::calc(J3DMaterial*) const {
/* Nonmatching */
void daPy_matAnm_c::calc(J3DMaterial* mat) const {
daPy_matAnm_c* i_this = const_cast<daPy_matAnm_c*>(this);
J3DMaterialAnm::calc(mat);
for (u32 i = 0; i < 8; i++) {
if (getTexMtxAnm(i)) {
J3DTextureSRTInfo& srt = mat->getTexMtx(i)->getTexMtxInfo().mSRT;
if (m_morf_frame != 0) {
f32 temp = 1.0f / (m_morf_frame + 1);
srt.mTranslationX = mEyePosOld.x * (1.0f - temp) + (srt.mTranslationX * temp);
srt.mTranslationY = mEyePosOld.y * (1.0f - temp) + (srt.mTranslationY * temp);
} else if (m_eye_move_flg != 0) {
srt.mTranslationX = mEyePos.x;
srt.mTranslationY = mEyePos.y;
}
i_this->mEyePosOld.x = srt.mTranslationX;
i_this->mEyePosOld.y = srt.mTranslationY;
}
}
}
/* 80103074-801030BC .text seStartOnlyReverb__9daPy_lk_cFUl */
void daPy_lk_c::seStartOnlyReverb(u32) {
/* Nonmatching */
void daPy_lk_c::seStartOnlyReverb(u32 sfxID) {
mDoAud_seStart(sfxID, &current.pos, 0, mReverb);
}
/* 801030BC-80103104 .text seStartMapInfo__9daPy_lk_cFUl */
void daPy_lk_c::seStartMapInfo(u32) {
/* Nonmatching */
void daPy_lk_c::seStartMapInfo(u32 sfxID) {
mDoAud_seStart(sfxID, &current.pos, mMtrlSndId, mReverb);
}
/* 80103104-8010314C .text seStartSwordCut__9daPy_lk_cFUl */
void daPy_lk_c::seStartSwordCut(u32) {
/* Nonmatching */
void daPy_lk_c::seStartSwordCut(u32 sfxID) {
mDoAud_seStart(sfxID, &mSwordTopPos, 0, mReverb);
}
/* 8010314C-801031A4 .text voiceStart__9daPy_lk_cFUl */
void daPy_lk_c::voiceStart(u32 param_1) {
mDoAud_linkVoiceStart(param_1, &mEyePos, mDoAud_getLinkVoiceVowel(param_1), field_0x34bf);
mDoAud_linkVoiceStart(param_1, &mEyePos, mDoAud_getLinkVoiceVowel(param_1), mReverb);
}
/* 801031A4-801031DC .text itemButton__9daPy_lk_cCFv */
@@ -83,8 +101,6 @@ void daPy_lk_c::auraJointCB0(int) {
/* Nonmatching */
}
class J3DNode;
/* 80103450-80103494 .text daPy_auraCallback__FP7J3DNodei */
static BOOL daPy_auraCallback(J3DNode*, int) {
/* Nonmatching */
@@ -501,12 +517,12 @@ void daPy_lk_c::checkBossGomaStage() {
}
/* 8010C4A4-8010C4C8 .text checkSingleItemEquipAnime__9daPy_lk_cCFv */
void daPy_lk_c::checkSingleItemEquipAnime() const {
/* Nonmatching */
BOOL daPy_lk_c::checkSingleItemEquipAnime() const {
return m_anm_heap_upper[2].mIdx == LKANM_BCK_TAKEL || m_anm_heap_upper[2].mIdx == LKANM_BCK_TAKER;
}
/* 8010C4C8-8010C528 .text checkItemEquipAnime__9daPy_lk_cCFv */
void daPy_lk_c::checkItemEquipAnime() const {
BOOL daPy_lk_c::checkItemEquipAnime() const {
/* Nonmatching */
}
@@ -706,13 +722,18 @@ void daPy_lk_c::checkRestHPAnime() {
}
/* 80111EFC-80111F5C .text checkHeavyStateOn__9daPy_lk_cFv */
void daPy_lk_c::checkHeavyStateOn() {
/* Nonmatching */
BOOL daPy_lk_c::checkHeavyStateOn() {
if (!dComIfGp_event_runCheck() && mDemo.getDemoType() == 0 &&
(getHeavyStateAndBoots() || checkGrabSpecialHeavyState()))
{
return TRUE;
}
return FALSE;
}
/* 80111F5C-80111F7C .text checkBottleItem__9daPy_lk_cCFi */
void daPy_lk_c::checkBottleItem(int) const {
/* Nonmatching */
BOOL daPy_lk_c::checkBottleItem(int itemNo) const {
return itemNo >= EMPTY_BOTTLE && itemNo <= UNK_BOTTLE_60;
}
/* 80111F7C-80111FEC .text checkDrinkBottleItem__9daPy_lk_cCFi */
@@ -796,10 +817,10 @@ BOOL daPy_lk_c::commonProcInit(daPy_lk_c::daPy_PROC procID) {
mMaxFallSpeed = daPy_HIO_autoJump_c0::m.field_0x10;
setSmallFanModel();
mHeldItemType = DEKU_LEAF;
field_0x35f0 = field_0x3688.y;
field_0x3730 = cXyz::Zero;
field_0x34E0 = 0;
field_0x34E4 = 0;
m35F0 = m3688.y;
m3730 = cXyz::Zero;
m34E0 = 0;
m34E4 = 0;
} else if (mCurProcID == 0x28) {
mMaxFallSpeed = daPy_HIO_autoJump_c0::m.field_0x10;
} else if (mCurProcID == 0xA9) {
@@ -807,8 +828,8 @@ BOOL daPy_lk_c::commonProcInit(daPy_lk_c::daPy_PROC procID) {
speed.y = 0.0f;
} else if (mCurProcID == 0xAE || mCurProcID == 0xD0) {
dKy_Itemgetcol_chg_off();
if (mCurProcID == 0xAE && field_0x34d8 != 0) {
field_0x34c2 = 0xB;
if (mCurProcID == 0xAE && m34D8 != 0) {
m34C2 = 0xB;
}
} else if (mCurProcID == 0xC3 || mCurProcID == 0xA2) {
daItemBase_c* item = (daItemBase_c*)fopAcM_getItemEventPartner(this);
@@ -818,8 +839,8 @@ BOOL daPy_lk_c::commonProcInit(daPy_lk_c::daPy_PROC procID) {
} else if (mCurProcID == 0xCD) {
deleteEquipItem(0);
} else if (mCurProcID == 0x57) {
if (field_0x33a8.getEmitter()) {
field_0x33a8.getEmitter()->setGlobalAlpha(0);
if (m33A8.getEmitter()) {
m33A8.getEmitter()->setGlobalAlpha(0);
}
} else if (mCurProcID == 0x8D) {
deleteArrow();
@@ -830,22 +851,22 @@ BOOL daPy_lk_c::commonProcInit(daPy_lk_c::daPy_PROC procID) {
temp_r28 = (mProcFlags & 0x40000) >> 0x12;
if (mProcFlags & 0x10040820) {
field_0x34c2 = 0xA;
m34C2 = 0xA;
}
temp_r29 = ((mProcFlags & 0x2) >> 1) ^ 1;
mCurProcID = procID;
mCurProcFunc = procInit.mProcFunc;
field_0x3598 = 0.0f;
m3598 = 0.0f;
mProcFlags = procInit.mProcFlags;
if (field_0x34c2 == 1) {
field_0x34c2 = 2;
if (m34C2 == 1) {
m34C2 = 2;
}
if (mProcFlags & 0x10040820) {
field_0x34c2 = 0xB;
m34C2 = 0xB;
}
if (mProcFlags & 0x20) {
@@ -858,22 +879,22 @@ BOOL daPy_lk_c::commonProcInit(daPy_lk_c::daPy_PROC procID) {
dComIfGp_clearPlayerStatus1(0, ~0xFFF48400);
mGravity = daPy_HIO_autoJump_c0::m.field_0xC;
field_0x34F2 = 0;
field_0x34F4 = 0;
m34F2 = 0;
m34F4 = 0;
onResetFlg0(daPyRFlg0_UNK8000000);
field_0x34c5 = 0;
m34C5 = 0;
offNoResetFlg0(daPyFlg0_UNK4);
offResetFlg0(daPyRFlg0_UNK2);
offNoResetFlg1(daPyFlg1_UNK8000000);
field_0x3544 = 0;
m3544 = 0;
mSightPacket.offDrawFlg();
mSightPacket.offLockFlg();
field_0x35c4 = 0.0f;
m35C4 = 0.0f;
mFanSwingCb.onAlphaOutFlg();
shape_angle.x = 0;
shape_angle.z = 0;
field_0x34EC = 0;
m34EC = 0;
if (!(checkEquipAnime() && (mProcFlags & 0x4)) && !(mProcFlags & 0x1000)) {
if (!(checkGrabAnime() || checkBoomerangThrowAnime()) || !(mProcFlags & 0x4000)) {
@@ -889,9 +910,9 @@ BOOL daPy_lk_c::commonProcInit(daPy_lk_c::daPy_PROC procID) {
}
if (temp_r29 && (mProcFlags & 2)) {
field_0x3688 = current.pos;
field_0x35f0 = field_0x3688.y;
field_0x35f4 = field_0x3688.y;
m3688 = current.pos;
m35F0 = m3688.y;
m35F4 = m3688.y;
}
if (mCurProcID != 0x37) {
@@ -900,7 +921,7 @@ BOOL daPy_lk_c::commonProcInit(daPy_lk_c::daPy_PROC procID) {
}
if (!(mProcFlags & 0x40000)) {
field_0x3608 = 0.0f;
m3608 = 0.0f;
}
resetFootEffect();
@@ -909,19 +930,19 @@ BOOL daPy_lk_c::commonProcInit(daPy_lk_c::daPy_PROC procID) {
resetDemoTextureAnime();
}
field_0x338c.end();
field_0x33a8.end();
field_0x32e4.end();
field_0x32f0.end();
m338C.end();
m33A8.end();
m32E4.end();
m32F0.end();
mSmokeEcallBack.end();
if (!(field_0x2b0 < 0.0f)) {
field_0x35d8 = 0.0f;
m35D8 = 0.0f;
}
offNoResetFlg1(static_cast<daPy_FLG1>(daPyFlg1_UNK80 | daPyFlg1_UNK800000 | daPyFlg1_UNK1000000));
field_0x35ec = 0.0f;
m35EC = 0.0f;
if (mHeldItemType == HUMMER) {
mSwordAnim.changeBckOnly(getItemAnimeResource(0x97));
@@ -929,7 +950,7 @@ BOOL daPy_lk_c::commonProcInit(daPy_lk_c::daPy_PROC procID) {
mSwordAnim.changeBckOnly(getItemAnimeResource(0xD));
}
field_0x35e8 = 0.0f;
m35E8 = 0.0f;
if (!(mProcFlags & 0x800) && mCurProcID != 0x76 && mCurProcID != 0x7D) {
freeRopeItem();
@@ -945,7 +966,7 @@ BOOL daPy_lk_c::commonProcInit(daPy_lk_c::daPy_PROC procID) {
setBgCheckParam();
return true;
return TRUE;
}
/* 80112954-80112A24 .text procScope_init__9daPy_lk_cFi */
@@ -1229,8 +1250,8 @@ void daPy_lk_c::procBackJumpLand() {
}
/* 80115E88-80115EA4 .text checkAutoJumpFlying__9daPy_lk_cCFv */
void daPy_lk_c::checkAutoJumpFlying() const {
/* Nonmatching */
int daPy_lk_c::checkAutoJumpFlying() const {
return mCurProcID != 0x24 ? -1 : m34D0;
}
/* 80115EA4-8011602C .text procAutoJump_init__9daPy_lk_cFv */
@@ -1550,12 +1571,51 @@ void daPy_lk_c::setStickData() {
/* 8011FF50-801200F8 .text setBgCheckParam__9daPy_lk_cFv */
void daPy_lk_c::setBgCheckParam() {
/* Nonmatching */
mAcchCir[0].SetWallH(30.1f);
mAcchCir[1].SetWallH(89.9f);
mAcchCir[2].SetWallH(125.0f);
if (mCurProcID == 0x7C) {
mAcchCir[0].SetWallH(-125.0f);
mAcchCir[1].SetWallH(-89.9f);
mAcchCir[2].SetWallH(0.0f);
} else if (mCurProcID == 0x6A || mProcFlags & 0x410000) {
mAcchCir[0].SetWallR(5.0f);
} else if (mProcFlags & 0x200000) {
mAcchCir[0].SetWallR(40.0f);
} else if (mProcFlags & 0x10) {
mAcchCir[0].SetWallR(daPy_HIO_wall_c0::m.field_0x50);
if (checkNoResetFlg0(daPyFlg0_UNK10000)) {
mAcchCir[2].SetWallH(89.9f);
}
} else if (mProcFlags & 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 != 0x12) {
mAcchCir[0].SetWallR(30.0f);
mAcchCir[0].SetWallH(10.0f);
mAcchCir[1].SetWallH(50.0f);
mAcchCir[2].SetWallH(50.0f);
} else if (mProcFlags & 0x20) {
mAcchCir[0].SetWallR(12.5f);
mAcchCir[0].SetWallH(25.0f);
mAcchCir[1].SetWallH(25.0f);
mAcchCir[2].SetWallH(25.0f);
} else if (field_0x2b0 < 0.0f) {
mAcchCir[0].SetWallR(50.0f);
} else {
mAcchCir[0].SetWallR(35.0f);
}
mAcchCir[1].SetWallR(mAcchCir[0].GetWallR());
mAcchCir[2].SetWallR(mAcchCir[0].GetWallR());
}
/* 801200F8-8012010C .text setParamData__9daPy_lk_cFiiii */
u32 daPy_lk_c::setParamData(int, int, int, int) {
/* Nonmatching */
u32 daPy_lk_c::setParamData(int roomNo, int spawnType, int evntIdx, int extraParams) {
return roomNo & 0x3F | (spawnType & 0xF) << 0xC | evntIdx << 0x18 | extraParams;
}
/* 8012010C-8012024C .text checkLavaFace__9daPy_lk_cFP4cXyzi */
@@ -1583,12 +1643,12 @@ BOOL daPy_lk_c::startRestartRoom(u32 param_1, int param_2, f32 param_3, int i_po
dComIfGp_setNextStage("sea", 1, 48, -1, 0.0f, 0, 1, 0);
mDoAud_seStart(JA_SE_FORCE_BACK, NULL, 0, 0);
// daNpc_Sarace_c::ship_race_result = 3;
field_0x354e = 0;
mTinkleShieldTimer = 0;
return TRUE;
} else {
u32 stageType = dStage_stagInfo_GetSTType(dComIfGp_getStageStagInfo());
setDamagePoint(param_3);
field_0x354e = 0;
mTinkleShieldTimer = 0;
if (stageType == 7 && !dComIfGs_isEventBit(0x2A08) && (current.roomNo == 11 || current.roomNo == 44) && dStage_chkPlayerId(0x80, current.roomNo)) {
dComIfGp_setNextStage(dComIfGp_getStartStageName(), 0x80, current.roomNo, -1, 0.0f, param_1, 1, 0);
@@ -1599,9 +1659,9 @@ BOOL daPy_lk_c::startRestartRoom(u32 param_1, int param_2, f32 param_3, int i_po
}
if (checkNoResetFlg0(daPyFlg0_UNK10) && mCurProcID != 0xB2) {
i_point = field_0x34CB;
i_point = m34CB;
} else {
i_point = field_0x3594;
i_point = m3594;
if (i_point != 0xFF && !dComIfGs_checkSeaLandingEvent(current.roomNo)) {
i_point = 0xFF;
}
@@ -1714,50 +1774,49 @@ static BOOL daPy_IsDelete(daPy_lk_c*) {
/* 80122D58-80123058 .text playerDelete__9daPy_lk_cFv */
BOOL daPy_lk_c::playerDelete() {
/* Nonmatching */
for (int i = 0; i < (int)ARRAY_SIZE(field_0x31e8); i++) {
daPy_footEffect_c* footEffect = &field_0x31e8[i];
footEffect->mSmokeCb.end();
footEffect->mFollowCb.end();
int i;
for (i = 0; i < (int)ARRAY_SIZE(m31E8); i++) {
m31E8[i].getSmokeCallBack()->end();
m31E8[i].getOtherCallBack()->end();
}
if (mFanSwingCb.mpEmitter) {
mFanSwingCb.mpEmitter->clearStatus(0x40);
mFanSwingCb.mpEmitter->setEmitterCallBackPtr(NULL);
mFanSwingCb.mpEmitter = NULL;
}
field_0x338c.end();
field_0x33a8.end();
field_0x3280.end();
field_0x334C.end();
field_0x336C.end();
m338C.end();
m33A8.end();
m3280.end();
m334C.end();
m336C.end();
mSwimTailEcallBack[0].remove();
mSwimTailEcallBack[1].remove();
field_0x32e4.end();
field_0x32f0.end();
field_0x33E8.end();
m32E4.end();
m32F0.end();
m33E8.end();
mSmokeEcallBack.end();
field_0x331C.end();
field_0x332C.end();
field_0x333C.end();
field_0x3400.end();
field_0x3410.end();
field_0x3438.end();
field_0x342C.end();
field_0x3454.end();
field_0x3460[0].end();
field_0x3460[1].end();
m331C.end();
m332C.end();
m333C.end();
m3400.end();
m3410.end();
m3438.end();
m342C.end();
m3454.end();
m3460[0].end();
m3460[1].end();
endDamageEmitter();
dKy_plight_cut(&field_0x3498);
dKy_plight_cut(&m3498);
mDoAud_seDeleteObject(&mSwordTopPos);
mDoAud_seDeleteObject(&mRopePos);
mDoAud_seDeleteObject(&field_0x338c.field_0x08);
mDoAud_seDeleteObject(&field_0x488c.GetEndP());
mDoAud_seDeleteObject(&m338C.field_0x08);
mDoAud_seDeleteObject(&m488C.GetEndP());
for (int i = 0; i < (int)ARRAY_SIZE(m_anm_heap_under); i++) {
for (i = 0; i < (int)ARRAY_SIZE(m_anm_heap_under); i++) {
mDoExt_destroySolidHeap(m_anm_heap_under[i].mpAnimeHeap);
}
for (int i = 0; i < (int)ARRAY_SIZE(m_anm_heap_upper); i++) {
for (i = 0; i < (int)ARRAY_SIZE(m_anm_heap_upper); i++) {
mDoExt_destroySolidHeap(m_anm_heap_upper[i].mpAnimeHeap);
}
@@ -1765,10 +1824,14 @@ BOOL daPy_lk_c::playerDelete() {
mDoExt_destroySolidHeap(mpTextureScrollResHeap);
mDoExt_destroySolidHeap(mpItemHeaps[0]);
mDoExt_destroySolidHeap(mpItemHeaps[1]);
mDoExt_destroySolidHeap(field_0x2ECC);
mDoExt_destroySolidHeap(m2ECC);
mJAIZelAnime.stop();
if (checkNoResetFlg1(daPyFlg1_UNK8)) {
*m0338 = m033C;
}
dComIfGp_clearPlayerStatus0(0, 0x00400000); // Waiting for the boomerang to come back
dComIfGp_clearPlayerStatus1(0, 0x00040000);
g_dComIfG_gameInfo.play.field_0x4947 = 0;
@@ -2003,14 +2066,14 @@ int phase_3(daPy_lk_c* i_this) {
}
static s32 daPy_Create(fopAc_ac_c* i_this) {
static int (*l_method[3])(void*) = {
(int (*)(void*))phase_1,
(int (*)(void*))phase_2,
(int (*)(void*))phase_3,
static int (*l_method[3])(daPy_lk_c*) = {
phase_1,
phase_2,
phase_3,
};
daPy_lk_c* player_link = (daPy_lk_c*)i_this;
return dComLbG_PhaseHandler(&player_link->mPhsLoad, l_method, player_link);
return dComLbG_PhaseHandler(&player_link->mPhsLoad, (cPhs__Handler*)l_method, player_link);
}
/* 80127BA0-80127CC0 .text setSeAnime__9daPy_lk_cFPC14daPy_anmHeap_cP12J3DFrameCtrl */
+5 -5
View File
@@ -636,15 +636,15 @@ void dComIfGp_setNextStage(const char* i_stageName, s16 i_point, s8 i_roomNo, s8
g_dComIfG_gameInfo.play.setNextStage(i_stageName, i_roomNo, i_point, i_layer, i_wipe);
if (daPy_getPlayerLinkActorClass() != NULL) {
u32 mode = daPy_getPlayerLinkActorClass()->mNoResetFlg1;
daPy_lk_c* link = daPy_getPlayerLinkActorClass();
if (mode & daPy_lk_c::daPyFlg1_EQUIP_DRAGON_SHIELD) {
if (link->checkEquipDragonShield()) {
i_lastMode |= 0x8000;
}
i_lastMode |= daPy_getPlayerLinkActorClass()->field_0x354e << 16;
i_lastMode |= link->checkTinkleShield() << 0x10;
if (mode & daPy_lk_c::daPyFlg1_UNK8000) {
if (link->checkNoResetFlg1(daPy_lk_c::daPyFlg1_UNK8000)) {
i_lastMode |= 0x4000;
}
}
@@ -1148,7 +1148,7 @@ void dComIfGs_setGameStartStage() {
dKy_set_nexttime(120.0f);
} else if (stage_type == 7) {
daPy_lk_c* player_p = daPy_getPlayerLinkActorClass();
point = player_p->field_0x3594;
point = player_p->m3594;
s8 temp_r3 = player_p->current.roomNo;
room_no = temp_r3;
+1 -1
View File
@@ -386,7 +386,7 @@ void dMetronome_c::melodyShow() {
pos.y = 0.0f;
pos.z = 0.0f;
s32 note = daPy_getPlayerLinkActorClass()->field_0x34d6;
s32 note = daPy_getPlayerLinkActorClass()->m34D6;
if (pane_wn[0].mUserArea < mMelodyNum) {
mNote[pane_wn[0].mUserArea] = note;
melodyGuideShow(note, pane_wn[0].mUserArea);