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:
TakaRikka
2023-11-27 13:14:06 +02:00
committed by GitHub
parent 6b0df1f30d
commit 9ff0f5029f
81 changed files with 7557 additions and 2081 deletions
+1 -1
View File
@@ -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
+1
View File
@@ -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; }
+1
View File
@@ -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;
+5 -1
View File
@@ -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
View File
@@ -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
View File
@@ -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); }
+1
View File
@@ -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;
+2
View File
@@ -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(); }
+4
View File
@@ -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();
+1 -1
View File
@@ -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; }
+4 -1
View File
@@ -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
View File
@@ -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;
+2 -2
View File
@@ -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
View File
@@ -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
View File
@@ -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];
+9 -1
View File
@@ -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();
+2
View File
@@ -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];
+1
View File
@@ -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;
+9
View File
@@ -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;
+4 -4
View File
@@ -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