d_meter2 wip / d_s_play / d_file_sel_info (#179)

* d_meter2 wip

* d_s_play

* d_file_sel_info

* format

* tag_lv5soup / tag_setBall / fix dKyeff

* d_cc_uty
This commit is contained in:
TakaRikka
2022-02-06 06:23:54 -08:00
committed by GitHub
parent 612f26c132
commit 3a79e96e8b
133 changed files with 2652 additions and 4502 deletions
+4
View File
@@ -86,6 +86,10 @@ public:
f32 getRotOffsetY() const { return mRotateOffsetY; }
MtxP getGlbMtx() { return mGlobalMtx; }
void setMtx(Mtx m) { PSMTXCopy(m, mPositionMtx); }
void translate(f32 transX, f32 transY) {
mTranslateX = transX;
mTranslateY = transY;
@@ -23,6 +23,7 @@ public:
void ct();
void Set2(const cXyz*, const cXyz*, unsigned int);
void PreCalc();
void GetCross();
virtual ~cBgS_LinChk();
+2
View File
@@ -24,6 +24,8 @@ public:
/* 0x1C vtable */
struct Shape {
/* 80167BBC */ ~Shape();
/* 0x00 */ u32 _0;
/* 0x04 */ f32 _4;
/* 0x08 */ f32 _8;
+12
View File
@@ -3,6 +3,18 @@
#include "dolphin/types.h"
struct counter_class {
s32 mCounter0;
s32 mCounter1;
s32 mTimer;
};
extern counter_class g_Counter;
void cCt_Counter(int resetCounter1);
inline void cCt_execCounter() {
g_Counter.mTimer++;
}
#endif /* C_COUNTER_H */
+1
View File
@@ -20,6 +20,7 @@ public:
void Set(const cM3dGPla*);
f32 getPlaneFunc(const Vec* pPoint) const { return mD + PSVECDotProduct(&mNormal, pPoint); }
const cXyz& GetNP() const { return mNormal; }
void GetNP();
f32 GetD() const { return mD; }
};
+114 -2
View File
@@ -1,9 +1,48 @@
#ifndef Z2ENVSEMGR_H
#define Z2ENVSEMGR_H
#include "Z2AudioLib/Z2Calc.h"
#include "Z2AudioLib/Z2SeMgr.h"
#include "dolphin/mtx/mtxvec.h"
#include "dolphin/types.h"
struct Z2EnvSeBase {
/* 802C589C */ Z2EnvSeBase(Vec*);
/* 802C58AC */ ~Z2EnvSeBase();
/* 802C5908 */ void startEnvSe(JAISoundID, f32, f32, f32, f32, f32, u32);
/* 802C5AB4 */ void startEnvSeLevel(JAISoundID, f32, f32, f32, f32, f32, u32);
/* 0x0 */ Vec* mPos;
/* 0x4 */ JAISoundHandle mHandle;
}; // Size: 0x8
struct Z2EnvSeAutoPan : public Z2EnvSeBase {
/* 802C5ECC */ Z2EnvSeAutoPan();
/* 802C5F28 */ ~Z2EnvSeAutoPan();
/* 802C5F7C */ void setPanParam(f32, f32, bool, bool, f32, f32);
/* 802C5F98 */ void calcPan();
/* 802C60E0 */ void startEnvSeAutoPanLevel(JAISoundID, f32, f32, f32);
/* 0x08 */ f32 field_0x8;
/* 0x0C */ f32 field_0xc;
/* 0x10 */ f32 field_0x10;
/* 0x14 */ f32 field_0x14;
/* 0x18 */ bool field_0x18;
/* 0x19 */ bool field_0x19;
}; // Size: 0x1C
struct Z2EnvSeDir : public Z2EnvSeBase {
/* 802C5C9C */ Z2EnvSeDir(Vec*);
/* 802C5D1C */ ~Z2EnvSeDir();
/* 802C5D70 */ void setPanDir(Vec*);
/* 802C5D9C */ void calcPan(f32);
/* 802C5E90 */ void startEnvSeDirLevel(JAISoundID, f32, f32);
/* 0x08 */ f32 field_0x8;
/* 0x0C */ f32 field_0xc;
/* 0x10 */ Vec mPanDir;
}; // Size: 0x1C
struct Z2EnvSeMgr {
/* 802C611C */ Z2EnvSeMgr();
/* 802C6540 */ ~Z2EnvSeMgr();
@@ -41,7 +80,80 @@ struct Z2EnvSeMgr {
/* 802C9F58 */ void registLv3WaterSePos(u8, Vec*);
/* 802CA794 */ void startLv3WaterSe(s8);
u8 field_0x0[780];
};
/* 0x000 */ Z2EnvSeAutoPan field_0x0;
/* 0x01C */ Z2EnvSeAutoPan field_0x1c;
/* 0x038 */ u8 field_0x38;
/* 0x039 */ u8 field_0x39;
/* 0x03C */ f32 field_0x3c;
/* 0x040 */ f32 field_0x40;
/* 0x044 */ f32 field_0x44;
/* 0x048 */ f32 field_0x48;
/* 0x04C */ f32 field_0x4c;
/* 0x050 */ f32 field_0x50;
/* 0x054 */ f32 field_0x54;
/* 0x058 */ f32 field_0x58;
/* 0x05C */ f32 field_0x5c;
/* 0x060 */ f32 field_0x60;
/* 0x064 */ Z2MultiSeMgr field_0x64;
/* 0x080 */ Z2EnvSeBase field_0x80;
/* 0x088 */ Z2EnvSeBase field_0x88;
/* 0x090 */ Z2Calc::FNoise1f field_0x90;
/* 0x0A0 */ Z2Calc::FNoise1f field_0xa0;
/* 0x0B0 */ Z2Calc::FNoise1f field_0xb0;
/* 0x0C0 */ Z2Calc::FNoise1f field_0xc0;
/* 0x0D0 */ Z2Calc::FNoise1f field_0xd0;
/* 0x0E0 */ Z2Calc::FNoise1f field_0xe0;
/* 0x0F0 */ Z2Calc::FNoise1f field_0xf0;
/* 0x100 */ Z2Calc::FNoise1f field_0x100;
/* 0x110 */ Z2EnvSeBase field_0x110;
/* 0x118 */ Z2EnvSeBase field_0x118;
/* 0x120 */ Z2Calc::FNoise1f field_0x120;
/* 0x130 */ Z2Calc::FNoise1f field_0x130;
/* 0x140 */ u8 field_0x140;
/* 0x141 */ u8 field_0x141;
/* 0x144 */ Z2EnvSeDir field_0x144;
/* 0x160 */ u8 field_0x160;
/* 0x164 */ Z2MultiSeMgr field_0x164;
/* 0x180 */ Z2EnvSeBase field_0x180;
/* 0x188 */ u8 field_0x188;
/* 0x18C */ Z2Calc::FNoise1f field_0x18c;
/* 0x19C */ Z2Calc::FNoise1f field_0x19c;
/* 0x1BC */ Z2MultiSeMgr field_0x1bc;
/* 0x1D8 */ Z2EnvSeBase field_0x1d8;
/* 0x1E0 */ u8 field_0x1e0;
/* 0x1E4 */ f32 field_0x1e4;
/* 0x1E8 */ f32 field_0x1e8;
/* 0x1EC */ f32 field_0x1ec;
/* 0x1F0 */ Z2MultiSeMgr field_0x1f0;
/* 0x20C */ Z2EnvSeBase field_0x20c;
/* 0x214 */ u8 field_0x214;
/* 0x218 */ f32 field_0x218;
/* 0x21C */ f32 field_0x21c;
/* 0x220 */ f32 field_0x220;
/* 0x224 */ Z2MultiSeMgr field_0x224;
/* 0x240 */ Z2EnvSeBase field_0x240;
/* 0x248 */ u8 field_0x248;
/* 0x24C */ f32 field_0x24c;
/* 0x250 */ f32 field_0x250;
/* 0x254 */ f32 field_0x254;
/* 0x258 */ Z2MultiSeMgr field_0x258;
/* 0x274 */ Z2EnvSeBase field_0x274;
/* 0x27C */ u8 field_0x27c;
/* 0x280 */ f32 field_0x280;
/* 0x284 */ f32 field_0x284;
/* 0x288 */ f32 field_0x288;
/* 0x28C */ Z2MultiSeMgr field_0x28c;
/* 0x2A8 */ Z2EnvSeBase field_0x2a8;
/* 0x2B0 */ u8 field_0x2b0;
/* 0x2B4 */ f32 field_0x2b4;
/* 0x2B8 */ f32 field_0x2b8;
/* 0x2BC */ f32 field_0x2bc;
/* 0x2C0 */ Z2MultiSeMgr field_0x2c0;
/* 0x2DC */ Z2EnvSeBase field_0x2dc;
/* 0x2E4 */ u8 field_0x2e4;
/* 0x2E8 */ Z2Calc::FNoise1f field_0x2e8;
/* 0x2F8 */ Z2Calc::FNoise1f field_0x2f8;
/* 0x308 */ f32 field_0x308;
}; // Size: 0x30C
#endif /* Z2ENVSEMGR_H */
+1 -1
View File
@@ -17,7 +17,7 @@ public:
void load1stDynamicWave();
void _load1stWaveInner_1();
void _load1stWaveInner_2();
void check1stDynamicWave();
bool check1stDynamicWave();
void load2ndDynamicWave();
void sceneBgmStart();
void loadStaticWaves();
+6
View File
@@ -2130,6 +2130,12 @@ public:
/* 80140888 */ void statusWindowExecute(cXyz const*, s16);
/* 80140984 */ void statusWindowDraw();
/* 80140AC8 */ void resetStatusWindow();
/* 8018280C */ void getChainGrabActor();
/* 80182814 */ void checkCokkoGlide() const;
/* 8018283C */ void checkCameraLargeDamage() const;
/* 80182870 */ void getHsSubChainTopPos() const;
/* 80182888 */ void checkCutHeadProc() const;
/* 8018289C */ void getRideActor();
virtual cXyz* getMidnaAtnPos() const;
virtual void setMidnaMsgNum(fopAc_ac_c*, u16);
+13 -2
View File
@@ -327,6 +327,14 @@ public:
void changeDemoParam2(s16);
void cancelOriginalDemo();
void changeOriginalDemo();
/* 801829E0 */ void checkThrowDamage() const;
/* 80182A10 */ void checkGoronSideMove() const;
/* 80182AAC */ void getRightFootPosP();
/* 80182AB4 */ void getLeftFootPosP();
/* 80182ABC */ u32 getMidnaActor();
/* 80182AC4 */ void checkCopyRodThrowAfter() const;
/* 80182AD8 */ void checkRide() const;
/* 80182B9C */ void getRightHandPos() const;
virtual cXyz* getMidnaAtnPos() const;
virtual void setMidnaMsgNum(fopAc_ac_c*, u16);
@@ -512,6 +520,9 @@ public:
bool checkCargoCarry() const { return mSpecialMode == SMODE_CARGO_CARRY; }
bool getHeavyStateAndBoots() { return i_checkNoResetFlg0(HEAVY_STATE_BOOTS); }
bool checkEnemyAttentionLock() const { return i_checkResetFlg0(ENEMY_ATTENTION_LOCK); }
bool checkCanoeSlider() const { return mSpecialMode == 0x2D; }
u8 getCutType() const { return mCutType; }
u16 getSwordAtUpTime() const { return mSwordUpTimer; }
// some functions use these function as an inline
// is there a better way to handle this?
@@ -540,10 +551,10 @@ public:
bool i_checkMidnaRide() const { return i_checkNoResetFlg0(MIDNA_RIDE); }
inline static u32 getLastSceneMode();
inline bool checkWoodSwordEquip();
inline static bool checkWoodSwordEquip();
inline BOOL i_checkSwordGet();
inline bool i_checkShieldGet() const;
inline BOOL checkNowWolf();
inline static BOOL checkNowWolf();
inline bool checkZoraWearFlg() const;
static daMidna_c* getMidnaActor() { return m_midnaActor; }
+6
View File
@@ -136,6 +136,9 @@ public:
void SetSe(u8 se) { mSe = se; }
void SetMtrl(u8 mtrl) { mMtrl = mtrl; }
void SetAtSpl(dCcG_At_Spl spl) { mSpl = spl; }
u8 GetSe() { return mSe; }
u8 GetSpl() { return mSpl; }
u8 GetMtrl() { return mMtrl; }
// private:
/* 0x1C */ u8 mSe;
@@ -207,6 +210,9 @@ public:
cXyz* GetAtVecP() { return mGObjAt.GetVecP(); }
void SetAtSpl(dCcG_At_Spl spl) { mGObjAt.SetAtSpl(spl); }
void SetAtHitCallback(dCcD_AtHitCallback callback) { mGObjAt.SetHitCallback(callback); }
u8 GetAtSe() { return mGObjAt.GetSe(); }
s32 GetAtSpl() { return mGObjAt.GetSpl(); }
u8 GetAtMtrl() { return mGObjAt.GetMtrl(); }
static u32 const m_hitSeID[24];
+17
View File
@@ -2,5 +2,22 @@
#define D_CC_D_CC_UTY_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
#include "d/com/d_com_inf_game.h"
struct dCcU_AtInfo {
/* 0x00 */ cCcD_Obj* mpCollider;
/* 0x04 */ fopAc_ac_c* mpActor;
/* 0x08 */ Z2Creature* mpSound;
/* 0x0C */ u8 field_0xc[2];
/* 0x0E */ s16 mHitDirection;
/* 0x10 */ u8 field_0x10[4];
/* 0x14 */ u32 mHitBit;
/* 0x18 */ u32 field_0x18;
/* 0x1C */ u16 mAttackPower;
/* 0x1E */ u8 mPowerType;
/* 0x1F */ s8 mHitStatus; // maybe inaccurate name
/* 0x20 */ u8 mHitType;
};
#endif /* D_CC_D_CC_UTY_H */
+221 -5
View File
@@ -178,6 +178,19 @@ public:
mCStickDirection = param_1;
mCStickSetFlag = flag;
}
void setCStickStatusForce(u8 status, u8 param_1, u8 flag) {
mCStickStatusForce = status;
mCStickDirectionForce = param_1;
mCStickSetFlagForce = flag;
}
void setSButtonStatus(u8 status, u8 flag) {
mSButtonStatus = status;
mSButtonSetFlag = flag;
}
void setSButtonStatusForce(u8 status, u8 flag) {
mSButtonStatusForce = status;
mSButtonSetFlagForce = flag;
}
void setItemLifeCount(float hearts, u8 type) {
mItemLifeCount += hearts;
mItemLifeCountType = type;
@@ -220,6 +233,10 @@ public:
const char* getStartStageName() { return mStartStage.getName(); }
s8 getStartStageRoomNo() { return mStartStage.getRoomNo(); }
s8 getStartStageLayer() { return mStartStage.getLayer(); }
const char* getNextStageName() { return mNextStage.getName(); }
dStage_startStage_c* getNextStartStage() { return &mNextStage; }
s8 getNextStageRoomNo() { return mNextStage.getRoomNo(); }
s8 getNextStageLayer() { return mNextStage.getLayer(); }
u8 isHeapLockFlag() { return mHeapLockFlag; }
void setHeapLockFlag(u8 status) { mHeapLockFlag = status; }
void setSubHeapLockFlag(int idx, u8 status) { mSubHeapLockFlag[idx] = status; }
@@ -235,6 +252,10 @@ public:
s16 getStartStagePoint() { return mStartStage.getPoint(); }
s8 getStartStageDarkArea() { return mStartStage.getDarkArea(); }
void setStartStageDarkArea(s8 darkArea) { mStartStage.setDarkArea(darkArea); }
void setStartStageLayer(s8 layer) { mStartStage.setLayer(layer); }
s16 getNextStagePoint() { return mNextStage.getPoint(); }
s8 getNextStageWipe() { return mNextStage.getWipe(); }
bool isEnableNextStage() { return mNextStage.isEnable(); }
void* getPlayerPtr(int ptrIdx) { return mPlayerPtr[ptrIdx]; }
void* getPlayer(int idx) { return mPlayer[idx]; }
JKRArchive* getMain2DArchive() { return mMain2DArchive; }
@@ -260,6 +281,25 @@ public:
void offPauseFlag() { mPauseFlag = false; }
camera_class* getCamera(int idx) { return mCameraInfo[idx].mCamera; }
s32 checkStatus(u16 flags) { return flags & mStatus; }
s16 getItemPachinkoNumCount() { return mItemPachinkoNumCount; }
void clearItemPachinkoNumCount() { mItemPachinkoNumCount = 0; }
u8 getSButtonStatusForce() { return mSButtonStatusForce; }
u8 getSButtonSetFlagForce() { return mSButtonSetFlagForce; }
u8 getCStickStatusForce() { return mCStickStatusForce; }
u8 getCStickSetFlagForce() { return mCStickSetFlagForce; }
u8 getCStickDirectionForce() { return mCStickDirectionForce; }
bool isCStickSetFlag(u8 flag) { return mCStickSetFlag & flag; }
void show2dOn() { mShow2D = 1; }
s16 getItemMaxLifeCount() { return mItemMaxLifeCount; }
f32 getItemLifeCount() { return mItemLifeCount; }
void clearItemMaxLifeCount() { mItemMaxLifeCount = 0; }
void clearItemLifeCount() {
mItemLifeCount = 0.0f;
mItemLifeCountType = 0;
}
void setCameraParamFileName(int i, char* name) { mCameraInfo[i].mCameraParamFileName = name; }
s8 getLayerOld() { return mLayerOld; }
void setStatus(u16 status) { mStatus = status; }
public:
/* 0x00000 */ dBgS mDBgS;
@@ -302,7 +342,7 @@ public:
/* 0x04E04 */ dPa_control_c* mParticle;
/* 0x04E08 */ void* mSimpleModel;
/* 0x04E0C */ u8 mWindowNum;
/* 0x04E0D */ u8 mLayerOld;
/* 0x04E0D */ s8 mLayerOld;
/* 0x04E0E */ u16 mStatus;
/* 0x04E10 */ dDlst_window_c mWindow[1];
/* 0x04E3C */ dComIfG_camera_info_class mCameraInfo[1];
@@ -515,6 +555,8 @@ extern GXColor g_blackColor;
extern GXColor g_clearColor;
extern GXColor g_whiteColor;
typedef int (**request_of_phase_process_fn)(void*);
void dComIfGp_setItemLifeCount(float, u8);
void dComIfGp_setItemRupeeCount(long);
int dComIfGs_isItemFirstBit(u8);
@@ -538,7 +580,7 @@ void dComIfGs_setWarpMarkFlag(u8);
void dComIfGs_setSelectEquipSword(u8);
void dComIfGs_setSelectEquipShield(u8);
void* dComIfG_getStageRes(char const*);
void dComLbG_PhaseHandler(request_of_phase_process_class*, int (**param_1)(void*), void*);
void dComLbG_PhaseHandler(request_of_phase_process_class*, request_of_phase_process_fn, void*);
void dComIfGp_addSelectItemNum(int, s16);
BOOL dComIfGs_isOneZoneSwitch(int, int);
u8 dComIfGp_getSelectItem(int);
@@ -559,6 +601,12 @@ bool dComIfGp_checkMapShow();
s32 dComIfGp_setHeapLockFlag(u8);
s8 dComIfGs_sense_type_change_Get();
u8 dComIfGp_world_dark_get();
JKRExpHeap* dComIfGp_getSubHeap2D(int);
void dComIfGp_world_dark_set(u8);
void dComIfGs_BossLife_public_Set(s8);
class scene_class;
BOOL dComIfG_resetToOpening(scene_class*);
inline void dComIfGp_setRStatus(u8 status, u8 flag) {
g_dComIfG_gameInfo.play.setRStatus(status, flag);
@@ -857,6 +905,30 @@ inline const char* dComIfGp_getStartStageName() {
return g_dComIfG_gameInfo.play.getStartStageName();
}
inline const char* dComIfGp_getNextStageName() {
return g_dComIfG_gameInfo.play.getNextStageName();
}
inline dStage_startStage_c* dComIfGp_getNextStartStage() {
return g_dComIfG_gameInfo.play.getNextStartStage();
}
inline s8 dComIfGp_getNextStageRoomNo() {
return g_dComIfG_gameInfo.play.getNextStageRoomNo();
}
inline s8 dComIfGp_getNextStageLayer() {
return g_dComIfG_gameInfo.play.getNextStageLayer();
}
inline s32 dComIfGp_getNextStageWipe() {
return g_dComIfG_gameInfo.play.getNextStageWipe();
}
inline bool dComIfGp_isEnableNextStage() {
return g_dComIfG_gameInfo.play.isEnableNextStage();
}
inline void dComIfGd_reset() {
g_dComIfG_gameInfo.drawlist.reset();
}
@@ -975,10 +1047,18 @@ inline int dComIfG_setObjectRes(const char* name, u8 param_1, JKRHeap* heap) {
return g_dComIfG_gameInfo.mResControl.setObjectRes(name, param_1, heap);
}
inline int dComIfG_setStageRes(const char* name, JKRHeap* heap) {
return g_dComIfG_gameInfo.mResControl.setStageRes(name, heap);
}
inline int dComIfG_syncObjectRes(const char* name) {
return g_dComIfG_gameInfo.mResControl.syncObjectRes(name);
}
inline int dComIfG_syncStageRes(const char* name) {
return g_dComIfG_gameInfo.mResControl.syncStageRes(name);
}
inline JKRExpHeap* dComIfGp_getExpHeap2D() {
return g_dComIfG_gameInfo.play.getExpHeap2D();
}
@@ -1003,8 +1083,8 @@ inline s64 dComIfGs_getSaveTotalTime() {
return g_dComIfG_gameInfo.info.getSaveTotalTime();
}
inline dSv_save_c& dComIfGs_getSaveData() {
return g_dComIfG_gameInfo.info.getSavedata();
inline dSv_save_c* dComIfGs_getSaveData() {
return &g_dComIfG_gameInfo.info.getSavedata();
}
inline void dComIfGs_setLineUpItem() {
@@ -1107,6 +1187,10 @@ inline s16 dComIfGp_getStartStagePoint() {
return g_dComIfG_gameInfo.play.getStartStagePoint();
}
inline s16 dComIfGp_getNextStagePoint() {
return g_dComIfG_gameInfo.play.getNextStagePoint();
}
inline void dComIfGs_initZone() {
g_dComIfG_gameInfo.info.initZone();
}
@@ -1167,6 +1251,10 @@ inline dBgS& dComIfG_Bgsp() {
return g_dComIfG_gameInfo.play.mDBgS;
}
inline dCcS* dComIfG_Ccsp() {
return &g_dComIfG_gameInfo.play.mDCcS;
}
inline s16 dComIfGs_getStartPoint() {
return g_dComIfG_gameInfo.info.getRestart().getStartPoint();
}
@@ -1199,7 +1287,7 @@ inline void dComIfGp_set3DStatus(u8 status, u8 direction, u8 flag) {
g_dComIfG_gameInfo.play.set3DStatus(status, direction, flag);
}
inline s32 dComIfGs_getLastSceneMode() {
inline u32 dComIfGs_getLastSceneMode() {
return g_dComIfG_gameInfo.info.getRestart().getLastMode();
}
@@ -1450,6 +1538,26 @@ inline void dComIfGp_setCStickStatus(u8 param_0, u8 param_1, u8 param_2) {
g_dComIfG_gameInfo.play.setCStickStatus(param_0, param_1, param_2);
}
inline void dComIfGp_setCStickStatusForce(u8 param_0, u8 param_1, u8 param_2) {
g_dComIfG_gameInfo.play.setCStickStatusForce(param_0, param_1, param_2);
}
inline u8 dComIfGp_getCStickDirectionForce() {
return g_dComIfG_gameInfo.play.getCStickDirectionForce();
}
inline u8 dComIfGp_getCStickStatusForce() {
return g_dComIfG_gameInfo.play.getCStickStatusForce();
}
inline u8 dComIfGp_getCStickSetFlagForce() {
return g_dComIfG_gameInfo.play.getCStickSetFlagForce();
}
inline bool dComIfGp_isCStickSetFlag(u8 flag) {
return g_dComIfG_gameInfo.play.isCStickSetFlag(flag);
}
inline void* dComIfG_getObjectIDRes(const char* arc_name, u16 id) {
return g_dComIfG_gameInfo.mResControl.getObjectIDRes(arc_name, id);
}
@@ -1536,6 +1644,10 @@ inline u8 dComIfG_getBrightness() {
return g_dComIfG_gameInfo.mFadeBrightness;
}
inline void dComIfG_setBrightness(u8 brightness) {
g_dComIfG_gameInfo.mFadeBrightness = brightness;
}
inline void dComIfGd_drawListItem3d() {
g_dComIfG_gameInfo.drawlist.drawOpaListItem3d();
g_dComIfG_gameInfo.drawlist.drawXluListItem3d();
@@ -1545,4 +1657,108 @@ inline void dComIfGd_init() {
g_dComIfG_gameInfo.drawlist.init();
}
inline s16 dComIfGp_getItemPachinkoNumCount() {
return g_dComIfG_gameInfo.play.getItemPachinkoNumCount();
}
inline void dComIfGp_clearItemPachinkoNumCount() {
g_dComIfG_gameInfo.play.clearItemPachinkoNumCount();
}
inline u8 dComIfGp_getSButtonStatusForce() {
return g_dComIfG_gameInfo.play.getSButtonStatusForce();
}
inline u8 dComIfGp_getSButtonSetFlagForce() {
return g_dComIfG_gameInfo.play.getSButtonSetFlagForce();
}
inline void dComIfGp_setSButtonStatus(u8 status, u8 flag) {
g_dComIfG_gameInfo.play.setSButtonStatus(status, flag);
}
inline void dComIfGp_setSButtonStatusForce(u8 status, u8 flag) {
g_dComIfG_gameInfo.play.setSButtonStatusForce(status, flag);
}
inline void dComIfGp_2dShowOn() {
g_dComIfG_gameInfo.play.show2dOn();
}
inline s16 dComIfGp_getItemMaxLifeCount() {
return g_dComIfG_gameInfo.play.getItemMaxLifeCount();
}
inline f32 dComIfGp_getItemLifeCount() {
return g_dComIfG_gameInfo.play.getItemLifeCount();
}
inline void dComIfGp_clearItemMaxLifeCount() {
g_dComIfG_gameInfo.play.clearItemMaxLifeCount();
}
inline void dComIfGp_clearItemLifeCount() {
g_dComIfG_gameInfo.play.clearItemLifeCount();
}
inline u8 dComIfGp_getItemLifeCountType() {
return g_dComIfG_gameInfo.play.getItemLifeCountType();
}
inline void dComIfGp_particle_cleanup() {
g_dComIfG_gameInfo.play.getParticle()->cleanup();
}
inline void dComIfGp_setCameraParamFileName(int i, char* name) {
g_dComIfG_gameInfo.play.setCameraParamFileName(i, name);
}
inline void dComIfGs_onDarkClearLV(int lv) {
g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusB().onDarkClearLV(lv);
}
inline void dComIfGs_onTransformLV(int lv) {
g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusB().onTransformLV(lv);
}
inline s8 dComIfGp_getLayerOld() {
return g_dComIfG_gameInfo.play.getLayerOld();
}
inline void dComIfGp_setStartStageLayer(s8 layer) {
g_dComIfG_gameInfo.play.setStartStageLayer(layer);
}
inline void dComIfGs_onSaveDunSwitch(int flag) {
g_dComIfG_gameInfo.info.getDan().onSwitch(flag);
}
inline void dComIfGp_setStatus(u16 status) {
g_dComIfG_gameInfo.play.setStatus(status);
}
inline int dComIfG_syncAllObjectRes() {
return g_dComIfG_gameInfo.mResControl.syncAllObjectRes();
}
inline void dComIfGp_particle_readScene(u8 particle_no, mDoDvdThd_toMainRam_c** param_1) {
g_dComIfG_gameInfo.play.getParticle()->readScene(particle_no, param_1);
}
inline void dComIfGp_particle_calc3D() {
g_dComIfG_gameInfo.play.getParticle()->calc3D();
}
inline void dComIfGp_particle_calc2D() {
g_dComIfG_gameInfo.play.getParticle()->calc2D();
}
inline u8 dComIfGs_getDataNum() {
return g_dComIfG_gameInfo.info.getDataNum();
}
inline char* dComIfGs_getPlayerName() {
return g_dComIfG_gameInfo.info.getPlayer().getPlayerInfo().getLinkName();
}
#endif /* D_COM_D_COM_INF_GAME_H */
+3
View File
@@ -197,6 +197,9 @@ public:
/* 8007378C */ void CheckObjectTarget(s32);
/* 800737E4 */ bool LockonTruth();
/* 80073838 */ void checkDistance(cXyz*, s16, cXyz*, f32, f32, f32, f32);
/* 8016E424 */ void LockEdge();
/* 80182994 */ void GetCheckObjectCount();
/* 80182AD0 */ void keepLock(int);
dAttCatch_c& getCatghTarget() { return mCatghTarget; }
bool chkFlag(u32 flag) { return mFlags & flag; }
+29 -8
View File
@@ -26,12 +26,34 @@ private:
/* 0x10 */ mDoExt_3DlineMat_c* mp3DlineMat;
};
class dDlst_FileInfo_c {
class cM_rnd_c {
public:
void draw(void);
~dDlst_FileInfo_c();
/* 80053CDC */ void init(int, int, int);
/* 80053CEC */ f32 get();
/* 80053DE0 */ f32 getF(f32);
/* 80053E18 */ f32 getFX(f32);
/* 80053E60 */ f32 getValue(f32, f32);
private:
/* 0x0 */ int seed0;
/* 0x4 */ int seed1;
/* 0x8 */ int seed2;
};
class dDlst_base_c {
public:
virtual void draw();
};
class dDlst_FileInfo_c : public dDlst_base_c {
public:
dDlst_FileInfo_c() {}
virtual void draw(void);
virtual ~dDlst_FileInfo_c(); // inlined
/* 0x04 */ J2DScreen* Scr;
/* 0x08 */ JUTFont* mFont;
/* 0x0C */ J2DPane* mBasePane;
/* 0x10 */ J2DPane* field_0x10;
};
class dDlst_peekZ_c {
@@ -172,10 +194,7 @@ struct view_class {
/* 0xD0 */ f32 field_0xd0;
};
class dDlst_base_c {
public:
virtual void draw();
};
extern u8 data_80450ED0; // Wipe
class dDlst_list_c {
public:
@@ -208,6 +227,8 @@ public:
void setXluListBG() { setXluDrawList(mXluListBG); }
void setXluList2DScreen() { setXluDrawList(mList2DScreen); }
static void offWipe() { data_80450ED0 = 0; }
static u8 mWipeDlst[72];
static u8 mWipeColor[4];
static f32 mWipeRate;
+2
View File
@@ -4,6 +4,8 @@
#include "d/com/d_com_inf_game.h"
#include "dolphin/types.h"
void execItemGet(u8 item_id);
void item_func_HEART();
void item_func_GREEN_RUPEE();
void item_func_BLUE_RUPEE();
+1 -1
View File
@@ -5,7 +5,7 @@
class dKyeff_c {
public:
bool execute();
int execute();
};
#endif /* D_D_KYEFF_H */
+6
View File
@@ -87,6 +87,12 @@ public:
return syncRes(name, &mObjectInfo[0], ARRAY_SIZE(mObjectInfo));
}
int syncStageRes(const char* name) {
return syncRes(name, &mStageInfo[0], ARRAY_SIZE(mStageInfo));
}
int syncAllObjectRes() { return syncAllRes(&mObjectInfo[0], ARRAY_SIZE(mObjectInfo)); }
int deleteObjectRes(const char* name) {
return deleteRes(name, &mObjectInfo[0], ARRAY_SIZE(mObjectInfo));
}
+15 -2
View File
@@ -556,8 +556,9 @@ public:
/* 800248A8 */ void destroyMemoryBlock();
/* 8002490C */ static void setArcBank(int, char const*);
/* 80024940 */ static char* getArcBank(int);
/* 80024954 */ static int resetArchiveBank(int);
/* 80024954 */ static bool resetArchiveBank(int);
/* 80024DB0 */ static void SetTimePass(int);
/* 8025BAAC */ void setZoneNo(int, int);
static s32 GetTimePass();
inline static s8 getStayNo() { return struct_80450D64; }
@@ -566,6 +567,10 @@ public:
return cLib_checkBit(mStatus[i_roomNo].unk_0x3F4, flag);
}
static char* getDemoArcName() { return mDemoArcName; }
static char* getArcBankName() { return mArcBankName; }
static void setRoomReadId(s8 id) { data_804505F0 = id; }
static void offNoChangeRoom() { data_80450D68 = false; }
static void setProcID(u32 id) { mProcID = id; }
static JKRExpHeap* mMemoryBlock[19];
static char mArcBank[32][10];
@@ -606,10 +611,12 @@ public:
}
void set(const char*, s8, s16, s8, s8, u8);
void offEnable() { enabled = 0; }
s8 isEnable() const { return enabled; }
s8 getWipe() const { return wipe; }
private:
s8 enabled;
u8 wipe;
s8 wipe;
u8 wipe_speed;
};
@@ -686,6 +693,8 @@ static int dStage_fieldMapMapPathInit(dStage_dt_c*, void*, int, void*);
u8 dStage_roomRead_dt_c_GetReverbStage(roomRead_class&, int);
void dStage_changeScene(int, f32, u32, s8, s16, int);
void dStage_infoCreate();
u8 dStage_stagInfo_GetParticleNo(stage_stag_info_class* p_info, int layer);
inline u8 dStage_roomRead_dt_c_GetLoadRoomIndex(u8 param_0) {
return param_0 & 0x3f;
@@ -703,6 +712,10 @@ inline u32 dStage_stagInfo_GetMiniMap(stage_stag_info_class* pstag) {
return (pstag->field_0x0a >> 0xD) & 7;
}
inline u8 dStage_stagInfo_GetParticleNo(stage_stag_info_class* p_info) {
return (p_info->field_0x0a >> 0x3) & 0xFF;
}
inline s8 dStage_sclsInfo_getSceneLayer(stage_scls_info_class* p_info) {
return p_info->field_0xb & 0xF;
}
+2
View File
@@ -3,4 +3,6 @@
#include "dolphin/types.h"
void dTimer_createStockTimer();
#endif /* D_D_TIMER_H */
+32
View File
@@ -1,6 +1,38 @@
#ifndef D_FILE_D_FILE_SEL_INFO_H
#define D_FILE_D_FILE_SEL_INFO_H
#include "d/com/d_com_inf_game.h"
#include "dolphin/types.h"
class dFile_info_c {
public:
/* 80192434 */ dFile_info_c(JKRArchive*, u8);
/* 80192570 */ void screenSet();
/* 80192954 */ int setSaveData(dSv_save_c*, int, u8);
/* 80192AA0 */ void setHeartCnt(dSv_save_c*);
/* 80192C08 */ void setSaveDate(dSv_save_c*);
/* 80192C70 */ void setPlayTime(dSv_save_c*);
/* 80192D58 */ void modeWait();
/* 80192D5C */ void modeMove();
/* 80192D60 */ void _draw();
/* 801924A0 */ virtual ~dFile_info_c();
private:
/* 0x04 */ JKRArchive* mArchive;
/* 0x08 */ dDlst_FileInfo_c mFileInfo;
/* 0x1C */ u8 field_0x1c[4];
/* 0x20 */ u8 field_0x20;
/* 0x21 */ u8 field_0x21;
/* 0x22 */ u8 field_0x22;
/* 0x24 */ CPaneMgrAlpha* mDatBase;
/* 0x28 */ CPaneMgrAlpha* mNoDatBase;
/* 0x2C */ char* mPlayerName;
/* 0x30 */ char* mSaveDate;
/* 0x34 */ char* mPlayTime;
/* 0x38 */ char* mSaveStatus;
};
typedef void (dFile_info_c::*warningFunc)(void);
#endif /* D_FILE_D_FILE_SEL_INFO_H */
+4
View File
@@ -13,6 +13,10 @@
void dKankyo_DayProc();
void dKy_set_nexttime(f32);
void dKy_itudemo_se();
BOOL dKy_darkworld_spot_check(char const* stageName, int roomNo);
void dKy_darkworld_Area_set(char const* stageName, int roomNo);
void dKy_FiveSenses_fullthrottle_dark();
struct LIGHT_INFLUENCE {
/* 800CFC7C */ ~LIGHT_INFLUENCE();
+3
View File
@@ -8,9 +8,12 @@
void dKyw_wether_draw();
void dKyw_wether_delete();
void dKyw_wether_move();
void dKyw_wether_move_draw();
void dKyw_wether_move_draw2();
void dKyw_wether_draw2();
void dKyw_wether_delete2();
void dKyw_wether_init();
void dKyw_wether_init2();
static void dKyw_wind_init();
static void dKyw_pntwind_init();
+199 -32
View File
@@ -10,13 +10,171 @@
class dMeterMap_c;
class dMeterSub_c : public dDlst_base_c {
public:
/* 8019412C */ virtual void draw();
/* 801940D4 */ virtual ~dMeterSub_c();
/* 8019411C */ virtual bool _create();
/* 80194130 */ virtual bool _execute(u32);
/* 80194124 */ virtual bool _delete();
/* 80194138 */ virtual bool isDead();
};
class dMeterButton_c : public dDlst_base_c {
public:
/* 80201328 */ dMeterButton_c();
/* 802013CC */ void _create();
/* 80201404 */ void _execute(u32, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool,
bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool,
bool);
/* 80202A9C */ void _delete();
/* 802032C4 */ void alphaAnimeButtonA(u32, bool);
/* 8020339C */ void alphaAnimeButtonB(u32, bool);
/* 802034A8 */ void alphaAnimeButtonR(u32, bool);
/* 802035AC */ void alphaAnimeButtonZ(u32, bool);
/* 802036C0 */ void alphaAnimeButton3D(u32, bool);
/* 802037B8 */ void alphaAnimeButtonC(u32, bool);
/* 80203878 */ void alphaAnimeButtonS(u32, bool);
/* 802038F4 */ void alphaAnimeButtonX(u32, bool);
/* 80203A08 */ void alphaAnimeButtonY(u32, bool);
/* 80203B1C */ void alphaAnimeButtonNun(u32, bool);
/* 80203C30 */ void alphaAnimeButtonRemo(u32, bool);
/* 80203D44 */ void alphaAnimeButtonRemo2(u32, bool);
/* 80203E58 */ void alphaAnimeButtonAR(u32, bool);
/* 80203F60 */ void alphaAnimeButton3DB(u32, bool);
/* 80204068 */ void alphaAnimeButtonNURE(u32, bool);
/* 80204170 */ void alphaAnimeButtonReel(u32, bool);
/* 80204278 */ void alphaAnimeButtonReel2(u32, bool);
/* 80204368 */ void alphaAnimeButtonAB(u32, bool);
/* 80204458 */ void alphaAnimeButtonTate(u32, bool);
/* 80204548 */ void alphaAnimeButtonNunZ(u32, bool);
/* 80204620 */ void alphaAnimeButtonNunC(u32, bool);
/* 802046F8 */ void alphaAnimeButtonBin(u32, bool);
/* 802047E8 */ void screenInitButton();
/* 80205834 */ void screenInitText();
/* 80205CA0 */ void updateButton();
/* 80206978 */ void updateText(u32);
/* 80206CE0 */ void setAlphaButtonAAnimeMin();
/* 80206D70 */ void isFastSet(int);
/* 80207060 */ void setAlphaButtonAAnimeMax();
/* 8020714C */ void setAlphaButtonBAnimeMin();
/* 802071DC */ void setAlphaButtonBAnimeMax();
/* 802072C8 */ void setAlphaButtonRAnimeMin();
/* 80207358 */ void setAlphaButtonRAnimeMax();
/* 80207444 */ void setAlphaButtonZAnimeMin();
/* 802074D4 */ void setAlphaButtonZAnimeMax();
/* 802075C0 */ void setAlphaButton3DAnimeMin();
/* 80207654 */ void setAlphaButton3DAnimeMax();
/* 80207740 */ void setAlphaButton3DVAnimeMin();
/* 80207744 */ void setAlphaButton3DVAnimeMax();
/* 80207748 */ void setAlphaButtonCAnimeMin();
/* 802077EC */ void setAlphaButtonCAnimeMax();
/* 80207A28 */ void setAlphaButtonSAnimeMin();
/* 80207AB8 */ void setAlphaButtonSAnimeMax();
/* 80207BA4 */ void setAlphaButtonXAnimeMin();
/* 80207C34 */ void setAlphaButtonXAnimeMax();
/* 80207D20 */ void setAlphaButtonYAnimeMin();
/* 80207DB0 */ void setAlphaButtonYAnimeMax();
/* 80207E9C */ void setAlphaButtonNunAnimeMin();
/* 80207F34 */ void setAlphaButtonNunAnimeMax();
/* 80208028 */ void setAlphaButtonRemoAnimeMin();
/* 802080C0 */ void setAlphaButtonRemoAnimeMax();
/* 802081B4 */ void setAlphaButtonRemo2AnimeMin();
/* 8020824C */ void setAlphaButtonRemo2AnimeMax();
/* 80208340 */ void setAlphaButtonARAnimeMin();
/* 802083D8 */ void setAlphaButtonARAnimeMax();
/* 802084D8 */ void setAlphaButton3DBAnimeMin();
/* 80208570 */ void setAlphaButton3DBAnimeMax();
/* 80208670 */ void setAlphaButtonNUREAnimeMin();
/* 80208708 */ void setAlphaButtonNUREAnimeMax();
/* 80208808 */ void setAlphaButtonReelAnimeMin();
/* 802088A0 */ void setAlphaButtonReelAnimeMax();
/* 802089A0 */ void setAlphaButtonReel2AnimeMin();
/* 80208A38 */ void setAlphaButtonReel2AnimeMax();
/* 80208AEC */ void setAlphaButtonABAnimeMin();
/* 80208B84 */ void setAlphaButtonABAnimeMax();
/* 80208C38 */ void setAlphaButtonTateAnimeMin();
/* 80208CD0 */ void setAlphaButtonTateAnimeMax();
/* 80208D84 */ void setAlphaButtonNunZAnimeMin();
/* 80208E1C */ void setAlphaButtonNunZAnimeMax();
/* 80208F1C */ void setAlphaButtonNunCAnimeMin();
/* 80208FB4 */ void setAlphaButtonNunCAnimeMax();
/* 802090B4 */ void setAlphaButtonBinAnimeMin();
/* 8020914C */ void setAlphaButtonBinAnimeMax();
/* 8020924C */ void setAlphaButtonOAnimeMin(int);
/* 802092C0 */ void setAlphaButtonOAnimeMax(int);
/* 80209368 */ void setAlphaIconAnimeMin();
/* 802093D8 */ void setAlphaIconAnimeMax();
/* 80209474 */ void isClose();
/* 802095C0 */ void setString(char*, u8, u8, u8);
/* 80209CEC */ void hideAll();
/* 80209D7C */ void getCenterPosCalc(u8, char*, int);
/* 8020A540 */ void trans_button(int, f32);
/* 8020A94C */ void hide_button(u8);
/* 8020AA84 */ void pikariCheck();
/* 8020AE68 */ void paneTrans(CPaneMgr*, f32, f32, u8);
/* 80202240 */ virtual void draw();
/* 80201370 */ virtual ~dMeterButton_c();
};
class dMeterString_c : public dMeterSub_c {
public:
/* 8020ED60 */ dMeterString_c(int);
/* 8020F5A4 */ void createString(int);
/* 8020F66C */ void playBckAnimation(f32);
/* 8020F6EC */ void drawPikari();
/* 8020FA88 */ void isLeadByte(int);
/* 8020F1B0 */ virtual void draw();
/* 8020EDF4 */ virtual ~dMeterString_c();
/* 8020EE70 */ virtual bool _create();
/* 8020F150 */ virtual bool _execute(u32);
/* 8020F49C */ virtual bool _delete();
};
class dMeterHaihai_c : public dMeterSub_c {
public:
/* 8020AE8C */ dMeterHaihai_c(u8);
/* 8020B814 */ void drawHaihai(u8, f32, f32, f32, f32);
/* 8020B518 */ void drawHaihai(u8);
/* 8020B9B0 */ void drawHaihaiLeft(f32, f32);
/* 8020BA4C */ void drawHaihaiRight(f32, f32);
/* 8020BAE8 */ void drawHaihaiTop(f32, f32);
/* 8020BB84 */ void drawHaihaiBottom(f32, f32);
/* 8020BC20 */ void setScale(f32);
/* 8020BEA0 */ void alphaAnimeHaihai(u32);
/* 8020BEA4 */ void updateHaihai();
/* 8020BF00 */ void playBckAnime(J2DAnmTransformKey*);
/* 8020C078 */ void playBtkAnime(J2DAnmTextureSRTKey*);
/* 8020C1CC */ void playBpkAnime(J2DAnmColor*);
/* 8020B140 */ virtual void draw();
/* 8020AEF0 */ virtual ~dMeterHaihai_c();
/* 8020AF6C */ virtual bool _create();
/* 8020B0F4 */ virtual bool _execute(u32);
/* 8020BDAC */ virtual bool _delete();
};
class dMeter2_c : public msg_class {
public:
enum {
/* 0x2 */ ARROW_MAX = 2,
/* 0x3 */ PACHINKO_MAX,
};
enum {
/* 0x0 */ X_ITEM,
/* 0x1 */ X_STATUS,
/* 0x2 */ Y_ITEM,
/* 0x3 */ Y_STATUS,
};
/* 8021EA14 */ int _create();
/* 8021F128 */ int _execute();
/* 8021F370 */ int _draw();
/* 8021F49C */ int _delete();
/* 8021F6EC */ void emphasisButtonDelete();
/* 8021F6EC */ int emphasisButtonDelete();
/* 8021F780 */ void setLifeZero();
/* 8021F7B0 */ void checkStatus();
/* 8021FD60 */ void moveLife();
@@ -51,23 +209,29 @@ public:
/* 80224F70 */ void alphaAnimeKey();
/* 802250F4 */ void alphaAnimeButton();
/* 802254C0 */ void alphaAnimeButtonCross();
/* 802256DC */ void isShowLightDrop();
/* 802256DC */ bool isShowLightDrop();
/* 802258A0 */ void killSubContents(u8);
/* 80225960 */ void isKeyVisible();
/* 802259F8 */ void isArrowEquip();
/* 80225A64 */ void isPachinkoEquip();
/* 802259F8 */ int isArrowEquip();
/* 80225A64 */ int isPachinkoEquip();
void setNowLifeGauge(s16 life) { mNowLifeGauge = life; }
void onArrowSoundBit(int bit) { mArrowSound |= (1 << bit); }
void offArrowSoundBit(int bit) { mArrowSound &= ~(1 << bit); }
bool isArrowSoundBit(int bit) { return mArrowSound & (1 << bit); }
void onRupeeSoundBit(int bit) { mRupeeSound |= (1 << bit); }
void offRupeeSoundBit(int bit) { mRupeeSound &= ~(1 << bit); }
bool isRupeeSoundBit(int bit) { return mRupeeSound & (1 << bit); }
private:
/* 0x100 */ JKRExpHeap* mpHeap;
/* 0x104 */ JKRExpHeap* mpSubHeap;
/* 0x108 */ void* field_0x108;
/* 0x10C */ dMeter2Draw_c* mpMeterDraw;
/* 0x110 */ dDlst_base_c* field_0x110;
/* 0x114 */ dDlst_base_c* field_0x114;
/* 0x118 */ dDlst_base_c* field_0x118;
/* 0x11C */ void* field_0x11c;
/* 0x110 */ dMeterSub_c* mpMeterSub;
/* 0x114 */ dMeterString_c* mpMeterString;
/* 0x118 */ dMeterButton_c* mpMeterButton;
/* 0x11C */ dMeterHaihai_c* field_0x11c; // type is a guess for now
/* 0x120 */ dMeterMap_c* mpMap;
/* 0x124 */ u32 field_0x124;
/* 0x128 */ u32 field_0x128;
@@ -104,32 +268,32 @@ private:
/* 0x1B8 */ u16 field_0x1b8[5];
/* 0x1C2 */ u8 mLightDropNum;
/* 0x1C3 */ u8 mNeedLightDropNum;
/* 0x1C4 */ u8 field_0x1c4;
/* 0x1C5 */ u8 field_0x1c5;
/* 0x1C4 */ u8 mDoStatus;
/* 0x1C5 */ u8 mAStatus;
/* 0x1C6 */ u8 field_0x1c6;
/* 0x1C7 */ u8 field_0x1c7;
/* 0x1C8 */ u8 field_0x1c8;
/* 0x1C9 */ u8 field_0x1c9;
/* 0x1CA */ u8 field_0x1ca;
/* 0x1CB */ u8 field_0x1cb;
/* 0x1CC */ u8 field_0x1cc;
/* 0x1CD */ u8 field_0x1cd;
/* 0x1CE */ u8 field_0x1ce;
/* 0x1CF */ u8 field_0x1cf;
/* 0x1D0 */ u8 field_0x1d0;
/* 0x1D1 */ u8 field_0x1d1;
/* 0x1D2 */ u8 field_0x1d2[4];
/* 0x1C7 */ u8 mCollectSmell;
/* 0x1C8 */ u8 mRStatus;
/* 0x1C9 */ u8 mZStatus;
/* 0x1CA */ u8 m3DStatus;
/* 0x1CB */ u8 mCStickStatus;
/* 0x1CC */ u8 mSButtonStatus;
/* 0x1CD */ u8 mNunStatus;
/* 0x1CE */ u8 mRemoConStatus;
/* 0x1CF */ u8 mNunZStatus;
/* 0x1D0 */ u8 mNunCStatus;
/* 0x1D1 */ u8 mBottleStatus;
/* 0x1D2 */ u8 mItemStatus[4];
/* 0x1D6 */ u8 field_0x1d6[2];
/* 0x1D8 */ u8 field_0x1d8[2];
/* 0x1DA */ u8 mArrowNum;
/* 0x1DB */ u8 mPachinkoNum;
/* 0x1DC */ u8 field_0x1dc;
/* 0x1DD */ u8 field_0x1dd;
/* 0x1DE */ u8 field_0x1de;
/* 0x1DF */ u8 field_0x1df;
/* 0x1E0 */ u8 field_0x1e0;
/* 0x1DC */ u8 mDoSetFlag;
/* 0x1DD */ u8 mASetFlag;
/* 0x1DE */ u8 mRSetFlag;
/* 0x1DF */ u8 mXSetFlag;
/* 0x1E0 */ u8 mYSetFlag;
/* 0x1E1 */ u8 field_0x1e1;
/* 0x1E2 */ u8 field_0x1e2;
/* 0x1E2 */ u8 mEquipSword;
/* 0x1E3 */ u8 field_0x1e3;
/* 0x1E4 */ u8 field_0x1e4;
/* 0x1E5 */ u8 mSubContents;
@@ -137,8 +301,8 @@ private:
/* 0x1E7 */ u8 field_0x1e7;
/* 0x1E8 */ u8 field_0x1e8;
/* 0x1E9 */ u8 field_0x1e9;
/* 0x1EA */ u8 field_0x1ea;
/* 0x1EB */ u8 field_0x1eb;
/* 0x1EA */ u8 mRupeeSound;
/* 0x1EB */ u8 mArrowSound;
/* 0x1EC */ u8 field_0x1ec;
/* 0x1ED */ u8 field_0x1ed;
/* 0x1EE */ u8 field_0x1ee;
@@ -151,8 +315,11 @@ private:
/* 0x1FF */ u8 field_0x1ff;
/* 0x200 */ u8 field_0x200;
/* 0x201 */ u8 field_0x201;
/* 0x204 */ f32 field_0x204;
/* 0x208 */ f32 field_0x208;
/* 0x20C */ f32 field_0x20c;
/* 0x210 */ f32 field_0x210;
/* 0x214 */ f32 field_0x214;
};
typedef int (*dMeter2_Method)(dMeter2_c*);
#endif /* D_METER_D_METER2_H */
+1
View File
@@ -115,6 +115,7 @@ public:
/* 802102F8 */ virtual ~dMeter2Draw_c();
J2DScreen* getMainScreenPtr() { return mpScreen; }
bool isEmphasisC() { return field_0x766 == 7 ? true : false; }
private:
/* 0x004 */ f32 field_0x4;
+30
View File
@@ -145,6 +145,12 @@ public:
void* getMsgResource() { return mMsgResource; }
void* getStageMsgResource() { return mStageMsgResource; }
void* getMsgUnitResource() { return mMsgUnitResource; }
u8 getLightDropGetFlag(int i) { return mLightDropGetFlag[i]; }
u32 getMeterStringType() { return mMeterString; }
void setMeterClass(dMeter2_c* meter) { mMeterClass = meter; }
void onLifeGaugeSE() { mLifeGaugeSE = 1; }
void offLifeGaugeSE() { mLifeGaugeSE = 0; }
u8 getLifeGaugeSE() { return mLifeGaugeSE; }
public:
/* 0x04 */ u8 unk4[4];
@@ -399,6 +405,30 @@ inline void* dMeter2Info_getMsgUnitResource() {
return g_meter2_info.getMsgUnitResource();
}
inline u8 dMeter2Info_getLightDropGetFlag(int i) {
return g_meter2_info.getLightDropGetFlag(i);
}
inline s32 dMeter2Info_getMeterStringType() {
return g_meter2_info.getMeterStringType();
}
inline void dMeter2Info_setMeterClass(dMeter2_c* meter) {
g_meter2_info.setMeterClass(meter);
}
inline void dMeter2Info_onLifeGaugeSE() {
g_meter2_info.onLifeGaugeSE();
}
inline void dMeter2Info_offLifeGaugeSE() {
g_meter2_info.offLifeGaugeSE();
}
inline u8 dMeter2Info_getLifeGaugeSE() {
return g_meter2_info.getLifeGaugeSE();
}
char* dMeter2Info_getNumberTextureName(int pIndex);
#endif /* D_METER_D_METER2_INFO_H */
+4 -4
View File
@@ -601,7 +601,7 @@ public:
/* 80201128 */ virtual ~dMeter_drawHIO_c();
/* 0x000 */ // vtable
/* 0x004 */ u8 field_0x04[4];
/* 0x004 */ s8 field_0x4;
/* 0x008 */ f32 mLifeTopPosX;
/* 0x00C */ f32 mLifeTopPosY;
/* 0x010 */ f32 mNoMagicPosY;
@@ -995,7 +995,7 @@ public:
};
/* 0x000 */ // vtable
/* 0x004 */ u8 field_0x4[4];
/* 0x004 */ s8 field_0x4;
/* 0x008 */ f32 mRingRadiusH;
/* 0x00C */ f32 mRingRadiusV;
/* 0x010 */ f32 field_0x10;
@@ -1248,7 +1248,7 @@ public:
/* 802006C8 */ dMeter_fmapHIO_c();
/* 80200BCC */ virtual ~dMeter_fmapHIO_c();
/* 0x004 */ u8 field_0x4[4];
/* 0x004 */ s8 field_0x4;
/* 0x008 */ JKRArchive* field_0x8;
/* 0x00C */ void* field_0xc;
/* 0x010 */ void* field_0x10;
@@ -1361,7 +1361,7 @@ public:
/* 80200CD4 */ dMeter_cursorHIO_c();
/* 80201098 */ virtual ~dMeter_cursorHIO_c();
/* 0x04 */ u8 field_0x4[4];
/* 0x04 */ s8 field_0x4;
/* 0x08 */ cXyz mSeraShopObjZoom;
/* 0x14 */ cXyz mObjZoom;
/* 0x20 */ cXyz mMagicArmorObjZoom;
+5 -1
View File
@@ -104,7 +104,7 @@ public:
/* 80237E58 */ void getSelectCursorPosLocal();
/* 80237E68 */ void setSelectCursorPosLocal(u8);
/* 80237F10 */ void setTalkActorLocal(fopAc_ac_c*);
/* 8023800C */ void readMessageGroup(mDoDvdThd_mountXArchive_c**);
/* 8023800C */ static void readMessageGroup(mDoDvdThd_mountXArchive_c**);
/* 8023803C */ void changeFlowGroup(s32);
/* 8023806C */ void demoMessageGroup();
/* 80238098 */ void endFlowGroup();
@@ -163,4 +163,8 @@ inline bool dMsgObject_isTalkNowCheck() {
return dMsgObject_getMsgObjectClass()->getStatus() != 1 ? true : false;
}
inline void dMsgObject_readMessageGroup(mDoDvdThd_mountXArchive_c** param_0) {
dMsgObject_getMsgObjectClass()->readMessageGroup(param_0);
}
#endif /* D_MSG_D_MSG_OBJECT_H */
+5
View File
@@ -51,6 +51,8 @@ public:
/* 0x10 */ void* mData;
}; // Size: 0x14
extern u8 data_80450EC4;
class dPa_control_c {
public:
class level_c {
@@ -133,6 +135,7 @@ public:
void forceOnEventMove(u32 param_0) { field_0x210.forceOnEventMove(param_0); }
level_c::emitter_c* getEmitter(u32 param_0) { return field_0x210.getEmitter(param_0); }
u32 setNormal(u32 param_0, u16 param_1, const cXyz* param_2, const dKy_tevstr_c* param_3,
const csXyz* param_4, const cXyz* param_5, u8 param_6,
dPa_levelEcallBack* param_7, s8 param_8, const GXColor* param_9,
@@ -149,6 +152,8 @@ public:
param_9, param_10, param_11, param_12);
}
static void onStatus(u8 status) { data_80450EC4 |= status; }
static u8 mTsubo[64];
static u8 mLifeBall[24];
static u8 mWindViewMatrix[48];
+65
View File
@@ -1,6 +1,71 @@
#ifndef D_S_D_S_PLAY_H
#define D_S_D_S_PLAY_H
#include "d/com/d_com_inf_game.h"
#include "dolphin/types.h"
#include "f_op/f_op_scene.h"
class dScnPly_reg_HIO_c {
public:
/* 8025AD78 */ virtual ~dScnPly_reg_HIO_c();
};
class mDoHIO_entry_c {
public:
virtual ~mDoHIO_entry_c();
};
class dScnPly_preLoad_HIO_c : public mDoHIO_entry_c {
public:
/* 8025ADC0 */ virtual ~dScnPly_preLoad_HIO_c();
};
class dScnPly_env_otherHIO_c {
public:
/* 80259440 */ dScnPly_env_otherHIO_c();
/* 8025AC0C */ virtual ~dScnPly_env_otherHIO_c();
private:
/* 0x4 */ f32 mShadowDensity;
/* 0x8 */ u8 mLODBias;
/* 0x9 */ u8 field_0x9;
/* 0xA */ u8 mDispTransCylinder;
};
class dScnPly_env_debugHIO_c {
public:
/* 80259468 */ dScnPly_env_debugHIO_c();
/* 8025ABC4 */ virtual ~dScnPly_env_debugHIO_c();
private:
/* 0x04 */ u8 field_0x4;
/* 0x08 */ cXyz mBoxCullMinSize;
/* 0x14 */ cXyz mBoxCullMaxSize;
/* 0x20 */ cXyz mSphereCullCenter;
/* 0x2C */ f32 mSphereCullRadius;
};
class dScnPly_env_HIO_c {
public:
/* 8025AD04 */ virtual ~dScnPly_env_HIO_c();
private:
/* 0x04 */ u8 field_0x4;
/* 0x08 */ dScnPly_env_otherHIO_c mOther;
/* 0x14 */ dScnPly_env_debugHIO_c mDebug;
};
extern s8 data_80451125; // sPauseTimer
class dScnPly_c : public scene_class {
public:
/* 80259400 */ s8 calcPauseTimer();
/* 80259AC4 */ bool resetGame();
/* 80259BFC */ void offReset();
static void setPauseTimer(s8 time) { data_80451125 = time; }
};
#endif /* D_S_D_S_PLAY_H */
+21 -6
View File
@@ -4,6 +4,7 @@
#include "MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf.h"
#include "MSL_C.PPCEABI.bare.H/MSL_Common/Src/string.h"
#include "SSystem/SComponent/c_xyz.h"
#include "dolphin/os/OS.h"
#include "dolphin/types.h"
#define DEFAULT_SELECT_ITEM_INDEX 0
@@ -367,8 +368,8 @@ public:
u16 getRupeeMax() const;
int isMagicFlag(u8) const;
u16& getMaxLife() { return mMaxLife; }
u16& getLife() { return mLife; }
u16 getMaxLife() { return mMaxLife; }
u16 getLife() { return mLife; }
u16& getRupee() { return mRupee; }
u16 getOil() { return mOil; }
u16 getMaxOil() { return mMaxOil; }
@@ -419,9 +420,10 @@ public:
f32 getTime() const { return mTime; }
void setDate(u16 date) { mDate = date; }
void setTime(f32 time) { mTime = time; }
OSTime getDateIpl() const { return mDateIpl; }
private:
/* 0x00 */ s64 mDateIpl;
/* 0x00 */ OSTime mDateIpl;
/* 0x08 */ u8 mTransformLevelFlag;
/* 0x09 */ u8 mDarkClearLevelFlag;
/* 0x0A */ u8 unk10;
@@ -433,6 +435,8 @@ private:
class dSv_horse_place_c {
public:
dSv_horse_place_c() {}
void init();
void set(const char*, const cXyz&, s16, s8);
@@ -462,6 +466,8 @@ private:
class dSv_player_field_last_stay_info_c {
public:
dSv_player_field_last_stay_info_c() {}
void init();
BOOL isRegionBit(int unk) const;
void onRegionBit(int unk);
@@ -480,6 +486,8 @@ private:
class dSv_player_last_mark_info_c {
public:
dSv_player_last_mark_info_c() {}
void init();
void setWarpItemData(const char*, const cXyz&, s16, s8, u8, u8);
@@ -654,11 +662,12 @@ public:
void setPlayerName(const char* name) { strcpy((char*)mPlayerName, name); }
void setHorseName(const char* name) { strcpy((char*)mHorseName, name); }
void setTotalTime(s64 time) { mTotalTime = time; }
s64 getTotalTime() const { return mTotalTime; }
private:
/* 0x00 */ u32 unk0;
/* 0x04 */ u32 unk4;
/* 0x08 */ u64 mTotalTime;
/* 0x08 */ s64 mTotalTime;
/* 0x10 */ u16 unk16;
/* 0x12 */ u16 mDeathCount;
/* 0x14 */ u8 mPlayerName[16];
@@ -706,6 +715,8 @@ private:
class dSv_player_c {
public:
dSv_player_c() {}
void init();
dSv_player_info_c& getPlayerInfo() { return mPlayerInfo; }
dSv_player_status_a_c& getPlayerStatusA() { return mPlayerStatusA; }
@@ -971,6 +982,8 @@ private:
class dSv_save_c {
public:
dSv_save_c() {}
void init();
dSv_memory2_c* getSave2(int);
@@ -1019,9 +1032,11 @@ public:
dSv_restart_c& getRestart() { return mRestart; }
dSv_turnRestart_c& getTurnRestart() { return mTurnRestart; }
dSv_event_c& getEvent() { return mSavedata.getEvent(); }
s64 getStartTime() { return mStartTime; }
s64 getSaveTotalTime() { return mSaveTotalTime; }
dSv_danBit_c& getDan() { return mDan; }
s64 getStartTime() const { return mStartTime; }
s64 getSaveTotalTime() const { return mSaveTotalTime; }
void initDan(s8 param_0) { mDan.init(param_0); }
u8 getDataNum() const { return mDataNum; }
private:
/* 0x000 */ dSv_save_c mSavedata;
+5 -1
View File
@@ -55,6 +55,8 @@ struct actor_place {
};
struct actor_attention_types {
void setFlag(u32 flags) { mFlags |= flags; }
/* 0x00 */ u32 mDistance1;
/* 0x04 */ u32 mDistance2;
/* 0x08 */ u32 mDistance3;
@@ -106,7 +108,9 @@ public:
/* 0x534 */ f32 mMaxFallSpeed;
/* 0x538 */ cXyz mEyePos;
/* 0x544 */ actor_attention_types mAttentionInfo;
/* 0x560 */ u8 field_0x560[0x8]; // not 100% sure on this
/* 0x560 */ u8 field_0x560[0x2];
/* 0x562 */ s16 field_0x562;
/* 0x564 */ u8 field_0x564[0x4];
fopAc_ac_c();
~fopAc_ac_c();
+7 -3
View File
@@ -102,6 +102,10 @@ inline u32 fopAcM_GetParam(const void* pActor) {
return fpcM_GetParam(pActor);
}
inline u8 fopAcM_GetParamBit(void* ac, u8 shift, u8 bit) {
return (fopAcM_GetParam(ac) >> shift) & ((1 << bit) - 1);
}
inline void fopAcM_SetParam(void* p_actor, u32 param) {
fpcM_SetParam(p_actor, param);
}
@@ -354,9 +358,9 @@ void fopAcM_effSmokeSet1__FPUlPUlPC4cXyzPC5csXyzfPC12dKy_tevstr_ci(void);
void fopAcM_riverStream__FP4cXyzPsPff(void);
void fopAcM_carryOffRevise__FP10fopAc_ac_c(void);
void fopAcM_searchFromName4Event__FPCcs(void);
void fopAcM_GetName__FPv(void); // mostly inlined
void fopAcM_GetID__FPCv(void); // mostly inlined
void fopAcM_GetParam__FPCv(void); // mostly inlined
void fopAcM_GetName__FPv(void); // mostly inlined
void fopAcM_GetID__FPCv(void); // mostly inlined
static void fopAcM_GetParam__FPCv(void const*); // mostly inlined
}
#endif
+3
View File
@@ -2,5 +2,8 @@
#define F_OP_F_OP_MSG_H
#include "dolphin/types.h"
#include "f_pc/f_pc_leaf.h"
extern leafdraw_method_class g_fopMsg_Method;
#endif /* F_OP_F_OP_MSG_H */
+3
View File
@@ -7,6 +7,9 @@
typedef int (*fopMsgCreateFunc)(void*);
JKRExpHeap* fopMsgM_createExpHeap(u32, JKRHeap*);
u32 fopMsgM_Create(s16, fopMsgCreateFunc, void*);
void fopMsgM_setMessageID(unsigned int);
void fopMsgM_destroyExpHeap(JKRExpHeap*);
void fopMsgM_setStageLayer(void*);
#endif
+13 -5
View File
@@ -1,19 +1,27 @@
#ifndef F_F_OP_SCENE_H_
#define F_F_OP_SCENE_H_
#include "SSystem/SComponent/c_phase.h"
#include "dolphin/types.h"
#include "f_op/f_op_scene_tag.h"
#include "f_pc/f_pc_base.h"
#include "f_pc/f_pc_node.h"
#include "m_Do/m_Do_dvd_thread.h"
struct request_of_phase_process_class;
class mDoDvdThd_command_c;
class scene_class {
public:
/* 0x000 */ u8 field_0x00;
/* 0x004 */ u32 field_0x04;
/* 0x008 */ u8 field_0x08[0x24];
/* 0x02C */ int* field_0x2C;
/* 0x030 */ u8 field_0x30[0x17C];
/* 0x000 */ base_process_class field_0x0;
/* 0x0B8 */ u8 field_0xb8[0xF4];
/* 0x1AC */ process_method_class* mpProcessMtd;
/* 0x1B0 */ scene_tag_class* field_0x1b0;
/* 0x1B4 */ u8 field_0x1b4[0x10];
/* 0x1C4 */ request_of_phase_process_class field_0x1c4;
/* 0x1CC */ mDoDvdThd_toMainRam_c* sceneCommand;
/* 0x1D0 */ mDoDvdThd_mountXArchive_c* field_0x1d0;
/* 0x1D4 */ u8 field_0x1d4;
};
#endif
+5
View File
@@ -1,6 +1,7 @@
#ifndef F_F_OP_SCENE_MNG_H_
#define F_F_OP_SCENE_MNG_H_
#include "f_op/f_op_actor_mng.h"
#include "f_op/f_op_scene_pause.h"
void* fopScnM_SearchByID(unsigned int id);
@@ -11,4 +12,8 @@ u32 fopScnM_ReRequest(s16, u32);
void fopScnM_Management(void);
void fopScnM_Init(void);
inline u32 fopScnM_GetID(void* proc) {
return fpcM_GetID(proc);
}
#endif
+2 -1
View File
@@ -25,7 +25,7 @@ typedef struct leaf_process_profile_definition {
/* 0x1C */ leafdraw_method_class* mLfDrwMth;
/* 0x20 */ s16 mPriority;
/* 0x22 */ u8 unk22[2];
/* 0x24 */ s32 unk24;
/* 0x24 */ leafdraw_method_class* mMethods;
} leaf_process_profile_definition;
s32 fpcLf_GetPriority(const leafdraw_class* pLeaf);
@@ -37,5 +37,6 @@ s32 fpcLf_Delete(leafdraw_class* pLeaf);
s32 fpcLf_Create(leafdraw_class* pLeaf);
extern int g_fpcLf_type;
extern leafdraw_method_class g_fpcLf_Method;
#endif
+2
View File
@@ -29,4 +29,6 @@ s32 fpcPi_Handler(void);
s32 fpcPi_Init(process_priority_class* pPi, void* pUserData, unsigned int layer, u16 listID,
u16 priority);
extern s8 data_804505F0; // roomReadId
#endif
+3 -3
View File
@@ -21,8 +21,8 @@ typedef struct process_profile_definition {
#define LAYER_DEFAULT (-2)
process_profile_definition* fpcPf_Get(s16 profileID);
extern process_profile_definition** g_fpcPf_ProfileList_p;
struct leaf_process_profile_definition;
leaf_process_profile_definition* fpcPf_Get(s16 profileID);
extern leaf_process_profile_definition** g_fpcPf_ProfileList_p;
#endif
+28
View File
@@ -14,6 +14,7 @@ public:
};
extern bool struct_80450BB8; // sInitFlag
extern bool data_80450bba; // sBgmSet
extern bool sResetFlag;
class mDoAud_zelAudio_c {
@@ -25,12 +26,18 @@ public:
static bool isResetFlag() { return sResetFlag; }
static void onResetFlag() { sResetFlag = true; }
static void offResetFlag() { sResetFlag = false; }
static bool isBgmSet() { return data_80450bba; }
static void offBgmSet() { data_80450bba = false; }
Z2AudioMgr mAudioMgr;
};
extern JKRSolidHeap* g_mDoAud_audioHeap;
bool mDoAud_resetRecover();
void mDoAud_setSceneName(char const* spot, s32 room, s32 layer);
s32 mDoAud_load1stDynamicWave();
inline void mDoAud_bgmSetSwordUsing(s32 id) {
Z2AudioMgr::getInterface()->mSeqMgr.bgmSetSwordUsing(id);
}
@@ -47,4 +54,25 @@ inline void mDoAud_setWeekday(s32 day) {
Z2AudioMgr::getInterface()->mStatusMgr.setWeekday(day);
}
inline void mDoAud_setInDarkness(bool state) {
Z2AudioMgr::getInterface()->mSceneMgr.setInDarkness(state);
}
inline void mDoAud_seStart(u32 sfx_id, const Vec* param_1, u32 param_2, s8 param_3) {
Z2AudioMgr::getInterface()->mSeMgr.seStart(sfx_id, param_1, param_2, param_3, 1.0f, 1.0f, -1.0f,
-1.0f, 0);
}
inline void mDoAud_sceneBgmStart() {
Z2AudioMgr::getInterface()->mSceneMgr.sceneBgmStart();
}
inline void mDoAud_load2ndDynamicWave() {
Z2AudioMgr::getInterface()->mSceneMgr.load2ndDynamicWave();
}
inline bool mDoAud_check1stDynamicWave() {
return Z2AudioMgr::getInterface()->mSceneMgr.check1stDynamicWave();
}
#endif /* M_DO_M_DO_AUDIO_H */
+6 -1
View File
@@ -8,6 +8,9 @@
int mDoGph_Create();
extern u8 struct_80450BE4; // Blure
extern u8 data_80450BE6; // Fade
struct ResTIMG;
class mDoGph_gInf_c {
public:
@@ -40,8 +43,10 @@ public:
static JUTFader* getFader() { return mFader; }
static int startFadeOut(int param_0) { return JFWDisplay::getManager()->startFadeOut(param_0); }
static int startFadeIn(int param_0) { return JFWDisplay::getManager()->startFadeIn(param_0); }
static void setFadeColor(JUtility::TColor color) { mFader->setColor(color); }
static void setFadeColor(JUtility::TColor& color) { mFader->setColor(color); }
static void endFrame() { JFWDisplay::getManager()->endFrame(); }
static void offFade() { data_80450BE6 = 0; }
static void offBlure() { struct_80450BE4 = 0; }
static GXTexObj mFrameBufferTexObj;
static GXTexObj mZbufferTexObj;
@@ -8,8 +8,9 @@ class kytag05_class : public fopAc_ac_c {
public:
u8 getSceneListID() const { return mSceneListID; }
/* 0x568 */ u8 field_0x568[5];
/* 0x568 */ f32 field_0x568;
/* 0x56C */ u8 field_0x56c;
/* 0x56D */ u8 mSceneListID;
};
}; // Size: 0x570
#endif /* D_A_KYTAG05_H */
@@ -2,5 +2,19 @@
#define D_A_TAG_LV5SOUP_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
class daTag_Lv5Soup_c : public fopAc_ac_c {
public:
daTag_Lv5Soup_c() {}
/* 80D5AD58 */ int create();
/* 80D5ADEC */ int Delete();
/* 80D5ADF4 */ int Execute();
/* 80D5AE9C */ int Draw();
/* 80D5AEA4 */ bool isAreaCheck();
/* 80D5B0F4 */ virtual ~daTag_Lv5Soup_c();
};
#endif /* D_A_TAG_LV5SOUP_H */
@@ -6,17 +6,20 @@
class daTagMmsg_c : public fopAc_ac_c {
public:
daTagMmsg_c() {}
/* 80D5B918 */ void create();
/* 80D5BAB4 */ ~daTagMmsg_c();
/* 80D5BB30 */ void execute();
void onUseFlg() { mUseFlg = true; }
bool checkNoAttention() { return mAttention == 0xFF; }
private:
/* 0x568 */ u8 field_0x568;
/* 0x569 */ u8 field_0x569;
/* 0x56A */ u8 mAttention;
/* 0x56B */ u8 field_0x56b;
/* 0x56B */ bool field_0x56b;
/* 0x56C */ bool mUseFlg;
/* 0x56D */ u8 field_0x56d[3];
/* 0x570 */ u16 field_0x570;
@@ -2,5 +2,27 @@
#define D_A_TAG_SETBALL_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
class daTagSetBall_c : public fopAc_ac_c {
public:
daTagSetBall_c() {}
/* 80D601F8 */ void initBaseMtx();
/* 80D60218 */ void setBaseMtx();
/* 80D6021C */ int Create();
/* 80D6024C */ int create();
/* 80D602B4 */ int execute();
/* 80D602BC */ int _delete();
private:
u8 getType_private() { return fopAcM_GetParamBit(this, 8, 4); }
/* 0x568 */ u8 mType;
};
static int daTagSetBall_Execute(daTagSetBall_c* tag);
static int daTagSetBall_Delete(daTagSetBall_c* tag);
static int daTagSetBall_Create(daTagSetBall_c* tag);
#endif /* D_A_TAG_SETBALL_H */