From e2fddadf320e8d35cbb3542645122e086efbfe9f Mon Sep 17 00:00:00 2001 From: LagoLunatic Date: Fri, 21 Nov 2025 18:52:16 -0500 Subject: Misc matches (#2845) * Misc debug matches * Fix d_map weak function order * Remove old nonmatching comments * d_menu_dmap and JASAudioThread OK, fix weak func order and rodata alignment * More misc matches --- src/m_Do/m_Do_ext.cpp | 55 ++++++++++++++++++++++++++++++++++++++++------- src/m_Do/m_Do_graphic.cpp | 6 +++--- src/m_Do/m_Do_main.cpp | 2 +- 3 files changed, 51 insertions(+), 12 deletions(-) (limited to 'src/m_Do') diff --git a/src/m_Do/m_Do_ext.cpp b/src/m_Do/m_Do_ext.cpp index 579add2f41..132edace67 100644 --- a/src/m_Do/m_Do_ext.cpp +++ b/src/m_Do/m_Do_ext.cpp @@ -411,7 +411,7 @@ static void dummy2() { J3DTevSwapModeTable tevSwapModeTable; J3DIndTexOrder indTexOrder; - J3DTevStage* tevStage_p; + J3DTevStage* tevStage_p = NULL; J3DTevStageInfo tevStageInfo; tevStage_p->setTevStageInfo(tevStageInfo); J3DTevStage tevStage; @@ -452,7 +452,7 @@ static void dummy2() { peBlock->setBlend(blend); J3DZMode zMode; peBlock->setZMode(zMode); - u8 compLoc; + u8 compLoc = 0; peBlock->setZCompLoc(compLoc); colorBlock->getColorChanNum(); @@ -770,29 +770,68 @@ JKRExpHeap* mDoExt_getHostIOHeap() { return HostIOHeap; } +#ifdef DEBUG +extern u8 lbl_8074C3B9[1]; +#endif + /* 8000EE40-8000EED8 009780 0098+00 3/3 0/0 0/0 .text mDoExt_createSolidHeap__FUlP7JKRHeapUl */ static JKRSolidHeap* mDoExt_createSolidHeap(u32 i_size, JKRHeap* i_heap, u32 i_alignment) { if (i_heap == NULL) { - i_heap = JKRHeap::getCurrentHeap(); + i_heap = JKRGetCurrentHeap(); } JKRSolidHeap* createdHeap; - if (i_size == 0 || i_size == 0xFFFFFFFF) { - createdHeap = JKRSolidHeap::create(0xFFFFFFFF, i_heap, false); + if (i_size == 0 || i_size == -1) { + #ifdef DEBUG + if (lbl_8074C3B9[0] != 0) { + OS_REPORT("\x1b[44mmDoExt_createSolidHeap サイズ未設定\n\x1b[m"); + OS_REPORT("最大空き容量確保します %08x\n\x1b[m", i_heap->getFreeSize()); + } + #endif + createdHeap = JKRCreateSolidHeap(-1, i_heap, false); } else { + u32 solidHeapSize = ALIGN_NEXT(sizeof(JKRSolidHeap), 0x10); i_size = ALIGN_NEXT(i_size, 0x10); - i_size += 0x80; + i_size += solidHeapSize; if (0x10 < i_alignment) { i_size = (i_alignment - 0x10 + i_size); } - createdHeap = JKRSolidHeap::create(i_size, i_heap, false); + createdHeap = JKRCreateSolidHeap(i_size, i_heap, false); } if (createdHeap != NULL) { - createdHeap->setErrorFlag(true); + JKRSetErrorFlag(createdHeap, true); + #ifdef DEBUG + if (lbl_8074C3B9[0] != 0) { + u32 heapSize = createdHeap->getHeapSize(); + OS_REPORT( + "JKRCreateSolidHeap %08x i_size=%08x solidHeapSize=%08x\n", + createdHeap, + i_size, + heapSize + ); + } + #endif } +#ifdef DEBUG + if (createdHeap == NULL) { + OS_WARNING( + "mDoExt_createMaxSolidHeap : ソリッドヒープ%fKの確保に失敗 連続空き容量=%fK 残り空き容量=%f\n", + i_size / 1024.0f, + i_heap->getFreeSize() / 1024.0f, + i_heap->getTotalFreeSize() / 1024.0f + ); + static BOOL dumped = FALSE; + if (dumped == FALSE) { + dumped = TRUE; + i_heap->dump_sort(); + } + return createdHeap; + } +#endif + return createdHeap; } diff --git a/src/m_Do/m_Do_graphic.cpp b/src/m_Do/m_Do_graphic.cpp index df35dce471..e9ac262f8a 100644 --- a/src/m_Do/m_Do_graphic.cpp +++ b/src/m_Do/m_Do_graphic.cpp @@ -1411,7 +1411,7 @@ static void setLight() { } static void captureScreenSetProjection(Mtx44& m) { - // NONMATCHING + // DEBUG NONMATCHING } static void captureScreenSetPort() { @@ -1420,11 +1420,11 @@ static void captureScreenSetPort() { } static void captureScreenSetScissor(scissor_class* scissor) { - // NONMATCHING + // DEBUG NONMATCHING } static void captureScreenPerspDrawInfo(JPADrawInfo&) { - // NONMATCHING + // DEBUG NONMATCHING } /* 8000A58C-8000A604 004ECC 0078+00 1/1 0/0 0/0 .text drawItem3D__Fv */ diff --git a/src/m_Do/m_Do_main.cpp b/src/m_Do/m_Do_main.cpp index a717a82424..bcb4f604df 100644 --- a/src/m_Do/m_Do_main.cpp +++ b/src/m_Do/m_Do_main.cpp @@ -807,7 +807,7 @@ void main01(void) { } #if DEBUG -// NONMATCHING +// DEBUG NONMATCHING void parse_args(int argc, const char* argv[]) { int i; -- cgit v1.2.3