summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/heapbar.S2
-rw-r--r--src/heapbar.cpp20
2 files changed, 20 insertions, 2 deletions
diff --git a/src/heapbar.S b/src/heapbar.S
index b8b1f6d..4e728e2 100644
--- a/src/heapbar.S
+++ b/src/heapbar.S
@@ -73,7 +73,7 @@ doHeapBar:
lwz r6, 0x3128(r6)
lis r3, THE_THING@h
ori r3, r3, THE_THING@l
- bl OSReport
+ #bl OSReport
bl cppGXEnd
diff --git a/src/heapbar.cpp b/src/heapbar.cpp
index 8fe756c..7f7060f 100644
--- a/src/heapbar.cpp
+++ b/src/heapbar.cpp
@@ -17,6 +17,7 @@
#include "rvl/vifuncs.h"
extern u32 Global5758;
+extern u8 GlobalEnableFlag;
#define GXPosition3f32(x,y,z) \
*((volatile float*)0xCC008000) = (x); \
@@ -70,7 +71,7 @@ float y_positions[] = {
32.0f,
};
-#define END_AT 48.0f
+#define END_AT 80.0f
u32 colours[] = {
-1,
@@ -144,6 +145,23 @@ void cppProcessHeap(u32 freeSize, u32 heapSize, int heapID, char *name) {
GXEnd();
}
}
+
+ for (int i = 0; i < 8; i++) {
+ if (GlobalEnableFlag & (1 << i)) {
+ GXBegin(GX_QUADS, GX_VTXFMT0, 4);
+
+ GXPosition3f32(16*i, END_AT+32.0f, 0.0);
+ GXColor1u32(0xffffffff);
+ GXPosition3f32(16*i+16, END_AT+32.0f, 0.0);
+ GXColor1u32(0xffffffff);
+ GXPosition3f32(16*i+16, END_AT+40.0f, 0.0);
+ GXColor1u32(0xffffffff);
+ GXPosition3f32(16*i, END_AT+40.0f, 0.0);
+ GXColor1u32(0xffffffff);
+
+ GXEnd();
+ }
+ }
}