mirror of https://github.com/zeldaret/tp.git
main01 attempt, fix dcomifg_play_c members
This commit is contained in:
parent
74fac079fa
commit
c1d05bc46c
|
@ -3,6 +3,7 @@
|
|||
|
||||
#include "global.h"
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class J3DFrameCtrl {
|
||||
public:
|
||||
private:
|
||||
|
@ -15,5 +16,6 @@ private:
|
|||
float field_0xc;
|
||||
float field_0x10;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#endif
|
|
@ -57,4 +57,8 @@ public:
|
|||
static JKRSolidHeap* create(u32, JKRHeap*, bool);
|
||||
};
|
||||
|
||||
extern "C" {
|
||||
JKRSolidHeap* JKRSolidHeap_NS_create(u32 size, JKRHeap* heap, bool use_default_error_handler);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -7,15 +7,15 @@
|
|||
class cCcD_ShapeAttr {
|
||||
public:
|
||||
private:
|
||||
cM3dGAab cm3dgaab;
|
||||
void* vtable;
|
||||
/* 0x00 */ cM3dGAab cm3dgaab;
|
||||
/* 0x1C */ void* vtable;
|
||||
};
|
||||
|
||||
class cCcD_CpsAttr {
|
||||
public:
|
||||
private:
|
||||
cCcD_ShapeAttr cccd_shapeattr;
|
||||
cM3dGCps cm3dgcps;
|
||||
/* 0x00 */ cCcD_ShapeAttr cccd_shapeattr;
|
||||
/* 0x20 */ cM3dGCps cm3dgcps;
|
||||
};
|
||||
|
||||
class cCcD_CylAttr {
|
||||
|
|
|
@ -59,6 +59,7 @@ private:
|
|||
float field_0x8;
|
||||
};
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class dAttList_c {
|
||||
public:
|
||||
private:
|
||||
|
@ -66,7 +67,9 @@ private:
|
|||
cSAngle angle;
|
||||
u8 field_0xa[10];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class dAttDraw_c {
|
||||
u8 field_0x0;
|
||||
u8 field_0x1;
|
||||
|
@ -91,6 +94,8 @@ class dAttDraw_c {
|
|||
mDoExt_brkAnm brkAnm3;
|
||||
mDoExt_btkAnm btkAnm2;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
|
||||
class dAttDraw_CallBack_c {
|
||||
mDoExt_McaMorfCallBack1_c mDoExt_McaMorfCallback;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
#include "d/d_bg/d_bg_w/d_bg_w_base/d_bg_w_base.h"
|
||||
#include "global.h"
|
||||
|
||||
#pragma pack(push,1)
|
||||
class cBgS_ChkElm {
|
||||
/* 0x00 */ dBgW_Base* bgw_base_pointer;
|
||||
/* 0x04 */ u8 used;
|
||||
|
@ -12,10 +12,13 @@ class cBgS_ChkElm {
|
|||
/* 0x0C */ void* actor_pointer;
|
||||
/* 0x10 */ u32 field_0x10;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
class cBgS {
|
||||
/* 0x0000 */ cBgS_ChkElm cbgs_elements[256];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
class dBgS_HIO {
|
||||
/* 0x00 */ u8 vtable[4];
|
||||
|
@ -29,6 +32,7 @@ class dBgS_HIO {
|
|||
/* 0x30 */ u8 field_0x30[4];
|
||||
};
|
||||
|
||||
#pragma pack(push,1)
|
||||
class dBgS {
|
||||
public:
|
||||
private:
|
||||
|
@ -36,4 +40,5 @@ private:
|
|||
/* 0x1400 */ u8 vtable[8];
|
||||
/* 0x1408 */ dBgS_HIO dbgs_hio;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
#endif
|
|
@ -2,7 +2,7 @@
|
|||
#define __D_BG_W_BASE_H_
|
||||
|
||||
#include "global.h"
|
||||
|
||||
#pragma pack(push,1)
|
||||
class dBgW_Base {
|
||||
public:
|
||||
private:
|
||||
|
@ -16,5 +16,6 @@ private:
|
|||
s16 field_0xc;
|
||||
s16 field_0xe;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#endif
|
|
@ -12,23 +12,23 @@ private:
|
|||
class dCcMassS_Mng {
|
||||
public:
|
||||
private:
|
||||
cCcD_DivideArea cccd_dividearea;
|
||||
u8 field_0x20[36];
|
||||
dCcMassS_Obj dccmasss_obj;
|
||||
u8 field_0x64[292];
|
||||
dCcMassS_Obj dccmasss_obj2;
|
||||
u8 field_0x1a8[32];
|
||||
cCcD_CylAttr cccd_cylattr;
|
||||
u8 field_0x200[2];
|
||||
u8 field_0x202;
|
||||
u8 field_0x203;
|
||||
float field_0x204;
|
||||
float field_0x208;
|
||||
float field_0x20c;
|
||||
float field_0x210;
|
||||
float field_0x214;
|
||||
float field_0x218;
|
||||
u8 field_0x21c[8];
|
||||
cCcD_CpsAttr cccd_cpsattr;
|
||||
cCcD_DivideInfo cccd_divideinfo;
|
||||
/* 0x0000 */ cCcD_DivideArea cccd_dividearea;
|
||||
/* 0x0020 */ u8 field_0x20[36];
|
||||
/* 0x0044 */ dCcMassS_Obj dccmasss_obj;
|
||||
/* 0x0064 */ u8 field_0x64[292];
|
||||
/* 0x0188 */ dCcMassS_Obj dccmasss_obj2;
|
||||
/* 0x01A8 */ u8 field_0x1a8[32];
|
||||
/* 0x01C8 */ cCcD_CylAttr cccd_cylattr;
|
||||
/* 0x0200 */ u8 field_0x200[2];
|
||||
/* 0x0202 */ u8 field_0x202;
|
||||
/* 0x0203 */ u8 field_0x203;
|
||||
/* 0x0204 */ float cam_x_pos;
|
||||
/* 0x0208 */ float cam_y_pos;
|
||||
/* 0x020C */ float cam_z_pos;
|
||||
/* 0x0210 */ float field_0x210;
|
||||
/* 0x0214 */ float field_0x214;
|
||||
/* 0x0218 */ float field_0x218;
|
||||
/* 0x021C */ u8 field_0x21c[8];
|
||||
/* 0x0224 */ cCcD_CpsAttr cccd_cpsattr;
|
||||
/* 0x0288 */ cCcD_DivideInfo cccd_divideinfo;
|
||||
};
|
|
@ -8,9 +8,9 @@
|
|||
class dCcS {
|
||||
public:
|
||||
private:
|
||||
cCcS cccs;
|
||||
u8 field_0x2834[36];
|
||||
dCcMassS_Mng dccmass_mng;
|
||||
/* 0x0000 */ cCcS cccs;
|
||||
/* 0x2834 */ u8 field_0x2834[36];
|
||||
/* 0x2858 */ dCcMassS_Mng dccmass_mng;
|
||||
};
|
||||
|
||||
#endif
|
|
@ -13,6 +13,7 @@
|
|||
#include "d/d_stage/d_stage.h"
|
||||
#include "d/d_vibration/d_vibration.h"
|
||||
|
||||
#pragma pack(push,1)
|
||||
struct item_func {
|
||||
float hearts; // bf80
|
||||
u32 rupees; // bf84
|
||||
|
@ -33,7 +34,9 @@ struct item_func {
|
|||
s16 arrows; // bfb4
|
||||
s16 seeds; // bfb6
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
class dComIfG_camera_info_class {
|
||||
public:
|
||||
private:
|
||||
|
@ -41,7 +44,9 @@ private:
|
|||
cXyz field_0xc;
|
||||
cXyz field_0x18;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
class dDlst_window_c {
|
||||
public:
|
||||
private:
|
||||
|
@ -57,13 +62,15 @@ private:
|
|||
float scissor4;
|
||||
int camera_id;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
class dComIfG_play_c {
|
||||
public:
|
||||
void ct(void);
|
||||
void init(void);
|
||||
u32 getNowVibration();
|
||||
dStage_roomControl_c& getRoomControl() { return room_control; }
|
||||
dStage_roomControl_c& getRoomControl() { return mRoomControl; }
|
||||
item_func& getGiveItem() { return give_item; }
|
||||
u8& getUnkHeart() { return unk_heart; }
|
||||
void setUnkWarashibe1(u8 num) { field_0x4ec0[0x85] = num; }
|
||||
|
@ -85,39 +92,39 @@ public:
|
|||
void setItemMaxLifeCount(short max) { give_item.max_life += max; }
|
||||
void setOxygen(long oxygen) { give_item.oxygen = oxygen; }
|
||||
void setMaxOxygen(long max) { give_item.max_oxygen = max; }
|
||||
|
||||
private:
|
||||
/* 0x00000 */ dBgS dbgs;
|
||||
/* 0x0143C */ dCcS dccs;
|
||||
/* 0x03F08 */ u8 field_0x3f08[0x16];
|
||||
/* 0x03F1E */ dStage_nextStage_c next_stage;
|
||||
/* 0x0143C */ u8 field_0x143c[0x2A8C];
|
||||
/* 0x03EC8 */ dStage_startStage_c mStartStage;
|
||||
/* 0x03ED5 */ u8 field_0x3ed5[0x49];
|
||||
/* 0x03F1E */ dStage_nextStage_c mNextStage;
|
||||
/* 0x03F2F */ u8 padding;
|
||||
/* 0x03F30 */ dStage_stageDt_c stage_data;
|
||||
/* 0x03F34 */ dStage_roomControl_c room_control;
|
||||
/* 0x03FD8 */ dEvt_control_c event_control;
|
||||
/* 0x03F30 */ dStage_stageDt_c mStageData;
|
||||
/* 0x03F34 */ dStage_roomControl_c mRoomControl;
|
||||
/* 0x03FD8 */ dEvt_control_c mEventControl;
|
||||
/* 0x0409C */ u8 field_0x409c[0x24];
|
||||
/* 0x040C0 */ dEvent_manager_c event_manager;
|
||||
/* 0x040C0 */ dEvent_manager_c mEventManager;
|
||||
/* 0x0475B */ u8 field_0x475B[0x2D];
|
||||
/* 0x04788 */ void* vtable;
|
||||
/* 0x0478C */ u8 field_0x478c[0x1C];
|
||||
/* 0x047A8 */ dAttDraw_c attention_draw;
|
||||
/* 0x047A8 */ dAttDraw_c mAttentionDraw;
|
||||
/* 0x0490C */ u8 field_0x490c[0x1AC];
|
||||
/* 0x04AB8 */ dAttList_c attention_list1;
|
||||
/* 0x04AB8 */ dAttList_c mAttentionList1;
|
||||
/* 0x04ACC */ u8 field_0x4acc[0x94];
|
||||
/* 0x04B60 */ dAttList_c attention_list2;
|
||||
/* 0x04B60 */ dAttList_c mAttentionList2;
|
||||
/* 0x04B74 */ u8 field_0x4b74[0x44];
|
||||
/* 0x04BB8 */ dAttList_c attention_list3;
|
||||
/* 0x04BB8 */ dAttList_c mAttentionList3;
|
||||
/* 0x04BCC */ u8 field_0x4bcc[0xBC];
|
||||
/* 0x04c88 */ void* vtable2;
|
||||
/* 0x04C8C */ u8 field_0x4c8c[0x55];
|
||||
/* 0x04CE1 */ u8 field_0x4ce1[0x37];
|
||||
/* 0x04D18 */ dVibration_c vibration;
|
||||
/* 0x04D18 */ dVibration_c mVibration;
|
||||
/* 0x04DA8 */ u8 field_0x4da8[0x5C];
|
||||
/* 0x04E04 */ u32 field_0x4e04;
|
||||
/* 0x04E08 */ u8 field_0x4e08[0x4];
|
||||
/* 0x04E0C */ u8 field_0x4e0c[0x4];
|
||||
/* 0x04E10 */ dDlst_window_c draw_list_window;
|
||||
/* 0x04ED4 */ dComIfG_camera_info_class camera_info;
|
||||
/* 0x04E10 */ dDlst_window_c mDrawlistWindow;
|
||||
/* 0x04ED4 */ dComIfG_camera_info_class mCameraInfo;
|
||||
/* 0x04E60 */ u8 field_0x4e60[0x28];
|
||||
/* 0x04E88 */ item_func give_item;
|
||||
/* 0x04EC0 */ u8 field_0x4ec0[0xBE];
|
||||
|
@ -128,9 +135,11 @@ private:
|
|||
/* 0x05000 */ u32 field_0x5000;
|
||||
/* 0x05004 */ u32 field_0x5004;
|
||||
/* 0x05008 */ u8 field_0x5008[0x1C];
|
||||
/* 0x05024 */ u8 field_0x5024[8];
|
||||
/* 0x05024 */ u8 field_0x5024[0x8];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
class dComIfG_inf_c {
|
||||
public:
|
||||
// temp until we map the item short function names
|
||||
|
@ -155,6 +164,7 @@ private:
|
|||
/* 0x00F28 */ u32 saveStartTime;
|
||||
/* 0x00F2C */ u32 field_0xf30;
|
||||
/* 0x00F30 */ u32 field_0xf34;
|
||||
u8 unk[3];
|
||||
/* 0x00F34 */ dComIfG_play_c play;
|
||||
/* 0x05F60 */ u8 field_0x5f60[0x10];
|
||||
/* 0x05F70 */ dDlst_list_c draw_list_list;
|
||||
|
@ -178,6 +188,7 @@ private:
|
|||
/* 0x1DE0A */ u8 unk33;
|
||||
/* 0x1DE0B */ u8 unk34[0x5]; // probably padding
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
extern dComIfG_inf_c g_dComIfG_gameInfo;
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
|
||||
class dDlst_FileInfo_c {
|
||||
public:
|
||||
void draw(void);
|
||||
|
@ -11,10 +12,13 @@ public:
|
|||
private:
|
||||
};
|
||||
|
||||
#pragma pack(push,1)
|
||||
class dDlst_peekZ_c {
|
||||
u8 unk[4];
|
||||
u8 unk[7];
|
||||
}; // actual size unknown!!!
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
class dDlst_list_c {
|
||||
public:
|
||||
static u32 mWipeColor;
|
||||
|
@ -25,7 +29,8 @@ public:
|
|||
// private:
|
||||
/* 0x00000 */ u8 unk[0x16180];
|
||||
/* 0x16180 */ dDlst_peekZ_c dlstPeekZ;
|
||||
/* 0x16184 */ u8 unk_0x16194[0x1C];
|
||||
/* 0x16184 */ u8 unk_0x16194[0x1F];
|
||||
}; // Size: 0x161A0
|
||||
#pragma pack(pop)
|
||||
|
||||
#endif D_DRAWLIST_H_
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
#pragma pack(push,1)
|
||||
class dEvt_order_c {
|
||||
public:
|
||||
private:
|
||||
|
@ -198,7 +199,9 @@ private:
|
|||
u8 field_0xbd;
|
||||
u8 field_0xbe;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
class dEvt_control_c {
|
||||
public:
|
||||
void searchMapEventData(u8 param_1);
|
||||
|
@ -208,5 +211,6 @@ private:
|
|||
dEvt_order_c event_order;
|
||||
u8 field_0xc3;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#endif
|
|
@ -8,7 +8,7 @@ public:
|
|||
private:
|
||||
u8 field_0x0[320];
|
||||
};
|
||||
|
||||
#pragma pack(push,1)
|
||||
class dEvDtBase_c {
|
||||
public:
|
||||
private:
|
||||
|
@ -22,5 +22,6 @@ private:
|
|||
u32 field_0x1c;
|
||||
u32 field_0x20;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#endif
|
|
@ -4,6 +4,7 @@
|
|||
#include "d/d_event/d_event_data/d_event_data.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class dEvent_exception_c {
|
||||
public:
|
||||
private:
|
||||
|
@ -14,6 +15,7 @@ private:
|
|||
u8 field_0x7;
|
||||
u32 field_0x8;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push, 1)
|
||||
struct dEvent_manager_c {
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#include "dolphin/types.h"
|
||||
#include "m_Do/m_Do_dvd_thread/m_Do_dvd_thread.h"
|
||||
|
||||
#pragma pack(push,1)
|
||||
class dRes_info_c {
|
||||
public:
|
||||
private:
|
||||
|
@ -22,6 +23,7 @@ private:
|
|||
// JKRSolidHeap* solid_heap;
|
||||
// void** resource_buffer;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
struct J3DAnmBase {};
|
||||
|
||||
|
|
|
@ -2,18 +2,23 @@
|
|||
#define __D_STAGE_H_
|
||||
#include "global.h"
|
||||
|
||||
#pragma pack(push,1)
|
||||
class dStage_roomControl_c {
|
||||
public:
|
||||
private:
|
||||
u8 field_0x0[164];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
class dStage_stageDt_c {
|
||||
public:
|
||||
private:
|
||||
void* vtable;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
class dStage_nextStage_c {
|
||||
public:
|
||||
private:
|
||||
|
@ -35,5 +40,18 @@ private:
|
|||
u8 wipe;
|
||||
u8 wipe_speed;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
class dStage_startStage_c {
|
||||
public:
|
||||
private:
|
||||
/* 0x0 */ char mStage[8];
|
||||
/* 0x8 */ s16 mPoint;
|
||||
/* 0xA */ s8 mRoomNo;
|
||||
/* 0xB */ s8 mLayer;
|
||||
/* 0xC */ s8 mDarkArea;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#endif
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
#include "global.h"
|
||||
|
||||
#pragma pack(push,1)
|
||||
class dVibration_c {
|
||||
public:
|
||||
private:
|
||||
|
@ -43,5 +44,6 @@ private:
|
|||
u32 field_0x88;
|
||||
u32 field_0x8c;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#endif
|
|
@ -108,7 +108,6 @@ void debug__Fv(void);
|
|||
void mDoAud_Execute(void);
|
||||
void fapGm_Execute(void);
|
||||
void mDoMemCd_Ctrl_c_NS_update(void);
|
||||
void JKRSolidHeap_NS_create(void);
|
||||
void cDyl_InitAsync(void);
|
||||
void fopAcM_initManager(void);
|
||||
void fapGm_Create(void);
|
||||
|
@ -319,7 +318,7 @@ void mDoAud_Execute(void);
|
|||
void fapGm_Execute(void);
|
||||
void mDoCPd_c_NS_read(void);
|
||||
void mDoMemCd_Ctrl_c_NS_update(void);
|
||||
void JKRSolidHeap_NS_create(void);
|
||||
//void JKRSolidHeap_NS_create(void);
|
||||
void cDyl_InitAsync(void);
|
||||
void fopAcM_initManager(void);
|
||||
void fapGm_Create(void);
|
||||
|
|
|
@ -3,6 +3,18 @@
|
|||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class mDoDVDThd_command_c {};
|
||||
class mDoDVDThd_command_c {
|
||||
public:
|
||||
|
||||
private:
|
||||
};
|
||||
|
||||
class mDoDVDThd_callback_c {
|
||||
public:
|
||||
mDoDVDThd_callback_c(void *(void*),void*);
|
||||
~mDoDVDThd_callback_c();
|
||||
mDoDVDThd_command_c* create(void *(void*),void*);
|
||||
mDoDVDThd_command_c* execute();
|
||||
};
|
||||
|
||||
#endif
|
|
@ -14,33 +14,42 @@ JKRExpHeap* mDoExt_getHostIOHeap();
|
|||
JKRExpHeap* mDoExt_getCommandHeap();
|
||||
}
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class mDoExt_baseAnm {
|
||||
public:
|
||||
private:
|
||||
J3DFrameCtrl frame_control;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class mDoExt_btkAnm {
|
||||
public:
|
||||
private:
|
||||
mDoExt_baseAnm base_anm;
|
||||
u32 field_0x14;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class mDoExt_brkAnm {
|
||||
public:
|
||||
private:
|
||||
mDoExt_baseAnm mDoExt_baseAnm;
|
||||
u32 field_0x14;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class mDoExt_bpkAnm {
|
||||
public:
|
||||
private:
|
||||
mDoExt_baseAnm mDoExt_baseAnm;
|
||||
u32 field_0x14;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class mDoExt_bckAnm {
|
||||
public:
|
||||
private:
|
||||
|
@ -48,11 +57,14 @@ private:
|
|||
u8 field_0x14[4];
|
||||
u32 field_0x18;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class mDoExt_McaMorfCallBack1_c {
|
||||
public:
|
||||
private:
|
||||
void* vtable;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#endif
|
|
@ -1,5 +1,6 @@
|
|||
#include "JSystem/JKernel/JKRExpHeap/JKRExpHeap.h"
|
||||
#include "JSystem/JKernel/JKRHeap/JKRHeap.h"
|
||||
#include "JSystem/JKernel/JKRSolidHeap/JKRSolidHeap.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class HeapCheck {
|
||||
|
@ -14,18 +15,29 @@ public:
|
|||
void setHeapSize(u32 i_size) { heap_size = i_size; }
|
||||
|
||||
private:
|
||||
char* names[2];
|
||||
JKRExpHeap* heap;
|
||||
s32 max_total_used_size;
|
||||
s32 max_total_free_size;
|
||||
u8 unk20[8]; // 8 bytes
|
||||
u32 heap_size;
|
||||
u32 used_count;
|
||||
u32 total_used_size;
|
||||
/* 0x00 */ char* names[2];
|
||||
/* 0x08 */ JKRExpHeap* heap;
|
||||
/* 0x0C */ s32 max_total_used_size;
|
||||
/* 0x10 */ s32 max_total_free_size;
|
||||
/* 0x14 */ u8 unk20[8];
|
||||
/* 0x1C */ u32 heap_size;
|
||||
/* 0x20 */ u32 used_count;
|
||||
/* 0x24 */ u32 total_used_size;
|
||||
};
|
||||
|
||||
extern HeapCheck* HeapCheckTable[8];
|
||||
extern HeapCheck lbl_803D32E0[8]; // RootHeapCheck
|
||||
// extern HeapCheck lbl_803D3308; // SystemHeapCheck
|
||||
// extern HeapCheck lbl_803D3330; // ZeldaHeapCheck
|
||||
// extern HeapCheck lbl_803D3358; // GameHeapCheck
|
||||
// extern HeapCheck lbl_803D3380; // ArchiveHeapCheck
|
||||
// extern HeapCheck lbl_803D33A8; // J2dHeapCheck
|
||||
// extern HeapCheck lbl_803D33D0; // HostioHeapCheck
|
||||
// extern HeapCheck lbl_803D33F8; // CommandHeapCheck
|
||||
extern s8 lbl_80450580[4];
|
||||
extern u8 lbl_80450B1A[2];
|
||||
extern u8 lbl_80450B18;
|
||||
extern u8 lbl_80450588[8];
|
||||
extern u8 lbl_80450588[8];
|
||||
extern u8 lbl_804511B8[4];
|
||||
extern u8 lbl_80451210[4];
|
||||
extern JKRSolidHeap* lbl_80450BBC;
|
|
@ -13,7 +13,7 @@ extern u8 lbl_803A2EF4;
|
|||
extern char lbl_803A2EE0[20];
|
||||
extern u8 lbl_80450B19;
|
||||
// extern u8 lbl_80450588;
|
||||
extern u8 lbl_804511B8;
|
||||
// extern u8 lbl_804511B8;
|
||||
extern u8 lbl_80450B20;
|
||||
extern u8 lbl_80451A00;
|
||||
extern u8 lbl_80450B1C;
|
||||
|
@ -49,8 +49,7 @@ extern u8 lbl_80450B1C;
|
|||
struct JUTGamePad;
|
||||
extern JUTGamePad* m_gamePad[4];
|
||||
extern u8 lbl_80450B18;
|
||||
extern u8 lbl_803D32E0;
|
||||
extern u8 lbl_80450BBC;
|
||||
//extern u8 lbl_803D32E0;
|
||||
extern u8 lbl_803EAF40[];
|
||||
extern u8 lbl_80450B34;
|
||||
extern u8 lbl_80450B00;
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
#include "m_Do/m_Do_graphic/m_Do_graphic.h"
|
||||
#include "m_Do/m_Do_machine/m_Do_machine.h"
|
||||
#include "m_Do/m_Do_reset/m_Do_reset.h"
|
||||
#include "m_Do/m_Do_dvd_thread/m_Do_dvd_thread.h"
|
||||
|
||||
void version_check(void) {
|
||||
if ((!strcmp((char*)lbl_803739A0, (char*)lbl_803739A0)) &&
|
||||
|
@ -21,15 +22,15 @@ void version_check(void) {
|
|||
}
|
||||
|
||||
void HeapCheck::CheckHeap1(void) {
|
||||
s32 totalUsedSize = this->heap->getTotalUsedSize();
|
||||
s32 freeSize = this->heap->getFreeSize();
|
||||
s32 totalUsedSize = heap->getTotalUsedSize();
|
||||
s32 freeSize = heap->getFreeSize();
|
||||
|
||||
if (this->max_total_used_size < totalUsedSize) {
|
||||
this->max_total_used_size = totalUsedSize;
|
||||
if (max_total_used_size < totalUsedSize) {
|
||||
max_total_used_size = totalUsedSize;
|
||||
}
|
||||
|
||||
if (this->max_total_free_size > freeSize) {
|
||||
this->max_total_free_size = freeSize;
|
||||
if (max_total_free_size > freeSize) {
|
||||
max_total_free_size = freeSize;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -80,32 +81,32 @@ int countUsed(JKRExpHeap* heap) {
|
|||
}
|
||||
|
||||
s32 HeapCheck::getUsedCount(void) const {
|
||||
return countUsed(this->heap);
|
||||
return countUsed(heap);
|
||||
}
|
||||
|
||||
void HeapCheck::heapDisplay(void) const {
|
||||
s32 heap_size1 = this->heap->getSize();
|
||||
s32 heap_size2 = heap_size1 - this->heap_size;
|
||||
s32 heap_size1 = heap->getSize();
|
||||
s32 heap_size2 = heap_size1 - heap_size;
|
||||
|
||||
s32 heap_total_used_size = this->heap->getTotalUsedSize();
|
||||
s32 heap_total_free_size = this->heap->getTotalFreeSize();
|
||||
s32 heap_free_size = this->heap->getFreeSize();
|
||||
s32 heap_total_used_size = heap->getTotalUsedSize();
|
||||
s32 heap_total_free_size = heap->getTotalFreeSize();
|
||||
s32 heap_free_size = heap->getFreeSize();
|
||||
|
||||
JUTReport__FiiPCce(0x64, 0xd4, lbl_803739A0 + 0x3C, this->names[0]);
|
||||
JUTReport__FiiPCce(0x64, 0xd4, lbl_803739A0 + 0x3C, names[0]);
|
||||
JUTReport__FiiPCce(0x64, 0xe3, lbl_803739A0 + 0x45, heap_size1);
|
||||
JUTReport__FiiPCce(0x64, 0xf0, lbl_803739A0 + 0x5B, this->heap_size);
|
||||
JUTReport__FiiPCce(0x64, 0xf0, lbl_803739A0 + 0x5B, heap_size);
|
||||
JUTReport__FiiPCce(0x64, 0xfd, lbl_803739A0 + 0x71, heap_total_free_size - heap_size2);
|
||||
JUTReport__FiiPCce(0x64, 0x10a, lbl_803739A0 + 0x87, heap_free_size - heap_size2);
|
||||
JUTReport__FiiPCce(0x64, 0x117, lbl_803739A0 + 0x9D, heap_total_used_size);
|
||||
JUTReport__FiiPCce(0x64, 0x124, lbl_803739A0 + 0xB3,
|
||||
(int)(heap_total_used_size * 0x64) / (int)this->heap_size);
|
||||
JUTReport__FiiPCce(0x64, 0x131, lbl_803739A0 + 0xCF, this->max_total_used_size);
|
||||
(int)(heap_total_used_size * 0x64) / (int)heap_size);
|
||||
JUTReport__FiiPCce(0x64, 0x131, lbl_803739A0 + 0xCF, max_total_used_size);
|
||||
JUTReport__FiiPCce(0x64, 0x13e, lbl_803739A0 + 0xE5,
|
||||
(this->max_total_used_size * 0x64) / (int)this->heap_size);
|
||||
JUTReport__FiiPCce(0x64, 0x14b, lbl_803739A0 + 0x101, this->max_total_free_size - heap_size2);
|
||||
(max_total_used_size * 0x64) / (int)heap_size);
|
||||
JUTReport__FiiPCce(0x64, 0x14b, lbl_803739A0 + 0x101, max_total_free_size - heap_size2);
|
||||
JUTReport__FiiPCce(0x64, 0x158, lbl_803739A0 + 0x117,
|
||||
((this->max_total_free_size - heap_size2) * 0x64) / (int)this->heap_size);
|
||||
heap_size2 = countUsed(this->heap);
|
||||
((max_total_free_size - heap_size2) * 0x64) / (int)heap_size);
|
||||
heap_size2 = countUsed(heap);
|
||||
JUTReport__FiiPCce(0x64, 0x165, lbl_803739A0 + 0x133, heap_size2);
|
||||
}
|
||||
|
||||
|
@ -169,55 +170,102 @@ void debug(void) {
|
|||
}
|
||||
#ifdef NONMATCHING
|
||||
void main01(void) {
|
||||
mDoCPd_c controller;
|
||||
|
||||
HeapCheck* heaps = lbl_803D32E0;
|
||||
mDoMch_Create();
|
||||
mDoGph_Create();
|
||||
|
||||
controller.create();
|
||||
create__8mDoCPd_cFv();
|
||||
mDoDVDThd_callback_c thread_callback;
|
||||
//JKRSolidHeap audio_heap;
|
||||
|
||||
// Root Heap
|
||||
HeapCheckTable[0]->setHeap(lbl_80451378);
|
||||
heaps[0].setHeap((JKRExpHeap *)lbl_80451378);
|
||||
if (lbl_80451378) {
|
||||
HeapCheckTable[0]->setHeapSize(lbl_80451378->getSize());
|
||||
heaps[0].setHeapSize(lbl_80451378->getSize());
|
||||
}
|
||||
|
||||
|
||||
// System Heap
|
||||
HeapCheckTable[1]->setHeap(lbl_80451370);
|
||||
heaps[1].setHeap((JKRExpHeap *)lbl_80451370);
|
||||
if (lbl_80451370) {
|
||||
HeapCheckTable[1]->setHeapSize(lbl_80451370->getSize());
|
||||
heaps[1].setHeapSize(lbl_80451370->getSize());
|
||||
}
|
||||
|
||||
// Zelda Heap
|
||||
HeapCheckTable[2]->setHeap(mDoExt_getZeldaHeap());
|
||||
if (HeapCheckTable[2]->getHeap()) {
|
||||
HeapCheckTable[2]->setHeapSize(HeapCheckTable[2]->getHeap()->getSize());
|
||||
heaps[2].setHeap(mDoExt_getZeldaHeap());
|
||||
if (heaps[2].getHeap()) {
|
||||
heaps[2].setHeapSize(heaps[2].getHeap()->getSize());
|
||||
}
|
||||
|
||||
HeapCheckTable[3]->setHeap(mDoExt_getGameHeap());
|
||||
if (HeapCheckTable[3]->getHeap()) {
|
||||
HeapCheckTable[3]->setHeapSize(HeapCheckTable[3]->getHeap()->getSize());
|
||||
// Game Heap
|
||||
heaps[3].setHeap(mDoExt_getGameHeap());
|
||||
if (heaps[3].getHeap()) {
|
||||
heaps[3].setHeapSize(heaps[3].getHeap()->getSize());
|
||||
}
|
||||
|
||||
HeapCheckTable[4]->setHeap(mDoExt_getArchiveHeap());
|
||||
if (HeapCheckTable[4]->getHeap()) {
|
||||
HeapCheckTable[4]->setHeapSize(HeapCheckTable[4]->getHeap()->getSize());
|
||||
// Archive Heap
|
||||
heaps[4].setHeap(mDoExt_getArchiveHeap());
|
||||
if (heaps[4].getHeap()) {
|
||||
heaps[4].setHeapSize(heaps[4].getHeap()->getSize());
|
||||
}
|
||||
|
||||
HeapCheckTable[5]->setHeap(mDoExt_getJ2dHeap());
|
||||
if (HeapCheckTable[5]->getHeap()) {
|
||||
HeapCheckTable[5]->setHeapSize(HeapCheckTable[5]->getHeap()->getSize());
|
||||
// J2D Heap
|
||||
heaps[5].setHeap(mDoExt_getJ2dHeap());
|
||||
if (heaps[5].getHeap()) {
|
||||
heaps[5].setHeapSize(heaps[5].getHeap()->getSize());
|
||||
}
|
||||
|
||||
HeapCheckTable[6]->setHeap(mDoExt_getHostIOHeap());
|
||||
if (HeapCheckTable[6]->getHeap()) {
|
||||
HeapCheckTable[6]->setHeapSize(HeapCheckTable[6]->getHeap()->getSize());
|
||||
// HostIO Heap
|
||||
heaps[6].setHeap(mDoExt_getHostIOHeap());
|
||||
if (heaps[6].getHeap()) {
|
||||
heaps[6].setHeapSize(heaps[6].getHeap()->getSize());
|
||||
}
|
||||
|
||||
HeapCheckTable[7]->setHeap(mDoExt_getCommandHeap());
|
||||
if (HeapCheckTable[7]->getHeap()) {
|
||||
HeapCheckTable[7]->setHeapSize(HeapCheckTable[7]->getHeap()->getSize());
|
||||
// Command Heap
|
||||
heaps[7].setHeap(mDoExt_getCommandHeap());
|
||||
|
||||
u8* systemConsole = lbl_804511B8;
|
||||
|
||||
if (heaps[7].getHeap()) {
|
||||
heaps[7].setHeapSize(heaps[7].getHeap()->getSize());
|
||||
}
|
||||
|
||||
int unk = 0;
|
||||
if (lbl_80450580) {
|
||||
unk = 3;
|
||||
}
|
||||
|
||||
*(lbl_804511B8+0x58) = unk;
|
||||
*(systemConsole+0x40) = 0x20;
|
||||
*(systemConsole+0x44) = 0x2a;
|
||||
|
||||
// lol
|
||||
thread_callback.create((void * (*)(void *))LOAD_COPYDATE,0);
|
||||
fapGm_Create();
|
||||
fopAcM_initManager();
|
||||
lbl_80450B18 = 0;
|
||||
cDyl_InitAsync();
|
||||
|
||||
// g_mDoAud_audioHeap
|
||||
|
||||
lbl_80450BBC = JKRSolidHeap_NS_create(0x14d800,lbl_80451374,false);
|
||||
|
||||
// main loop
|
||||
do {
|
||||
// global frame counter?
|
||||
lbl_80450B34++;
|
||||
|
||||
if (lbl_80450B00 && (lbl_80450B34 == ((lbl_80450B34 / lbl_80450B00) * lbl_80450B00))) {
|
||||
mDoMch_HeapCheckAll();
|
||||
}
|
||||
|
||||
if (lbl_80450C80) {
|
||||
mDoMemCd_Ctrl_c_NS_update();
|
||||
}
|
||||
mDoCPd_c_NS_read();
|
||||
fapGm_Execute();
|
||||
mDoAud_Execute();
|
||||
debug();
|
||||
} while (true);
|
||||
}
|
||||
#else
|
||||
asm void main01(void) {
|
||||
|
|
Loading…
Reference in New Issue