m_Do cleanup, d_resource, drawlist stuff (#145)

* d_resource / some d_stage

* setup dDlst_list_c / d_select_icon OK

* JUTXfb / some JUTVideo + various

* some J2D classes / JUTVideo/Fader attempts

* bunch of m_Do cleanup + matches / f_ap_game OK

* mDoLib_clipper::setup OK

* most of d_meter_HIO OK

* pane_class / kantera_icon_meter
This commit is contained in:
TakaRikka
2021-09-24 08:11:10 -07:00
committed by GitHub
parent 6dcfdaf8a3
commit 7374f5f2f7
261 changed files with 6757 additions and 10882 deletions
+32 -31
View File
@@ -29,7 +29,7 @@ class J2DScreen;
class J2DPane;
class J2DAnmBase;
class daAlink_lockCursor_c : public dDlst_base_c {
class daAlink_lockCursor_c {
public:
/* 80125F14 */ void create();
/* 80126358 */ void update();
@@ -2172,6 +2172,7 @@ public:
u32 i_checkModeFlg(u32 pFlag) const { return mModeFlg & pFlag; }
bool checkUpperAnime(u16 pIdx) const { return mUpperAnime[UPPER_NOW].getIdx() == pIdx; }
bool checkIronBallWaitAnime() const { return checkUpperAnime(0x19C); }
s16 checkWolfEyeUp() const { return mWolfEyeUp; }
static u8 const m_mainBckShield[80];
static u8 const m_mainBckSword[20];
@@ -2299,7 +2300,7 @@ private:
/* 0x02170 */ u8 field_0x2170[0x18];
/* 0x02188 */ dEyeHL_c mEyeHL1;
/* 0x0219C */ dEyeHL_c mEyeHL2;
/* 0x021B0 */ daPy_anmHeap_c mAnmHeap8[2];
/* 0x021B0 */ daPy_anmHeap_c mItemHeap[2];
/* 0x021D8 */ daPy_anmHeap_c mAnmHeap9;
/* 0x021EC */ u8 field_0x21ec[4];
/* 0x021F0 */ daAlink_blur_c mBlur;
@@ -2541,7 +2542,7 @@ private:
/* 0x030A6 */ s16 field_0x30a6;
/* 0x030A8 */ u16 field_0x30a8;
/* 0x030AA */ u16 field_0x30aa;
/* 0x030AC */ s16 field_0x30ac;
/* 0x030AC */ s16 mWolfEyeUp;
/* 0x030AE */ u16 field_0x30ae;
/* 0x030B0 */ s16 field_0x30b0;
/* 0x030B2 */ s16 field_0x30b2;
@@ -2801,32 +2802,32 @@ struct daAlinkHIO_anm_c {
}; // size = 0x14
struct daAlinkHIO_basic_c1 {
/* 0x00 */ s16 field_0x00;
/* 0x02 */ s16 mNeckAimAngleX;
/* 0x04 */ s16 mNeckAimAngleY;
/* 0x06 */ s16 mNeckAimAngleZ;
/* 0x00 */ bool mOneHitKill;
/* 0x02 */ s16 mNeckMaxHorizontal;
/* 0x04 */ s16 mNeckMaxUp;
/* 0x06 */ s16 mNeckMaxDown;
/* 0x08 */ s16 field_0x08;
/* 0x0A */ s16 field_0x0a;
/* 0x0C */ s16 field_0x0c;
/* 0x0E */ s16 field_0x0e;
/* 0x10 */ s16 mMetamorphoseFarAngle;
/* 0x0A */ s16 mHotspringRecoverTime;
/* 0x0C */ s16 mWiiCamSpeedV;
/* 0x0E */ s16 mWiiCamSpeedH;
/* 0x10 */ s16 mTransformBlockFarAngle;
/* 0x14 */ f32 field_0x14;
/* 0x18 */ f32 mAnmBlendFactor;
/* 0x1C */ f32 mWaitTurnSpeed;
/* 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;
/* 0x3C */ f32 field_0x3c;
/* 0x40 */ f32 field_0x40;
/* 0x44 */ f32 field_0x44;
/* 0x48 */ f32 field_0x48;
/* 0x4C */ f32 field_0x4c;
/* 0x50 */ f32 mMetamorphoseNearDis;
/* 0x54 */ f32 mMetamorphoseFarDis;
/* 0x20 */ f32 mStandDefenseBlend;
/* 0x24 */ f32 mWaterSurfaceEffectHeight;
/* 0x28 */ f32 mWolfWaterSurfaceEffectHeight;
/* 0x2C */ f32 mMaxWindInfluenceDist;
/* 0x30 */ f32 mNoWindInfluenceDist;
/* 0x34 */ f32 mMaxWindSpeed;
/* 0x38 */ f32 mLavaDeathDepth;
/* 0x3C */ f32 mLinkWolfTransformSpeed;
/* 0x40 */ f32 mWolfLinkTransformSpeed;
/* 0x44 */ f32 mIndoorSpeedFactor;
/* 0x48 */ f32 mSandSinkSpeed;
/* 0x4C */ f32 mSandSurfaceSpeed;
/* 0x50 */ f32 mTransformBlockNearDis;
/* 0x54 */ f32 mTransformBlockFarDis;
};
class daAlinkHIO_basic_c0 {
@@ -2836,10 +2837,10 @@ public:
class daAlinkHIO_autoJump_c1 {
public:
/* 0x00 */ daAlinkHIO_anm_c field_0x00;
/* 0x14 */ daAlinkHIO_anm_c field_0x14;
/* 0x28 */ daAlinkHIO_anm_c field_0x28;
/* 0x3C */ daAlinkHIO_anm_c field_0x3c;
/* 0x00 */ daAlinkHIO_anm_c mJump;
/* 0x14 */ daAlinkHIO_anm_c mLand;
/* 0x28 */ daAlinkHIO_anm_c mDive;
/* 0x3C */ daAlinkHIO_anm_c mDiveUnk;
/* 0x50 */ u8 field_0x50;
/* 0x52 */ s16 field_0x52;
/* 0x54 */ s16 field_0x54;
@@ -2851,8 +2852,8 @@ public:
/* 0x68 */ f32 field_0x68;
/* 0x6C */ f32 field_0x6c;
/* 0x70 */ f32 field_0x70;
/* 0x74 */ f32 field_0x74;
/* 0x78 */ f32 field_0x78;
/* 0x74 */ f32 mGravity;
/* 0x78 */ f32 mMaxFallSpeed;
/* 0x7C */ f32 field_0x7c;
/* 0x80 */ f32 field_0x80;
/* 0x84 */ f32 field_0x84;
+14 -13
View File
@@ -41,7 +41,7 @@ public:
daPy_anmHeap_c(u32);
~daPy_anmHeap_c();
void initData();
void mallocBuffer();
void* mallocBuffer();
void createHeap(daPy_anmHeap_c::daAlinkHEAP_TYPE);
J3DAnmBase* loadData(u16);
J3DAnmBase* loadDataIdx(u16);
@@ -59,9 +59,9 @@ private:
/* 0x02 */ u16 mPriIdx;
/* 0x04 */ u16 mArcNo;
/* 0x06 */ u16 field_0x06;
/* 0x08 */ int mBufferSize;
/* 0x08 */ u32 mBufferSize;
/* 0x0C */ void* mBuffer;
/* 0x10 */ JKRHeap* mAnimeHeap;
/* 0x10 */ JKRSolidHeap* mAnimeHeap;
}; // Size = 0x14
class daPy_actorKeep_c {
@@ -167,16 +167,16 @@ public:
void checkBombItem(int);
void checkBottleItem(int);
void checkDrinkBottleItem(int);
int checkOilBottleItem(int);
void checkOpenBottleItem(int);
void checkBowItem(int);
void checkHookshotItem(int);
void checkTradeItem(int);
BOOL checkDungeonWarpItem(int);
void checkMasterSwordEquip();
static BOOL checkOilBottleItem(int);
static BOOL checkOpenBottleItem(int);
static BOOL checkBowItem(int);
static BOOL checkHookshotItem(int);
static BOOL checkTradeItem(int);
static BOOL checkDungeonWarpItem(int);
BOOL checkMasterSwordEquip();
void checkWoodShieldEquip();
void getAttentionOffsetY();
void checkNowWolfEyeUp();
f32 getAttentionOffsetY();
s16 checkNowWolfEyeUp();
void forceRestartRoom(int, u32, int);
void setFmChainPos(fopAc_ac_c*, cXyz*, int);
void cancelFmChainGrab();
@@ -386,7 +386,7 @@ public:
virtual bool checkCopyRodEquip(void) const;
virtual bool checkCutJumpMode(void) const;
inline bool getSumouCameraMode() const {
bool getSumouCameraMode() const {
bool sumouCameraMode = false;
if (field_0x560[0xA] != 0 && field_0x560[0xA] < 0x26) {
sumouCameraMode = true;
@@ -405,6 +405,7 @@ public:
void i_onEndResetFlg1(daPy_ERFLG1 pFlg) { mEndResetFlg1 |= pFlg; }
int i_checkWolf() { return i_checkNoResetFlg1(Wolf); }
BOOL i_checkEquipHeavyBoots() const { return i_checkNoResetFlg0(EquipHeavyBoots); }
inline BOOL checkNowWolf();
static u8 m_midnaActor[4];
};
+79 -43
View File
@@ -39,6 +39,12 @@ public:
u8 mTimerType;
};
class phaseParam_c {
public:
/* 0x0 */ char* field_0x0;
/* 0x4 */ JKRHeap* heap;
};
struct camera_class {};
class dComIfG_camera_info_class {
@@ -60,6 +66,8 @@ public:
};
STATIC_ASSERT(sizeof(dComIfG_camera_info_class) == 0x38);
enum PlayerPtr { LINK_PTR, HORSE_PTR };
class dComIfG_play_c {
public:
dComIfG_play_c() { this->ct(); }
@@ -100,7 +108,7 @@ public:
void* getMsgObjectClass() { return mMsgObjectClass; }
dStage_roomControl_c* getRoomControl() { return &mRoomControl; }
dStage_stageDt_c& getStage() { return mStageData; }
dEvt_control_c getEvent() { return mEvent; }
dEvt_control_c& getEvent() { return mEvent; }
daHorse_c* getHorseActor() { return (daHorse_c*)mPlayerPtr[1]; }
u8& getItemLifeCountType() { return mItemLifeCountType; }
void setItem(u8 slot, u8 i_no) {
@@ -149,21 +157,25 @@ public:
void setMaxOxygen(int max) { mMaxOxygen = max; }
u8 getDoStatus() { return mDoStatus; }
u8 getRStatus() { return mRStatus; }
inline char* getStartStageName() { return mStartStage.getName(); }
inline s8 getStartStageRoomNo() { return mStartStage.getRoomNo(); }
inline s8 getStartStageLayer() { return mStartStage.getLayer(); }
inline u8 isHeapLockFlag() { return mHeapLockFlag; }
inline void setHeapLockFlag(u8 status) { mHeapLockFlag = status; }
inline void setSubHeapLockFlag(int idx, u8 status) { mSubHeapLockFlag[idx] = status; }
inline u8 getSubHeapLockFlag(int idx) { return mSubHeapLockFlag[idx]; }
inline void offHeapLockFlag() { mHeapLockFlag = 0; }
inline JKRExpHeap* getSubExpHeap2D(int idx) { return mSubExpHeap2D[idx]; }
inline void setSubExpHeap2D(int idx, void* heap) { mSubExpHeap2D[idx] = (JKRExpHeap*)heap; }
inline void offEnableNextStage() { mNextStage.offEnable(); }
inline JKRHeap* getExpHeap2D() { return mExpHeap2D; }
inline dEvent_manager_c& getEvtManager() { return mEvtManager; }
inline dAttention_c& getAttention() { return mAttention; }
char* getStartStageName() { return mStartStage.getName(); }
s8 getStartStageRoomNo() { return mStartStage.getRoomNo(); }
s8 getStartStageLayer() { return mStartStage.getLayer(); }
u8 isHeapLockFlag() { return mHeapLockFlag; }
void setHeapLockFlag(u8 status) { mHeapLockFlag = status; }
void setSubHeapLockFlag(int idx, u8 status) { mSubHeapLockFlag[idx] = status; }
u8 getSubHeapLockFlag(int idx) { return mSubHeapLockFlag[idx]; }
void offHeapLockFlag() { mHeapLockFlag = 0; }
JKRExpHeap* getSubExpHeap2D(int idx) { return mSubExpHeap2D[idx]; }
void setSubExpHeap2D(int idx, void* heap) { mSubExpHeap2D[idx] = (JKRExpHeap*)heap; }
void offEnableNextStage() { mNextStage.offEnable(); }
JKRHeap* getExpHeap2D() { return mExpHeap2D; }
dEvent_manager_c& getEvtManager() { return mEvtManager; }
dAttention_c& getAttention() { return mAttention; }
JKRArchive* getMsgDtArchive(int idx) { return mMsgDtArchive[idx]; }
s16 getStartStagePoint() { return mStartStage.getPoint(); }
void* getPlayerPtr(int ptrIdx) { return mPlayerPtr[ptrIdx]; }
JKRArchive* getMain2DArchive() { return mMain2DArchive; }
J2DGrafContext* getCurrentGrafPort() { return mCurrentGrafPort; }
public:
/* 0x00000 */ dBgS mDBgS;
@@ -378,34 +390,12 @@ public:
/* 0x0500C */ dDlst_window_c* mCurrentWindow;
/* 0x05010 */ void* mCurrentView;
/* 0x05014 */ void* mCurrentViewport;
/* 0x05018 */ void* mCurrentGrafPort;
/* 0x05018 */ J2DGrafContext* mCurrentGrafPort;
/* 0x0501C */ void* mItemTable;
/* 0x0501D */ u8 field_0x501d[4];
/* 0x05024 */ char mLastPlayStageName[8];
};
class dRes_control_c {
public:
dRes_control_c() {}
/* 8003BFB0 */ ~dRes_control_c();
/* 8003C078 */ static int setRes(char const*, dRes_info_c*, int, char const*, u8, JKRHeap*);
/* 8003C160 */ static int syncRes(char const*, dRes_info_c*, int);
/* 8003C194 */ void deleteRes(char const*, dRes_info_c*, int);
/* 8003C37C */ void getRes(char const*, char const*, dRes_info_c*, int);
int setObjectRes(const char* name, u8 param_1, JKRHeap* heap) {
return setRes(name, &mResInfos1[0], ARRAY_SIZE(mResInfos1), "/res/Object/", param_1, heap);
}
int syncObjectRes(const char* name) {
return syncRes(name, &mResInfos1[0], ARRAY_SIZE(mResInfos1));
}
private:
/* 0x0000 */ dRes_info_c mResInfos1[0x80];
/* 0x1200 */ dRes_info_c mResInfos2[0x40];
}; // Size: 0x1B00
class dComIfG_inf_c {
public:
dComIfG_inf_c() { this->ct(); }
@@ -414,8 +404,8 @@ public:
/* 0x00000 */ dSv_info_c info;
/* 0x00F38 */ dComIfG_play_c play;
/* 0x05F64 */ dDlst_list_c draw_list_list;
/* 0x1C110 */ u8 field_0x1C114[0x1E8 - 0xA];
/* 0x05F64 */ dDlst_list_c drawlist;
/* 0x1C104 */ u8 field_0x1C104[0x1F4];
/* 0x1C2F8 */ dRes_control_c mResControl;
/* 0x1DDF8 */ u8 field_0x1ddf8; // related to fade, controls brightness
/* 0x1DDF9 */ u8 mWorldDark;
@@ -431,7 +421,7 @@ public:
/* 0x1DE0C */ u8 field_0x1de0c;
static __d_timer_info_c dComIfG_mTimerInfo;
};
}; // Size: 0x1DE10
STATIC_ASSERT(122384 == sizeof(dComIfG_inf_c));
@@ -459,6 +449,8 @@ u16 dComIfGs_getMaxLifeGauge();
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*);
inline void dComIfGp_setRStatus(u8 status, u8 flag) {
g_dComIfG_gameInfo.play.setRStatus(status, flag);
@@ -754,7 +746,7 @@ inline char* dComIfGp_getStartStageName() {
}
inline void dComIfGd_reset() {
g_dComIfG_gameInfo.draw_list_list.reset();
g_dComIfG_gameInfo.drawlist.reset();
}
inline u8 dComIfGs_getOptVibration() {
@@ -801,6 +793,10 @@ inline BOOL dComIfGs_isSaveSwitch(int i_stageNo, int i_no) {
return g_dComIfG_gameInfo.info.getSavedata().getSave(i_stageNo).getBit().isSwitch(i_no);
}
inline BOOL dComIfGs_isSaveSwitch(int i_no) {
return g_dComIfG_gameInfo.info.getMemory().getBit().isSwitch(i_no);
}
inline void dComIfGs_onStageBossEnemy() {
g_dComIfG_gameInfo.info.getMemory().getBit().onStageBossEnemy();
}
@@ -851,7 +847,7 @@ inline void dComIfGp_roomControl_initZone() {
g_dComIfG_gameInfo.play.getRoomControl()->initZone();
}
inline bool dComIfG_setObjectRes(const char* name, u8 param_1, JKRHeap* heap) {
inline int dComIfG_setObjectRes(const char* name, u8 param_1, JKRHeap* heap) {
return g_dComIfG_gameInfo.mResControl.setObjectRes(name, param_1, heap);
}
@@ -975,4 +971,44 @@ inline u8 dComIfGs_getArrowNum() {
return g_dComIfG_gameInfo.info.getPlayer().getItemRecord().getArrowNum();
}
inline s16 dComIfGp_getStartStagePoint() {
return g_dComIfG_gameInfo.play.getStartStagePoint();
}
inline void dComIfGs_initZone() {
g_dComIfG_gameInfo.info.initZone();
}
inline int dComIfG_deleteObjectResMain(const char* res) {
return g_dComIfG_gameInfo.mResControl.deleteObjectRes(res);
}
inline void dComIfGp_roomControl_init() {
g_dComIfG_gameInfo.play.getRoomControl()->init();
}
inline void* dComIfG_getStageRes(const char* arcName, const char* resName) {
return g_dComIfG_gameInfo.mResControl.getStageRes(arcName, resName);
}
inline void* dComIfG_getObjectRes(const char* arcName, const char* resName) {
return g_dComIfG_gameInfo.mResControl.getObjectRes(arcName, resName);
}
inline daPy_py_c* dComIfGp_getLinkPlayer() {
return (daPy_py_c*)g_dComIfG_gameInfo.play.getPlayerPtr(LINK_PTR);
}
inline daAlink_c* daAlink_getAlinkActorClass() {
return (daAlink_c*)g_dComIfG_gameInfo.play.getPlayerPtr(LINK_PTR);
}
inline JKRArchive* dComIfGp_getMain2DArchive() {
return g_dComIfG_gameInfo.play.getMain2DArchive();
}
inline J2DGrafContext* dComIfGp_getCurrentGrafPort() {
return g_dComIfG_gameInfo.play.getCurrentGrafPort();
}
#endif /* D_COM_D_COM_INF_GAME_H */
+186 -27
View File
@@ -1,13 +1,31 @@
#ifndef D_D_DRAWLIST_H
#define D_D_DRAWLIST_H
#include "JSystem/J2DGraph/J2DScreen.h"
#include "JSystem/J3DGraphAnimator/J3DModel.h"
#include "JSystem/J3DGraphBase/J3DDrawBuffer.h"
#include "JSystem/J3DGraphBase/J3DPacket.h"
#include "SSystem/SComponent/c_m3d_g_pla.h"
#include "SSystem/SComponent/c_xyz.h"
#include "dolphin/gx/GXTexture.h"
#include "d/kankyo/d_kankyo.h"
#include "dolphin/gx/GX.h"
#include "dolphin/mtx/mtx44.h"
#include "dolphin/mtx/mtxvec.h"
#include "dolphin/types.h"
struct mDoExt_3DlineMat_c {};
class mDoExt_3DlineMatSortPacket : public J3DPacket {
public:
mDoExt_3DlineMatSortPacket();
virtual void draw();
virtual ~mDoExt_3DlineMatSortPacket();
private:
/* 0x10 */ mDoExt_3DlineMat_c* mp3DlineMat;
};
class dDlst_FileInfo_c {
public:
void draw(void);
@@ -16,15 +34,112 @@ public:
private:
};
#pragma pack(push, 1)
class dDlst_peekZ_c {
public:
dDlst_peekZ_c() { field_0x0 = 0; }
/* 80056018 */ void newData(s16, s16, u32*);
/* 80056080 */ void peekData();
u8 unk[7];
}; // actual size unknown!!!
#pragma pack(pop)
/* 0x0 */ u8 field_0x0;
/* 0x2 */ u16 field_0x2;
/* 0x4 */ u32* field_0x4;
};
class dDlst_shadowSimple_c {
public:
/* 8005520C */ void draw();
/* 800553EC */ void set(cXyz*, f32, f32, cXyz*, s16, f32, _GXTexObj*);
/* 8005638C */ dDlst_shadowSimple_c();
/* 0x00 */ u8 mAlpha;
/* 0x04 */ _GXTexObj* mpTexObj;
/* 0x08 */ Mtx mVolumeMtx;
/* 0x38 */ Mtx mMtx;
}; // Size: 0x68
struct cBgD_Vtx_t {};
class dDlst_shadowPoly_c {
public:
/* 80054288 */ void set(cBgD_Vtx_t*, u16, u16, u16, cM3dGPla*);
/* 800543B4 */ void draw();
/* 0x0 */ void* field_0x0; // vtable
/* 0x4 */ u16 mCount;
/* 0x6 */ u8 field_0x6[2];
};
class dDlst_shadowTri_c {
public:
/* 80056270 */ ~dDlst_shadowTri_c();
/* 80056344 */ dDlst_shadowTri_c();
/* 0x0 */ cXyz mPos[3];
};
class dDlst_shadowRealPoly_c {
public:
/* 800569A0 */ void getTri();
/* 800569A8 */ s32 getTriMax();
/* 0x0 */ dDlst_shadowPoly_c mShadowPoly;
/* 0x8 */ dDlst_shadowTri_c mShadowTri[256];
};
class dDlst_shadowReal_c {
public:
/* 800544F0 */ void reset();
/* 80054500 */ void imageDraw(f32 (*)[4]);
/* 800545D4 */ void draw();
/* 80054BD0 */ void setShadowRealMtx(cXyz*, cXyz*, f32, f32, f32, dKy_tevstr_c*);
/* 80055028 */ void set(u32, J3DModel*, cXyz*, f32, f32, dKy_tevstr_c*, f32, f32);
/* 800551D4 */ bool add(J3DModel*);
/* 800561F8 */ ~dDlst_shadowReal_c();
/* 800562D0 */ dDlst_shadowReal_c();
private:
/* 0x0000 */ u8 mState;
/* 0x0001 */ u8 field_0x1;
/* 0x0002 */ u8 mModelNum;
/* 0x0003 */ u8 field_0x3;
/* 0x0004 */ u32 mKey;
/* 0x0008 */ Mtx mViewMtx;
/* 0x0038 */ Mtx44 mRenderProjMtx;
/* 0x0078 */ Mtx mReceiverProjMtx;
/* 0x00A8 */ dDlst_shadowRealPoly_c mShadowRealPoly;
/* 0x24B0 */ J3DModel* mpModels[38];
/* 0x2548 */ f32 mCameraZ;
/* 0x254C */ dDlst_shadowReal_c* mZsortPre;
/* 0x2550 */ dDlst_shadowReal_c* mZsortNext;
}; // Size: 0x2554
class dDlst_shadowControl_c {
public:
dDlst_shadowControl_c() { field_0x0 = 0; }
/* 80055684 */ void init();
/* 80055768 */ void reset();
/* 800557C8 */ void imageDraw(f32 (*)[4]);
/* 80055A14 */ void draw(f32 (*)[4]);
/* 80055C74 */ void setReal(u32, s8, J3DModel*, cXyz*, f32, f32, dKy_tevstr_c*);
/* 80055F1C */ void addReal(u32, J3DModel*);
/* 80055F84 */ void setSimple(cXyz*, f32, f32, cXyz*, s16, f32, _GXTexObj*);
/* 80055FE8 */ void setSimpleTex(ResTIMG const*);
static u8 mSimpleTexObj[32];
private:
/* 0x00000 */ u8 field_0x0;
/* 0x00001 */ u8 mRealNum;
/* 0x00002 */ u8 mSimpleNum;
/* 0x00004 */ dDlst_shadowReal_c* field_0x4;
/* 0x00008 */ dDlst_shadowReal_c* field_0x8;
/* 0x0000C */ dDlst_shadowSimple_c mSimple[128];
/* 0x0340C */ int mNextID;
/* 0x03410 */ dDlst_shadowReal_c mReal[8];
/* 0x15EB0 */ _GXTexObj field_0x15eb0[2];
/* 0x15EF0 */ void* field_0x15ef0;
/* 0x15EF4 */ void* field_0x15ef4;
};
class dDlst_window_c {
public:
@@ -34,28 +149,31 @@ public:
/* 80051ADC */ void setScissor(f32, f32, f32, f32);
private:
float view_port1;
float view_port2;
float view_port3;
float view_port4;
float view_port5;
float view_port6;
float scissor1;
float scissor2;
float scissor3;
float scissor4;
int camera_id;
/* 0x00 */ f32 mViewport;
/* 0x04 */ f32 field_0x04;
/* 0x08 */ f32 field_0x08;
/* 0x0C */ f32 field_0x0C;
/* 0x10 */ f32 field_0x10;
/* 0x14 */ f32 field_0x14;
/* 0x18 */ f32 mScissor;
/* 0x1C */ f32 field_0x1c;
/* 0x20 */ f32 field_0x20;
/* 0x24 */ f32 field_0x24;
/* 0x28 */ s8 mCameraID;
/* 0x29 */ s8 mMode;
};
STATIC_ASSERT(sizeof(dDlst_window_c) == 0x2C);
struct view_port_class {};
struct view_class {};
class dDlst_base_c {
public:
virtual void temp(); // temp to build OK, remove later
virtual void draw();
};
#pragma pack(push, 1)
class dDlst_list_c {
public:
/* 800560F0 */ dDlst_list_c();
@@ -67,7 +185,7 @@ public:
/* 80056710 */ void drawXluDrawList(J3DDrawBuffer*);
/* 8005674C */ void drawOpaListItem3d();
/* 80056770 */ void drawXluListItem3d();
/* 80056794 */ void set(dDlst_base_c**&, dDlst_base_c**&, dDlst_base_c*);
/* 80056794 */ int set(dDlst_base_c**&, dDlst_base_c**&, dDlst_base_c*);
/* 800567C4 */ void draw(dDlst_base_c**, dDlst_base_c**);
/* 8005681C */ void wipeIn(f32, _GXColor&);
/* 800568D8 */ void wipeIn(f32);
@@ -78,13 +196,54 @@ public:
static f32 mWipeRate;
static f32 mWipeSpeed[1 + 1 /* padding */];
// private:
/* 0x00000 */ u8 field_0x00[0x1C];
/* 0x0001C */ J3DPacket* mpPacket;
/* 0x00020 */ u8 field_0x20[0x16170];
/* 0x16180 */ dDlst_peekZ_c dlstPeekZ;
/* 0x16184 */ u8 unk_0x16194[0x1F];
}; // Size: 0x161A0
#pragma pack(pop)
private:
/* 0x00000 */ J3DDrawBuffer* mOpaListSky;
/* 0x00004 */ J3DDrawBuffer* mpXluListSky;
/* 0x00008 */ J3DDrawBuffer* mListP0;
/* 0x0000C */ J3DDrawBuffer* mOpaListBG;
/* 0x00010 */ J3DDrawBuffer* mXluListBG;
/* 0x00014 */ J3DDrawBuffer* mOpaListDarkBG;
/* 0x00018 */ J3DDrawBuffer* mXluListDarkBG;
/* 0x0001C */ J3DDrawBuffer* mOpaList;
/* 0x00020 */ J3DDrawBuffer* mXluList;
/* 0x00024 */ J3DDrawBuffer* mOpaListDark;
/* 0x00028 */ J3DDrawBuffer* mXluListDark;
/* 0x0002C */ J3DDrawBuffer* mOpaListPacket;
/* 0x00030 */ J3DDrawBuffer* mListFilter;
/* 0x00034 */ J3DDrawBuffer* mOpaListItem3d;
/* 0x00038 */ J3DDrawBuffer* mXluListItem3d;
/* 0x0003C */ J3DDrawBuffer* mOpaListInvisible;
/* 0x00040 */ J3DDrawBuffer* mXluListInvisible;
/* 0x00044 */ J3DDrawBuffer* mListZxlu;
/* 0x00048 */ J3DDrawBuffer* mList2DScreen;
/* 0x0004C */ J3DDrawBuffer* mListMiddle;
/* 0x00050 */ J3DDrawBuffer* mList3Dlast;
/* 0x00054 */ dDlst_list_c** field_0x54; // array?
/* 0x00058 */ u8 field_0x58[0xC];
/* 0x00064 */ dDlst_list_c* field_0x64;
/* 0x00068 */ dDlst_list_c** field_0x68;
/* 0x0006C */ dDlst_list_c** field_0x6c; // array?
/* 0x00070 */ u8 field_0x70[0x3C];
/* 0x000AC */ dDlst_list_c* field_0xac;
/* 0x000B0 */ dDlst_list_c** field_0xb0;
/* 0x000B4 */ dDlst_list_c** field_0xb4; // array?
/* 0x000B8 */ u8 field_0xb8[0xFC];
/* 0x001B4 */ dDlst_list_c* field_0x1b4;
/* 0x001B8 */ dDlst_list_c** field_0x1b8;
/* 0x001BC */ dDlst_list_c** field_0x1bc; // array?
/* 0x001C0 */ u8 field_0x1c0[0x7C];
/* 0x0023C */ dDlst_list_c* field_0x23c;
/* 0x00240 */ dDlst_list_c** field_0x240;
/* 0x00244 */ dDlst_window_c* mWindow;
/* 0x00248 */ view_port_class* mViewport;
/* 0x0024C */ view_class* mView;
/* 0x00250 */ u8 field_0x250[0xC];
/* 0x0025C */ dDlst_shadowControl_c mShadowControl;
/* 0x16154 */ mDoExt_3DlineMatSortPacket m3DLineMatSortPacket[3];
/* 0x16190 */ dDlst_peekZ_c mPeekZ;
/* 0x16198 */ u8 field_0x16198[8]; // might be part of peekZ
}; // Size: 0x161A0
STATIC_ASSERT(sizeof(dDlst_list_c) == 0x161A0);
#endif /* D_D_DRAWLIST_H */
+32
View File
@@ -1,6 +1,38 @@
#ifndef D_D_KANTERA_ICON_METER_H
#define D_D_KANTERA_ICON_METER_H
#include "d/com/d_com_inf_game.h"
#include "d/d_drawlist.h"
#include "d/pane/d_pane_class.h"
#include "dolphin/types.h"
class dDlst_KanteraIcon_c : public dDlst_base_c {
public:
/* 801AECB8 */ virtual void draw();
/* 801AED1C */ virtual ~dDlst_KanteraIcon_c();
void setScreen(J2DScreen* screen) { mp_scrn = screen; }
J2DScreen* getScreen() { return mp_scrn; }
private:
/* 0x04 */ J2DScreen* mp_scrn;
};
class dKantera_icon_c {
public:
/* 801AE938 */ dKantera_icon_c();
/* 801AEA68 */ void initiate();
/* 801AEB7C */ void setAlphaRate(f32);
/* 801AEBA0 */ void setPos(f32, f32);
/* 801AEBF4 */ void setScale(f32, f32);
/* 801AEC44 */ void setNowGauge(u16, u16);
/* 801AE974 */ virtual ~dKantera_icon_c();
private:
/* 0x04 */ dDlst_KanteraIcon_c* mpKanteraIcon;
/* 0x08 */ CPaneMgr* mpParent;
/* 0x0C */ CPaneMgr* mpGauge;
};
#endif /* D_D_KANTERA_ICON_METER_H */
+72 -20
View File
@@ -5,39 +5,91 @@
#include "JSystem/JKernel/JKRHeap.h"
#include "SSystem/SComponent/c_xyz.h"
#include "dolphin/types.h"
#include "m_Do/m_Do_dvd_thread.h"
#include "m_Do/m_Do_ext.h"
#pragma pack(push, 1)
class dRes_info_c {
public:
/* 8003A260 */ dRes_info_c();
/* 8003A280 */ ~dRes_info_c();
/* 8003A348 */ void set(char const*, char const*, u8, JKRHeap*);
/* 8003A348 */ int set(char const*, char const*, u8, JKRHeap*);
/* 8003AB30 */ void onWarpMaterial(J3DModelData*);
/* 8003AC1C */ void offWarpMaterial(J3DModelData*);
/* 8003AD08 */ void setWarpSRT(J3DModelData*, cXyz const&, f32, f32);
/* 8003AE14 */ void loaderBasicBmd(u32, void*);
/* 8003B30C */ void loadResource();
/* 8003B30C */ int loadResource();
/* 8003B998 */ void deleteArchiveRes();
/* 8003BAC4 */ void setRes(JKRArchive*, JKRHeap*);
/* 8003BAF8 */ void setRes();
/* 8003BD2C */ void dump_long(dRes_info_c*, int);
/* 8003BE38 */ void dump(dRes_info_c*, int);
/* 8003BAC4 */ int setRes(JKRArchive*, JKRHeap*);
/* 8003BAF8 */ int setRes();
/* 8003BD2C */ static void dump_long(dRes_info_c*, int);
/* 8003BE38 */ static void dump(dRes_info_c*, int);
void* getRes(u32 resIdx) { return *(mRes + resIdx); }
int getCount() { return mCount; }
char* getArchiveName() { return mArchiveName; }
mDoDvdThd_mountArchive_c* getDMCommand() { return mDMCommand; }
JKRArchive* getArchive() { return mArchive; }
void incCount() { mCount++; }
u16 decCount() {
mCount--;
return mCount;
}
private:
u8 unk[0x24];
// u8* name;
// u32 unk4;
// u32 unk8;
// s16 reference_count;
// u8 padding[2];
// mDoDVDThd_command_c* command;
// JKRArchive* archive;
// JKRHeap* heap;
// JKRSolidHeap* solid_heap;
// void** resource_buffer;
};
#pragma pack(pop)
/* 0x00 */ char mArchiveName[11];
/* 0x0C */ u16 mCount;
/* 0x10 */ mDoDvdThd_mountArchive_c* mDMCommand;
/* 0x14 */ JKRArchive* mArchive;
/* 0x18 */ JKRHeap* heap;
/* 0x1C */ JKRSolidHeap* mDataHeap;
/* 0x20 */ void** mRes;
}; // Size: 0x24
STATIC_ASSERT(sizeof(dRes_info_c) == 0x24);
class dRes_control_c {
public:
dRes_control_c() {}
/* 8003BFB0 */ ~dRes_control_c();
/* 8003C078 */ static int setRes(char const*, dRes_info_c*, int, char const*, u8, JKRHeap*);
/* 8003C160 */ static int syncRes(char const*, dRes_info_c*, int);
/* 8003C194 */ static int deleteRes(char const*, dRes_info_c*, int);
/* 8003C37C */ static void* getRes(char const*, char const*, dRes_info_c*, int);
/* 8003C1E4 */ static dRes_info_c* getResInfo(char const*, dRes_info_c*, int);
/* 8003C260 */ static dRes_info_c* newResInfo(dRes_info_c*, int);
/* 8003C288 */ static dRes_info_c* getResInfoLoaded(char const*, dRes_info_c*, int);
/* 8003C2EC */ static void* getRes(char const*, s32, dRes_info_c*, int);
/* 8003C400 */ void getIDRes(char const*, u16, dRes_info_c*, int);
/* 8003C470 */ static int syncAllRes(dRes_info_c*, int);
/* 8003C4E4 */ int setObjectRes(char const*, void*, u32, JKRHeap*);
/* 8003C5BC */ int setStageRes(char const*, JKRHeap*);
/* 8003C638 */ void dump();
/* 8003C6B8 */ int getObjectResName2Index(char const*, char const*);
int setObjectRes(const char* name, u8 param_1, JKRHeap* heap) {
return setRes(name, &mObjectInfo[0], ARRAY_SIZE(mObjectInfo), "/res/Object/", param_1,
heap);
}
void* getObjectRes(const char* arcName, const char* resName) {
return getRes(arcName, resName, &mObjectInfo[0], ARRAY_SIZE(mObjectInfo));
}
int syncObjectRes(const char* name) {
return syncRes(name, &mObjectInfo[0], ARRAY_SIZE(mObjectInfo));
}
int deleteObjectRes(const char* name) {
return deleteRes(name, &mObjectInfo[0], ARRAY_SIZE(mObjectInfo));
}
void* getStageRes(const char* arcName, const char* resName) {
return getRes(arcName, resName, &mStageInfo[0], ARRAY_SIZE(mStageInfo));
}
/* 0x0000 */ dRes_info_c mObjectInfo[0x80];
/* 0x1200 */ dRes_info_c mStageInfo[0x40];
}; // Size: 0x1B00
struct J3DAnmBase {
/* 8003C734 */ ~J3DAnmBase();
+29
View File
@@ -1,6 +1,35 @@
#ifndef D_D_SELECT_ICON_H
#define D_D_SELECT_ICON_H
#include "JSystem/J2DGraph/J2DScreen.h"
#include "d/pane/d_pane_class.h"
#include "dolphin/types.h"
class dSi_HIO_c {
public:
virtual ~dSi_HIO_c();
dSi_HIO_c();
u8 field_0x4[4];
};
class dSelect_icon_c {
public:
/* 80195A3C */ void animation();
/* 80195B40 */ void setAlpha(u8);
/* 80195B70 */ void setPos(J2DPane*, f32, f32);
/* 0x00 */ u8 field_0x0[8];
/* 0x08 */ J2DScreen* field_0x8;
/* 0x0C */ CPaneMgrAlpha* field_0xc;
/* 0x10 */ CPaneMgr* field_0x10;
/* 0x14 */ f32 field_0x14;
/* 0x18 */ f32 field_0x18;
/* 0x1C */ J2DAnmBase* field_0x1c;
/* 0x20 */ f32 field_0x20;
/* 0x24 */ J2DAnmBase* field_0x24;
/* 0x28 */ f32 field_0x28;
/* 0x2C */ f32 field_0x2c;
};
#endif /* D_D_SELECT_ICON_H */
+71 -58
View File
@@ -2,6 +2,7 @@
#define D_D_STAGE_H
#include "JSystem/JKernel/JKRExpHeap.h"
#include "SSystem/SComponent/c_lib.h"
#include "d/kankyo/d_kankyo.h"
#include "d/save/d_save.h"
#include "dolphin/types.h"
@@ -475,9 +476,11 @@ class dStage_roomStatus_c {
public:
/* 0x000 */ dStage_roomDt_c mRoomDt;
/* 0x06C */ dKy_tevstr_c mKyTevStr;
/* 0x3F4 */ u8 unk_0x3F4[3];
/* 0x3F4 */ u8 unk_0x3F4;
/* 0x3F5 */ u8 unk_0x3F5[2];
/* 0x3F7 */ s8 mZoneNo;
/* 0x3F8 */ u8 unk_3F8[0x404 - 0x3F8];
/* 0x3F8 */ s8 mMemBlockID;
/* 0x3F9 */ s8 unk_3F9[0x404 - 0x3F9];
int getZoneNo() const { return mZoneNo; }
/* 80028360 */ ~dStage_roomStatus_c() {}
@@ -487,6 +490,10 @@ public:
STATIC_ASSERT(sizeof(dStage_roomStatus_c) == 0x404);
extern s8 struct_80450D64; // sStayNo
extern s8 sLastStayNo;
extern s8 sNextStayNo;
extern s8 sTimePass;
extern u8 data_80450D68;
class dStage_roomControl_c {
public:
@@ -505,24 +512,29 @@ public:
void init(void);
static int getZoneNo(int room);
/* 80024338 */ void initZone();
/* 80024384 */ void getStatusRoomDt(int);
/* 800243B0 */ void getMemoryBlock(int);
/* 80024384 */ dStage_roomStatus_c* getStatusRoomDt(int);
/* 800243B0 */ JKRExpHeap* getMemoryBlock(int);
/* 800243E8 */ static void setStayNo(int);
/* 80024424 */ static void setNextStayNo(int);
/* 800244E8 */ void checkRoomDisp(int) const;
/* 800244E8 */ bool checkRoomDisp(int) const;
/* 8002451C */ void loadRoom(int, u8*, bool);
/* 8002471C */ void zoneCountCheck(int) const;
/* 80024844 */ static JKRExpHeap* createMemoryBlock(int, u32);
/* 800248A8 */ void destroyMemoryBlock();
/* 8002490C */ void setArcBank(int, char const*);
/* 80024940 */ void getArcBank(int);
/* 80024954 */ void resetArchiveBank(int);
/* 8002490C */ static void setArcBank(int, char const*);
/* 80024940 */ static char* getArcBank(int);
/* 80024954 */ static int resetArchiveBank(int);
/* 80024DB0 */ static void SetTimePass(int);
static s8 GetTimePass();
inline static s8 getStayNo() { return struct_80450D64; }
s8 getMemoryBlockID(int i_roomNo) { return mStatus[i_roomNo].mMemBlockID; }
bool checkStatusFlag(int i_roomNo, u8 flag) const {
return cLib_checkBit(mStatus[i_roomNo].unk_0x3F4, flag);
}
static JKRExpHeap* mMemoryBlock[19];
static u8 mArcBank[320];
static char mArcBank[32][10];
static dStage_roomStatus_c mStatus[0x40];
static u8 mDemoArcName[10 + 2 /* padding */];
static u32 mProcID;
@@ -539,7 +551,8 @@ public:
void set(const char*, s8, s16, s8);
inline char* getName() { return mStage; }
s8 getLayer() { return mLayer; }
s8 getRoomNo() { return mRoomNo; }
s8 getRoomNo() const { return mRoomNo; }
s16 getPoint() { return mPoint; }
private:
/* 0x0 */ char mStage[8];
@@ -577,7 +590,7 @@ public:
/* 0x004 */ stage_tgsc_data_class unk_0x4[0x40];
}; // Size = 0x904
typedef void (*dStage_Func)(dStage_dt_c*, void*, int, void*);
typedef int (*dStage_Func)(dStage_dt_c*, void*, int, void*);
struct FuncTable {
char identifier[8];
@@ -586,53 +599,53 @@ struct FuncTable {
const char* dStage_getName2(s16, s8);
dStage_objectNameInf* dStage_searchName(const char*);
static void dStage_stageKeepTresureInit(dStage_dt_c*, void*, int, void*);
static void dStage_filiInfo2Init(dStage_dt_c*, void*, int, void*);
static void dStage_mapPathInitCommonLayer(dStage_dt_c*, void*, int, void*);
static void dStage_mapPathInit(dStage_dt_c*, void*, int, void*);
static void dStage_memaInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_mecoInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_stagInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_soundInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_lgtvInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_envrInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_pselectInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_paletteInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_vrboxcolInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_roomDrtgInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_tgscInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_actorInit(dStage_dt_c*, void*, int, void*);
static void dStage_layerTresureInit(dStage_dt_c*, void*, int, void*);
static void dStage_elstInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_rppnInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_rpatInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_multInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_playerInit(dStage_dt_c*, void*, int, void*);
static void dStage_cameraInit(dStage_dt_c*, void*, int, void*);
static void dStage_actorInit_always(dStage_dt_c*, void*, int, void*);
static void dStage_roomReadInit(dStage_dt_c*, void*, int, void*);
static void dStage_arrowInit(dStage_dt_c*, void*, int, void*);
static void dStage_vrboxInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_sclsInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_tgscInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_plightInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_ppntInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_pathInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_filiInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_stageDrtgInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_floorInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_dmapInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_stEventInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_soundInfoInitCL(dStage_dt_c*, void*, int, void*);
static void dStage_RoomCameraInit(dStage_dt_c*, void*, int, void*);
static void dStage_lbnkInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_actorCommonLayerInit(dStage_dt_c*, void*, int, void*);
static void dStage_roomTresureInit(dStage_dt_c*, void*, int, void*);
static void dStage_tgscCommonLayerInit(dStage_dt_c*, void*, int, void*);
static void dStage_mapEventInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_fieldMapTresureInit(dStage_dt_c*, void*, int, void*);
static void dStage_fieldMapFiliInfo2Init(dStage_dt_c*, void*, int, void*);
static void dStage_fieldMapMapPathInit(dStage_dt_c*, void*, int, void*);
static int dStage_stageKeepTresureInit(dStage_dt_c*, void*, int, void*);
static int dStage_filiInfo2Init(dStage_dt_c*, void*, int, void*);
static int dStage_mapPathInitCommonLayer(dStage_dt_c*, void*, int, void*);
static int dStage_mapPathInit(dStage_dt_c*, void*, int, void*);
static int dStage_memaInfoInit(dStage_dt_c*, void*, int, void*);
static int dStage_mecoInfoInit(dStage_dt_c*, void*, int, void*);
static int dStage_stagInfoInit(dStage_dt_c*, void*, int, void*);
static int dStage_soundInfoInit(dStage_dt_c*, void*, int, void*);
static int dStage_lgtvInfoInit(dStage_dt_c*, void*, int, void*);
static int dStage_envrInfoInit(dStage_dt_c*, void*, int, void*);
static int dStage_pselectInfoInit(dStage_dt_c*, void*, int, void*);
static int dStage_paletteInfoInit(dStage_dt_c*, void*, int, void*);
static int dStage_vrboxcolInfoInit(dStage_dt_c*, void*, int, void*);
static int dStage_roomDrtgInfoInit(dStage_dt_c*, void*, int, void*);
static int dStage_tgscInfoInit(dStage_dt_c*, void*, int, void*);
static int dStage_actorInit(dStage_dt_c*, void*, int, void*);
static int dStage_layerTresureInit(dStage_dt_c*, void*, int, void*);
static int dStage_elstInfoInit(dStage_dt_c*, void*, int, void*);
static int dStage_rppnInfoInit(dStage_dt_c*, void*, int, void*);
static int dStage_rpatInfoInit(dStage_dt_c*, void*, int, void*);
static int dStage_multInfoInit(dStage_dt_c*, void*, int, void*);
static int dStage_playerInit(dStage_dt_c*, void*, int, void*);
static int dStage_cameraInit(dStage_dt_c*, void*, int, void*);
static int dStage_actorInit_always(dStage_dt_c*, void*, int, void*);
static int dStage_roomReadInit(dStage_dt_c*, void*, int, void*);
static int dStage_arrowInit(dStage_dt_c*, void*, int, void*);
static int dStage_vrboxInfoInit(dStage_dt_c*, void*, int, void*);
static int dStage_sclsInfoInit(dStage_dt_c*, void*, int, void*);
static int dStage_tgscInfoInit(dStage_dt_c*, void*, int, void*);
static int dStage_plightInfoInit(dStage_dt_c*, void*, int, void*);
static int dStage_ppntInfoInit(dStage_dt_c*, void*, int, void*);
static int dStage_pathInfoInit(dStage_dt_c*, void*, int, void*);
static int dStage_filiInfoInit(dStage_dt_c*, void*, int, void*);
static int dStage_stageDrtgInfoInit(dStage_dt_c*, void*, int, void*);
static int dStage_floorInfoInit(dStage_dt_c*, void*, int, void*);
static int dStage_dmapInfoInit(dStage_dt_c*, void*, int, void*);
static int dStage_stEventInfoInit(dStage_dt_c*, void*, int, void*);
static int dStage_soundInfoInitCL(dStage_dt_c*, void*, int, void*);
static int dStage_RoomCameraInit(dStage_dt_c*, void*, int, void*);
static int dStage_lbnkInfoInit(dStage_dt_c*, void*, int, void*);
static int dStage_actorCommonLayerInit(dStage_dt_c*, void*, int, void*);
static int dStage_roomTresureInit(dStage_dt_c*, void*, int, void*);
static int dStage_tgscCommonLayerInit(dStage_dt_c*, void*, int, void*);
static int dStage_mapEventInfoInit(dStage_dt_c*, void*, int, void*);
static int dStage_fieldMapTresureInit(dStage_dt_c*, void*, int, void*);
static int dStage_fieldMapFiliInfo2Init(dStage_dt_c*, void*, int, void*);
static int dStage_fieldMapMapPathInit(dStage_dt_c*, void*, int, void*);
u8 dStage_roomRead_dt_c_GetReverbStage(roomRead_class&, int);
+8 -8
View File
@@ -31,12 +31,12 @@ typedef int (*SkipFunc)(void*, int);
class dEvt_control_c {
public:
dEvt_control_c();
void orderOld(u16, u16, u16, u16, void*, void*, void const*);
void order(u16, u16, u16, u16, void*, void*, s16, u8);
bool orderOld(u16, u16, u16, u16, void*, void*, void const*);
bool order(u16, u16, u16, u16, void*, void*, s16, u8);
void setParam(dEvt_order_c*);
s32 beforeFlagProc(dEvt_order_c*);
void afterFlagProc(dEvt_order_c*);
void commonCheck(dEvt_order_c*, u16, u16);
int commonCheck(dEvt_order_c*, u16, u16);
void talkCheck(dEvt_order_c*);
void talkXyCheck(dEvt_order_c*);
void catchCheck(dEvt_order_c*);
@@ -45,8 +45,8 @@ public:
void demoEnd();
s32 potentialCheck(dEvt_order_c*);
void doorCheck(dEvt_order_c*);
void itemCheck(dEvt_order_c*);
void endProc();
int itemCheck(dEvt_order_c*);
int endProc();
void change();
void entry();
void reset(void*);
@@ -60,15 +60,15 @@ public:
void skipper();
void Step();
void moveApproval(void*);
void compulsory(void*, char const*, u16);
bool compulsory(void*, char const*, u16);
void remove();
void* getStageEventDt(); // ret type probably wrong, fix later
void sceneChange(int);
u32 getPId(void*);
void convPId(unsigned int);
void getStbDemoData(char*);
void searchMapEventData(u8, s32);
void searchMapEventData(u8);
static void searchMapEventData(u8, s32);
static void searchMapEventData(u8);
s16 runningEventID(s16);
void setPt1(void*);
void setPt2(void*);
+2
View File
@@ -69,6 +69,8 @@ public:
void specialStaffProc(dEvDtStaff_c*);
/* 0x00 */ s32 mEventNum;
/* 0x04 */ u8 field_0x4[0xA0];
/* 0xA4 */ int field_0xa4;
};
class dEvDtFlag_c {
+6 -4
View File
@@ -25,8 +25,8 @@ public:
void getSubstance(dEvDtData_c*, int);
dEvent_manager_c();
~dEvent_manager_c() {}
void create();
void setObjectArchive(char*);
int create();
bool setObjectArchive(char*);
void demoInit();
void roomInit(int);
void roomFinish(int);
@@ -37,7 +37,7 @@ public:
void endProc(s16, int);
void Sequencer();
void Experts();
void getEventData(s16);
dEvDtEvent_c* getEventData(s16);
dEvDtEvent_c* getEventData(s16, int);
int getEventIdx(char const*, u8, s32);
void getEventIdx(fopAc_ac_c*, u8);
@@ -67,13 +67,15 @@ public:
void ChkPresentEnd();
void checkStartDemo();
void setStartDemo(int param_0) { mEventException.setStartDemo(param_0); }
private:
/* 0x0000 */ dEvDtBase_c mEventList[11];
/* 0x018C */ s32 mCameraPlay;
/* 0x0190 */ dEvent_exception_c mEventException;
/* 0x019C */ cXyz mGoal;
/* 0x01A8 */ u8 field_0x1a8[2];
/* 0x01AA */ u16 field_0x1aa;
/* 0x01AA */ s16 field_0x1aa;
/* 0x01AC */ u8 field_0x1ac[4];
/* 0x01B0 */ u32 field_0x1b0;
/* 0x01B4 */ u32 field_0x1b4;
+3 -1
View File
@@ -11,6 +11,8 @@
#include "dolphin/types.h"
#include "m_Do/m_Do_ext.h"
void dKankyo_DayProc();
struct LIGHT_INFLUENCE {
/* 800CFC7C */ ~LIGHT_INFLUENCE();
/* 8019F4F8 */ LIGHT_INFLUENCE();
@@ -611,7 +613,7 @@ public:
/* 0x12C2 */ u8 field_0x12c2;
/* 0x12C3 */ u8 field_0x12c3;
/* 0x12C4 */ u8 field_0x12c4;
/* 0x12C5 */ u8 field_0x12c5;
/* 0x12C5 */ u8 mWeatherPalette;
/* 0x12C6 */ u8 field_0x12c6;
/* 0x12C7 */ u8 field_0x12c7;
/* 0x12C8 */ u8 field_0x12c8;
+17 -5
View File
@@ -25,11 +25,23 @@ public:
struct J2DPicture {};
struct JMSMesgEntry_c {};
struct J2DTextBox {
/* 8021C7F4 */ void getFont() const;
};
struct JMSMesgEntry_c {
/* 0x00 */ u32 mStringOffset;
/* 0x04 */ u16 mStringId;
/* 0x06 */ u16 field_0x04;
/* 0x08 */ u8 field_0x08;
/* 0x09 */ u8 field_0x09;
/* 0x0A */ u8 field_0x0a;
/* 0x0B */ u8 field_0x0b;
/* 0x0C */ u8 field_0x0c;
/* 0x0D */ u8 field_0x0d;
/* 0x0E */ u8 field_0x0e;
/* 0x0F */ u8 field_0x0f;
/* 0x10 */ u8 field_0x10;
/* 0x11 */ u8 field_0x11;
/* 0x12 */ u8 field_0x12;
/* 0x13 */ u8 field_0x13;
}; // Size: 0x14
struct dMenu_LetterData {
u16 mSubject;
File diff suppressed because it is too large Load Diff
+27 -7
View File
@@ -1,9 +1,13 @@
#ifndef D_PANE_D_PANE_CLASS_H
#define D_PANE_D_PANE_CLASS_H
#include "JSystem/J2DGraph/J2DTextBox.h"
#include "d/pane/d_pane_class_alpha.h"
#include "dolphin/types.h"
void dPaneClass_showNullPane(J2DScreen*);
void dPaneClass_showNullPane(J2DPane*);
class CPaneMgr : public CPaneMgrAlpha {
public:
/* 80253A18 */ virtual ~CPaneMgr();
@@ -15,28 +19,44 @@ public:
/* 80253C08 */ void initiate(J2DPane*, JKRExpHeap*);
/* 80254018 */ void childPaneGetSize(J2DPane*);
/* 80254134 */ void childPaneSetSize(J2DPane*, f32, f32);
/* 802542E8 */ void getGlobalPosX();
/* 80254364 */ void getGlobalPosY();
/* 802542E8 */ f32 getGlobalPosX();
/* 80254364 */ f32 getGlobalPosY();
/* 80254458 */ void setBlackWhite(JUtility::TColor, JUtility::TColor);
/* 802545B0 */ void paneTrans(f32, f32);
/* 80254638 */ void paneScale(f32, f32);
/* 802547CC */ void scaleAnime(s16, f32, f32, u8);
/* 802547CC */ bool scaleAnime(s16, f32, f32, u8);
/* 802548BC */ void colorAnime(s16, JUtility::TColor, JUtility::TColor, JUtility::TColor,
JUtility::TColor, u8);
/* 80254C90 */ void getGlobalVtx(J2DPane*, f32 (*)[3][4], u8, bool, s16);
/* 80254EBC */ void getGlobalVtxCenter(J2DPane*, bool, s16);
/* 80254FB8 */ void getBounds(J2DPane*);
void translate(f32 x, f32 y) { getPanePtr()->translate(x, y); }
void scale(f32 h, f32 v) { getPanePtr()->scale(h, v); }
f32 getPosX() { return getPanePtr()->getBounds().i.x; }
f32 getPosY() { return getPanePtr()->getBounds().i.y; }
f32 getSizeX() { return getPanePtr()->getWidth(); }
f32 getSizeY() { return getPanePtr()->getHeight(); }
f32 getRotateZ() { return getPanePtr()->getRotateZ(); }
f32 getInitCenterPosX() { return mInitPos.x + mInitSize.x * 0.5f; }
f32 getInitCenterPosY() { return mInitPos.y + mInitSize.y * 0.5f; }
private:
/* 0x1C */ void* field_0x1c;
/* 0x1C */ void* mpFirstStackSize;
/* 0x20 */ void* field_0x20;
/* 0x24 */ JGeometry::TVec2<f32> mInitPos;
/* 0x2C */ JGeometry::TVec2<f32> mGlobalPos;
/* 0x34 */ JGeometry::TVec2<f32> mInitSize;
/* 0x3C */ JGeometry::TVec2<f32> mInitScale;
/* 0x44 */ JGeometry::TVec2<f32> field_0x44;
/* 0x4C */ f32 field_0x4c;
/* 0x50 */ JGeometry::TVec2<f32> field_0x50;
/* 0x44 */ JGeometry::TVec2<f32> mInitTrans;
/* 0x4C */ f32 mRotateZ;
/* 0x50 */ JGeometry::TVec2<f32> mRotateOffset;
/* 0x58 */ JUtility::TColor mInitWhite;
/* 0x5C */ JUtility::TColor mInitBlack;
/* 0x60 */ s16 field_0x60;
+9 -6
View File
@@ -2,6 +2,7 @@
#define D_PANE_D_PANE_CLASS_ALPHA_H
#include "JSystem/J2DGraph/J2DScreen.h"
#include "JSystem/J2DGraph/J2DWindow.h"
#include "JSystem/JKernel/JKRExpHeap.h"
#include "dolphin/types.h"
@@ -26,7 +27,7 @@ public:
/* 802555C8 */ void show();
/* 80255608 */ void hide();
/* 8025564C */ void isVisible();
/* 80255658 */ void rateCalc(s16, s16, u8);
/* 80255658 */ f32 rateCalc(s16, s16, u8);
/* 802557D0 */ void setAlphaRate(f32);
/* 80255828 */ void getAlphaRate();
/* 80255878 */ void alphaAnime(s16, u8, u8, u8);
@@ -35,11 +36,13 @@ public:
/* 80255ACC */ void childPaneGetAlpha(J2DPane*);
/* 80255B5C */ void childPaneSetAlpha(J2DPane*, u8);
private:
/* 0x04 */ J2DPane* mPanePtr;
/* 0x08 */ JKRHeap* heap;
/* 0x0C */ void* field_0x0c;
/* 0x10 */ int field_0x10;
J2DPane* getPanePtr() { return (J2DPane*)mWindow; }
u8 getAlpha() { return getPanePtr()->getAlpha(); }
/* 0x04 */ J2DWindow* mWindow;
/* 0x08 */ JKRExpHeap* heap;
/* 0x0C */ void* mpFirstStackAlpha;
/* 0x10 */ void* field_0x10;
/* 0x14 */ s16 mChildPaneCount;
/* 0x16 */ s16 mAlphaTimer;
/* 0x18 */ u8 mInitAlpha;