mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-08-11 02:53:16 -04:00
d_debug_camera mostly done (#2695)
* d_debug_camera mostly done * update some alink demo stuff * some misc debug stuff
This commit is contained in:
+185
-98
@@ -15,6 +15,9 @@
|
||||
#include "Z2AudioLib/Z2WolfHowlMgr.h"
|
||||
#include "c/c_dylink.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "d/d_s_logo.h"
|
||||
#include "d/d_s_menu.h"
|
||||
#include "d/d_s_play.h"
|
||||
#include "f_ap/f_ap_game.h"
|
||||
#include "m_Do/m_Do_MemCard.h"
|
||||
#include "m_Do/m_Do_Reset.h"
|
||||
@@ -22,9 +25,12 @@
|
||||
#include "m_Do/m_Do_dvd_thread.h"
|
||||
#include "m_Do/m_Do_graphic.h"
|
||||
#include "m_Do/m_Do_machine.h"
|
||||
#include "SSystem/SComponent/c_counter.h"
|
||||
#include <cstring.h>
|
||||
|
||||
/* 800056C0-80005728 000000 0068+00 1/1 0/0 0/0 .text version_check__Fv */
|
||||
void version_check() {
|
||||
#if !PLATFORM_SHIELD
|
||||
if (!strcmp("20Apr2004", "20Apr2004") && !strcmp("Patch2", "Patch2")) {
|
||||
return;
|
||||
}
|
||||
@@ -33,24 +39,12 @@ void version_check() {
|
||||
OSReport_Error("SDKのバージョンが一致しません。停止します\n");
|
||||
do {
|
||||
} while (true);
|
||||
}
|
||||
|
||||
/* 80005728-8000578C 000068 0064+00 1/1 0/0 0/0 .text CheckHeap1__9HeapCheckFv */
|
||||
void HeapCheck::CheckHeap1() {
|
||||
s32 totalUsedSize = mHeap->getTotalUsedSize();
|
||||
s32 freeSize = mHeap->getFreeSize();
|
||||
|
||||
if (mMaxTotalUsedSize < totalUsedSize)
|
||||
mMaxTotalUsedSize = totalUsedSize;
|
||||
|
||||
if (mMaxTotalFreeSize > freeSize)
|
||||
mMaxTotalFreeSize = freeSize;
|
||||
#endif
|
||||
}
|
||||
|
||||
/* 803A2EE0-803A2EF4 000000 0012+02 2/2 1/1 0/0 .data COPYDATE_STRING__7mDoMain */
|
||||
char mDoMain::COPYDATE_STRING[18] = "??/??/?? ??:??:??";
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803D32E0-803D3308 000000 0028+00 3/2 0/0 0/0 .bss RootHeapCheck */
|
||||
// static HeapCheck RootHeapCheck;
|
||||
static HeapCheck RootHeapCheck = HeapCheck(0,"Root","ルート");
|
||||
@@ -89,21 +83,37 @@ static HeapCheck* HeapCheckTable[8] = {
|
||||
&ArchiveHeapCheck, &J2dHeapCheck, &HostioHeapCheck, &CommandHeapCheck,
|
||||
};
|
||||
|
||||
void printFrameLine() {
|
||||
OSCalendarTime calendar;
|
||||
OSTime time = OSGetTime();
|
||||
u32 retrace = VIGetRetraceCount();
|
||||
OSTicksToCalendarTime(time, &calendar);
|
||||
|
||||
OS_REPORT("\x1b[44m-- %5d - %5d - %3d %d %04d/%02d/%02d %02d:%02d:%02d\'%03d\'\'%03d\n\x1b[m",
|
||||
g_Counter.mCounter0, retrace,
|
||||
calendar.yday, calendar.wday, calendar.year, calendar.mon, calendar.mday,
|
||||
calendar.hour, calendar.min, calendar.sec, calendar.msec, calendar.usec);
|
||||
}
|
||||
|
||||
/* 80005728-8000578C 000068 0064+00 1/1 0/0 0/0 .text CheckHeap1__9HeapCheckFv */
|
||||
void HeapCheck::CheckHeap1() {
|
||||
s32 totalUsedSize = mHeap->getTotalUsedSize();
|
||||
s32 freeSize = mHeap->getFreeSize();
|
||||
|
||||
if (mMaxTotalUsedSize < totalUsedSize)
|
||||
mMaxTotalUsedSize = totalUsedSize;
|
||||
|
||||
if (mMaxTotalFreeSize > freeSize)
|
||||
mMaxTotalFreeSize = freeSize;
|
||||
}
|
||||
|
||||
/* 8000578C-80005848 0000CC 00BC+00 1/1 0/0 0/0 .text CheckHeap__FUl */
|
||||
void CheckHeap(u32 i_padNo) {
|
||||
mDoMch_HeapCheckAll();
|
||||
OSCheckActiveThreads();
|
||||
|
||||
bool comboCheck = false;
|
||||
int saveRel = (mDoCPd_c::getHold(i_padNo) & ~PAD_TRIGGER_Z) == (PAD_TRIGGER_L + PAD_TRIGGER_R) && mDoCPd_c::getTrig(i_padNo) & PAD_TRIGGER_Z;
|
||||
|
||||
// if L + R + Z is pressed
|
||||
if ((mDoCPd_c::getHold(i_padNo) & ~PAD_TRIGGER_Z) == (PAD_TRIGGER_L + PAD_TRIGGER_R) &&
|
||||
mDoCPd_c::getTrig(i_padNo) & PAD_TRIGGER_Z)
|
||||
{
|
||||
comboCheck = true;
|
||||
}
|
||||
|
||||
int saveRel = comboCheck;
|
||||
for (int i = 0; i < 8; i++) {
|
||||
HeapCheckTable[i]->CheckHeap1();
|
||||
if (saveRel) {
|
||||
@@ -115,13 +125,13 @@ void CheckHeap(u32 i_padNo) {
|
||||
/* 80005848-800058A0 000188 0058+00 2/2 0/0 0/0 .text countUsed__FP10JKRExpHeap */
|
||||
static int countUsed(JKRExpHeap* heap) {
|
||||
OSDisableScheduler();
|
||||
int counter = 0;
|
||||
JKRExpHeap::CMemBlock* used_blocks_head = heap->getHeadUsedList();
|
||||
|
||||
int counter = 0;
|
||||
JKRExpHeap::CMemBlock* used_blocks_head = heap->getUsedFirst();
|
||||
while (used_blocks_head) {
|
||||
used_blocks_head = used_blocks_head->getNextBlock();
|
||||
counter++;
|
||||
};
|
||||
used_blocks_head = used_blocks_head->getNextBlock();
|
||||
}
|
||||
|
||||
OSEnableScheduler();
|
||||
return counter;
|
||||
@@ -134,8 +144,8 @@ s32 HeapCheck::getUsedCount() const {
|
||||
|
||||
/* 800058C4-80005AD8 000204 0214+00 1/1 0/0 0/0 .text heapDisplay__9HeapCheckCFv */
|
||||
void HeapCheck::heapDisplay() const {
|
||||
s32 heap_size = mHeap->getSize();
|
||||
s32 used_count = heap_size - mTargetHeapSize;
|
||||
s32 heap_size = mHeap->getHeapSize();
|
||||
s32 used_count = heap_size - getTargetHeapSize();
|
||||
|
||||
s32 total_used_size = mHeap->getTotalUsedSize();
|
||||
s32 total_free_size = mHeap->getTotalFreeSize();
|
||||
@@ -143,39 +153,39 @@ void HeapCheck::heapDisplay() const {
|
||||
|
||||
JUTReport(100, 212, "[%sName]", mName);
|
||||
JUTReport(100, 227, "HeapSize %8ld", heap_size);
|
||||
JUTReport(100, 240, "TargetHeapSize %8ld", mTargetHeapSize);
|
||||
JUTReport(100, 240, "TargetHeapSize %8ld", getTargetHeapSize());
|
||||
JUTReport(100, 253, "TotalFree %8ld", total_free_size - used_count);
|
||||
JUTReport(100, 266, "FreeSize %8ld", heap_free_size - used_count);
|
||||
JUTReport(100, 279, "TotalUsedSize %8ld", total_used_size);
|
||||
JUTReport(100, 292, "TotalUsedRate %3ld%%",
|
||||
(int)(total_used_size * 0x64) / (int)mTargetHeapSize);
|
||||
JUTReport(100, 292, "TotalUsedRate %3ld%%", (int)(total_used_size * 100) / (int)getTargetHeapSize());
|
||||
JUTReport(100, 305, "MaxTotalUsedSize %8ld", mMaxTotalUsedSize);
|
||||
JUTReport(100, 318, "MaxTotalUsedRate %3ld%%",
|
||||
(mMaxTotalUsedSize * 0x64) / (int)mTargetHeapSize);
|
||||
JUTReport(100, 318, "MaxTotalUsedRate %3ld%%", (mMaxTotalUsedSize * 100) / (int)getTargetHeapSize());
|
||||
JUTReport(100, 331, "MinFreeSize %8ld", mMaxTotalFreeSize - used_count);
|
||||
JUTReport(100, 344, "MinFreeRate %3ld%%",
|
||||
((mMaxTotalFreeSize - used_count) * 0x64) / (int)mTargetHeapSize);
|
||||
used_count = countUsed(mHeap);
|
||||
JUTReport(100, 357, "UsedCount %3ld%", used_count);
|
||||
JUTReport(100, 344, "MinFreeRate %3ld%%", ((mMaxTotalFreeSize - used_count) * 100) / (int)getTargetHeapSize());
|
||||
JUTReport(100, 357, "UsedCount %3ld%", countUsed(mHeap));
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
int mDoMain::argument = -1;
|
||||
#endif
|
||||
|
||||
/* 80450580-80450584 000000 0004+00 3/3 6/6 0/0 .sdata None */
|
||||
#ifdef DEBUG
|
||||
s8 mDoMain::developmentMode = 1;
|
||||
#else
|
||||
s8 mDoMain::developmentMode = -1;
|
||||
|
||||
#ifdef DEBUG
|
||||
u32 mDoMain::gameHeapSize = 0xFFFFFFFF;
|
||||
u32 mDoMain::archiveHeapSize = 0xFFFFFFFF;
|
||||
#endif
|
||||
|
||||
/* 80450584-80450588 000004 0004+00 0/0 1/1 0/0 .sdata memMargin__7mDoMain */
|
||||
u32 mDoMain::memMargin = 0xFFFFFFFF;
|
||||
|
||||
#ifdef DEBUG
|
||||
u32 mDoMain::archiveHeapSize;
|
||||
u32 mDoMain::gameHeapSize;
|
||||
int mDoMain::e3menu_no = -1;
|
||||
#endif
|
||||
|
||||
/* 80450588-80450590 000008 0008+00 2/2 0/0 0/0 .sdata None */
|
||||
u8 mDoMain::mHeapBriefType = 4;
|
||||
u8 mHeapBriefType = 4;
|
||||
|
||||
/* 80450B00-80450B08 000000 0008+00 1/1 0/0 0/0 .sbss None */
|
||||
static u8 fillcheck_check_frame;
|
||||
@@ -188,7 +198,7 @@ OSTime mDoMain::sHungUpTime;
|
||||
|
||||
/* 80450B18-80450B1C -00001 0004+00 3/3 0/0 0/0 .sbss None */
|
||||
/* 80450B18 0001+00 data_80450B18 None */
|
||||
static bool mDisplayHeapSize;
|
||||
static u8 mDisplayHeapSize;
|
||||
|
||||
/* 80450B19 0001+00 data_80450B19 None */
|
||||
static u8 mSelectHeapBar;
|
||||
@@ -210,18 +220,21 @@ void debugDisplay() {
|
||||
HeapCheckTable[mSelectHeapBar - 1]->heapDisplay();
|
||||
}
|
||||
|
||||
if (mDoMain::mHeapBriefType == 5) {
|
||||
if (mHeapBriefType == 5) {
|
||||
JKRAramHeap* heap = JKRAram::getAramHeap();
|
||||
if (heap) {
|
||||
if (heap != NULL) {
|
||||
JUTReport(475, 100, "ARAM Free");
|
||||
JUTReport(475, 114, "%d", heap->getFreeSize());
|
||||
JUTReport(475, 128, "TotalFree");
|
||||
JUTReport(475, 142, "%d", heap->getTotalFreeSize());
|
||||
return;
|
||||
}
|
||||
} else if (mDoMain::mHeapBriefType != 0) {
|
||||
JUTReport(475, 100, "%s", desc1[mDoMain::mHeapBriefType]);
|
||||
JUTReport(475, 114, "%s", desc2[mDoMain::mHeapBriefType]);
|
||||
return;
|
||||
}
|
||||
|
||||
if (mHeapBriefType != 0) {
|
||||
JUT_ASSERT(596, mHeapBriefType < HeapCheckTableNum);
|
||||
JUTReport(475, 100, "%s", desc1[mHeapBriefType]);
|
||||
JUTReport(475, 114, "%s", desc2[mHeapBriefType]);
|
||||
|
||||
for (int i = 0; i < 8; i++) {
|
||||
HeapCheck* heap_check = HeapCheckTable[i];
|
||||
@@ -229,7 +242,7 @@ void debugDisplay() {
|
||||
|
||||
s32 check1;
|
||||
s32 check2;
|
||||
switch (mDoMain::mHeapBriefType) {
|
||||
switch (mHeapBriefType) {
|
||||
case 1:
|
||||
check1 = expHeap->getTotalFreeSize();
|
||||
check2 = expHeap->getFreeSize();
|
||||
@@ -255,47 +268,31 @@ void debugDisplay() {
|
||||
}
|
||||
}
|
||||
|
||||
void my_genCheckBox(JORMContext* mctx, const char* label, u8* pSrc, u8 mask) {
|
||||
mctx->genCheckBox(label, pSrc, mask, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18);
|
||||
}
|
||||
|
||||
/* 80005D4C-8000614C 00068C 0400+00 1/1 0/0 0/0 .text Debug_console__FUl */
|
||||
bool Debug_console(u32 i_padNo) {
|
||||
static f32 console_position_x;
|
||||
static s8 console_x_init;
|
||||
|
||||
static f32 console_position_y;
|
||||
static s8 console_y_init;
|
||||
|
||||
static f32 console_scroll;
|
||||
static s8 console_scroll_init;
|
||||
|
||||
JUTConsole* console = JFWSystem::getSystemConsole();
|
||||
if (console) {
|
||||
if (!console_x_init) {
|
||||
console_position_x = 20.0f;
|
||||
console_x_init = 1;
|
||||
}
|
||||
if (!console_y_init) {
|
||||
console_position_y = 30.0f;
|
||||
console_y_init = 1;
|
||||
}
|
||||
if (!console_scroll_init) {
|
||||
console_scroll = 0.0f;
|
||||
console_scroll_init = 1;
|
||||
}
|
||||
if (console != NULL) {
|
||||
static f32 console_position_x = 20.0f;
|
||||
static f32 console_position_y = 30.0f;
|
||||
static f32 console_scroll = 0.0f;
|
||||
|
||||
if (mDoCPd_c::getTrig(i_padNo) & PAD_TRIGGER_Z && !(mDoCPd_c::getHold(i_padNo) & ~PAD_TRIGGER_Z))
|
||||
{
|
||||
if (mDoCPd_c::getTrig(i_padNo) & PAD_TRIGGER_Z && !(mDoCPd_c::getHold(i_padNo) & ~PAD_TRIGGER_Z)) {
|
||||
console->setVisible(console->isVisible() == false);
|
||||
JUTAssertion::setMessageCount(0);
|
||||
}
|
||||
|
||||
if (console->isVisible()) {
|
||||
u32 holdButtons = mDoCPd_c::getHold(i_padNo);
|
||||
if ((holdButtons & PAD_TRIGGER_L && holdButtons & PAD_TRIGGER_R) ||
|
||||
if ((mDoCPd_c::getHold(i_padNo) & PAD_TRIGGER_L && mDoCPd_c::getHold(i_padNo) & PAD_TRIGGER_R) ||
|
||||
((mDoCPd_c::getAnalogL(i_padNo) > 0.0f && mDoCPd_c::getAnalogR(i_padNo) > 0.0f)))
|
||||
{
|
||||
f32 stick_x = mDoCPd_c::getStickX(i_padNo);
|
||||
f32 stick_y = mDoCPd_c::getStickY(i_padNo);
|
||||
|
||||
if (holdButtons & (PAD_BUTTON_Y | PAD_BUTTON_X) &&
|
||||
if (mDoCPd_c::getHold(i_padNo) & (PAD_BUTTON_Y | PAD_BUTTON_X) &&
|
||||
mDoCPd_c::getTrig(i_padNo) & PAD_BUTTON_START)
|
||||
{
|
||||
console->clear();
|
||||
@@ -338,24 +335,22 @@ bool Debug_console(u32 i_padNo) {
|
||||
JUTReport(30, 420, 1, "SCROLL:%3d %3d %3d Output=%1x", console->getLineOffset(),
|
||||
console->getPositionX(), console->getPositionY(), console->getOutput());
|
||||
} else {
|
||||
u32 pressButtons = mDoCPd_c::getTrig(i_padNo);
|
||||
|
||||
if (pressButtons & PAD_BUTTON_DOWN) {
|
||||
g_HIO.mDisplayMeter ^= 1;
|
||||
if (mDoCPd_c::getTrig(i_padNo) & PAD_BUTTON_DOWN) {
|
||||
g_HIO.mDisplayMeter ^= (u8)1;
|
||||
}
|
||||
|
||||
if (pressButtons & PAD_BUTTON_LEFT) {
|
||||
if (JKRAram::getAramHeap()) {
|
||||
JKRAram::getAramHeap()->dump();
|
||||
if (mDoCPd_c::getTrig(i_padNo) & PAD_BUTTON_LEFT) {
|
||||
JKRAramHeap* aram = JKRAram::getAramHeap();
|
||||
if (aram != NULL) {
|
||||
aram->dump();
|
||||
}
|
||||
|
||||
// dump__24DynamicModuleControlBaseFv();
|
||||
DynamicModuleControlBase::dump();
|
||||
g_dComIfG_gameInfo.mResControl.dump();
|
||||
}
|
||||
|
||||
if (mDoCPd_c::getTrig(i_padNo) & PAD_BUTTON_RIGHT) {
|
||||
JKRHeap::getSystemHeap()->dump_sort();
|
||||
JKRGetSystemHeap()->dump_sort();
|
||||
}
|
||||
|
||||
if (mDoCPd_c::getTrig(i_padNo) & PAD_BUTTON_UP) {
|
||||
@@ -363,29 +358,38 @@ bool Debug_console(u32 i_padNo) {
|
||||
gameHeap->dump_sort();
|
||||
archiveHeap->dump_sort();
|
||||
}
|
||||
|
||||
JUTReport(30, 440, 1, "Press L+R trigger to control console.");
|
||||
JUTReport(30, 450, 1, "Press [Z] trigger to close this window.");
|
||||
}
|
||||
|
||||
console->setPosition(console_position_x, console_position_y);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if PLATFORM_GCN
|
||||
#define COPYDATE_PATH "/str/Final/Release/COPYDATE"
|
||||
#else
|
||||
#define COPYDATE_PATH "/str/RVL/Debug/COPYDATE"
|
||||
#endif
|
||||
|
||||
/* 8000614C-800061C8 000A8C 007C+00 1/1 0/0 0/0 .text LOAD_COPYDATE__FPv */
|
||||
s32 LOAD_COPYDATE(void*) {
|
||||
s32 status;
|
||||
|
||||
DVDFileInfo __attribute__((aligned(0x20))) fileInfo;
|
||||
u8 buffer[0x20];
|
||||
status = DVDOpen("/str/Final/Release/COPYDATE", &fileInfo);
|
||||
DVDFileInfo ALIGN_DECL(32) fileInfo;
|
||||
u8 buffer[32];
|
||||
|
||||
BOOL status = DVDOpen(COPYDATE_PATH, &fileInfo);
|
||||
if (status) {
|
||||
DVDReadPrio(&fileInfo, &buffer, 32, 0, 2);
|
||||
memcpy(mDoMain::COPYDATE_STRING, buffer, 17);
|
||||
s32 rt = DVDReadPrio(&fileInfo, &buffer, sizeof(buffer), 0, 2);
|
||||
memcpy(mDoMain::COPYDATE_STRING, buffer, sizeof(mDoMain::COPYDATE_STRING) - 1);
|
||||
status = DVDClose(&fileInfo);
|
||||
}
|
||||
|
||||
OS_REPORT("\x1b[36mCOPYDATE=[%s]\n\x1b[m", mDoMain::COPYDATE_STRING);
|
||||
return status;
|
||||
}
|
||||
|
||||
@@ -399,15 +403,14 @@ static void debug() {
|
||||
if ((mDoCPd_c::getGamePad(PAD_3)->getButton() & ~PAD_TRIGGER_Z) == PAD_TRIGGER_R &&
|
||||
mDoCPd_c::getGamePad(PAD_3)->testTrigger(PAD_TRIGGER_Z))
|
||||
{
|
||||
mDisplayHeapSize ^= 1;
|
||||
mDisplayHeapSize ^= (u8)1;
|
||||
}
|
||||
|
||||
if (mDisplayHeapSize) {
|
||||
if ((mDoCPd_c::getGamePad(PAD_3)->getButton() & ~PAD_TRIGGER_Z) == PAD_TRIGGER_L &&
|
||||
mDoCPd_c::getGamePad(PAD_3)->testTrigger(PAD_TRIGGER_Z))
|
||||
{
|
||||
mDoMain::mHeapBriefType < 5 ? mDoMain::mHeapBriefType++ :
|
||||
mDoMain::mHeapBriefType = 1;
|
||||
mHeapBriefType < 5 ? mHeapBriefType++ : mHeapBriefType = 1;
|
||||
}
|
||||
|
||||
debugDisplay();
|
||||
@@ -500,7 +503,91 @@ void main01(void) {
|
||||
} while (true);
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
#if DEBUG
|
||||
// NONMATCHING
|
||||
void parse_args(int argc, const char* argv[]) {
|
||||
int i;
|
||||
|
||||
OS_REPORT("argc = %d\n", argc);
|
||||
for (i = 0; i < argc; i++) {
|
||||
OS_REPORT("argv[%d] = %s\n", i, argv[i]);
|
||||
}
|
||||
|
||||
for (i = 1; i < argc; i++) {
|
||||
if (strcmp(argv[i], "--noopening") == 0) {
|
||||
dScnLogo_c::onOpeningCut();
|
||||
} else if (strcmp(argv[i], "--nobank") == 0) {
|
||||
dStage_roomControl_c::onNoArcBank();
|
||||
OS_REPORT("\x1b[33mアーカイブバンクを無効にしました\n\x1b[m");
|
||||
} else if (strcmp(argv[i], "--particle254") == 0) {
|
||||
// data_8074c494 = 1;
|
||||
OSReport_Warning("パーティクル254固定にしました\n");
|
||||
} else if (strncmp(argv[i], "--menu=", sizeof("--menu=") - 1) == 0) {
|
||||
char* var_r27 = strchr(argv[i] + 7, ',');
|
||||
if (var_r27 != NULL) {
|
||||
*var_r27 = 0;
|
||||
var_r27++;
|
||||
|
||||
char* var_r26 = std::strchr(var_r27, ',');
|
||||
if (var_r26 != NULL) {
|
||||
*var_r26 = 0;
|
||||
var_r26++;
|
||||
|
||||
char* spC = std::strchr(var_r26, ',');
|
||||
if (spC != NULL) {
|
||||
*spC = 0;
|
||||
spC++;
|
||||
sscanf(spC, "%d", dScnMenu_c::cursolPoint);
|
||||
dScnMenu_c::m_error_flags |= (u8)8;
|
||||
}
|
||||
|
||||
sscanf(var_r26, "%d", dScnMenu_c::cursolLayer);
|
||||
dScnMenu_c::m_error_flags |= (u8)4;
|
||||
}
|
||||
|
||||
sscanf(var_r27, "%d", dScnMenu_c::cursolRoomNo);
|
||||
dScnMenu_c::m_error_flags |= (u8)2;
|
||||
}
|
||||
|
||||
strcpy(dScnMenu_c::cursolStageName, argv[i] + 7);
|
||||
dScnMenu_c::m_error_flags |= (u8)1;
|
||||
|
||||
OS_REPORT("\n\n\ndScnMenu_c::cursolLayer=[%x]", dScnMenu_c::cursolLayer);
|
||||
OS_REPORT("\ndScnMenu_c::cursolRoomNo=[%x]", dScnMenu_c::cursolRoomNo);
|
||||
OS_REPORT("\ndScnMenu_c::cursolStageName=[%s]\n\n", dScnMenu_c::cursolStageName);
|
||||
} else if (strncmp(argv[i], "--situation=", sizeof("--situation=") - 1) == 0) {
|
||||
for (int j = 0; j < 100; j++) {
|
||||
if (argv[i][12 + j] <= ' ') {
|
||||
break;
|
||||
}
|
||||
|
||||
g_presetHIO.filename_buf[j] = argv[i][12 + j];
|
||||
}
|
||||
|
||||
OS_REPORT("\n11 g_presetHIO.filename_buf[0]=[%-100.100s]", g_presetHIO.filename_buf);
|
||||
} else if (strcmp(argv[i], "--noprint") == 0) {
|
||||
OSReportDisable();
|
||||
} else if (strcmp(argv[i], "--develop") == 0) {
|
||||
mDoMain::developmentMode = 1;
|
||||
} else if (strcmp(argv[i], "--nodevelop") == 0) {
|
||||
mDoMain::developmentMode = 0;
|
||||
} else if (strncmp(argv[i], "--e3argument=", sizeof("--e3argument=") - 1) == 0) {
|
||||
sscanf(argv[i] + sizeof("--e3argument=") - 1, "%d", &mDoMain::argument);
|
||||
} else if (strncmp(argv[i], "--gameheapsize=0x", sizeof("--gameheapsize=0x") - 1) == 0) {
|
||||
sscanf(argv[i] + sizeof("--gameheapsize=0x") - 1, "%x", &mDoMain::gameHeapSize);
|
||||
} else if (strncmp(argv[i], "--archiveheapsize=0x", sizeof("--archiveheapsize=0x") - 1) == 0) {
|
||||
sscanf(argv[i] + sizeof("--archiveheapsize=0x") - 1, "%x", &mDoMain::archiveHeapSize);
|
||||
} else if (strncmp(argv[i], "--memmargin=0x", sizeof("--memmargin=0x") - 1) == 0) {
|
||||
sscanf(argv[i] + sizeof("--memmargin=0x") - 1, "%x", &mDoMain::memMargin);
|
||||
} else if (strncmp(argv[i], "--e3menu=0x", sizeof("--e3menu=0x") - 1) == 0) {
|
||||
sscanf(argv[i] + sizeof("--e3menu=0x") - 1, "%x", &mDoMain::e3menu_no);
|
||||
} else {
|
||||
OSReport_Error("unknown argument %d, %s\n", i, argv[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 803D3420-803DB420 000140 8000+00 1/1 0/0 0/0 .bss mainThreadStack */
|
||||
static u8 mainThreadStack[32768];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user