only register ui changes during game mode

This commit is contained in:
TakaRikka
2026-08-20 02:37:31 -07:00
parent 4d5fc47252
commit 6f06a33926
6 changed files with 21 additions and 6 deletions
-5
View File
@@ -44,11 +44,6 @@ MOD_EXPORT ModResult mod_initialize(ModError* error) {
return mods::set_error(error, result, "failed to initialize session");
}
result = randomizer::ui::initialize();
if (result != MOD_OK) {
return mods::set_error(error, result, "failed to initialize ui");
}
svc_log->info(mod_ctx, "randomizer initialized");
return MOD_OK;
}
+6
View File
@@ -405,6 +405,11 @@ ModResult onGameModeActivated(void*, ModError* error) {
return mods::set_error(error, result, "failed to register texture replacement");
}
result = ui::initialize();
if (result != MOD_OK) {
return mods::set_error(error, result, "failed to initialize ui");
}
mods::log::info("randomizer game mode activated");
return MOD_OK;
}
@@ -412,6 +417,7 @@ ModResult onGameModeActivated(void*, ModError* error) {
void shutdown() {
deactivateSeed();
hooks::uninstall();
ui::shutdown();
svc_mng.save->unobserve_saves(mod_ctx, s_save_observer);
svc_mng.texture->unregister(mod_ctx, logoTexHandle);
}
+4
View File
@@ -1172,6 +1172,10 @@ ModResult buildMenuTab() {
return session::svc_mng.ui->register_menu_tab(session::svc_mng.mod_ctx, &desc, &g_menu_tab);
}
ModResult removeMenuTab() {
return session::svc_mng.ui->unregister_menu_tab(session::svc_mng.mod_ctx, g_menu_tab);
}
ModResult buildFileSelectGateMenu(dFile_select_c* fileSelect) {
UiTabDesc tabs[6]{};
+1
View File
@@ -31,5 +31,6 @@ void CopyPermalinkToClipboard();
void PastePermalinkFromClipboard();
ModResult buildMenuTab();
ModResult removeMenuTab();
ModResult buildFileSelectGateMenu(dFile_select_c*);
}
+9 -1
View File
@@ -8,6 +8,8 @@
#include "rando_config.hpp"
namespace randomizer::ui {
UiStyleHandle styleHandle{};
ModResult initialize() {
ModResult res;
@@ -15,7 +17,7 @@ ModResult initialize() {
session::svc_mng.mod_ctx,
UI_SCOPE_WINDOW,
"ui.rcss",
nullptr);
&styleHandle);
if (res != MOD_OK) {
mods::log::error("failed to register rcss!");
return res;
@@ -34,4 +36,10 @@ void update() {
UpdateSeedGenerationDialog();
}
ModResult shutdown() {
removeMenuTab();
session::svc_mng.ui->unregister_styles(mod_ctx, styleHandle);
return MOD_OK;
}
}
+1
View File
@@ -5,4 +5,5 @@
namespace randomizer::ui {
ModResult initialize();
void update();
ModResult shutdown();
}