summaryrefslogtreecommitdiff
path: root/src/m_Do
diff options
context:
space:
mode:
authorLagoLunatic <LagoLunatic@users.noreply.github.com>2025-11-21 18:52:16 -0500
committerGitHub <noreply@github.com>2025-11-21 15:52:16 -0800
commite2fddadf320e8d35cbb3542645122e086efbfe9f (patch)
treef0e11b2955fd092ad3022c192aed36bddd77fb48 /src/m_Do
parent31621c3daccccc0a582eceafec7e373d872f072a (diff)
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
Diffstat (limited to 'src/m_Do')
-rw-r--r--src/m_Do/m_Do_ext.cpp55
-rw-r--r--src/m_Do/m_Do_graphic.cpp6
-rw-r--r--src/m_Do/m_Do_main.cpp2
3 files changed, 51 insertions, 12 deletions
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;