mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-09-06 09:55:11 -04:00
only register ui changes during game mode
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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]{};
|
||||
|
||||
|
||||
@@ -31,5 +31,6 @@ void CopyPermalinkToClipboard();
|
||||
void PastePermalinkFromClipboard();
|
||||
|
||||
ModResult buildMenuTab();
|
||||
ModResult removeMenuTab();
|
||||
ModResult buildFileSelectGateMenu(dFile_select_c*);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -5,4 +5,5 @@
|
||||
namespace randomizer::ui {
|
||||
ModResult initialize();
|
||||
void update();
|
||||
ModResult shutdown();
|
||||
}
|
||||
Reference in New Issue
Block a user