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 11:11:10 -04:00
committed by GitHub
parent ea42afb6f8
commit 7d271be857
261 changed files with 6757 additions and 10882 deletions
+44
View File
@@ -1,6 +1,50 @@
#ifndef M_DO_M_DO_MEMCARD_H
#define M_DO_M_DO_MEMCARD_H
#include "dolphin/os/OS.h"
#include "dolphin/types.h"
#include "global.h"
class mDoMemCd_Ctrl_c {
public:
/* 8001672C */ mDoMemCd_Ctrl_c();
/* 80016730 */ void ThdInit();
/* 800167D0 */ void main();
/* 80016894 */ void update();
/* 800169B4 */ void load();
/* 80016A0C */ void restore();
/* 80016AB0 */ void LoadSync(void*, u32, u32);
/* 80016B58 */ void save(void*, u32, u32);
/* 80016BD4 */ void store();
/* 80016CE0 */ void SaveSync();
/* 80016D74 */ void getStatus(u32);
/* 80016E58 */ void command_format();
/* 80016EA8 */ void format();
/* 80016F2C */ void FormatSync();
/* 80016FB8 */ void attach();
/* 800170B8 */ void command_attach();
/* 80017110 */ void detach();
/* 80017148 */ void mount();
/* 80017274 */ void loadfile();
/* 800172D4 */ void checkspace();
/* 80017360 */ void setCardState(s32);
/* 0x0000 */ u8 field_0x0[0x1FBC];
/* 0x1FBC */ u8 field_0x1fbc;
/* 0x1FBD */ u8 mCopyToPos;
/* 0x1FBE */ u8 mProbeStat;
/* 0x1FC0 */ u32 field_0x1fc0;
/* 0x1FC4 */ u32 field_0x1fc4;
/* 0x1FC8 */ u32 field_0x1fc8;
/* 0x1FCC */ OSMutex field_0x1fcc;
/* 0x1FE4 */ OSCond field_0x1fe4;
/* 0x1FEC */ u32 mNandState;
/* 0x1FF0 */ u64 field_0x1ff0;
/* 0x1FF8 */ u32 mDataVersion;
}; // Size: 0x2000
STATIC_ASSERT(sizeof(mDoMemCd_Ctrl_c) == 8192);
extern mDoMemCd_Ctrl_c g_mDoMemCd_control;
#endif /* M_DO_M_DO_MEMCARD_H */
+8 -1
View File
@@ -3,6 +3,9 @@
#include "dolphin/types.h"
void mDoRst_reset(int, u32, int);
void mDoRst_resetCallBack(int, void*);
struct mDoRstData {
/* 0x00 */ int mReset;
/* 0x04 */ int mResetPrepare;
@@ -27,7 +30,10 @@ public:
static void set3ButtonResetPort(int port) { mResetData->m3ButtonResetPort = port; }
static void off3ButtonReset() { mResetData->m3ButtonReset = 0; }
static void offResetPrepare() { mResetData->mResetPrepare = 0; }
static void offReset() { mResetData->mReset = 0; }
static void offReset() {
mResetData->mReset = 0;
mResetData->mResetPrepare = 0;
}
static u8 getLogoScnFlag() { return mResetData->mLogoScnFlag; }
static bool isReturnToMenu() { return mResetData->mReturnToMenu; }
static bool isShutdown() { return mResetData->mShutdown; }
@@ -40,6 +46,7 @@ public:
static void onShutdown() { mResetData->mShutdown = true; }
static mDoRstData* getResetData();
static mDoRstData* i_getResetData() { return mResetData; }
static void setResetData(mDoRstData* rstData) { mResetData = rstData; }
static mDoRstData* mResetData;
+18 -3
View File
@@ -4,14 +4,15 @@
#include "JSystem/JUtility/JUTGamePad.h"
#include "SSystem/SComponent/c_API_controller_pad.h"
#include "dolphin/types.h"
#include "m_Do/m_Do_Reset.h"
class mDoCPd_c {
public:
enum { PAD_0, PAD_1, PAD_2, PAD_3 };
void create();
void read();
void convert(interface_of_controller_pad*, JUTGamePad*);
static void create();
static void read();
static void convert(interface_of_controller_pad*, JUTGamePad*);
void LRlockCheck(interface_of_controller_pad*);
void recalibrate();
@@ -61,4 +62,18 @@ public:
static interface_of_controller_pad m_cpadInfo[4];
};
inline void mDoCPd_ANALOG_CONV(u8 analog, f32& param_1) {
param_1 = analog * (1.0f / 15.0f);
if (param_1 > 1.0f) {
param_1 = 1.0f;
}
}
inline void mDoCPd_TRIGGER_CONV(u8 analog, f32& param_1) {
param_1 = analog * 0.0071428571827709675f;
if (param_1 > 1.0f) {
param_1 = 1.0f;
}
}
#endif /* M_DO_M_DO_CONTROLLER_PAD_H */
+4 -1
View File
@@ -10,7 +10,7 @@
typedef void* (*mDoDvdThd_callback_func)(void*);
class mDoDvdThd_command_c : public node_class {
protected:
public:
/* 0x0C */ bool mIsDone;
/* 0x10 vtable*/
public:
@@ -74,6 +74,9 @@ public:
/* 80015E14 */ static mDoDvdThd_mountArchive_c* create(char const*, u8, JKRHeap*);
/* 80015EDC */ virtual s32 execute();
JKRMemArchive* getArchive() const { return mArchive; }
JKRHeap* getHeap() const { return mHeap; }
private:
/* 0x14 */ u8 mMountDirection;
/* 0x18 */ s32 mEntryNumber;
+10 -1
View File
@@ -129,7 +129,7 @@ JKRSolidHeap* mDoExt_createSolidHeapFromGame(u32, u32);
void mDoExt_destroySolidHeap(JKRSolidHeap*);
u32 mDoExt_adjustSolidHeap(JKRSolidHeap*);
void mDoExt_restoreCurrentHeap();
JKRHeap* mDoExt_getGameHeap();
JKRExpHeap* mDoExt_getGameHeap();
void mDoExt_destroySolidHeap(JKRSolidHeap*);
JKRHeap* mDoExt_setCurrentHeap(JKRHeap*);
JKRExpHeap* mDoExt_getArchiveHeap();
@@ -139,5 +139,14 @@ JKRAssertHeap* mDoExt_getAssertHeap();
JKRExpHeap* mDoExt_getCommandHeap();
JKRExpHeap* mDoExt_getZeldaHeap();
JKRExpHeap* mDoExt_getJ2dHeap();
JKRExpHeap* mDoExt_getHostIOHeap();
JKRSolidHeap* mDoExt_createSolidHeapToCurrent(JKRHeap**, u32, JKRHeap*, u32);
JKRSolidHeap* mDoExt_createSolidHeapToCurrent(u32, JKRHeap*, u32);
JKRSolidHeap* mDoExt_createSolidHeapFromGameToCurrent(u32, u32);
JKRHeap* mDoExt_getCurrentHeap();
extern JKRExpHeap* zeldaHeap;
extern JKRExpHeap* gameHeap;
extern JKRExpHeap* archiveHeap;
#endif /* M_DO_M_DO_EXT_H */
+2
View File
@@ -3,4 +3,6 @@
#include "dolphin/types.h"
void mDoGph_Create();
#endif /* M_DO_M_DO_GRAPHIC_H */
+12
View File
@@ -1,6 +1,18 @@
#ifndef M_DO_M_DO_MACHINE_H
#define M_DO_M_DO_MACHINE_H
#include "JSystem/JUtility/JUTConsole.h"
#include "JSystem/JUtility/JUTGamePad.h"
#include "JSystem/JUtility/JUTVideo.h"
#include "dolphin/types.h"
#include "m_Do/m_Do_Reset.h"
#include "m_Do/m_Do_main.h"
void myHeapCheckRecursive(JKRHeap*);
u8 mDoMch_IsProgressiveMode();
bool exceptionReadPad(u32*, u32*);
void exceptionRestart();
void myExceptionCallback(u16, OSContext*, u32, u32);
void my_SysPrintHeap(char const*, void*, u32);
#endif /* M_DO_M_DO_MACHINE_H */
+6
View File
@@ -3,4 +3,10 @@
#include "dolphin/types.h"
void print(char const*);
void dispHeapInfo();
void dispGameInfo();
void dispDateInfo();
void dispConsoleToTerminal();
#endif /* M_DO_M_DO_MACHINE_EXCEPTION_H */
+16 -3
View File
@@ -2,13 +2,18 @@
#define M_DO_M_DO_MAIN_H
#include "JSystem/JKernel/JKRExpHeap.h"
#include "dolphin/dvd/dvd.h"
#include "dolphin/types.h"
void version_check();
void* LOAD_COPYDATE(void*);
class HeapCheck {
public:
void CheckHeap1(void);
s32 getUsedCount(void) const;
void heapDisplay(void) const;
u32& getUsedCountRef() { return mUsedCount; }
u32& getTotalUsedSizeRef() { return mTotalUsedSize; }
JKRExpHeap* getHeap() { return mHeap; }
@@ -16,6 +21,11 @@ public:
void setHeapSize(u32 i_size) { mTargetHeapSize = i_size; }
s32 getMaxTotalUsedSize() { return mMaxTotalUsedSize; }
s32 getMaxTotalFreeSize() { return mMaxTotalFreeSize; }
char* getName() const { return mName; }
void saveRelBase() {
mUsedCount = getUsedCount();
mTotalUsedSize = mHeap->getTotalUsedSize();
}
private:
/* 0x00 */ char* mName;
@@ -30,10 +40,13 @@ private:
};
struct mDoMain {
static u8 COPYDATE_STRING[18 + 2 /* padding */];
static char COPYDATE_STRING[18];
static u32 memMargin;
static u8 sPowerOnTime[4]; // should be OSTime
static u8 sHungUpTime[4]; // should be OSTime
static u8 mHeapBriefType;
static OSTime sPowerOnTime;
static OSTime sHungUpTime;
};
extern s8 data_80450580;
#endif /* M_DO_M_DO_MAIN_H */
+56
View File
@@ -1,6 +1,62 @@
#ifndef M_DO_M_DO_MTX_H
#define M_DO_M_DO_MTX_H
#include "SSystem/SComponent/c_Xyz.h"
#include "SSystem/SComponent/c_sXyz.h"
#include "dolphin/mtx/mtx.h"
#include "dolphin/mtx/quat.h"
#include "dolphin/types.h"
void mDoMtx_XYZrotS(Mtx, s16, s16, s16);
void mDoMtx_XYZrotM(Mtx, s16, s16, s16);
void mDoMtx_ZXYrotS(Mtx, s16, s16, s16);
void mDoMtx_ZXYrotM(Mtx, s16, s16, s16);
void mDoMtx_ZrotS(Mtx, s16);
void mDoMtx_YrotS(Mtx, s16);
void mDoMtx_XrotS(Mtx, s16);
class mDoMtx_stack_c {
public:
/* 8000CCC8 */ bool push();
/* 8000CD14 */ bool pop();
/* 8000CD64 */ static void transS(cXyz const&);
/* 8000CDD4 */ static void transM(cXyz const&);
/* 8000CD9C */ static void transM(f32, f32, f32);
/* 8000CE00 */ static void scaleS(cXyz const&);
/* 8000CE70 */ static void scaleM(cXyz const&);
/* 8000CE38 */ static void scaleM(f32, f32, f32);
/* 8000CE9C */ static void XYZrotS(csXyz const&);
/* 8000CED4 */ static void XYZrotM(csXyz const&);
/* 8000CF0C */ static void ZXYrotS(csXyz const&);
/* 8000CF44 */ static void ZXYrotM(csXyz const&);
/* 8000CF7C */ static void quatM(Quaternion const*);
/* 8000D070 */ ~mDoMtx_stack_c(); // inline
Mtx* get() { return &now; }
static void transS(f32 x, f32 y, f32 z) { PSMTXTrans(now, x, y, z); }
static void scaleS(f32 x, f32 y, f32 z) { PSMTXScale(now, x, y, z); }
static void XYZrotS(s16 x, s16 y, s16 z) { mDoMtx_XYZrotS(now, x, y, z); }
static void XYZrotM(s16 x, s16 y, s16 z) { mDoMtx_XYZrotM(now, x, y, z); }
static void ZXYrotS(s16 x, s16 y, s16 z) { mDoMtx_ZXYrotS(now, x, y, z); }
static void ZXYrotM(s16 x, s16 y, s16 z) { mDoMtx_ZXYrotM(now, x, y, z); }
static Mtx now;
static Mtx buffer[16];
static Mtx* next;
static Mtx* end;
};
class mDoMtx_quatStack_c {
public:
~mDoMtx_quatStack_c(); // inline
/* 0x000 */ mDoMtx_quatStack_c* field_0x0;
/* 0x004 */ mDoMtx_quatStack_c* field_0x4;
/* 0x008 */ u8 field_0x8[0xC];
/* 0x014 */ mDoMtx_quatStack_c* field_0x14;
/* 0x018 */ u8 field_0x18[0xFC];
/* 0x114 */ mDoMtx_quatStack_c* field_0x114;
/* 0x118 */ mDoMtx_quatStack_c* field_0x118;
}; // Size: 0x11C
#endif /* M_DO_M_DO_MTX_H */
+4
View File
@@ -1,6 +1,10 @@
#ifndef M_DO_M_DO_PRINTF_H
#define M_DO_M_DO_PRINTF_H
#include "MSL_C.PPCEABI.bare.H/MSL_Common/Src/char_io.h"
#include "MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf.h"
#include "dolphin/types.h"
void my_PutString(const char*);
#endif /* M_DO_M_DO_PRINTF_H */