From 46dbe00f14aa8f97ed076616bbe89781b0706ac3 Mon Sep 17 00:00:00 2001 From: byuu <2107894+byuu@users.noreply.github.com> Date: Wed, 7 Aug 2019 10:18:26 +0900 Subject: [PATCH] Add dismissable warning when using nightlies. --- bsnes/target-bsnes/bsnes.cpp | 18 ++++++++++++++++++ bsnes/target-bsnes/settings/settings.cpp | 1 + bsnes/target-bsnes/settings/settings.hpp | 1 + 3 files changed, 20 insertions(+) diff --git a/bsnes/target-bsnes/bsnes.cpp b/bsnes/target-bsnes/bsnes.cpp index 08ddd13d..8da45ed5 100644 --- a/bsnes/target-bsnes/bsnes.cpp +++ b/bsnes/target-bsnes/bsnes.cpp @@ -42,6 +42,7 @@ auto nall::main(Arguments arguments) -> void { Application::setName("bsnes"); Application::setScreenSaver(settings.general.screenSaver); Application::setToolTips(settings.general.toolTips); + Instances::presentation.construct(); Instances::settingsWindow.construct(); Instances::cheatDatabase.construct(); @@ -50,6 +51,23 @@ auto nall::main(Arguments arguments) -> void { Instances::toolsWindow.construct(); emulator = new SuperFamicom::Interface; program.create(); + + if(Emulator::Version.find(".") && settings.general.betaWarning) { + MessageDialog dialog; + dialog.setTitle(Emulator::Name); + dialog.setText( + "This is a nightly release. Bugs and regressions are possible!\n" + "If you experience issues, please report them to me.\n" + "If stability is required, please use a stable release.\n" + ); + dialog.setOption("Don't show this message again"); + dialog.information(); + if(dialog.checked()) { + settings.general.betaWarning = false; + settings.save(); + } + } + Application::run(); Instances::presentation.destruct(); Instances::settingsWindow.destruct(); diff --git a/bsnes/target-bsnes/settings/settings.cpp b/bsnes/target-bsnes/settings/settings.cpp index 67823c11..67708b63 100644 --- a/bsnes/target-bsnes/settings/settings.cpp +++ b/bsnes/target-bsnes/settings/settings.cpp @@ -128,6 +128,7 @@ auto Settings::process(bool load) -> void { bind(boolean, "General/ScreenSaver", general.screenSaver); bind(boolean, "General/ToolTips", general.toolTips); bind(boolean, "General/Crashed", general.crashed); + bind(boolean, "General/BetaWarning", general.betaWarning); #undef bind } diff --git a/bsnes/target-bsnes/settings/settings.hpp b/bsnes/target-bsnes/settings/settings.hpp index e1ef039f..3f88dd2c 100644 --- a/bsnes/target-bsnes/settings/settings.hpp +++ b/bsnes/target-bsnes/settings/settings.hpp @@ -130,6 +130,7 @@ struct Settings : Markup::Node { bool screenSaver = false; bool toolTips = true; bool crashed = false; + bool betaWarning = true; } general; };