Reimplement prompts as a separate UI context and make it so the quit game prompt doesn't bring up the config menu

This commit is contained in:
Mr-Wiseguy
2025-04-04 04:35:06 -04:00
parent 470644e700
commit 27db2aeaa0
11 changed files with 259 additions and 84 deletions
+1 -25
View File
@@ -442,11 +442,8 @@ public:
~ConfigMenu() override {
}
Rml::ElementDocument* load_document(Rml::Context* context) override {
(void)context;
void load_document() override {
config_context = recompui::create_context(zelda64::get_asset_path("config_menu.rml"));
Rml::ElementDocument* ret = config_context.get_document();
return ret;
}
void register_events(recompui::UiEventListenerInstancer& listener) override {
recompui::register_event(listener, "apply_options",
@@ -959,27 +956,6 @@ void recompui::toggle_fullscreen() {
graphics_model_handle.DirtyVariable("wm_option");
}
void recompui::open_prompt(
const std::string& headerText,
const std::string& contentText,
const std::string& confirmLabelText,
const std::string& cancelLabelText,
std::function<void()> confirmCb,
std::function<void()> cancelCb,
ButtonVariant _confirmVariant,
ButtonVariant _cancelVariant,
bool _focusOnCancel,
const std::string& _returnElementId
) {
printf("Prompt opened\n %s (%s): %s %s\n", contentText.c_str(), headerText.c_str(), confirmLabelText.c_str(), cancelLabelText.c_str());
printf(" Autoselected %s\n", confirmLabelText.c_str());
confirmCb();
}
bool recompui::is_prompt_open() {
return false;
}
void recompui::set_config_tab(ConfigTab tab) {
ContextId config_context = recompui::get_config_context_id();