d_a_andsw2 OK, d_a_player / d_a_alink cleanup, d_a_alink_hook mostly done (#1957)

* d_a_andsw2 OK

* d_a_player cleanup, d_a_alink cleanup and work on d_a_alink_hook

* remove asm

* d_kankyo_wether almost done

* some work on d_kankyo_rain
This commit is contained in:
TakaRikka
2023-10-11 01:12:08 -07:00
committed by GitHub
parent c5b54dd7ec
commit 6229bba991
104 changed files with 7784 additions and 5381 deletions
@@ -38,7 +38,6 @@ public:
: mUseMtxIndex(useMtxIndex)
{}
/* 803130A8 */ void resetMtxLoadCache();
/* 803130E4 */ void loadMtxIndx_PNGP(int, u16) const;
/* 80313128 */ void loadMtxIndx_PCPU(int, u16) const;
/* 80313188 */ void loadMtxIndx_NCPU(int, u16) const;
+2 -2
View File
@@ -11,8 +11,8 @@ enum J3DError {
};
enum J3DSysDrawBuffer {
/* 0x0 */ OPA_BUFFER,
/* 0x1 */ XLU_BUFFER
/* 0x0 */ J3DSys_OPA_BUFFER_e,
/* 0x1 */ J3DSys_XLU_BUFFER_e
};
class J3DMtxCalc;
@@ -31,6 +31,7 @@ public:
u32 ChkHit() const { return field_0x4c & 16; }
void SetCross(const cXyz& pos) { mLin.SetEnd(pos); }
cXyz& i_GetCross() { return mLin.GetEnd(); }
cXyz* GetCrossP() { return &mLin.GetEndP(); }
cM3dGLin* GetLinP() { return &mLin; }
bool ChkBackFlag() const { return mBackFlag; }
bool ChkFrontFlag() const { return mFrontFlag; }
+31 -32
View File
@@ -39,7 +39,7 @@ public:
/* 80125F14 */ BOOL create();
/* 80126358 */ void update();
/* 80126424 */ virtual void draw();
/* 800CFE68 */ virtual ~daAlink_lockCursor_c();
/* 800CFE68 */ virtual ~daAlink_lockCursor_c() {}
void initFrame() {
field_0x4 = false;
@@ -72,7 +72,7 @@ public:
/* 80126710 */ void onLockFlg();
/* 801266C0 */ virtual void draw();
/* 800CFDF4 */ virtual ~daAlink_sight_c();
/* 800CFDF4 */ virtual ~daAlink_sight_c() {}
bool getLockFlg() { return mLockFlag; }
void offLockFlg() { mLockFlag = false; }
@@ -90,7 +90,7 @@ public:
/* 80125B0C */ void traceBlur(cXyz const*, cXyz const*, s16);
/* 80125BF4 */ virtual void draw();
/* 800CFD58 */ virtual ~daAlink_blur_c();
/* 800CFD58 */ virtual ~daAlink_blur_c() {}
// private:
/* 0x010 */ void* m_blurTex;
@@ -109,7 +109,7 @@ class dAlink_bottleWaterPcallBack_c : public JPAParticleCallBack {
public:
dAlink_bottleWaterPcallBack_c() { initialize(0.0f); }
/* 80124A2C */ virtual void execute(JPABaseEmitter*, JPABaseParticle*);
/* 800CFCF8 */ virtual ~dAlink_bottleWaterPcallBack_c();
/* 800CFCF8 */ virtual ~dAlink_bottleWaterPcallBack_c() {}
void initialize(f32 minY) {
mHitFlg = 0;
@@ -669,7 +669,9 @@ public:
FTANM_UNK_9F = 0x9F,
};
enum daAlink_WARP_MAT_MODE {};
enum daAlink_WARP_MAT_MODE {
WARP_MAT_MODE_1 = 1,
};
enum daAlink_WANM {
/* 0x00 */ WANM_WAIT,
@@ -1635,7 +1637,7 @@ public:
/* 800CC7DC */ void initTevCustomColor();
/* 800CC7FC */ int draw();
/* 800CD7AC */ ~daAlink_c();
/* 800CE294 */ void checkNoSubjectModeCamera();
/* 800CE294 */ bool checkNoSubjectModeCamera();
/* 800CE468 */ bool acceptSubjectModeChange();
/* 800CE628 */ int checkSubjectAction();
/* 800CE728 */ void checkBodyAngleX(s16);
@@ -2392,7 +2394,7 @@ public:
/* 801086DC */ void resetHookshotMode();
/* 8010871C */ bool setEnemyBombHookshot(fopAc_ac_c*);
/* 80108784 */ bool checkLv7BossRoom();
/* 801087B0 */ bool checkHookshotStickBG(cBgS_PolyInfo&);
/* 801087B0 */ BOOL checkHookshotStickBG(cBgS_PolyInfo&);
/* 80108828 */ void cancelHookshotCarry();
/* 80108864 */ void changeHookshotDrawModel();
/* 801088A0 */ BOOL checkHookshotRoofLv7Boss();
@@ -2413,17 +2415,17 @@ public:
/* 80109284 */ int checkUpperItemActionHookshot();
/* 801095C8 */ int checkNextActionHookshot();
/* 801097A0 */ void setHookshotReturnEnd();
/* 80109890 */ void setHookshotHangMoveBGCollect();
/* 80109890 */ int setHookshotHangMoveBGCollect();
/* 80109AAC */ void setHookshotTopPosFly();
/* 80109BDC */ void setHookshotPos();
/* 8010B2DC */ void setHookshotRoofWaitAnime();
/* 8010B35C */ void setHookshotWallWaitAnime();
/* 8010B3AC */ void hookshotRoofTurn();
/* 8010B644 */ void initHookshotRoofWaitActor(fopAc_ac_c*);
/* 8010B720 */ void checkNextHookPoint();
/* 8010B84C */ void checkLandHookshotHang();
/* 8010B96C */ void commonHookshotRoofWait();
/* 8010BA6C */ void commonHookshotWallWait();
/* 8010B720 */ int checkNextHookPoint();
/* 8010B84C */ int checkLandHookshotHang();
/* 8010B96C */ int commonHookshotRoofWait();
/* 8010BA6C */ int commonHookshotWallWait();
/* 8010BAA8 */ int procHookshotSubjectInit();
/* 8010BB48 */ int procHookshotSubject();
/* 8010BC08 */ int procHookshotMoveInit();
@@ -3021,7 +3023,7 @@ public:
virtual bool exchangeGrabActor(fopAc_ac_c*);
virtual bool setForceGrab(fopAc_ac_c*, int, int);
virtual void setForcePutPos(cXyz const&);
virtual BOOL checkPlayerNoDraw();
virtual u32 checkPlayerNoDraw();
virtual void voiceStart(u32);
virtual void seStartOnlyReverb(u32);
virtual void seStartOnlyReverbLevel(u32);
@@ -3314,6 +3316,8 @@ public:
return i_frameCtrl->checkAnmEnd();
}
const cXyz& getHsChainTopPos() const { return mHookshotTopPos; }
static int getBallModelIdx() { return 0x25; }
static int getBallBtkIdx() { return 0x49; }
static int getBallBrkIdx() { return 0x41; }
@@ -3387,37 +3391,34 @@ private:
/* 0x006DC */ void* field_0x06dc;
/* 0x006E0 */ void* field_0x06e0;
/* 0x006E4 */ J3DShape* field_0x06e4;
/* 0x006E8 */ void* field_0x06e8;
/* 0x006E8 */ J3DShape* field_0x06e8;
/* 0x006EC */ J3DShape* field_0x06ec;
/* 0x006F0 */ J3DShape* field_0x06f0;
/* 0x006F4 */ J3DAnmBase* field_0x06f4;
/* 0x006F4 */ J3DAnmTevRegKey* field_0x06f4;
/* 0x006F8 */ J3DAnmBase* field_0x06f8;
/* 0x006FC */ J3DModel* field_0x06fc; // related to human link
/* 0x00700 */ J3DModel* field_0x0700;
/* 0x00704 */ J3DAnmBase* field_0x0704;
/* 0x00708 */ J3DModel* mHeldItemModel;
/* 0x0070C */ J3DModel* field_0x070c; // related to held item
/* 0x0070C */ J3DModel* mpHookTipModel; // related to held item
/* 0x00710 */ J3DModel* field_0x0710; // related to held item
/* 0x00714 */ J3DModel* field_0x0714; // related to held item
/* 0x00718 */ J3DAnmBase* field_0x0718;
/* 0x00718 */ J3DAnmTextureSRTKey* field_0x0718;
/* 0x0071C */ J3DAnmBase* field_0x071c;
/* 0x00720 */ J3DAnmBase* field_0x0720;
/* 0x00724 */ J3DAnmTevRegKey* field_0x0724;
/* 0x00728 */ J3DAnmBase* field_0x0728;
/* 0x0072C */ J3DAnmBase* field_0x072c;
/* 0x00730 */ mDoExt_bckAnm field_0x730;
/* 0x0074C */ mDoExt_bckAnm field_0x74C;
/* 0x00768 */ J3DModelData* field_0x0768;
/* 0x0076C */ Z2SoundObjSimple* field_0x076c;
/* 0x00770 */ hsChainShape_c* field_0x770;
/* 0x00730 */ mDoExt_bckAnm mItemBck;
/* 0x0074C */ mDoExt_bckAnm mHookTipBck;
/* 0x00768 */ J3DModelData* mpHookKusariModelData;
/* 0x0076C */ Z2SoundObjSimple* mpHookSound;
/* 0x00770 */ hsChainShape_c* mpHookChain;
/* 0x00774 */ u8 field_0x0774[0x77C - 0x774];
/* 0x0077C */ dBgS_ObjLinChk* mpHookshotLinChk;
/* 0x00780 */ u8 field_0x780[4];
/* 0x00784 */ J3DModel* field_0x784[2];
/* 0x0078C */ J3DModel* mpWlChain1Model;
/* 0x00790 */ J3DModel* mpWlChain2Model;
/* 0x00794 */ J3DModel* mpWlChain3Model;
/* 0x00798 */ J3DModel* mpWlChain4Model;
/* 0x0078C */ J3DModel* mpWlChainModels[4];
/* 0x0079C */ J3DModel* field_0x79c; // related to wolf
/* 0x007A0 */ J3DModel* mpWlMidnaHatModel;
/* 0x007A4 */ J3DModel* field_0x7a4; // related to wolf
@@ -3500,7 +3501,7 @@ private:
/* 0x02834 */ daPy_actorKeep_c mThrowBoomerangAcKeep;
/* 0x0283C */ daPy_actorKeep_c mCopyRodAcKeep;
/* 0x02844 */ daPy_actorKeep_c field_0x2844;
/* 0x0284C */ daPy_actorKeep_c field_0x284c;
/* 0x0284C */ daPy_actorKeep_c mHookTargetAcKeep;
/* 0x02854 */ daPy_actorKeep_c mCargoCarryAcKeep;
/* 0x0285C */ daPy_actorKeep_c field_0x285c;
/* 0x02864 */ dMsgFlow_c mMsgFlow;
@@ -3643,9 +3644,7 @@ private:
/* 0x03008 */ s16 field_0x3008;
/* 0x0300A */ s16 field_0x300a;
/* 0x0300C */ s16 field_0x300c; // might need more accurate name
/* 0x0300E */ s16 field_0x300e;
/* 0x03010 */ s16 field_0x3010;
/* 0x03012 */ s16 field_0x3012;
/* 0x0300E */ csXyz field_0x300e;
/* 0x03014 */ s16 mFallVoiceInit;
/* 0x03016 */ u8 field_0x3016[2];
/* 0x03018 */ s16 field_0x3018;
@@ -3814,7 +3813,7 @@ private:
/* 0x0321C */ u32 field_0x321c;
/* 0x03220 */ u32 field_0x3220;
/* 0x03224 */ u32 field_0x3224;
/* 0x03228 */ u8 field_0x3228[24];
/* 0x03228 */ u32 field_0x3228[2][3];
/* 0x03240 */ u32 field_0x3240;
/* 0x03244 */ u8 field_0x3244[20];
/* 0x03258 */ u32 field_0x3258;
@@ -3955,7 +3954,7 @@ private:
/* 0x037B0 */ cXyz field_0x37b0[2];
/* 0x037C8 */ cXyz field_0x37c8;
/* 0x037D4 */ cXyz field_0x37d4;
/* 0x037E0 */ cXyz field_0x37e0;
/* 0x037E0 */ cXyz mHeldItemRootPos;
/* 0x037EC */ cXyz mHookshotTopPos;
/* 0x037F8 */ cXyz mIronBallCenterPos;
/* 0x03804 */ cXyz mIronBallBgChkPos;
+22 -16
View File
@@ -10,7 +10,7 @@ class daPy_sightPacket_c : public dDlst_base_c {
public:
daPy_sightPacket_c() {}
/* 8015F1A0 */ virtual void draw();
/* 80140CDC */ virtual ~daPy_sightPacket_c();
/* 80140CDC */ virtual ~daPy_sightPacket_c() {}
/* 8015F2FC */ void setSight();
/* 8015F384 */ void setSightImage(ResTIMG*);
@@ -118,7 +118,7 @@ public:
/* 80140D80 */ daPy_frameCtrl_c();
bool checkAnmEnd();
void updateFrame();
void setFrameCtrl(u8, short, short, float, float);
void setFrameCtrl(u8, short, short, f32, f32);
u16 getEndFlg() { return mEndFlg; }
u16 getNowSetFlg() { return mNowSetFlg; }
@@ -217,6 +217,7 @@ public:
FLG0_UNDERWATER = 0x800000,
FLG0_UNK_100000 = 0x100000,
FLG0_UNK_80000 = 0x80000,
FLG0_UNK_40000 = 0x40000,
FLG0_UNK_20000 = 0x20000,
FLG0_UNK_8000 = 0x8000,
FLG0_UNK_4000 = 0x4000,
@@ -234,6 +235,7 @@ public:
FLG0_HVY_STATE = FLG0_UNK_40000000 | FLG0_EQUIP_HVY_BOOTS | FLG0_UNK_20000,
FLG0_UNK_14000 = 0x14000,
FLG0_UNK_18 = FLG0_UNK_10 | FLG0_UNK_8,
};
enum daPy_FLG1 {
@@ -275,6 +277,7 @@ public:
FLG2_UNK_4000 = 0x4000,
FLG2_UNK_2000 = 0x2000,
FLG2_UNK_1000 = 0x1000,
FLG2_UNK_400 = 0x400,
FLG2_UNK_200 = 0x200,
FLG2_UNK_80 = 0x80,
FLG2_UNK_40 = 0x40,
@@ -288,6 +291,7 @@ public:
};
enum daPy_FLG3 {
FLG3_UNK_80000000 = 0x80000000,
FLG3_UNK_40000000 = 0x40000000,
FLG3_UNK_20000000 = 0x20000000,
FLG3_UNK_4000000 = 0x4000000,
@@ -365,6 +369,7 @@ public:
RFLG0_FRONT_ROLL_CRASH = 0x2000,
RFLG0_ENEMY_ATTN_LOCK = 0x1000,
RFLG0_UNK_400 = 0x400,
RFLG0_UNK_100 = 0x100,
RFLG0_UNK_80 = 0x80,
RFLG0_UNK_40 = 0x40,
RFLG0_UNK_10 = 0x10,
@@ -459,10 +464,10 @@ public:
static bool checkRoomRestartStart();
static u32 checkCarryStartLightBallA();
static u32 checkCarryStartLightBallB();
float getSpinnerRideSpeed() const;
f32 getSpinnerRideSpeed() const;
bool checkSpinnerReflectEffect();
static bool checkBoomerangCharge();
bool checkBoomerangChargeTime();
int checkBoomerangChargeTime();
static daBoomerang_c* getThrowBoomerangActor();
static void cancelBoomerangLockActor(fopAc_ac_c*);
static void setPlayerDamage(int, int);
@@ -565,9 +570,9 @@ public:
virtual BOOL checkBoarRun() const;
virtual bool checkFmChainPut() const;
virtual bool checkHorseElecDamage() const;
virtual float getBaseAnimeFrameRate() const;
virtual float getBaseAnimeFrame() const;
virtual void setAnimeFrame(float);
virtual f32 getBaseAnimeFrameRate() const;
virtual f32 getBaseAnimeFrame() const;
virtual void setAnimeFrame(f32);
virtual bool checkWolfLock(fopAc_ac_c*) const;
virtual bool cancelWolfLock(fopAc_ac_c*);
virtual s32 getAtnActorID() const;
@@ -576,14 +581,14 @@ public:
virtual bool exchangeGrabActor(fopAc_ac_c*);
virtual bool setForceGrab(fopAc_ac_c*, int, int);
virtual void setForcePutPos(cXyz const&);
virtual BOOL checkPlayerNoDraw();
virtual u32 checkPlayerNoDraw();
virtual bool checkRopeTag();
virtual void voiceStart(u32);
virtual void seStartOnlyReverb(u32);
virtual void seStartOnlyReverbLevel(u32);
virtual void setOutPower(float, short, int);
virtual void setGrabCollisionOffset(float, float, cBgS_PolyInfo*);
virtual void onMagneGrab(float, float);
virtual void setOutPower(f32, short, int);
virtual void setGrabCollisionOffset(f32, f32, cBgS_PolyInfo*);
virtual void onMagneGrab(f32, f32);
virtual void onFrollCrashFlg(u8, int);
virtual MtxP getModelJointMtx(u16);
virtual MtxP getHeadMtx();
@@ -596,10 +601,10 @@ public:
virtual void setClothesChange(int);
virtual void setPlayerPosAndAngle(cXyz const*, short, int);
virtual void setPlayerPosAndAngle(cXyz const*, csXyz const*);
virtual void setPlayerPosAndAngle(float (*)[4]);
virtual bool setThrowDamage(short, float, float, int, int, int);
virtual void setPlayerPosAndAngle(f32 (*)[4]);
virtual bool setThrowDamage(short, f32, f32, int, int, int);
virtual bool checkSetNpcTks(cXyz*, int, int);
virtual int setRollJump(float, float, short);
virtual int setRollJump(f32, f32, short);
virtual void playerStartCollisionSE(u32, u32);
virtual void changeTextureAnime(u16, u16, int);
virtual void cancelChangeTextureAnime();
@@ -631,7 +636,7 @@ public:
virtual bool onWolfEnemyBiteAll(fopAc_ac_c*, daPy_FLG2);
virtual bool checkWolfEnemyBiteAllOwn(fopAc_ac_c const*) const;
virtual void setWolfEnemyHangBiteAngle(short);
virtual void setKandelaarMtx(float (*)[4], int, int);
virtual void setKandelaarMtx(f32 (*)[4], int, int);
virtual bool getStickAngleFromPlayerShape(short*) const;
virtual bool checkSpinnerPathMove();
virtual bool checkSpinnerTriggerAttack();
@@ -672,7 +677,7 @@ public:
virtual BOOL checkBootsOrArmorHeavy() const;
virtual s32 getBottleOpenAppearItem() const;
virtual bool checkItemSwordEquip() const;
virtual float getSinkShapeOffset() const;
virtual f32 getSinkShapeOffset() const;
virtual BOOL checkSinkDead() const;
virtual BOOL checkHorseStart();
virtual Z2WolfHowlMgr* getWolfHowlMgrP();
@@ -708,6 +713,7 @@ public:
bool checkSceneChangeAreaStart() const { return i_checkNoResetFlg2(FLG2_SCN_CHG_START); }
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); }
void onForceAutoJump() { i_onEndResetFlg0(ERFLG0_FORCE_AUTO_JUMP); }
void onNotAutoJump() { i_onEndResetFlg0(ERFLG0_NOT_AUTO_JUMP); }
+4 -2
View File
@@ -97,8 +97,10 @@ public:
f32 RoofChk(dBgS_RoofChk*);
bool SplGrpChk(dBgS_SplGrpChk*);
bool SphChk(dBgS_SphChk*, void*);
void MoveBgCrrPos(cBgS_PolyInfo const&, bool, cXyz*, csXyz*, csXyz*, bool, bool);
void MoveBgTransPos(cBgS_PolyInfo const&, bool, cXyz*, csXyz*, csXyz*);
void MoveBgCrrPos(cBgS_PolyInfo const& i_poly, bool param_1, cXyz* i_pos, csXyz* i_angle,
csXyz* i_shapeAngle, bool param_5, bool param_6);
void MoveBgTransPos(cBgS_PolyInfo const& i_poly, bool param_1, cXyz* i_pos, csXyz* i_angle,
csXyz* i_shapeAngle);
void MoveBgMatrixCrrPos(cBgS_PolyInfo const&, bool, cXyz*, csXyz*, csXyz*);
void RideCallBack(cBgS_PolyInfo const&, fopAc_ac_c*);
void ArrowStickCallBack(cBgS_PolyInfo const&, fopAc_ac_c*, cXyz&);
+3 -1
View File
@@ -47,6 +47,7 @@ public:
void SetWallH(f32 h) { m_wall_h = h; }
void ClrWallHDirect() { m_flags &= ~WALL_H_DIRECT; }
bool ChkWallHit() { return m_flags & WALL_HIT; }
s16 GetWallAngleY() { return m_wall_angle_y; }
void SetCir(cXyz& pos) { m_cir.Set(pos.x, pos.z, pos.y + GetWallH(), m_wall_r); }
}; // Size: 0x40
@@ -159,6 +160,7 @@ public:
bool ChkMoveBGOnly() const { return m_flags & MOVE_BG_ONLY; }
void SetWallHit() { m_flags |= WALL_HIT; }
void ClrWallNone() { m_flags &= ~WALL_NONE; }
void OnLineCheckNone() { m_flags |= LINE_CHECK_NONE; }
cM3dGCyl* GetWallBmdCylP() { return &m_wall_cyl; }
// inline dupe
@@ -204,7 +206,7 @@ class dBgS_LinkAcch : public dBgS_Acch {
public:
dBgS_LinkAcch() { SetLink(); }
/* 80140F30 */ virtual ~dBgS_LinkAcch();
/* 80140F30 */ virtual ~dBgS_LinkAcch() {}
};
class dBgS_ObjAcch : public dBgS_Acch {
+2 -2
View File
@@ -13,14 +13,14 @@ public:
class dBgS_LinkGndChk : public dBgS_GndChk {
public:
dBgS_LinkGndChk() { SetLink(); }
/* 80140EB8 */ virtual ~dBgS_LinkGndChk();
/* 80140EB8 */ virtual ~dBgS_LinkGndChk() {}
};
class dBgS_ObjGndChk : public dBgS_GndChk {
public:
dBgS_ObjGndChk() { SetObj(); }
/* 8001E020 */ virtual ~dBgS_ObjGndChk();
/* 8001E020 */ virtual ~dBgS_ObjGndChk(); // should be inlined
};
class dBgS_ObjGndChk_Wtr : public dBgS_ObjGndChk {
+1 -1
View File
@@ -28,7 +28,7 @@ private:
class dBgS_LinkRoofChk : public dBgS_RoofChk {
public:
dBgS_LinkRoofChk() { SetLink(); }
/* 80140E40 */ virtual ~dBgS_LinkRoofChk();
/* 80140E40 */ virtual ~dBgS_LinkRoofChk() {}
};
#endif /* D_BG_D_BG_S_ROOF_CHK_H */
+4 -1
View File
@@ -144,7 +144,7 @@ public:
}; // Size = 0x3C
class dCcD_GObjInf;
typedef void (*dCcD_HitCallback)(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*);
typedef void (*dCcD_HitCallback)(fopAc_ac_c* i_actorA, dCcD_GObjInf* i_objInfA, fopAc_ac_c* i_actorB, dCcD_GObjInf* i_objInfB);
// Attack/Defense/Correction Collider Common Base
@@ -206,6 +206,7 @@ public:
u8 GetHitMark() { return mHitMark; }
void SetRVec(cXyz& vec) { mRVec = vec; }
void SetHitPos(cXyz& pos) { mHitPos = pos; }
cXyz* GetHitPosP() { return &mHitPos; }
// private:
/* 0x1C */ u8 mSe;
@@ -376,6 +377,8 @@ public:
void SetTgHitPos(cXyz& pos) { mGObjTg.SetHitPos(pos); }
void SetAtHitPos(cXyz& pos) { mGObjAt.SetHitPos(pos); }
u32 GetTgHitObjHitSeID(int i_soundID) { return getHitSeID(GetTgHitObjSe(),i_soundID); }
cXyz* GetAtHitPosP() { return mGObjAt.GetHitPosP(); }
bool ChkTgHookshotThrough() { return mGObjTg.ChkSPrm(0x80); }
static const Z2SoundID m_hitSeID[24];
+27
View File
@@ -2505,6 +2505,10 @@ inline void dComIfGp_clearPlayerStatus0(int param_0, u32 flag) {
g_dComIfG_gameInfo.play.clearPlayerStatus(param_0, 0, flag);
}
inline void dComIfGp_clearPlayerStatus1(int param_0, u32 flag) {
g_dComIfG_gameInfo.play.clearPlayerStatus(param_0, 1, flag);
}
inline dStage_stageDt_c* i_dComIfGp_getStage() {
return &g_dComIfG_gameInfo.play.getStage();
}
@@ -3423,6 +3427,16 @@ inline u32 dComIfGp_particle_setPolyColor(u32 param_0, u16 param_1, cBgS_PolyInf
param_8, param_9, param_10);
}
inline JPABaseEmitter* dComIfGp_particle_setPolyColor(u16 param_1, cBgS_PolyInfo& param_2,
const cXyz* param_3, const dKy_tevstr_c* param_4,
const csXyz* param_5, const cXyz* param_6, int param_7,
dPa_levelEcallBack* param_8, s8 param_9,
const cXyz* param_10) {
return g_dComIfG_gameInfo.play.getParticle()->setPoly(param_1, param_2, param_3,
param_4, param_5, param_6, param_7,
param_8, param_9, param_10);
}
int dComIfGd_setSimpleShadow(cXyz* pos, f32 param_1, f32 param_2, cBgS_PolyInfo& param_3, s16 angle,
f32 param_5, _GXTexObj* tex);
stage_camera_class* dComIfGp_getRoomCamera(int i_roomNo);
@@ -3556,6 +3570,11 @@ inline void dComIfGd_setListIndScreen() {
g_dComIfG_gameInfo.drawlist.setXluListP0();
}
inline void dComIfGd_setListMiddle() {
g_dComIfG_gameInfo.drawlist.setOpaListMiddle();
g_dComIfG_gameInfo.drawlist.setXluListMiddle();
}
inline void dComIfGd_setListZxlu() {
g_dComIfG_gameInfo.drawlist.setOpaListZxlu();
g_dComIfG_gameInfo.drawlist.setXluListZxlu();
@@ -3565,6 +3584,10 @@ inline J3DDrawBuffer* dComIfGd_getOpaListBG() {
return g_dComIfG_gameInfo.drawlist.getOpaListBG();
}
inline J3DDrawBuffer* dComIfGd_getOpaListDark() {
return g_dComIfG_gameInfo.drawlist.getOpaListDark();
}
inline void dComIfGd_init() {
g_dComIfG_gameInfo.drawlist.init();
}
@@ -3593,6 +3616,10 @@ inline void dComIfGd_entryZSortListZxlu(J3DPacket* i_packet, cXyz& param_1) {
g_dComIfG_gameInfo.drawlist.entryZSortListZxlu(i_packet, param_1);
}
inline void dComIfGd_entryZSortXluList(J3DPacket* i_packet, cXyz& param_1) {
g_dComIfG_gameInfo.drawlist.entryZSortXluList(i_packet, param_1);
}
inline void dComIfGd_drawCopy2D() {
g_dComIfG_gameInfo.drawlist.drawCopy2D();
}
+2 -1
View File
@@ -243,7 +243,7 @@ public:
/* 801647B0 */ void onRoomChange(s32);
/* 80164878 */ void getParamTargetActor(s32);
/* 80164944 */ void GetCameraTypeFromMapToolID(s32, s32);
/* 80164B64 */ void GetCameraTypeFromCameraName(char const*);
/* 80164B64 */ int GetCameraTypeFromCameraName(char const*);
/* 80164C10 */ void GetCameraTypeFromToolData(stage_camera2_data_class*);
/* 80164C64 */ void pushInfo(dCamera_c::dCamInfo_c*, s16);
/* 80164CAC */ void popInfo(dCamera_c::dCamInfo_c*);
@@ -332,6 +332,7 @@ public:
bool Active() { return field_0x24 == 0; }
f32 TrimHeight() { return mTrimHeight; }
int Type() { return mCurType; }
static u8 engine_tbl[240];
+9 -2
View File
@@ -312,8 +312,9 @@ public:
J3DDrawBuffer* getOpaListP0() { return mDrawBuffers[DB_LIST_P0]; }
J3DDrawBuffer* getOpaListPacket() { return mDrawBuffers[DB_OPA_LIST_PACKET]; }
J3DDrawBuffer* getOpaListBG() { return mDrawBuffers[DB_OPA_LIST_BG]; }
void setXluDrawList(J3DDrawBuffer* buffer) { j3dSys.setDrawBuffer(buffer, XLU_BUFFER); }
void setOpaDrawList(J3DDrawBuffer* buffer) { j3dSys.setDrawBuffer(buffer, OPA_BUFFER); }
J3DDrawBuffer* getOpaListDark() { return mDrawBuffers[DB_OPA_LIST_DARK]; }
void setXluDrawList(J3DDrawBuffer* buffer) { j3dSys.setDrawBuffer(buffer, J3DSys_XLU_BUFFER_e); }
void setOpaDrawList(J3DDrawBuffer* buffer) { j3dSys.setDrawBuffer(buffer, J3DSys_OPA_BUFFER_e); }
void setXluListSky() { setXluDrawList(mDrawBuffers[DB_XLU_LIST_SKY]); }
void setOpaListSky() { setOpaDrawList(mDrawBuffers[DB_OPA_LIST_SKY]); }
void setXluListDark() { setXluDrawList(mDrawBuffers[DB_XLU_LIST_DARK]); }
@@ -333,6 +334,8 @@ public:
void setXluList2DScreen() { setXluDrawList(mDrawBuffers[DB_LIST_2D_SCREEN]); }
void setXluListP0() { setXluDrawList(mDrawBuffers[DB_LIST_P0]); }
void setOpaListP0() { setOpaDrawList(mDrawBuffers[DB_LIST_P0]); }
void setXluListMiddle() { setXluDrawList(mDrawBuffers[DB_LIST_MIDDLE]); }
void setOpaListMiddle() { setOpaDrawList(mDrawBuffers[DB_LIST_MIDDLE]); }
void setOpaListZxlu() { setOpaDrawList(mDrawBuffers[DB_LIST_Z_XLU]); }
void setXluListZxlu() { setXluDrawList(mDrawBuffers[DB_LIST_Z_XLU]); }
@@ -341,6 +344,10 @@ public:
entryZSortXluDrawList(mDrawBuffers[DB_LIST_Z_XLU], i_packet, param_1);
}
void entryZSortXluList(J3DPacket* i_packet, cXyz& param_1) {
entryZSortXluDrawList(mDrawBuffers[DB_XLU_LIST], i_packet, param_1);
}
int setSimpleShadow(cXyz* param_0, f32 param_1, f32 param_2, cXyz* param_3, s16 param_4,
f32 param_5, _GXTexObj* param_6) {
return mShadowControl.setSimple(param_0, param_1, param_2, param_3, param_4, param_5,
+8 -10
View File
@@ -13,17 +13,10 @@ public:
/* 8009CB14 */ static void entry(dEyeHL_c*);
/* 8009CB34 */ static void remove(dEyeHL_c*);
static dEyeHL_mng_c* m_obj;
/* 0x00 */ u8 field_0x0[4];
/* 0x04 */ ResTIMG* m_timg;
/* 0x08 */ s16 m_lodBias;
/* 0x0A */ u8 field_0x0a[2];
/* 0x0C */ dEyeHL_mng_c* m_pre;
/* 0x10 */ dEyeHL_mng_c* m_next;
static dEyeHL_c* m_obj;
};
class dEyeHL_c : public dEyeHL_mng_c {
class dEyeHL_c {
public:
dEyeHL_c() {
m_timg = NULL;
@@ -33,7 +26,12 @@ public:
/* 8009C964 */ void entry(J3DModelData*, char const*);
/* 8009CA28 */ void remove();
/* 80140C80 */ ~dEyeHL_c();
/* 80140C80 */ virtual ~dEyeHL_c() { remove(); }
/* 0x04 */ ResTIMG* m_timg;
/* 0x08 */ s16 m_lodBias;
/* 0x0C */ dEyeHL_c* m_pre;
/* 0x10 */ dEyeHL_c* m_next;
};
#endif /* D_D_EYE_HL_H */
+1
View File
@@ -11,6 +11,7 @@ class JKRAramArchive;
u32 dLib_getExpandSizeFromAramArchive(JKRAramArchive* arc, char const* resName);
BOOL dLib_checkActorInRectangle(fopAc_ac_c* param_0, fopAc_ac_c* param_1, cXyz const* param_2,
cXyz const* param_3);
u8 dLib_getEventSwitchNo(int param_0);
class STControl {
public:
+24 -1
View File
@@ -299,8 +299,15 @@ struct dStage_FloorInfo_c {
// FLOR
};
class dStage_Lbnk_dt_c {
public:
/* 0x0 */ u8 field_0x0[0x2 - 0x0];
/* 0x2 */ u8 field_0x2;
};
struct dStage_Lbnk_c {
// LBNK
/* 0x0 */ int num;
/* 0x4 */ dStage_Lbnk_dt_c* entries;
};
struct dStage_Elst_data {
@@ -1095,6 +1102,14 @@ inline f32 dStage_FileList_dt_SeaLevel(dStage_FileList_dt_c* p_fList) {
return p_fList->mSeaLevel;
}
inline int dStage_FileList_dt_GlobalWindLevel(dStage_FileList_dt_c* i_fili) {
return (i_fili->mParameters >> 0x12) & 3;
}
inline int dStage_FileList_dt_GlobalWindDir(dStage_FileList_dt_c* i_fili) {
return (i_fili->mParameters >> 0xF) & 7;
}
inline f32 dStage_FileList2_dt_GetLeftRmX(dStage_FileList2_dt_c* p_fList2) {
return p_fList2->mLeftRmX;
}
@@ -1127,4 +1142,12 @@ inline int dStage_MapEvent_dt_c_getEventSCutType(dStage_MapEvent_dt_c* event) {
return event->field_0x8 >> 1 & 3;
}
inline int dStage_lbnkWIND(dStage_Lbnk_dt_c* i_data) {
return (i_data->field_0x2 >> 3) & 7;
}
inline int dStage_lbnkWlevel(dStage_Lbnk_dt_c* i_data) {
return (i_data->field_0x2 >> 6) & 3;
}
#endif /* D_D_STAGE_H */
+1 -1
View File
@@ -127,7 +127,7 @@ struct BOSS_LIGHT {
struct GB_WIND_INFLUENCE {
/* 0x00 */ cXyz vec;
/* 0x0C */ int field_0xc;
/* 0x0C */ cXyz* vec_override;
/* 0x10 */ f32 pow;
};
+14 -13
View File
@@ -1,23 +1,23 @@
#ifndef D_KANKYO_D_KANKYO_RAIN_H
#define D_KANKYO_D_KANKYO_RAIN_H
#include "dolphin/types.h"
#include "dolphin/mtx/mtx.h"
struct cXyz;
struct _GXColor;
void dKyr_drawSun(f32 (*param_0)[4], cXyz* param_1, _GXColor& param_2, u8** param_3);
void dKyr_drawLenzflare(f32 (*param_0)[4], cXyz* param_1, _GXColor& param_2, u8** param_3);
void dKyr_drawSibuki(f32 (*param_0)[4], u8** param_1);
void dKyr_drawRain(f32 (*param_0)[4], u8** param_1);
void dKyr_drawSnow(f32 (*param_0)[4], u8** param_1);
void dKyr_drawStar(f32 (*param_0)[4], u8** param_1);
void drawCloudShadow(f32 (*param_0)[4], u8** param_1);
void dKyr_drawHousi(f32 (*param_0)[4], u8** param_1);
void drawVrkumo(f32 (*param_0)[4], _GXColor& param_1, u8** param_2);
void dKyr_odour_draw(f32 (*param_0)[4], u8** param_1);
void dKyr_mud_draw(f32 (*param_0)[4], u8** param_1);
void dKyr_evil_draw(f32 (*param_0)[4], u8** param_1);
void dKyr_drawSun(Mtx param_0, cXyz* param_1, _GXColor& param_2, u8** param_3);
void dKyr_drawLenzflare(Mtx param_0, cXyz* param_1, _GXColor& param_2, u8** param_3);
void dKyr_drawSibuki(Mtx param_0, u8** param_1);
void dKyr_drawRain(Mtx param_0, u8** param_1);
void dKyr_drawSnow(Mtx param_0, u8** param_1);
void dKyr_drawStar(Mtx param_0, u8** param_1);
void drawCloudShadow(Mtx param_0, u8** param_1);
void dKyr_drawHousi(Mtx param_0, u8** param_1);
void drawVrkumo(Mtx param_0, _GXColor& param_1, u8** param_2);
void dKyr_odour_draw(Mtx param_0, u8** param_1);
void dKyr_mud_draw(Mtx param_0, u8** param_1);
void dKyr_evil_draw(Mtx param_0, u8** param_1);
void dKyr_thunder_init();
void dKyr_thunder_move();
void dKyr_snow_init();
@@ -39,6 +39,7 @@ void dKyr_star_init();
void dKyr_shstar_init();
void dKyr_star_move();
void dKyr_shstar_move();
void vrkumo_move();
void dKyr_get_vectle_calc(cXyz* param_0, cXyz* param_1, cXyz* param_2);
#endif /* D_KANKYO_D_KANKYO_RAIN_H */
+13 -6
View File
@@ -4,7 +4,8 @@
#include "JSystem/J3DGraphBase/J3DPacket.h"
#include "SSystem/SComponent/c_sxyz.h"
#include "SSystem/SComponent/c_xyz.h"
#include "dolphin/types.h"
class WIND_INFLUENCE;
void dKyw_wether_draw();
void dKyw_wether_delete();
@@ -28,6 +29,8 @@ void dKyw_custom_windpower(f32 pow);
void dKyw_evt_wind_set_go();
void dKyw_wether_proc();
void dKyw_get_AllWind_vec(cXyz* param_0, cXyz* param_1, f32* param_2);
void dKyw_pntwind_cut(WIND_INFLUENCE* i_pntwind);
cXyz dKyw_pntwind_get_vecpow(cXyz* param_0);
class dKankyo_sun_Packet : public J3DPacket {
public:
@@ -79,7 +82,7 @@ struct RAIN_EFF {
/* 80056CD0 */ ~RAIN_EFF();
/* 80056D0C */ RAIN_EFF();
/* 0x00 */ u8 mStatus;
/* 0x00 */ s8 mStatus;
/* 0x04 */ cXyz mPosition;
/* 0x10 */ cXyz mBasePos;
/* 0x1C */ f32 field_0x1c;
@@ -176,14 +179,18 @@ struct HOUSI_EFF {
/* 80056EA8 */ ~HOUSI_EFF();
/* 80056EE4 */ HOUSI_EFF();
/* 0x00 */ u8 mStatus;
/* 0x00 */ s8 mStatus;
/* 0x04 */ cXyz mPosition;
/* 0x10 */ cXyz mBasePos;
/* 0x1C */ cXyz mSpeed;
/* 0x28 */ cXyz mScale;
/* 0x34 */ u8 field_0x34[0x40 - 0x34];
/* 0x34 */ f32 field_0x34;
/* 0x38 */ f32 field_0x38;
/* 0x3C */ u16 field_0x3c;
/* 0x40 */ f32 mAlpha;
/* 0x44 */ u8 field_0x44[0x50 - 0x44];
/* 0x44 */ f32 field_0x44;
/* 0x48 */ f32 field_0x48;
/* 0x4C */ u16 field_0x4c;
}; // Size: 0x50
class dKankyo_housi_Packet : public J3DPacket {
@@ -196,7 +203,7 @@ public:
/* 0x0020 */ HOUSI_EFF mHousiEff[300];
/* 0x5DE0 */ u8 field_0x5de0[8];
/* 0x5DE8 */ f32 field_0x5de8;
/* 0x5DEC */ u8 field_0x5dec[4];
/* 0x5DEC */ s16 field_0x5dec;
}; // Size: 0x5DF0
struct CLOUD_EFF {
+2 -2
View File
@@ -16,7 +16,7 @@ class fopAc_ac_c;
class dPa_levelEcallBack : public JPAEmitterCallBack {
public:
/* 8004FB18 */ virtual ~dPa_levelEcallBack();
/* 8004FB18 */ virtual ~dPa_levelEcallBack(); /* { cleanup(); } */ // should be inlined
virtual void setup(JPABaseEmitter*, const cXyz*, const csXyz*, s8) = 0;
/* 8004FB8C */ virtual void cleanup();
};
@@ -27,7 +27,7 @@ public:
/* 8004F6B8 */ void setOldPosP(cXyz const*, cXyz const*);
/* 8004FCC8 */ virtual ~dPa_hermiteEcallBack_c();
/* 8004FCC8 */ virtual ~dPa_hermiteEcallBack_c(); // should be inlined
/* 8004F6C4 */ virtual void executeAfter(JPABaseEmitter*);
/* 8004FABC */ virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8);
+6
View File
@@ -284,6 +284,12 @@ public:
*/
static void XrotM(s16 x) { mDoMtx_XrotM(now, x); }
/**
* Rotates the `now` matrix on the Z-axis
* @param z The rotation value
*/
static void ZrotS(s16 z) { mDoMtx_ZrotS(now, z); }
/**
* Rotates a new matrix on the z-axis then concatenates it with the `now` matrix
* @param z The rotation value
+156 -1
View File
@@ -1,6 +1,161 @@
#ifndef D_A_B_DR_H
#define D_A_B_DR_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
class daB_DR_c : public fopEn_enemy_c {
public:
/* 805BAF80 */ void ctrlJoint(J3DJoint*, J3DModel*);
/* 805BB120 */ void JointCallBack(J3DJoint*, int);
/* 805BB16C */ void draw();
/* 805BB408 */ void setBck(int, u8, f32, f32);
/* 805BB4B4 */ void setActionMode(int, int);
/* 805BB4CC */ void mGlider_WindPosSet();
/* 805BB540 */ void mBoot_c_tranceSet(bool);
/* 805BB64C */ void mStatusONOFF(int);
/* 805BB6E8 */ void setSe();
/* 805BBFC0 */ void setDeathLightEffect();
/* 805BC0B8 */ void chkPartCreate(bool);
/* 805BC248 */ void mHabatakiAnmSet(int);
/* 805BC57C */ void mGlider_AniSet(bool);
/* 805BC8B4 */ void mGliderAtAniSet();
/* 805BCA10 */ void tail_hit_check();
/* 805BCAD4 */ void week_hit_check();
/* 805BCBD0 */ void mTimerClr();
/* 805BCBF4 */ void mCountClr();
/* 805BCC18 */ void mAllClr();
/* 805BCC4C */ void mHeadAngleSet();
/* 805BCD7C */ void flapMove(bool);
/* 805BCEA4 */ void revolutionMove();
/* 805BD05C */ void mPlayerHighCheck();
/* 805BD15C */ void mBgFallGroundCheck();
/* 805BD3E4 */ void normalHoverMove();
/* 805BD5FC */ void executeWait();
/* 805BD98C */ void executeFlyWait();
/* 805BDBC4 */ void executeTailHit();
/* 805BE9B4 */ void executeWeekHit();
/* 805BF4C8 */ void mBreathSet();
/* 805BF768 */ void mBreathHighSet(bool);
/* 805BFA6C */ void mFeintBreath();
/* 805BFD88 */ void executeBreathAttack();
/* 805C062C */ void executeWindAttack();
/* 805C0CAC */ void mGliderMoveSub(f32);
/* 805C0EF8 */ void executeGliderAttack();
/* 805C1E0C */ void executePillarSearch();
/* 805C24BC */ void executePillarWait();
/* 805C2BE8 */ void startDemoCheck();
/* 805C2CD0 */ void executeDamageDemo();
/* 805C3558 */ void executeMiddleDemo();
/* 805C36A4 */ void executeDead();
/* 805C382C */ void executeBullet();
/* 805C39D8 */ void executeParts();
/* 805C3CB0 */ void action();
/* 805C40E0 */ void action_fire();
/* 805C4130 */ void action_parts();
/* 805C41A4 */ void mtx_set();
/* 805C4684 */ void parts_mtx_set();
/* 805C46E0 */ void cc_set();
/* 805C4E14 */ void down_cc_set();
/* 805C4FB4 */ void demo_skip(int);
/* 805C50BC */ void DemoSkipCallBack(void*, int);
/* 805C50F0 */ void execute();
/* 805C55B0 */ void _delete();
/* 805C56A4 */ void CreateHeap();
/* 805C5974 */ void create();
/* 805C62B0 */ daB_DR_c();
void onTarget() { mTarget = true; }
bool isBack() { return mPrm0; }
/* 0x05AC */ request_of_phase_process_class mPhase;
/* 0x05B4 */ mDoExt_McaMorfSO* mpModelMorf;
/* 0x05B8 */ J3DModel* mpPartModel;
/* 0x05BC */ mDoExt_brkAnm* mpCoreBrk;
/* 0x05C0 */ Z2CreatureEnemy field_0x5c0;
/* 0x0664 */ Z2CreatureEnemy field_0x664;
/* 0x0708 */ int mAction;
/* 0x070C */ int mMode;
/* 0x0710 */ int mAnmID;
/* 0x0714 */ u8 field_0x714[0x0718 - 0x0714];
/* 0x0718 */ int field_0x718;
/* 0x071C */ u8 field_0x71C[0x0720 - 0x071C];
/* 0x0720 */ f32 field_0x720;
/* 0x0724 */ f32 field_0x724;
/* 0x0728 */ f32 field_0x728;
/* 0x072C */ f32 field_0x72c;
/* 0x0730 */ u8 field_0x730[0x0734 - 0x0730];
/* 0x0734 */ f32 field_0x734;
/* 0x0738 */ u8 field_0x738[0x073C - 0x0738];
/* 0x073C */ f32 field_0x73c;
/* 0x0740 */ f32 field_0x740;
/* 0x0744 */ f32 field_0x744;
/* 0x0748 */ f32 field_0x748;
/* 0x074C */ s16 field_0x74c;
/* 0x074E */ s16 field_0x74e;
/* 0x0750 */ s16 field_0x750;
/* 0x0752 */ s16 field_0x752;
/* 0x0754 */ s16 field_0x754;
/* 0x0756 */ s16 field_0x756;
/* 0x0758 */ s16 field_0x758;
/* 0x075A */ s16 field_0x75a;
/* 0x075C */ u8 field_0x75C[0x0760 - 0x075C];
/* 0x0760 */ cXyz field_0x760;
/* 0x076C */ cXyz field_0x76c;
/* 0x0778 */ cXyz field_0x778;
/* 0x0784 */ cXyz field_0x784;
/* 0x0790 */ cXyz field_0x790;
/* 0x079C */ cXyz field_0x79c;
/* 0x07A8 */ cXyz field_0x7a8;
/* 0x07B4 */ cXyz field_0x7b4;
/* 0x07C0 */ int mTimer[4];
/* 0x07D0 */ u8 field_0x7d0;
/* 0x07D1 */ u8 field_0x7d1;
/* 0x07D2 */ u8 field_0x7d2;
/* 0x07D3 */ u8 field_0x7d3;
/* 0x07D4 */ u8 field_0x7d4;
/* 0x07D5 */ u8 field_0x7D5[0x07D6 - 0x07D5];
/* 0x07D6 */ u8 field_0x7d6;
/* 0x07D7 */ u8 field_0x7d7;
/* 0x07D8 */ u8 field_0x7D8[0x07D9 - 0x07D8];
/* 0x07D9 */ u8 mTarget;
/* 0x07DA */ u8 field_0x7DA[0x07DB - 0x07DA];
/* 0x07DB */ u8 field_0x7db;
/* 0x07DC */ u8 field_0x7DC[0x07E0 - 0x07DC];
/* 0x07E0 */ int field_0x7e0;
/* 0x07E4 */ u8 field_0x7e4[4];
/* 0x07E8 */ u8 field_0x7e8;
/* 0x07E9 */ u8 field_0x7E9[0x07EA - 0x07E9];
/* 0x07EA */ u8 mPrm0;
/* 0x07EB */ u8 field_0x7eb;
/* 0x07EC */ u8 mPrm1;
/* 0x07ED */ u8 mPrm2;
/* 0x07EE */ u8 mPrm3;
/* 0x07EF */ u8 field_0x7EF[0x07F0 - 0x07EF];
/* 0x07F0 */ dBgS_AcchCir mAcchCir;
/* 0x0830 */ dBgS_ObjAcch mAcch;
/* 0x0A08 */ dCcD_Stts field_0xa08;
/* 0x0A44 */ dCcD_Cyl mWeekCc;
/* 0x0B80 */ dCcD_Sph mFootAtCc[2];
/* 0x0DF0 */ dCcD_Sph field_0xdf0;
/* 0x0F28 */ dCcD_Sph mBreathAtCc;
/* 0x1060 */ dCcD_Sph mWindAtCc;
/* 0x1198 */ dCcD_Sph mWindAtCc2;
/* 0x12D0 */ dCcD_Sph mWindAtCc3;
/* 0x1408 */ dCcD_Sph mTailCc;
/* 0x1540 */ dCcD_Cyl mPillarCc;
/* 0x167C */ dCcD_Sph mDownSphCc[9];
/* 0x2174 */ dCcD_Cyl mDownCc[5];
/* 0x27A0 */ u8 field_0x27A0[0x27A8 - 0x27A0];
/* 0x27A8 */ Z2CreatureEnemy* field_0x27a8;
/* 0x27AC */ u8 field_0x27AC[0x27C4 - 0x27AC];
/* 0x27C4 */ cXyz field_0x27c4;
/* 0x27D0 */ cXyz field_0x27d0;
/* 0x27DC */ u32 field_0x27dc[4];
/* 0x27EC */ u32 field_0x27ec[4];
/* 0x27FC */ u32 field_0x27fc[4];
/* 0x280C */ u32 field_0x280c;
/* 0x2810 */ u8 field_0x2810[0x2814 - 0x2810];
/* 0x2814 */ dMsgFlow_c mMsgFlow;
};
#endif /* D_A_B_DR_H */
+35 -1
View File
@@ -1,6 +1,40 @@
#ifndef D_A_ANDSW2_H
#define D_A_ANDSW2_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
class daAndsw2_c : public fopAc_ac_c {
public:
enum Action_e {
ACT_ON_ALL_e,
ACT_TIMER_e,
ACT_ORDER_e,
ACT_EVENT_e,
ACT_OFF_e,
ACT_WAIT_e,
};
/* 804D5DF8 */ u8 getEventNo();
/* 804D5E04 */ u8 getSwbit();
/* 804D5E10 */ u8 getSwbit2();
/* 804D5E1C */ u8 getType();
/* 804D5E28 */ u8 getTimer();
/* 804D5E34 */ u8 getNum();
/* 804D5E40 */ u8 getTopSw();
/* 804D5EB0 */ u8 getSwAns();
/* 804D5EBC */ BOOL chkAllSw2();
/* 804D5F64 */ bool chkSwStatus();
/* 804D6024 */ bool chkSwStatus2();
/* 804D60CC */ ~daAndsw2_c();
/* 804D6120 */ int create();
inline int execute();
void setActio(u8 i_action) { mAction = i_action; }
/* 0x568 */ s16 mTimer;
/* 0x56A */ s16 mEventIdx;
/* 0x56C */ u8 mAction;
};
#endif /* D_A_ANDSW2_H */
@@ -32,6 +32,7 @@ public:
/* 80CFCD98 */ virtual int Delete();
void setHangPlayer() { mHangPlayer = 1; }
u8 getType() { return field_0x730; }
/* 0x5A0 */ dEvLib_callback_c field_0x5a0;
/* 0x5B0 */ request_of_phase_process_class mPhase;