mirror of
https://github.com/projectPiki/pikmin2.git
synced 2024-11-27 15:20:37 +00:00
make system.cpp equivalent
This commit is contained in:
parent
6250e48106
commit
5dc1a5cf7d
@ -175,7 +175,7 @@
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/sysGCU/JSTObjectActor.cpp">JSTObjectActor.cpp</a> | 22510 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/sysGCU/JSTObjectSystem.cpp">JSTObjectSystem.cpp</a> | 22652 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/sysGCU/matMath.cpp">matMath.cpp</a> | 26236 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/sysGCU/moviePlayer.cpp">moviePlayer.cpp</a> | 26335 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/sysGCU/windowMessage.cpp">windowMessage.cpp</a> | 29493 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/sysGCU/memoryCard.cpp">memoryCard.cpp</a> | 31350 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/sysGCU/system.cpp">system.cpp</a> | 32968 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/sysGCU/bootSection.cpp">bootSection.cpp</a> | 38573 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/sysGCU/system.cpp">system.cpp</a> | 33439 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/sysGCU/bootSection.cpp">bootSection.cpp</a> | 38573 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/sysGCU/movieMessage.cpp">movieMessage.cpp</a> | 44324 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/sysGCU/pikmin2MemoryCardMgr.cpp">pikmin2MemoryCardMgr.cpp</a> | 50866 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/sysGCU/graphics.cpp">graphics.cpp</a> | 76184 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/sysGCU/messageRendering.cpp">messageRendering.cpp</a> | 100334 |
|
||||
|
||||
|
@ -19,10 +19,6 @@ struct OSContext;
|
||||
struct _GXRenderModeObj;
|
||||
struct HeapStatus;
|
||||
|
||||
void Pikmin2DefaultMemoryErrorRoutine(void*, u32, s32);
|
||||
void kando_panic_f(bool, const char*, s32, const char*, ...);
|
||||
extern void preUserCallback(u16, OSContext*, u32, u32);
|
||||
|
||||
struct HeapInfo : public Node, public JKRDisposer {
|
||||
|
||||
virtual ~HeapInfo(); // _20 (weak)
|
||||
|
@ -30,63 +30,63 @@
|
||||
#include "LoadResource.h"
|
||||
#include "Dolphin/__start.h"
|
||||
|
||||
GXRenderModeObj localNtsc608x448IntDfProg = { VI_TVMODE_NTSC_PROG,
|
||||
608, // fbWidth
|
||||
448, // efbHeight
|
||||
448, // xfbHeight
|
||||
27, // viXOrigin
|
||||
16, // viYOrigin
|
||||
666, // viWidth
|
||||
448, // viHeight
|
||||
VI_XFBMODE_SF,
|
||||
0, // field_rendering
|
||||
0, // aa
|
||||
{ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 },
|
||||
{ 0, 0, 21, 22, 21, 0, 0 } };
|
||||
static GXRenderModeObj localNtsc608x448IntDfProg = { VI_TVMODE_NTSC_PROG,
|
||||
608, // fbWidth
|
||||
448, // efbHeight
|
||||
448, // xfbHeight
|
||||
27, // viXOrigin
|
||||
16, // viYOrigin
|
||||
666, // viWidth
|
||||
448, // viHeight
|
||||
VI_XFBMODE_SF,
|
||||
0, // field_rendering
|
||||
0, // aa
|
||||
{ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 },
|
||||
{ 0, 0, 21, 22, 21, 0, 0 } };
|
||||
|
||||
GXRenderModeObj localNtsc608x448IntDf = { VI_TVMODE_NTSC_INT,
|
||||
608, // fbWidth
|
||||
448, // efbHeight
|
||||
448, // xfbHeight
|
||||
27, // viXOrigin
|
||||
16, // viYOrigin
|
||||
666, // viWidth
|
||||
448, // viHeight
|
||||
VI_XFBMODE_DF,
|
||||
0, // field_rendering
|
||||
0, // aa
|
||||
{ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 },
|
||||
{ 7, 7, 12, 12, 12, 7, 7 } };
|
||||
static GXRenderModeObj localNtsc608x448IntDf = { VI_TVMODE_NTSC_INT,
|
||||
608, // fbWidth
|
||||
448, // efbHeight
|
||||
448, // xfbHeight
|
||||
27, // viXOrigin
|
||||
16, // viYOrigin
|
||||
666, // viWidth
|
||||
448, // viHeight
|
||||
VI_XFBMODE_DF,
|
||||
0, // field_rendering
|
||||
0, // aa
|
||||
{ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 },
|
||||
{ 7, 7, 12, 12, 12, 7, 7 } };
|
||||
|
||||
GXRenderModeObj localPal608x448IntDf = { VI_TVMODE_PAL_INT,
|
||||
608, // fbWidth
|
||||
448, // efbHeight
|
||||
538, // xfbHeight
|
||||
25, // viXOrigin
|
||||
18, // viYOrigin
|
||||
670, // viWidth
|
||||
538, // viHeight
|
||||
VI_XFBMODE_DF,
|
||||
0, // field_rendering
|
||||
0, // aa
|
||||
{ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 },
|
||||
{ 7, 7, 12, 12, 12, 7, 7 } };
|
||||
static GXRenderModeObj localPal608x448IntDf = { VI_TVMODE_PAL_INT,
|
||||
608, // fbWidth
|
||||
448, // efbHeight
|
||||
538, // xfbHeight
|
||||
25, // viXOrigin
|
||||
18, // viYOrigin
|
||||
670, // viWidth
|
||||
538, // viHeight
|
||||
VI_XFBMODE_DF,
|
||||
0, // field_rendering
|
||||
0, // aa
|
||||
{ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 },
|
||||
{ 7, 7, 12, 12, 12, 7, 7 } };
|
||||
|
||||
GXRenderModeObj localPal60608x448IntDf = { VI_TVMODE_EURGB60_INT,
|
||||
608, // fbWidth
|
||||
448, // efbHeight
|
||||
448, // xfbHeight
|
||||
27, // viXOrigin
|
||||
16, // viYOrigin
|
||||
666, // viWidth
|
||||
448, // viHeight
|
||||
VI_XFBMODE_DF,
|
||||
0, // field_rendering
|
||||
0, // aa
|
||||
{ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 },
|
||||
{ 7, 7, 12, 12, 12, 7, 7 } };
|
||||
static GXRenderModeObj localPal60608x448IntDf = { VI_TVMODE_EURGB60_INT,
|
||||
608, // fbWidth
|
||||
448, // efbHeight
|
||||
448, // xfbHeight
|
||||
27, // viXOrigin
|
||||
16, // viYOrigin
|
||||
666, // viWidth
|
||||
448, // viHeight
|
||||
VI_XFBMODE_DF,
|
||||
0, // field_rendering
|
||||
0, // aa
|
||||
{ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 },
|
||||
{ 7, 7, 12, 12, 12, 7, 7 } };
|
||||
|
||||
GXRenderModeObj* sRenderModeTable[4]
|
||||
static GXRenderModeObj* sRenderModeTable[4]
|
||||
= { &localNtsc608x448IntDfProg, &localNtsc608x448IntDf, &localPal608x448IntDf, &localPal60608x448IntDf };
|
||||
|
||||
System::ERenderMode System::mRenderMode;
|
||||
@ -95,21 +95,16 @@ System::GXVerifyArg System::sVerifyArg;
|
||||
|
||||
bool sUseABXCommand = true;
|
||||
|
||||
struct CallbackObject {
|
||||
u32* funcPtr;
|
||||
u16 _04;
|
||||
OSContext* _08;
|
||||
u32 _0C;
|
||||
u32 _10;
|
||||
};
|
||||
static JUTException::ExCallbackObject exCallbackObject;
|
||||
|
||||
extern CallbackObject exCallbackObject;
|
||||
// pre-declare statics
|
||||
static void preUserCallback(u16, OSContext*, u32, u32);
|
||||
|
||||
/**
|
||||
* @note Address: 0x80421EC4
|
||||
* @note Size: 0xA0
|
||||
*/
|
||||
void Pikmin2DefaultMemoryErrorRoutine(void* address, u32 size, int alignment)
|
||||
static void Pikmin2DefaultMemoryErrorRoutine(void* address, u32 size, int alignment)
|
||||
{
|
||||
JUT_PANICLINE(99, "Memory Alloc Error!\n%x (size %d) align(%d)\nRestTotal=%d\nRestFree =%d\n", address, size, alignment,
|
||||
static_cast<JKRHeap*>(address)->getTotalFreeSize(), static_cast<JKRHeap*>(address)->getFreeSize());
|
||||
@ -121,38 +116,38 @@ void Pikmin2DefaultMemoryErrorRoutine(void* address, u32 size, int alignment)
|
||||
* @note Address: 0x80421F64
|
||||
* @note Size: 0x188
|
||||
*/
|
||||
void kando_panic_f(bool r3, const char* r4, int line, const char* r6, ...)
|
||||
static void kando_panic_f(bool r3, const char* file, int line, const char* format, ...)
|
||||
{
|
||||
va_list list;
|
||||
va_start(list, r6);
|
||||
va_start(list, format);
|
||||
|
||||
u32* func = (u32*)preUserCallback;
|
||||
JUTConsole* console = JUTException::sConsole;
|
||||
JUTException* except = JUTException::sErrorManager;
|
||||
OSErrorHandler func = (OSErrorHandler)preUserCallback;
|
||||
|
||||
char buffer[0xFF];
|
||||
vsnprintf(buffer, sizeof(buffer), r6, list);
|
||||
char buffer[260];
|
||||
vsnprintf(buffer, 255, format, list);
|
||||
if (!except) {
|
||||
OSPanic(r4, line, buffer);
|
||||
OSPanic(file, line, buffer);
|
||||
}
|
||||
|
||||
OSContext* thread = &JFWSystem::mainThread->mThread->context;
|
||||
OSContext* context = &JFWSystem::mainThread->mThread->context;
|
||||
char dest[sizeof(OSContext)];
|
||||
memcpy(dest, thread, sizeof(OSContext));
|
||||
except->mStackPointer = thread;
|
||||
memcpy(dest, context, sizeof(OSContext));
|
||||
except->mStackPointer = (void*)((u32*)dest)[1];
|
||||
|
||||
exCallbackObject.funcPtr = func;
|
||||
exCallbackObject._04 = 255;
|
||||
exCallbackObject._08 = thread;
|
||||
exCallbackObject._0C = 0;
|
||||
exCallbackObject._10 = 0;
|
||||
exCallbackObject.mErrorHandler = func;
|
||||
exCallbackObject.mError = 255;
|
||||
exCallbackObject.mContext = context;
|
||||
exCallbackObject._0C = 0;
|
||||
exCallbackObject._10 = 0;
|
||||
|
||||
if (!console || (console && !(console->mOutput & 2))) {
|
||||
OSReport("%s in \"%s\" on line %d\n", buffer, r4, line);
|
||||
OSReport("%s in \"%s\" on line %d\n", buffer, file, line);
|
||||
}
|
||||
|
||||
if (console) {
|
||||
console->print_f("%s in \"%s\" on\n line %d\n", buffer, r4, line);
|
||||
console->print_f("%s in \"%s\" on\n line %d\n", buffer, file, line);
|
||||
}
|
||||
|
||||
OSSendMessage(&JUTException::sMessageQueue, (OSMessage*)&exCallbackObject, true);
|
||||
@ -310,7 +305,7 @@ void preUserCallback(u16, OSContext*, u32, u32)
|
||||
JUTException::sConsole->startPrint(3, "--- Game debug information ---\n");
|
||||
JUTConsoleManager::sManager->drawDirect(true);
|
||||
} else {
|
||||
OSReport("コンソールがありません\n");
|
||||
OSReport("コンソ\ールがありません\n"); // 'no console'
|
||||
}
|
||||
}
|
||||
|
||||
@ -393,7 +388,7 @@ void retraceCallback(u32)
|
||||
if ((int)sys->mCpuLockCount > 0 && (int)sys->mCpuRetraceCount > (int)sys->mCpuLockCount) {
|
||||
sUseABXCommand = false;
|
||||
OSReport("cpuLockCount %d retraceCount %d\n", sys->mCpuLockCount, sys->mCpuRetraceCount);
|
||||
kando_panic_f(1, "system/retrace", 0, "CPU LOCKED!");
|
||||
kando_panic_f(true, "system/retrace", 0, "CPU LOCKED!");
|
||||
}
|
||||
}
|
||||
|
||||
@ -1284,7 +1279,7 @@ void System::refreshGenNode() { }
|
||||
void System::setFrameRate(int newFactor)
|
||||
{
|
||||
JFWDisplay* display = mDisplay;
|
||||
JUT_ASSERTLINE(2343, display, "no display\n");
|
||||
JUT_ASSERTLINE(2343, display, "no display");
|
||||
mFrameRate = (f32)newFactor;
|
||||
mDeltaTime = mFrameRate / 60.0f;
|
||||
display->mFrameRate = newFactor;
|
||||
|
Loading…
Reference in New Issue
Block a user