summaryrefslogtreecommitdiffstats
path: root/src/extras/debugmenu.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/extras/debugmenu.cpp')
-rw-r--r--src/extras/debugmenu.cpp36
1 files changed, 31 insertions, 5 deletions
diff --git a/src/extras/debugmenu.cpp b/src/extras/debugmenu.cpp
index d6ee18ab..f419e76f 100644
--- a/src/extras/debugmenu.cpp
+++ b/src/extras/debugmenu.cpp
@@ -95,6 +95,18 @@ createMenuFont(void)
RtCharsetGetDesc(fontStyles[MENUFONT_NORMAL], &fontDesc);
}
+void
+destroyMenuFont(void)
+{
+ RtCharsetDestroy(fontStyles[MENUFONT_NORMAL]);
+ fontStyles[MENUFONT_NORMAL] = nil;
+ RtCharsetDestroy(fontStyles[MENUFONT_SEL_ACTIVE]);
+ fontStyles[MENUFONT_SEL_ACTIVE] = nil;
+ RtCharsetDestroy(fontStyles[MENUFONT_SEL_INACTIVE]);
+ fontStyles[MENUFONT_SEL_INACTIVE] = nil;
+ RtCharsetDestroy(fontStyles[MENUFONT_MOUSE]);
+ fontStyles[MENUFONT_MOUSE] = nil;
+}
@@ -755,7 +767,7 @@ static uint8 arrowPx[] = {
};
void
-initDebug(void)
+DebugMenuInit(void)
{
createMenuFont();
@@ -779,6 +791,22 @@ initDebug(void)
arrow = RwRasterSetFromImage(arrow, img);
assert(arrow);
RwImageDestroy(img);
+
+ menuInitialized = true;
+}
+
+void
+DebugMenuShutdown(void)
+{
+ if(menuInitialized){
+ destroyMenuFont();
+ RwRasterDestroy(cursor);
+ cursor = nil;
+ RwRasterDestroy(arrow);
+ arrow = nil;
+ // TODO: the menus ...
+ }
+ menuInitialized = false;
}
void
@@ -971,10 +999,8 @@ DebugMenuProcess(void)
pad->DisablePlayerControls = 1;
// TODO: this could happen earlier
- if(!menuInitialized){
- initDebug();
- menuInitialized = 1;
- }
+ if(!menuInitialized)
+ DebugMenuInit();
updateMouse();
}