begin the trial

This commit is contained in:
tildearrow 2026-01-07 13:39:43 -05:00
parent e61832ed71
commit 341201fc7d
3 changed files with 22 additions and 1 deletions

View file

@ -4933,7 +4933,12 @@ bool FurnaceGUI::loop() {
}
ImGui::EndMenu();
}
ImGui::Checkbox("New Pattern",&newPatternRenderer);
pushToggleColors(newPatternRenderer);
if (ImGui::SmallButton("NPR")) {
newPatternRenderer=!newPatternRenderer;
}
ImGui::SetItemTooltip(_("New Pattern Renderer"));
popToggleColors();
ImGui::SameLine();
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_PLAYBACK_STAT]);
if (e->isPlaying() && settings.playbackTime) {
@ -6793,6 +6798,13 @@ bool FurnaceGUI::loop() {
ImGui::CloseCurrentPopup();
}
break;
case GUI_WARN_NPR:
if (ImGui::Button(_("Got it"))) {
tutorial.nprFieldTrial=true;
commitTutorial();
ImGui::CloseCurrentPopup();
}
break;
case GUI_WARN_GENERIC:
if (ImGui::Button(_("OK"))) {
ImGui::CloseCurrentPopup();
@ -7676,6 +7688,10 @@ bool FurnaceGUI::init() {
syncSettings();
syncTutorial();
if (!tutorial.nprFieldTrial && newPatternRenderer) {
showWarning(_("welcome to the New Pattern Renderer!\nit should be lighter on your CPU.\n\nif you find an issue, you can go back to the old pattern renderer by clicking the NPR button (next to Help).\nmake sure to report it!\n\nthank you!"),GUI_WARN_NPR);
}
recentFile.clear();
for (int i=0; i<settings.maxRecentFile; i++) {
String r=e->getConfString(fmt::sprintf("recentFile%d",i),"");

View file

@ -687,6 +687,7 @@ enum FurnaceGUIWarnings {
GUI_WARN_CV,
GUI_WARN_RESET_CONFIG,
GUI_WARN_IMPORT,
GUI_WARN_NPR,
GUI_WARN_GENERIC
};
@ -2372,6 +2373,7 @@ class FurnaceGUI {
bool introPlayed;
bool protoWelcome;
bool importedMOD, importedS3M, importedXM, importedIT;
bool nprFieldTrial;
double popupTimer;
Tutorial():
#ifdef SUPPORT_XP
@ -2384,6 +2386,7 @@ class FurnaceGUI {
importedS3M(false),
importedXM(false),
importedIT(false),
nprFieldTrial(false),
popupTimer(10.0f) {
}
} tutorial;

View file

@ -692,6 +692,7 @@ void FurnaceGUI::syncTutorial() {
tutorial.importedS3M=e->getConfBool("tutImportedS3M",false);
tutorial.importedXM=e->getConfBool("tutImportedXM",false);
tutorial.importedIT=e->getConfBool("tutImportedIT",false);
tutorial.nprFieldTrial=e->getConfBool("tutNPRFieldTrial",false);
}
void FurnaceGUI::commitTutorial() {
@ -701,6 +702,7 @@ void FurnaceGUI::commitTutorial() {
e->setConf("tutImportedS3M",tutorial.importedS3M);
e->setConf("tutImportedXM",tutorial.importedXM);
e->setConf("tutImportedIT",tutorial.importedIT);
e->setConf("tutNPRFieldTrial",tutorial.nprFieldTrial);
}
void FurnaceGUI::initRandomDemoSong() {