mirror of
https://github.com/encounter/tp.git
synced 2026-07-11 06:18:46 -07:00
most of d_a_alink_wolf done / some misc (#1993)
* wip on alink_wolf * setup procvar unions * most of d_a_alink_wolf done + some misc
This commit is contained in:
@@ -28,7 +28,7 @@ void* __va_arg(_va_list_struct*, int);
|
||||
// __builtin_va_info: initialize the __va_list_struct
|
||||
// _var_arg_typeof: convert type to integer for __va_arg
|
||||
#define __va_start(list, fmt) __builtin_va_info(&list)
|
||||
#define __va_arg(list, type) (*((type*)__va_arg(ap, _var_arg_typeof(type))))
|
||||
#define __va_arg(list, type) (*((type*)__va_arg(list, _var_arg_typeof(type))))
|
||||
#define va_start __va_start
|
||||
#define va_arg __va_arg
|
||||
#define va_end __va_end
|
||||
|
||||
@@ -32,6 +32,7 @@ public:
|
||||
void calcMinMax(cXyz*, cXyz*);
|
||||
const cXyz* GetCP(void) const { return &mCenter; }
|
||||
f32 GetR(void) const { return mRadius; }
|
||||
f32* GetRP() { return &mRadius; }
|
||||
f32 GetH(void) const { return mHeight; }
|
||||
cXyz& GetC() { return mCenter; }
|
||||
|
||||
|
||||
@@ -78,6 +78,7 @@ public:
|
||||
u8 getLinkState() const { return mLinkState; }
|
||||
u8 getMoveSpeed() const { return mMoveSpeed; }
|
||||
bool isRiding() const { return mRiding; }
|
||||
void i_setLinkState(u8 i_state) { mLinkState = i_state; }
|
||||
|
||||
static Z2CreatureLink* mLinkPtr;
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ public:
|
||||
f32 getNowPitch();
|
||||
f32 getNowInputValue();
|
||||
void calcPitchMod(f32, f32);
|
||||
void startWolfHowlSound(f32, f32, bool, f32);
|
||||
s8 startWolfHowlSound(f32, f32, bool, f32);
|
||||
void setCorrectData(s8, Z2WolfHowlData*);
|
||||
SongNote getCorrectLine(u8);
|
||||
u8 getCorrectLineNum();
|
||||
@@ -42,6 +42,10 @@ public:
|
||||
int startGuideMelody(bool);
|
||||
void skipCorrectDemo();
|
||||
|
||||
void setCorrectCurve(s8 i_curve) { setCorrectData(i_curve, NULL); }
|
||||
u32 getTimer() { return mTimer; }
|
||||
u8 getReleaseTimer() { return mReleaseTimer; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ JAISoundHandle field_0x00;
|
||||
/* 0x04 */ JAISoundHandle field_0x04;
|
||||
|
||||
+78
-102
@@ -129,7 +129,6 @@ public:
|
||||
/* 800CFCB8 */ ~daAlink_footData_c();
|
||||
/* 800CFCF4 */ daAlink_footData_c();
|
||||
|
||||
private:
|
||||
/* 0x00 */ u8 field_0x00[2];
|
||||
/* 0x02 */ u16 field_0x2;
|
||||
/* 0x04 */ u16 field_0x4;
|
||||
@@ -666,12 +665,22 @@ public:
|
||||
FTANM_UNK_7B = 0x7B,
|
||||
FTANM_UNK_7C = 0x7C,
|
||||
FTANM_UNK_8A = 0x8A,
|
||||
FTANM_UNK_8D = 0x8D,
|
||||
FTANM_UNK_8E = 0x8E,
|
||||
FTANM_UNK_8F = 0x8F,
|
||||
FTANM_UNK_90 = 0x90,
|
||||
FTANM_UNK_91 = 0x91,
|
||||
FTANM_UNK_95 = 0x95,
|
||||
FTANM_UNK_96 = 0x96,
|
||||
FTANM_UNK_97 = 0x97,
|
||||
FTANM_UNK_9A = 0x9A,
|
||||
FTANM_UNK_9B = 0x9B,
|
||||
FTANM_UNK_9C = 0x9C,
|
||||
FTANM_UNK_9D = 0x9D,
|
||||
FTANM_UNK_9F = 0x9F,
|
||||
FTANM_UNK_A0 = 0xA0,
|
||||
FTANM_UNK_A1 = 0xA1,
|
||||
FTANM_UNK_A2 = 0xA2,
|
||||
};
|
||||
|
||||
enum daAlink_WARP_MAT_MODE {
|
||||
@@ -1961,7 +1970,7 @@ public:
|
||||
/* 800E53F8 */ void setGrabItemThrow();
|
||||
/* 800E57AC */ BOOL checkUpperGrabItemThrow(f32);
|
||||
/* 800E5830 */ void putObjLineCheck(dBgS_LinChk&, cXyz*, fopAc_ac_c*);
|
||||
/* 800E5B6C */ void grabLineCheck(cXyz*, cXyz*);
|
||||
/* 800E5B6C */ bool grabLineCheck(cXyz*, cXyz*);
|
||||
/* 800E5BB4 */ void setGrabItemActor(fopAc_ac_c*);
|
||||
/* 800E5CBC */ int procGrabReadyInit();
|
||||
/* 800E5EC8 */ int procGrabReady();
|
||||
@@ -2739,8 +2748,8 @@ public:
|
||||
/* 801299A8 */ void checkWolfUseAbility();
|
||||
/* 80129A80 */ int checkWolfGroundSpecialMode();
|
||||
/* 80129B44 */ int checkNextActionWolf(int);
|
||||
/* 8012A02C */ void wolfSideBgCheck(s16);
|
||||
/* 8012A228 */ void checkWolfAttackReverse(int);
|
||||
/* 8012A02C */ BOOL wolfSideBgCheck(s16);
|
||||
/* 8012A228 */ BOOL checkWolfAttackReverse(int);
|
||||
/* 8012A330 */ int checkWolfBarrierHitReverse();
|
||||
/* 8012A41C */ bool checkWolfBarrierWallHit(cBgS_PolyInfo&);
|
||||
/* 8012A498 */ void wolfBgCheck();
|
||||
@@ -2748,7 +2757,7 @@ public:
|
||||
/* 8012AD1C */ void setWolfFootMatrix();
|
||||
/* 8012B724 */ void wolfFootBgCheck();
|
||||
/* 8012BFA8 */ BOOL checkWolfWaitSlipPolygon();
|
||||
/* 8012C1F4 */ void setWolfWaitSlip();
|
||||
/* 8012C1F4 */ f32 setWolfWaitSlip();
|
||||
/* 8012C308 */ void checkWolfAtnDoCharge();
|
||||
/* 8012C30C */ void setWolfChainPos();
|
||||
/* 8012CB0C */ void setWolfAnmVoice();
|
||||
@@ -2827,8 +2836,8 @@ public:
|
||||
/* 80133164 */ int procWolfRopeStagger();
|
||||
/* 8013384C */ int procWolfRopeSubjectivityInit();
|
||||
/* 80133930 */ int procWolfRopeSubjectivity();
|
||||
/* 80133D6C */ void getWolfTagJumpTime() const;
|
||||
/* 80133EF0 */ cXyz* checkMidnaLockJumpPoint() const;
|
||||
/* 80133D6C */ int getWolfTagJumpTime() const;
|
||||
/* 80133EF0 */ const cXyz* checkMidnaLockJumpPoint() const;
|
||||
/* 80134000 */ int procWolfTagJumpInit(fopAc_ac_c*);
|
||||
/* 80134838 */ int procWolfTagJump();
|
||||
/* 80134DB8 */ int procWolfTagJumpLandInit(fopAc_ac_c*);
|
||||
@@ -2836,7 +2845,7 @@ public:
|
||||
/* 80135160 */ int procWolfGiantPuzzleInit();
|
||||
/* 801351F8 */ int procWolfGiantPuzzle();
|
||||
/* 80135458 */ void setWolfHangGroundY();
|
||||
/* 801354C8 */ void changeWolfHangEndProc();
|
||||
/* 801354C8 */ int changeWolfHangEndProc();
|
||||
/* 801355EC */ int procWolfHangReadyInit();
|
||||
/* 80135668 */ int procWolfHangReady();
|
||||
/* 801356F0 */ int procWolfHangWallCatchInit(int);
|
||||
@@ -2854,9 +2863,9 @@ public:
|
||||
/* 80136F54 */ int procWolfScreamWaitInit();
|
||||
/* 80136FF8 */ int procWolfScreamWait();
|
||||
/* 801370E4 */ f32 getWolfLieMoveAnmSpeed();
|
||||
/* 8013712C */ void getWolfLieMoveSpeed();
|
||||
/* 8013712C */ f32 getWolfLieMoveSpeed();
|
||||
/* 801371A0 */ BOOL checkMidnaDisappearMode() const;
|
||||
/* 801371FC */ void checkWolfLieContinue(int);
|
||||
/* 801371FC */ BOOL checkWolfLieContinue(int);
|
||||
/* 801372B4 */ int checkNextActionWolfFromLie();
|
||||
/* 80137330 */ void setWolfLieMoveVoice(int);
|
||||
/* 801373F8 */ bool checkWolfLieCode();
|
||||
@@ -2886,11 +2895,11 @@ public:
|
||||
/* 801391DC */ fopAc_ac_c* getWolfLockActorEnd();
|
||||
/* 801391E4 */ void searchWolfLockEnemy(fopAc_ac_c*, void*);
|
||||
/* 801392E4 */ void checkWolfComboCnt();
|
||||
/* 801393A4 */ void checkWolfAttackAction();
|
||||
/* 801393A4 */ BOOL checkWolfAttackAction();
|
||||
/* 801395B4 */ void setWolfEnemyThrowUpperAnime(daAlink_c::daAlink_WANM, f32);
|
||||
/* 80139600 */ BOOL setWolfEnemyHangBitePos(fopEn_enemy_c*);
|
||||
/* 801396F8 */ void setWolfBiteDamage(fopEn_enemy_c*);
|
||||
/* 801397A4 */ void checkWolfLockAttackChargeState();
|
||||
/* 801397A4 */ BOOL checkWolfLockAttackChargeState();
|
||||
/* 801398A8 */ int procWolfRollAttackChargeInit();
|
||||
/* 80139908 */ int procWolfRollAttackCharge();
|
||||
/* 801399C4 */ int procWolfRollAttackMoveInit();
|
||||
@@ -3131,8 +3140,10 @@ public:
|
||||
bool i_checkSmallUpperGuardAnime() const { return checkUpperAnime(0x16); }
|
||||
bool i_checkFmChainGrabAnime() const { return checkUpperAnime(0x62) || checkUpperAnime(0x2A0); }
|
||||
|
||||
// wrapping functions that use this with "#pragma optimization_level 2" can help fix some issues, but not always
|
||||
// this might be a fake match, but helps fix usage in many functions
|
||||
#pragma optimization_level 2
|
||||
BOOL i_checkAttentionLock() { return mAttention->Lockon(); }
|
||||
#pragma optimization_level 3
|
||||
|
||||
bool checkUpperAnime(u16 i_idx) const { return mUpperAnmHeap[UPPER_2].getIdx() == i_idx; }
|
||||
bool checkUnderAnime(u16 i_idx) const { return mUnderAnmHeap[UNDER_2].getIdx() == i_idx; }
|
||||
@@ -3161,6 +3172,7 @@ public:
|
||||
bool checkWolfGrabAnimeObj() const { return checkUpperAnime(0x2DA); }
|
||||
bool checkWolfGrabAnimeStick() const { return checkUpperAnime(0x2DB); }
|
||||
bool checkWolfGrabAnime() const { return checkWolfGrabAnimeObj() || checkWolfGrabAnimeStick(); }
|
||||
bool checkWolfSwimDashAnime() const { return checkUnderMove0BckNoArcWolf(WANM_SWIM_DASH); }
|
||||
bool checkKandelaarSwingAnime() const { return false; }
|
||||
bool checkBowChargeWaitAnime() const { return checkUpperAnime(0xA); }
|
||||
bool checkBowReloadAnime() const { return checkUpperAnime(0x9); }
|
||||
@@ -3223,9 +3235,13 @@ public:
|
||||
field_0x2fa3 = 0;
|
||||
field_0x2844.clearData();
|
||||
}
|
||||
|
||||
s32 checkPlayerDemoMode() const { return mDemo.getDemoType(); }
|
||||
BOOL i_checkSpecialDemoMode() const { return mDemo.getDemoType() == 5; }
|
||||
static bool checkMidnaChargeAttack() { return i_dComIfGs_isEventBit(0x501); }
|
||||
u16 getMidnaMsgNum() const { return mMidnaMsgNum; }
|
||||
u32 getStartEvent() { return fopAcM_GetParam(this) >> 0x18; }
|
||||
|
||||
const daAlink_AnmData* getAnmData(daAlink_ANM anmID) const { return &m_anmDataTable[anmID]; }
|
||||
const daAlink_FaceTexData* getFaceTexData(daAlink_FTANM i_anmID) const { return &m_faceTexDataTable[i_anmID]; }
|
||||
|
||||
@@ -3279,6 +3295,7 @@ public:
|
||||
void clearIronBallActor() { field_0x173c.SetActor(this); }
|
||||
BOOL checkCanoeRideOwn(const fopAc_ac_c* param_0) const { return checkCanoeRide() && mRideAcKeep.getActorConst() == param_0; }
|
||||
bool checkWolfDashMode() const { return i_checkNoResetFlg1(FLG1_DASH_MODE); }
|
||||
bool checkWolfLieWaterIn() const { return mWaterY > current.pos.y + 20.5f; }
|
||||
|
||||
J3DModel* initModel(J3DModelData* p_modelData, u32 param_1) {
|
||||
return initModel(p_modelData, 0x80000, param_1);
|
||||
@@ -3323,10 +3340,12 @@ public:
|
||||
mDamageColorTime = 32 - (mDamageTimer % 16);
|
||||
}
|
||||
|
||||
// Gets the cardinal direction of the Left Stick relative to player facing angle
|
||||
int getDirectionFromShapeAngle() const {
|
||||
return getDirectionFromAngle(field_0x2fe2 - shape_angle.y);
|
||||
}
|
||||
|
||||
// Gets the cardinal direction of the Left Stick relative to player angle
|
||||
int getDirectionFromCurrentAngle() const {
|
||||
return getDirectionFromAngle(field_0x2fe2 - current.angle.y);
|
||||
}
|
||||
@@ -3381,7 +3400,7 @@ private:
|
||||
/* 0x00650 */ J3DModel* mpLinkModel;
|
||||
/* 0x00654 */ J3DModel* mpLinkFaceModel;
|
||||
/* 0x00658 */ J3DModel* mpLinkHatModel;
|
||||
/* 0x0065C */ J3DModel* field_0x065c;
|
||||
/* 0x0065C */ J3DModel* mpLinkHandModel;
|
||||
/* 0x00660 */ J3DModel* mpSwAModel; // Ordon Sword model
|
||||
/* 0x00664 */ J3DModel* mpSwASheathModel; // Ordon Sword sheath model
|
||||
/* 0x00668 */ J3DModel* mpSwMModel; // Master Sword model
|
||||
@@ -3410,10 +3429,10 @@ private:
|
||||
/* 0x006C4 */ J3DAnmTextureSRTKey* m_nSwordBtk;
|
||||
/* 0x006C8 */ J3DAnmTextureSRTKey* m_mSwordBtk;
|
||||
/* 0x006CC */ J3DAnmTevRegKey* m_mSwordBrk;
|
||||
/* 0x006D0 */ void* field_0x06d0;
|
||||
/* 0x006D4 */ void* field_0x06d4;
|
||||
/* 0x006D8 */ void* field_0x06d8;
|
||||
/* 0x006DC */ void* field_0x06dc;
|
||||
/* 0x006D0 */ J3DShape* field_0x06d0;
|
||||
/* 0x006D4 */ J3DShape* field_0x06d4;
|
||||
/* 0x006D8 */ J3DShape* field_0x06d8;
|
||||
/* 0x006DC */ J3DShape* field_0x06dc;
|
||||
/* 0x006E0 */ J3DShape* field_0x06e0;
|
||||
/* 0x006E4 */ J3DShape* field_0x06e4;
|
||||
/* 0x006E8 */ J3DShape* field_0x06e8;
|
||||
@@ -3421,9 +3440,9 @@ private:
|
||||
/* 0x006F0 */ J3DShape* field_0x06f0;
|
||||
/* 0x006F4 */ J3DAnmTevRegKey* field_0x06f4;
|
||||
/* 0x006F8 */ J3DAnmTevRegKey* field_0x06f8;
|
||||
/* 0x006FC */ J3DModel* field_0x06fc; // related to human link
|
||||
/* 0x00700 */ J3DModel* field_0x0700;
|
||||
/* 0x00704 */ J3DAnmBase* field_0x0704;
|
||||
/* 0x006FC */ J3DModel* mpKanteraModel;
|
||||
/* 0x00700 */ J3DModel* mpKanteraGlowModel;
|
||||
/* 0x00704 */ J3DAnmTextureSRTKey* mpKanteraGlowBtk;
|
||||
/* 0x00708 */ J3DModel* mHeldItemModel;
|
||||
/* 0x0070C */ J3DModel* mpHookTipModel; // related to held item
|
||||
/* 0x00710 */ J3DModel* field_0x0710; // related to held item
|
||||
@@ -3442,16 +3461,16 @@ private:
|
||||
/* 0x00774 */ u8 field_0x0774[0x77C - 0x774];
|
||||
/* 0x0077C */ dBgS_ObjLinChk* mpHookshotLinChk;
|
||||
/* 0x00780 */ u8 field_0x780[4];
|
||||
/* 0x00784 */ J3DModel* field_0x784[2];
|
||||
/* 0x00784 */ J3DModel* mpLinkBootModels[2];
|
||||
/* 0x0078C */ J3DModel* mpWlChainModels[4];
|
||||
/* 0x0079C */ J3DModel* field_0x79c; // related to wolf
|
||||
/* 0x007A0 */ J3DModel* mpWlMidnaHatModel;
|
||||
/* 0x007A4 */ J3DModel* field_0x7a4; // related to wolf
|
||||
/* 0x0079C */ J3DModel* mpWlMidnaModel;
|
||||
/* 0x007A0 */ J3DModel* mpWlMidnaMaskModel;
|
||||
/* 0x007A4 */ J3DModel* mpWlMidnaHandModel;
|
||||
/* 0x007A8 */ J3DModel* mpWlMidnaHairModel;
|
||||
/* 0x007AC */ J3DAnmTevRegKey* field_0x7ac;
|
||||
/* 0x007B0 */ J3DAnmTevRegKey* field_0x7b0;
|
||||
/* 0x007B4 */ J3DAnmTevRegKey* field_0x7b4;
|
||||
/* 0x007B8 */ J3DAnmTevRegKey* field_0x7b8;
|
||||
/* 0x007AC */ J3DAnmTevRegKey* mpDMidnaBrk;
|
||||
/* 0x007B0 */ J3DAnmTevRegKey* mpDMidnaMaskBrk;
|
||||
/* 0x007B4 */ J3DAnmTevRegKey* mpDMidnaHandBrk;
|
||||
/* 0x007B8 */ J3DAnmTevRegKey* mpDMidnaHairHandBrk;
|
||||
/* 0x007BC */ mDoExt_bckAnm* m_sWindowBck;
|
||||
/* 0x007C0 */ u32 mpWarpTexData;
|
||||
/* 0x007C4 */ daPy_actorKeep_c mWolfLockAcKeep[10];
|
||||
@@ -3561,8 +3580,8 @@ private:
|
||||
/* 0x02F1C */ dPaPo_c* field_0x2f1c;
|
||||
/* 0x02F20 */ dPa_hermiteEcallBack_c field_0x2f20;
|
||||
/* 0x02F38 */ dPa_hermiteEcallBack_c field_0x2f38;
|
||||
/* 0x02F50 */ Vec* field_0x2f50;
|
||||
/* 0x02F54 */ Vec* field_0x2f54;
|
||||
/* 0x02F50 */ const Vec* field_0x2f50;
|
||||
/* 0x02F54 */ const Vec* field_0x2f54;
|
||||
/* 0x02F58 */ u16* field_0x2f58;
|
||||
/* 0x02F5C */ LIGHT_INFLUENCE field_0x2f5c;
|
||||
/* 0x02F7C */ u8 field_0x2f7c[16];
|
||||
@@ -3666,10 +3685,22 @@ private:
|
||||
/* 0x03002 */ s16 field_0x3002;
|
||||
/* 0x03004 */ s16 field_0x3004;
|
||||
/* 0x03006 */ s16 field_0x3006;
|
||||
/* 0x03008 */ s16 field_0x3008;
|
||||
/* 0x0300A */ s16 field_0x300a;
|
||||
/* 0x0300C */ s16 field_0x300c; // might need more accurate name
|
||||
/* 0x0300E */ csXyz field_0x300e;
|
||||
// `mProcVar`'s are variables that are context dependent for each `PROC` action.
|
||||
// (The exact setup may need to be simplified later)
|
||||
union {
|
||||
s16 field_0x3008;
|
||||
s16 mHowlExitID;
|
||||
} /* 0x03008 */ mProcVar0;
|
||||
union {
|
||||
s16 field_0x300a;
|
||||
} /* 0x0300A */ mProcVar1;
|
||||
union {
|
||||
s16 field_0x300c;
|
||||
s16 mPuzzleAimAngle;
|
||||
} /* 0x0300C */ mProcVar2;
|
||||
union {
|
||||
csXyz field_0x300e;
|
||||
} /* 0x0300E */ mProcVar3;
|
||||
/* 0x03014 */ s16 mFallVoiceInit;
|
||||
/* 0x03016 */ u8 field_0x3016[2];
|
||||
/* 0x03018 */ s16 field_0x3018;
|
||||
@@ -3682,30 +3713,10 @@ private:
|
||||
/* 0x03026 */ s16 field_0x3026;
|
||||
/* 0x03028 */ s16 field_0x3028;
|
||||
/* 0x0302A */ u8 field_0x302a[2];
|
||||
/* 0x0302C */ s16 field_0x302c;
|
||||
/* 0x0302E */ s16 field_0x302e;
|
||||
/* 0x03030 */ s16 field_0x3030;
|
||||
/* 0x03032 */ s16 field_0x3032;
|
||||
/* 0x03034 */ s16 field_0x3034;
|
||||
/* 0x03036 */ s16 field_0x3036;
|
||||
/* 0x03038 */ u8 field_0x3038[2];
|
||||
/* 0x0303A */ s16 field_0x303a;
|
||||
/* 0x0303C */ u8 field_0x303c[4];
|
||||
/* 0x03040 */ s16 field_0x3040;
|
||||
/* 0x03042 */ s16 field_0x3042;
|
||||
/* 0x03044 */ s16 field_0x3044;
|
||||
/* 0x03046 */ s16 field_0x3046;
|
||||
/* 0x03048 */ s16 field_0x3048;
|
||||
/* 0x0304A */ s16 field_0x304a;
|
||||
/* 0x0304C */ u8 field_0x304c[2];
|
||||
/* 0x0304E */ s16 field_0x304e;
|
||||
/* 0x03050 */ u8 field_0x3050[4];
|
||||
/* 0x03054 */ s16 field_0x3054;
|
||||
/* 0x03056 */ s16 field_0x3056;
|
||||
/* 0x03058 */ u8 field_0x3058[2];
|
||||
/* 0x0305A */ s16 field_0x305a;
|
||||
/* 0x0305C */ s16 field_0x305c;
|
||||
/* 0x0305E */ u8 field_0x305e[2];
|
||||
/* 0x0302C */ s16 field_0x302c[10];
|
||||
/* 0x03040 */ s16 field_0x3040[10];
|
||||
/* 0x03054 */ s16 field_0x3054[3];
|
||||
/* 0x0305A */ s16 field_0x305a[3];
|
||||
/* 0x03060 */ s16 field_0x3060;
|
||||
/* 0x03062 */ s16 field_0x3062;
|
||||
/* 0x03064 */ s16 field_0x3064;
|
||||
@@ -3731,10 +3742,8 @@ private:
|
||||
/* 0x0308E */ s16 mFastShotTime;
|
||||
/* 0x03090 */ s16 field_0x3090;
|
||||
/* 0x03092 */ s16 field_0x3092;
|
||||
/* 0x03094 */ s16 field_0x3094;
|
||||
/* 0x03096 */ u8 field_0x3096[4];
|
||||
/* 0x0309A */ s16 field_0x309a;
|
||||
/* 0x0309C */ u8 field_0x309c[4];
|
||||
/* 0x03094 */ s16 field_0x3094[3];
|
||||
/* 0x0309A */ s16 field_0x309a[3];
|
||||
/* 0x030A0 */ s16 field_0x30a0;
|
||||
/* 0x030A2 */ s16 field_0x30a2;
|
||||
/* 0x030A4 */ s16 field_0x30a4;
|
||||
@@ -3851,8 +3860,7 @@ private:
|
||||
/* 0x03298 */ u8 field_0x3298[8];
|
||||
/* 0x032A0 */ J3DGXColorS10 field_0x32a0[2];
|
||||
/* 0x032B0 */ J3DGXColorS10 field_0x32b0[2];
|
||||
/* 0x032C0 */ s16 field_0x32c0;
|
||||
/* 0x032C2 */ u8 field_0x32c2[2];
|
||||
/* 0x032C0 */ s16 field_0x32c0[2];
|
||||
/* 0x032C4 */ u16 field_0x32c4;
|
||||
/* 0x032C6 */ u16 field_0x32c6;
|
||||
/* 0x032C8 */ u32 field_0x32c8;
|
||||
@@ -5717,7 +5725,7 @@ public:
|
||||
static daAlinkHIO_wlAtDown_c1 const m;
|
||||
};
|
||||
|
||||
class daAlinkHIO_wlAtWaTl_c1 {
|
||||
class daAlinkHIO_wlAtWait_c1 {
|
||||
public:
|
||||
/* 0x00 */ daAlinkHIO_anm_c field_0x0;
|
||||
/* 0x14 */ s16 field_0x14;
|
||||
@@ -5731,53 +5739,21 @@ public:
|
||||
/* 0x30 */ f32 field_0x30;
|
||||
/* 0x34 */ f32 field_0x34;
|
||||
/* 0x38 */ f32 field_0x38;
|
||||
}; // Size: 0x3C
|
||||
};
|
||||
|
||||
class daAlinkHIO_wlAtWaTl_c0 {
|
||||
public:
|
||||
static daAlinkHIO_wlAtWaTl_c1 const m;
|
||||
static daAlinkHIO_wlAtWait_c1 const m;
|
||||
};
|
||||
|
||||
class daAlinkHIO_wlAtWaSc_c1 {
|
||||
public:
|
||||
/* 0x00 */ daAlinkHIO_anm_c field_0x0;
|
||||
/* 0x14 */ s16 field_0x14;
|
||||
/* 0x16 */ s16 field_0x16;
|
||||
/* 0x18 */ f32 field_0x18;
|
||||
/* 0x1C */ f32 field_0x1C;
|
||||
/* 0x20 */ f32 field_0x20;
|
||||
/* 0x24 */ f32 field_0x24;
|
||||
/* 0x28 */ f32 field_0x28;
|
||||
/* 0x2C */ f32 field_0x2C;
|
||||
/* 0x30 */ f32 field_0x30;
|
||||
/* 0x34 */ f32 field_0x34;
|
||||
/* 0x38 */ f32 field_0x38;
|
||||
}; // Size: 0x3C
|
||||
|
||||
class daAlinkHIO_wlAtWaSc_c0 {
|
||||
public:
|
||||
static daAlinkHIO_wlAtWaSc_c1 const m;
|
||||
static daAlinkHIO_wlAtWait_c1 const m;
|
||||
};
|
||||
|
||||
class daAlinkHIO_wlAtWaLr_c1 {
|
||||
public:
|
||||
/* 0x00 */ daAlinkHIO_anm_c field_0x0;
|
||||
/* 0x14 */ s16 field_0x14;
|
||||
/* 0x16 */ s16 field_0x16;
|
||||
/* 0x18 */ f32 field_0x18;
|
||||
/* 0x1C */ f32 field_0x1C;
|
||||
/* 0x20 */ f32 field_0x20;
|
||||
/* 0x24 */ f32 field_0x24;
|
||||
/* 0x28 */ f32 field_0x28;
|
||||
/* 0x2C */ f32 field_0x2C;
|
||||
/* 0x30 */ f32 field_0x30;
|
||||
/* 0x34 */ f32 field_0x34;
|
||||
/* 0x38 */ f32 field_0x38;
|
||||
}; // Size: 0x3C
|
||||
|
||||
class daAlinkHIO_wlAtWaLr_c0 {
|
||||
public:
|
||||
static daAlinkHIO_wlAtWaLr_c1 const m;
|
||||
static daAlinkHIO_wlAtWait_c1 const m;
|
||||
};
|
||||
|
||||
class daAlinkHIO_wlAtRoll_c1 {
|
||||
|
||||
+43
-22
@@ -259,6 +259,7 @@ public:
|
||||
FLG1_UNK_10000000 = 0x10000000,
|
||||
FLG1_UNK_4000000 = 0x4000000,
|
||||
FLG1_IS_WOLF = 0x2000000,
|
||||
FLG1_UNK_800000 = 0x800000,
|
||||
FLG1_DASH_MODE = 0x400000,
|
||||
FLG1_UNK_10000 = 0x10000,
|
||||
FLG1_UNK_8000 = 0x8000,
|
||||
@@ -290,9 +291,11 @@ public:
|
||||
FLG2_STATUS_WINDOW_DRAW = 0x400000,
|
||||
FLG2_UNK_280000 = 0x280000,
|
||||
FLG2_UNK_200000 = 0x200000,
|
||||
FLG2_UNK_100000 = 0x100000,
|
||||
FLG2_UNK_80000 = 0x80000,
|
||||
FLG2_UNK_40000 = 0x40000,
|
||||
FLG2_UNK_20000 = 0x20000,
|
||||
FLG2_UNK_10000 = 0x10000,
|
||||
FLG2_SCN_CHG_START = 0x8000,
|
||||
FLG2_UNK_4000 = 0x4000,
|
||||
FLG2_UNK_2000 = 0x2000,
|
||||
@@ -317,11 +320,14 @@ public:
|
||||
FLG3_UNK_4000000 = 0x4000000,
|
||||
FLG3_UNK_2000000 = 0x2000000,
|
||||
FLG3_UNK_1000000 = 0x1000000,
|
||||
FLG3_UNK_800000 = 0x800000,
|
||||
FLG3_UNK_400000 = 0x400000,
|
||||
FLG3_UNK_200000 = 0x200000,
|
||||
FLG3_UNK_100000 = 0x100000,
|
||||
FLG3_UNK_80000 = 0x80000,
|
||||
FLG3_COPY_ROD_THROW_AFTER = 0x40000,
|
||||
FLG3_UNK_4000 = 0x4000,
|
||||
FLG3_UNK_400 = 0x400,
|
||||
FLG3_UNK_200 = 0x200,
|
||||
FLG3_UNK_100 = 0x100,
|
||||
FLG3_UNK_80 = 0x80,
|
||||
@@ -333,6 +339,7 @@ public:
|
||||
|
||||
enum daPy_ERFLG0 {
|
||||
ERFLG0_UNK_40000000 = 0x40000000,
|
||||
ERFLG0_UNK_20000000 = 0x20000000,
|
||||
ERFLG0_UNK_10000000 = 0x10000000,
|
||||
ERFLG0_UNK_8000000 = 0x8000000,
|
||||
ERFLG0_UNK_2000000 = 0x2000000,
|
||||
@@ -362,16 +369,19 @@ public:
|
||||
ERFLG1_UNK_20000000 = 0x20000000,
|
||||
ERFLG1_UNK_10000000 = 0x10000000,
|
||||
ERFLG1_UNK_4000000 = 0x4000000,
|
||||
ERFLG1_UNK_200000 = 0x200000,
|
||||
ERFLG1_UNK_100000 = 0x100000,
|
||||
ERFLG1_UNK_40000 = 0x40000,
|
||||
ERFLG1_UNK_10000 = 0x10000,
|
||||
ERFLG1_UNK_2000 = 0x2000,
|
||||
ERFLG1_UNK_800 = 0x800,
|
||||
ERFLG1_UNK_400 = 0x400,
|
||||
ERFLG1_UNK_200 = 0x200,
|
||||
ERFLG1_UNK_100 = 0x100,
|
||||
ERFLG1_UNK_80 = 0x80,
|
||||
ERFLG1_UNK_10 = 0x10,
|
||||
ERFLG1_UNK_40 = 0x40,
|
||||
ERFLG1_UNK_20 = 0x20,
|
||||
ERFLG1_UNK_10 = 0x10,
|
||||
ERFLG1_UNK_8 = 8,
|
||||
ERFLG1_UNK_4 = 4,
|
||||
ERFLG1_UNK_2 = 2,
|
||||
@@ -386,9 +396,11 @@ public:
|
||||
};
|
||||
|
||||
enum daPy_RFLG0 {
|
||||
RFLG0_UNK_40000000 = 0x40000000,
|
||||
RFLG0_UNK_8000000 = 0x8000000,
|
||||
RFLG0_UNK_4000000 = 0x4000000,
|
||||
RFLG0_UNK_20000 = 0x20000,
|
||||
RFLG0_UNK_8000 = 0x8000,
|
||||
RFLG0_UNK_4000 = 0x4000,
|
||||
RFLG0_FRONT_ROLL_CRASH = 0x2000,
|
||||
RFLG0_ENEMY_ATTN_LOCK = 0x1000,
|
||||
@@ -407,6 +419,8 @@ public:
|
||||
RFLG1_UNK_30 = 0x30,
|
||||
RFLG1_UNK_2 = 0x2,
|
||||
RFLG1_WOLF_ATTACK_REVERSE = 0x1,
|
||||
|
||||
RFLG1_UNK_C = 0xC,
|
||||
};
|
||||
|
||||
enum {
|
||||
@@ -742,6 +756,7 @@ public:
|
||||
bool checkFrontRollCrash() const { return i_checkResetFlg0(RFLG0_FRONT_ROLL_CRASH); }
|
||||
bool checkWolfAttackReverse() const { return checkResetFlg1(RFLG1_WOLF_ATTACK_REVERSE); }
|
||||
bool checkFreezeDamage() const { return i_checkNoResetFlg1(FLG1_UNK_40000000); }
|
||||
bool checkWolfTagLockJumpReady() const { return i_checkResetFlg0(RFLG0_UNK_20000); }
|
||||
|
||||
void onForceAutoJump() { i_onEndResetFlg0(ERFLG0_FORCE_AUTO_JUMP); }
|
||||
void onNotAutoJump() { i_onEndResetFlg0(ERFLG0_NOT_AUTO_JUMP); }
|
||||
@@ -749,6 +764,12 @@ public:
|
||||
void onShieldBackBone() { i_onEndResetFlg1(ERFLG1_GANON_FINISH); }
|
||||
void onFogFade() { i_onNoResetFlg2(FLG2_UNK_4000); }
|
||||
|
||||
void offCargoCarry() {
|
||||
if (checkCargoCarry()) {
|
||||
mSpecialMode = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void offGoronSideMove() {
|
||||
if (i_checkGoronSideMove()) {
|
||||
mSpecialMode = 0;
|
||||
@@ -762,38 +783,38 @@ public:
|
||||
|
||||
// some functions use these function as an inline
|
||||
// is there a better way to handle this?
|
||||
int i_checkNoResetFlg0(daPy_FLG0 pFlag) const { return mNoResetFlg0 & pFlag; }
|
||||
int i_checkNoResetFlg1(daPy_FLG1 pFlag) const { return mNoResetFlg1 & pFlag; }
|
||||
int i_checkNoResetFlg2(daPy_FLG2 pFlag) const { return mNoResetFlg2 & pFlag; }
|
||||
int i_checkNoResetFlg3(daPy_FLG3 pFlag) const { return mNoResetFlg3 & pFlag; }
|
||||
u32 i_checkNoResetFlg0(daPy_FLG0 i_flag) const { return mNoResetFlg0 & i_flag; }
|
||||
u32 i_checkNoResetFlg1(daPy_FLG1 i_flag) const { return mNoResetFlg1 & i_flag; }
|
||||
u32 i_checkNoResetFlg2(daPy_FLG2 i_flag) const { return mNoResetFlg2 & i_flag; }
|
||||
u32 i_checkNoResetFlg3(daPy_FLG3 i_flag) const { return mNoResetFlg3 & i_flag; }
|
||||
|
||||
void i_onNoResetFlg0(int pFlg) { mNoResetFlg0 |= pFlg; }
|
||||
void i_onNoResetFlg1(int pFlg) { mNoResetFlg1 |= pFlg; }
|
||||
void i_onNoResetFlg2(int pFlg) { mNoResetFlg2 |= pFlg; }
|
||||
void i_onNoResetFlg3(int pFlg) { mNoResetFlg3 |= pFlg; }
|
||||
void i_onNoResetFlg0(int i_flag) { mNoResetFlg0 |= i_flag; }
|
||||
void i_onNoResetFlg1(int i_flag) { mNoResetFlg1 |= i_flag; }
|
||||
void i_onNoResetFlg2(int i_flag) { mNoResetFlg2 |= i_flag; }
|
||||
void i_onNoResetFlg3(int i_flag) { mNoResetFlg3 |= i_flag; }
|
||||
|
||||
void i_offNoResetFlg0(int pFlg) { mNoResetFlg0 &= ~pFlg; }
|
||||
void i_offNoResetFlg1(int pFlg) { mNoResetFlg1 &= ~pFlg; }
|
||||
void i_offNoResetFlg2(int pFlg) { mNoResetFlg2 &= ~pFlg; }
|
||||
void i_offNoResetFlg3(int pFlg) { mNoResetFlg3 &= ~pFlg; }
|
||||
void i_offNoResetFlg0(int i_flag) { mNoResetFlg0 &= ~i_flag; }
|
||||
void i_offNoResetFlg1(int i_flag) { mNoResetFlg1 &= ~i_flag; }
|
||||
void i_offNoResetFlg2(int i_flag) { mNoResetFlg2 &= ~i_flag; }
|
||||
void i_offNoResetFlg3(int i_flag) { mNoResetFlg3 &= ~i_flag; }
|
||||
|
||||
void i_offResetFlg0(int flag) { mResetFlg0 &= ~flag; }
|
||||
void i_offResetFlg1(int flag) { mResetFlg1 &= ~flag; }
|
||||
void i_onResetFlg0(int flag) { mResetFlg0 |= flag; }
|
||||
void i_onResetFlg1(int flag) { mResetFlg1 |= flag; }
|
||||
|
||||
void i_onEndResetFlg0(int flag) { mEndResetFlg0 |= flag; }
|
||||
void i_onEndResetFlg2(int flag) { mEndResetFlg2 |= flag; }
|
||||
void i_offEndResetFlg2(daPy_ERFLG2 flag) { mEndResetFlg2 &= ~flag; }
|
||||
void i_onEndResetFlg0(int i_flag) { mEndResetFlg0 |= i_flag; }
|
||||
void i_onEndResetFlg2(int i_flag) { mEndResetFlg2 |= i_flag; }
|
||||
void i_offEndResetFlg2(daPy_ERFLG2 i_flag) { mEndResetFlg2 &= ~i_flag; }
|
||||
|
||||
int i_checkResetFlg0(daPy_py_c::daPy_RFLG0 flag) const { return mResetFlg0 & flag; }
|
||||
int checkResetFlg1(daPy_py_c::daPy_RFLG1 flag) const { return mResetFlg1 & flag; }
|
||||
u32 i_checkResetFlg0(daPy_py_c::daPy_RFLG0 i_flag) const { return mResetFlg0 & i_flag; }
|
||||
u32 checkResetFlg1(daPy_py_c::daPy_RFLG1 i_flag) const { return mResetFlg1 & i_flag; }
|
||||
|
||||
int i_checkEndResetFlg0(daPy_py_c::daPy_ERFLG0 flag) const { return mEndResetFlg0 & flag; }
|
||||
int i_checkEndResetFlg1(daPy_py_c::daPy_ERFLG1 flag) const { return mEndResetFlg1 & flag; }
|
||||
int i_checkEndResetFlg2(daPy_py_c::daPy_ERFLG2 flag) const { return mEndResetFlg2 & flag; }
|
||||
u32 i_checkEndResetFlg0(daPy_py_c::daPy_ERFLG0 i_flag) const { return mEndResetFlg0 & i_flag; }
|
||||
u32 i_checkEndResetFlg1(daPy_py_c::daPy_ERFLG1 i_flag) const { return mEndResetFlg1 & i_flag; }
|
||||
u32 i_checkEndResetFlg2(daPy_py_c::daPy_ERFLG2 i_flag) const { return mEndResetFlg2 & i_flag; }
|
||||
|
||||
void i_onEndResetFlg1(daPy_ERFLG1 pFlg) { mEndResetFlg1 |= pFlg; }
|
||||
void i_onEndResetFlg1(daPy_ERFLG1 i_flag) { mEndResetFlg1 |= i_flag; }
|
||||
|
||||
u32 i_checkWolf() const { return i_checkNoResetFlg1(FLG1_IS_WOLF); }
|
||||
BOOL i_checkEquipHeavyBoots() const { return i_checkNoResetFlg0(FLG0_EQUIP_HVY_BOOTS); }
|
||||
|
||||
@@ -167,6 +167,7 @@ public:
|
||||
|
||||
// inline dupe
|
||||
void i_ClrGroundHit() { m_flags &= ~GROUND_HIT; }
|
||||
bool i_ChkGroundHit() const { return m_flags & GROUND_HIT; }
|
||||
|
||||
public:
|
||||
/* 0x02C */ u32 m_flags;
|
||||
|
||||
@@ -322,6 +322,8 @@ public:
|
||||
void OffTgShield() { mGObjTg.OffSPrm(0x1); }
|
||||
void OnTgShieldFrontRange() { mGObjTg.OnSPrm(0x8); }
|
||||
void OffTgShieldFrontRange() { mGObjTg.OffSPrm(0x8); }
|
||||
void OnTgSmallShield() { mGObjTg.OnSPrm(0x10); }
|
||||
void OffTgSmallShield() { mGObjTg.OffSPrm(0x10); }
|
||||
bool ChkTgIronBallRebound() { return mGObjTg.ChkSPrm(0x100); }
|
||||
s16* GetTgShieldFrontRangeYAngle() { return mGObjTg.GetShieldFrontRangeYAngle(); }
|
||||
s16 GetTgShieldRange() { return mGObjTg.GetShieldRange(); }
|
||||
|
||||
@@ -1776,6 +1776,10 @@ inline BOOL dComIfGs_isStageMiddleBoss() {
|
||||
return g_dComIfG_gameInfo.info.getMemory().getBit().isStageBossEnemy2();
|
||||
}
|
||||
|
||||
inline void dComIfGs_setTransformStatus(u8 i_status) {
|
||||
g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setTransformStatus(i_status);
|
||||
}
|
||||
|
||||
void dComIfGp_setSelectItem(int index);
|
||||
s32 dComIfGp_offHeapLockFlag(int flag);
|
||||
void dComIfGp_createSubExpHeap2D();
|
||||
|
||||
@@ -207,7 +207,7 @@ public:
|
||||
|
||||
dAttCatch_c& getCatghTarget() { return mCatghTarget; }
|
||||
u8 getCatchChgItem() { return mCatghTarget.getChangeItem(); }
|
||||
BOOL chkFlag(u32 flag) { return mFlags & flag; }
|
||||
BOOL chkFlag(u32 flag) { return (mFlags & flag) ? TRUE : FALSE; }
|
||||
void setFlag(u32 flag) { mFlags |= flag; }
|
||||
void clrFlag(u32 flag) { mFlags &= ~flag; }
|
||||
int GetActionCount() { return mActionCount; }
|
||||
|
||||
@@ -52,7 +52,8 @@ public:
|
||||
struct dCamStyleData {
|
||||
struct StyleData {
|
||||
/* 0x0 */ u32 field_0x0;
|
||||
/* 0x4 */ u8 field_0x4[0x78 - 0x4];
|
||||
/* 0x4 */ u16 field_0x4;
|
||||
/* 0x6 */ u8 field_0x6[0x78 - 0x6];
|
||||
}; // Size: 0x78
|
||||
|
||||
/* 0x0 */ u8 field_0x0[4];
|
||||
@@ -87,6 +88,8 @@ public:
|
||||
/* 0x14 */ int mStyleID;
|
||||
/* 0x18 */ u8 field_0x18[4];
|
||||
|
||||
u16 Algorythmn(s32 i_style) { return mCamStyleData[i_style].field_0x4; }
|
||||
|
||||
/* 8008858C */ virtual ~dCamParam_c();
|
||||
};
|
||||
|
||||
|
||||
+57
-26
@@ -77,23 +77,39 @@ struct d2DBSplinePath {
|
||||
/* 801828D4 */ virtual ~d2DBSplinePath();
|
||||
};
|
||||
|
||||
struct dCamera_event_param {
|
||||
/* 0x00 */ char name[16];
|
||||
/* 0x10 */ int field_0x10;
|
||||
/* 0x14 */ int value;
|
||||
};
|
||||
|
||||
struct dCamera_event_data {
|
||||
/* 0x000 */ u8 field_0x0;
|
||||
/* 0x004 */ int field_0x4;
|
||||
/* 0x008 */ u8 field_0x8[4];
|
||||
/* 0x008 */ int field_0x8;
|
||||
/* 0x00C */ int field_0xc;
|
||||
/* 0x010 */ u8 field_0x10;
|
||||
/* 0x014 */ int field_0x14;
|
||||
/* 0x018 */ int field_0x18;
|
||||
/* 0x01C */ int field_0x1c;
|
||||
/* 0x020 */ int field_0x20;
|
||||
/* 0x024 */ u8 field_0x24[0xEC - 0x24];
|
||||
/* 0x024 */ int field_0x24;
|
||||
/* 0x028 */ u8 field_0x28[0x2C - 0x28];
|
||||
/* 0x02C */ dCamera_event_param mEventParams[8];
|
||||
/* 0x0EC */ dStage_MapEvent_dt_c* field_0xec;
|
||||
/* 0x0F0 */ d2DBSplinePath field_0xf0;
|
||||
}; // Size: 0x124
|
||||
|
||||
struct dCamera_type_data {
|
||||
/* 0x00 */ char name[24];
|
||||
/* 0x18 */ s16 field_0x18[2][11];
|
||||
}; // Size: 0x44
|
||||
|
||||
class camera_class;
|
||||
|
||||
class dCamera_c;
|
||||
typedef bool (dCamera_c::*engine_fn)(s32);
|
||||
|
||||
class dCamera_c {
|
||||
public:
|
||||
class dCamInfo_c {
|
||||
@@ -163,12 +179,18 @@ public:
|
||||
/* 0x40 */ cSAngle field_0x40;
|
||||
}; // Size: 0x44
|
||||
|
||||
/* 80088A7C */ void StartEventCamera(int, int, ...);
|
||||
/* 80088BBC */ void EndEventCamera(int);
|
||||
/* 80088A7C */ int StartEventCamera(int, int, ...);
|
||||
/* 80088BBC */ int EndEventCamera(int);
|
||||
/* 80088C24 */ int searchEventArgData(char*);
|
||||
/* 8008908C */ void getEvIntData(int*, char*, int);
|
||||
/* 80088CB0 */ void getEvIntData(int*, char*);
|
||||
/* 80089154 */ void getEvFloatData(f32*, char*, f32);
|
||||
/* 80088D90 */ void getEvFloatData(f32*, char*);
|
||||
/* 80089154 */ void getEvFloatData(f32*, char*, f32);
|
||||
/* 80088E58 */ void getEvFloatListData(f32**, char*);
|
||||
/* 80088F1C */ void getEvXyzListData(cXyz**, char*);
|
||||
/* 8008941C */ void getEvStringPntData(char*, char*);
|
||||
/* 80088FE0 */ void getEvStringPntData(char*);
|
||||
/* 8008922C */ void getEvXyzData(cXyz*, char*, cXyz);
|
||||
/* 8008933C */ void getEvStringData(char*, char*, char*);
|
||||
/* 800894C4 */ void getEvActor(char*);
|
||||
/* 800895F4 */ void getEvActor(char*, char*);
|
||||
@@ -180,10 +202,11 @@ public:
|
||||
/* 8008BE2C */ void uniformTransEvCamera();
|
||||
/* 8008BE50 */ void uniformBrakeEvCamera();
|
||||
/* 8008BE74 */ void uniformAcceleEvCamera();
|
||||
/* 8008BE98 */ void transEvCamera(int);
|
||||
/* 8008E938 */ void watchActorEvCamera();
|
||||
/* 8008FAE8 */ void restorePosEvCamera();
|
||||
/* 80090174 */ void talktoEvCamera();
|
||||
/* 80090230 */ void maptoolIdEvCamera();
|
||||
/* 80090230 */ bool maptoolIdEvCamera();
|
||||
/* 80090478 */ void styleEvCamera();
|
||||
/* 80090514 */ void gameOverEvCamera();
|
||||
/* 80091468 */ void tactEvCamera();
|
||||
@@ -242,7 +265,7 @@ public:
|
||||
/* 8016469C */ void onStyleChange(s32, s32);
|
||||
/* 801647B0 */ void onRoomChange(s32);
|
||||
/* 80164878 */ void getParamTargetActor(s32);
|
||||
/* 80164944 */ void GetCameraTypeFromMapToolID(s32, s32);
|
||||
/* 80164944 */ int GetCameraTypeFromMapToolID(s32, s32);
|
||||
/* 80164B64 */ int GetCameraTypeFromCameraName(char const*);
|
||||
/* 80164C10 */ void GetCameraTypeFromToolData(stage_camera2_data_class*);
|
||||
/* 80164C64 */ void pushInfo(dCamera_c::dCamInfo_c*, s16);
|
||||
@@ -270,31 +293,31 @@ public:
|
||||
/* 80167E3C */ void tooNearEscape(cXyz*);
|
||||
/* 80167EF4 */ void getWaterSurfaceHeight(cXyz*);
|
||||
/* 80167FEC */ void checkGroundInfo();
|
||||
/* 80168744 */ void chaseCamera(s32);
|
||||
/* 8016C384 */ void lockonCamera(s32);
|
||||
/* 80168744 */ bool chaseCamera(s32);
|
||||
/* 8016C384 */ bool lockonCamera(s32);
|
||||
/* 8016E448 */ void getMsgCmdSpeaker();
|
||||
/* 8016E4A4 */ void getMsgCmdCut(s32);
|
||||
/* 8016E4F4 */ void talktoCamera(s32);
|
||||
/* 8016E4F4 */ bool talktoCamera(s32);
|
||||
/* 80174E18 */ void talkBasePos(fopAc_ac_c*);
|
||||
/* 80174E34 */ void talkEyePos(fopAc_ac_c*);
|
||||
/* 80174EA4 */ bool CalcSubjectAngle(s16*, s16*);
|
||||
/* 80174EAC */ void SaveZoomRatio();
|
||||
/* 80174ED4 */ void subjectCamera(s32);
|
||||
/* 80176074 */ void magneCamera(s32);
|
||||
/* 801767F8 */ void colosseumCamera(s32);
|
||||
/* 80174ED4 */ bool subjectCamera(s32);
|
||||
/* 80176074 */ bool magneCamera(s32);
|
||||
/* 801767F8 */ bool colosseumCamera(s32);
|
||||
/* 80176DF0 */ bool test1Camera(s32);
|
||||
/* 80176DF8 */ bool test2Camera(s32);
|
||||
/* 80176E00 */ void towerCamera(s32);
|
||||
/* 80178E50 */ void hookshotCamera(s32);
|
||||
/* 80179590 */ void railCamera(s32);
|
||||
/* 8017A2A0 */ void paraRailCamera(s32);
|
||||
/* 8017ADC0 */ void rideCamera(s32);
|
||||
/* 80176E00 */ bool towerCamera(s32);
|
||||
/* 80178E50 */ bool hookshotCamera(s32);
|
||||
/* 80179590 */ bool railCamera(s32);
|
||||
/* 8017A2A0 */ bool paraRailCamera(s32);
|
||||
/* 8017ADC0 */ bool rideCamera(s32);
|
||||
/* 8017D974 */ bool manualCamera(s32);
|
||||
/* 8017D97C */ void observeCamera(s32);
|
||||
/* 8017DFAC */ void fixedFrameCamera(s32);
|
||||
/* 8017E730 */ void fixedPositionCamera(s32);
|
||||
/* 8017F25C */ void oneSideCamera(s32);
|
||||
/* 8017F828 */ void eventCamera(s32);
|
||||
/* 8017D97C */ bool observeCamera(s32);
|
||||
/* 8017DFAC */ bool fixedFrameCamera(s32);
|
||||
/* 8017E730 */ bool fixedPositionCamera(s32);
|
||||
/* 8017F25C */ bool oneSideCamera(s32);
|
||||
/* 8017F828 */ bool eventCamera(s32);
|
||||
/* 8018050C */ void currentEvCamera();
|
||||
/* 801806D4 */ bool letCamera(s32);
|
||||
/* 801806DC */ void setEventRecoveryTrans(s16);
|
||||
@@ -334,7 +357,15 @@ public:
|
||||
f32 TrimHeight() { return mTrimHeight; }
|
||||
int Type() { return mCurType; }
|
||||
|
||||
bool i_chkFlag(u32 i_flag) { return mEventFlags & i_flag; }
|
||||
void i_setFlag(u32 i_flag) { mEventFlags |= i_flag; }
|
||||
void i_clrFlag(u32 i_flag) { mEventFlags &= ~i_flag; }
|
||||
|
||||
#ifdef NONMATCHING
|
||||
static engine_fn engine_tbl[];
|
||||
#else
|
||||
static u8 engine_tbl[240];
|
||||
#endif
|
||||
|
||||
/* 0x000 */ camera_class* field_0x0;
|
||||
/* 0x004 */ int mRoomNo;
|
||||
@@ -396,7 +427,7 @@ public:
|
||||
/* 0x160 */ int field_0x160;
|
||||
/* 0x164 */ u8 field_0x164[0x170 - 0x164];
|
||||
/* 0x170 */ int field_0x170;
|
||||
/* 0x174 */ u32 field_0x174;
|
||||
/* 0x174 */ u32 mCurCamTypeTimer;
|
||||
/* 0x178 */ u32 mCameraID;
|
||||
/* 0x17C */ u32 mPadID;
|
||||
/* 0x180 */ fopAc_ac_c* mpPlayerActor;
|
||||
@@ -469,8 +500,8 @@ public:
|
||||
/* 0x678 */ int field_0x678;
|
||||
/* 0x67C */ int mCamStyle;
|
||||
/* 0x680 */ int field_0x684;
|
||||
/* 0x684 */ u8* mCamTypeData;
|
||||
/* 0x688 */ int field_0x688;
|
||||
/* 0x684 */ dCamera_type_data* mCamTypeData;
|
||||
/* 0x688 */ int mCamTypeNum;
|
||||
/* 0x68C */ int mCurType;
|
||||
/* 0x690 */ int mNextType;
|
||||
/* 0x694 */ int mMapToolType;
|
||||
|
||||
@@ -13,8 +13,8 @@ public:
|
||||
/* 0x0 */ u8 field_0x0;
|
||||
/* 0x1 */ s8 mType;
|
||||
/* 0x2 */ s16 mJntNum;
|
||||
/* 0x4 */ u32 field_0x4;
|
||||
/* 0x8 */ void* field_0x8;
|
||||
/* 0x4 */ f32 field_0x4;
|
||||
/* 0x8 */ Vec* field_0x8;
|
||||
};
|
||||
|
||||
class dJntCol_c {
|
||||
|
||||
+7
-1
@@ -344,7 +344,9 @@ struct dStage_MapEvent_dt_c {
|
||||
/* 0x07 */ u8 field_0x7;
|
||||
/* 0x08 */ u8 field_0x8;
|
||||
/* 0x09 */ u8 field_0x9;
|
||||
/* 0x0A */ u8 field_0xA[0xD - 0xA];
|
||||
/* 0x0A */ u8 field_0xA;
|
||||
/* 0x0B */ u8 field_0xB;
|
||||
/* 0x0C */ u8 field_0xC;
|
||||
/* 0x0D */ char mName[7];
|
||||
/* 0x14 */ u16 field_0x14;
|
||||
/* 0x16 */ u8 field_0x16;
|
||||
@@ -1071,6 +1073,10 @@ inline u32 dStage_stagInfo_ChkKeyDisp(stage_stag_info_class* pstag) {
|
||||
return pstag->field_0x09 & 1;
|
||||
}
|
||||
|
||||
inline u8 dStage_stagInfo_GetWolfDashType(stage_stag_info_class* pstag) {
|
||||
return (pstag->field_0x09 >> 6) & 3;
|
||||
}
|
||||
|
||||
inline u32 dStage_sclsInfo_getSceneLayer(stage_scls_info_class* p_info) {
|
||||
return p_info->field_0xb & 0xF;
|
||||
}
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
#include "d/a/d_a_itembase.h"
|
||||
#include "global.h"
|
||||
|
||||
int dEv_noFinishSkipProc(void*, int);
|
||||
|
||||
struct dStage_MapEvent_dt_c;
|
||||
class fopAc_ac_c;
|
||||
|
||||
@@ -162,6 +164,8 @@ public:
|
||||
bool isChangeOK(void* param_0) { return mChangeOK == param_0; }
|
||||
u8 getPreItemNo() { return mPreItemNo; }
|
||||
u8 getGtItm() { return mGtItm; }
|
||||
void i_startCheckSkipEdge(void* param_0) { setSkipProc(param_0, dEv_noFinishSkipProc, 0); }
|
||||
bool i_checkSkipEdge() { return chkFlag2(8) != false; }
|
||||
|
||||
public:
|
||||
/* 0x000 */ u8 field_0x0[4];
|
||||
|
||||
@@ -151,7 +151,7 @@ public:
|
||||
/* 80238528 */ void getSelectWord(int);
|
||||
/* 80238544 */ static void setSelectWordFlag(u8);
|
||||
/* 80238574 */ void getSelectWordFlag();
|
||||
/* 80238588 */ bool isHowlHearingMode();
|
||||
/* 80238588 */ static bool isHowlHearingMode();
|
||||
/* 802385B4 */ static u8 getSelectBombBagID();
|
||||
/* 802385E0 */ static s16 getSelectBombPrice();
|
||||
/* 8023860C */ static void setEquipBombInfo();
|
||||
@@ -364,6 +364,14 @@ inline void dMsgObject_setEquipBombInfo() {
|
||||
dMsgObject_c::setEquipBombInfo();
|
||||
}
|
||||
|
||||
inline bool dMsgObject_isHowlHearingMode() {
|
||||
return dMsgObject_c::isHowlHearingMode();
|
||||
}
|
||||
|
||||
inline void dMsgObject_onMsgSend() {
|
||||
dMsgObject_getMsgObjectClass()->onMsgSend();
|
||||
}
|
||||
|
||||
class dMsgObject_HowlHIO_c {
|
||||
public:
|
||||
/* 80232AEC */ dMsgObject_HowlHIO_c();
|
||||
|
||||
@@ -21,6 +21,8 @@ public:
|
||||
/* 80051524 */ JPABaseEmitter* getCenterEmitter(int, int);
|
||||
|
||||
void clearCenterID() { clearID(field_0x8[0], &field_0x36); }
|
||||
void changeWaterOffset(f32 i_offset) { mWaterOffset = i_offset; }
|
||||
void changeRippleOffset(f32 i_offset) { mRippleOffset = i_offset; }
|
||||
|
||||
/* 0x00 */ u32 field_0x0[2];
|
||||
/* 0x08 */ u32 field_0x8[2][4];
|
||||
|
||||
@@ -411,6 +411,7 @@ public:
|
||||
void setLife(u16 i_life) { mLife = i_life; }
|
||||
void setMaxLife(u8 i_maxLife) { mMaxLife = i_maxLife; }
|
||||
void setSelectEquip(int i_equipId, u8 i_itemNo) { mSelectEquip[i_equipId] = i_itemNo; }
|
||||
void setTransformStatus(u8 i_status) { mTransformStatus = i_status; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ u16 mMaxLife;
|
||||
|
||||
@@ -248,11 +248,20 @@ public:
|
||||
bool checkWolfNoLock() const { return mFlags & 0x200; }
|
||||
bool checkHeadLockFlg() const { return mFlags & 0x80; }
|
||||
bool checkDownFlg() const { return mFlags & 0x1; }
|
||||
bool checkDeadFlg() const { return mFlags & 0x8; }
|
||||
cXyz& getDownPos() { return mDownPos; }
|
||||
cXyz& getHeadLockPos() { return mHeadLockPos; }
|
||||
|
||||
void onCutDownHitFlg() { mFlags |= 2; }
|
||||
void onWolfBiteDamage() { mFlags |= 0x40; }
|
||||
void onWolfDownStartFlg() { mFlags |= 0x14; }
|
||||
void onWolfDownPullEndFlg() { mFlags |= 0x20; }
|
||||
|
||||
void setThrowModeCatch() { mThrowMode |= 2; }
|
||||
void setThrowModeDash() { mThrowMode |= 4; }
|
||||
void setThrowModeThrowRight() { mThrowMode |= 0x10; }
|
||||
void setThrowModeThrowLeft() { mThrowMode |= 8; }
|
||||
|
||||
/* 0x568 */ cXyz mDownPos;
|
||||
/* 0x574 */ cXyz mHeadLockPos;
|
||||
/* 0x580 */ J3DModel* mBallModel;
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
#define F_OP_ACTOR_ITER_H_
|
||||
|
||||
|
||||
typedef int (*fopAcIt_ExecutorFunc)(void*, void*);
|
||||
typedef void* (*fopAcIt_JudgeFunc)(void*, void*);
|
||||
typedef int (*fopAcIt_ExecutorFunc)(void* actor, void* data);
|
||||
typedef void* (*fopAcIt_JudgeFunc)(void* actor, void* data);
|
||||
|
||||
int fopAcIt_Executor(fopAcIt_ExecutorFunc, void*);
|
||||
void* fopAcIt_Judge(fopAcIt_JudgeFunc, void*);
|
||||
int fopAcIt_Executor(fopAcIt_ExecutorFunc executeFunc, void* data);
|
||||
void* fopAcIt_Judge(fopAcIt_JudgeFunc judgeFunc, void* data);
|
||||
|
||||
#endif
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user