Fix small issues, update example in modding.md to show scoped hooks

This commit is contained in:
jdflyer
2026-08-07 15:27:23 -07:00
parent 4aa3b647a3
commit ce6850acd3
3 changed files with 44 additions and 22 deletions
+4 -2
View File
@@ -95,13 +95,15 @@ MenuBar::MenuBar()
dismiss(modal);
return;
}
dismiss(modal);
if (gamemode::getGamemodeManager().getRegisteredGamemodes().size() > 1) {
// If we have gamemodes registered, show pre-launch on a menubar reset
prelaunch_state().showPrelaunchOnReset = true;
Document::hide(true);
}else {
hide(false);
}
JUTGamePad::C3ButtonReset::sResetSwitchPushing = true;
dismiss(modal);
Document::hide(true);
},
},
},
+11 -5
View File
@@ -728,6 +728,8 @@ int game_main(int argc, char* argv[]) {
saveConfigBeforePrelaunch = true;
}
bool skipPreLaunchUI = dusk::getSettings().backend.skipPreLaunchUI.getValue();
std::string dvd_path = dusk::getSettings().backend.isoPath;
bool dvd_opened = false;
if (parsed_arg_options.count("dvd")) {
@@ -744,6 +746,7 @@ int game_main(int argc, char* argv[]) {
dusk::DiscVerificationState::Unknown);
dusk::config::save();
dusk::IsGameLaunched = true;
skipPreLaunchUI = true;
}
} else {
DuskLog.warn("DVD image from command line failed validation: {}, opening prelaunch UI", dvd_path);
@@ -751,8 +754,6 @@ int game_main(int argc, char* argv[]) {
}
}
bool skipPreLaunchUI = dusk::getSettings().backend.skipPreLaunchUI.getValue();
// If we can't load right into the game, stop requesting to load a stage or save
if (forcePreLaunchUI || dvd_path.empty()) {
if (dusk::StageRequested.set) {
@@ -907,9 +908,14 @@ int game_main(int argc, char* argv[]) {
dusk::speedrun::registerSpeedrunGamemode();
}
if (skipPreLaunchUI == true && dusk::gamemode::getGamemodeManager().getRegisteredGamemodes().size() > 1 && dusk::getSettings().backend.skipPreLaunchUI.getValue()) {
// Force pre-launch if we have registered gamemodes that we need to choose from
dusk::ui::push_document(std::make_unique<dusk::ui::Prelaunch>(), true);
if (skipPreLaunchUI == true) {
if (dusk::gamemode::getGamemodeManager().getRegisteredGamemodes().size() > 1 && dusk::getSettings().backend.skipPreLaunchUI.getValue()) {
// Force pre-launch if we have registered gamemodes that we need to choose from
dusk::ui::push_document(std::make_unique<dusk::ui::Prelaunch>(), true);
} else {
// If we get back to prelaunch later, tell it that we've already started the game
dusk::ui::prelaunch_state().firstLaunch = false;
}
}
OSReport("Starting main01 (Game Loop)...\n");