mirror of
https://github.com/tildearrow/furnace.git
synced 2024-11-30 00:13:03 +00:00
GUI: warn on first import of a classic module
This commit is contained in:
parent
81dccf8dcc
commit
3a0fd28165
3 changed files with 49 additions and 1 deletions
|
@ -2460,6 +2460,20 @@ int FurnaceGUI::load(String path) {
|
|||
// warn the user
|
||||
showWarning(_("you have loaded a backup!\nif you need to, please save it somewhere.\n\nDO NOT RELY ON THE BACKUP SYSTEM FOR AUTO-SAVE!\nFurnace will not save backups of backups."),GUI_WARN_GENERIC);
|
||||
}
|
||||
|
||||
// if this is a PC module import, warn the user on the first import.
|
||||
if (!tutorial.importedMOD && e->song.version==DIV_VERSION_MOD) {
|
||||
showWarning(_("you have imported a ProTracker/SoundTracker/PC module!\nkeep the following in mind:\n\n- Furnace is not a replacement for your MOD player\n- import is not perfect. your song may sound different:\n - E6x pattern loop is not supported\n\nhave fun!"),GUI_WARN_IMPORT);
|
||||
}
|
||||
if (!tutorial.importedS3M && e->song.version==DIV_VERSION_S3M) {
|
||||
showWarning(_("you have imported a Scream Tracker 3 module!\nkeep the following in mind:\n\n- Furnace is not a replacement for your S3M player\n- import is not perfect. your song may sound different:\n - OPL instruments may be detuned\n\nhave fun!"),GUI_WARN_IMPORT);
|
||||
}
|
||||
if (!tutorial.importedXM && e->song.version==DIV_VERSION_XM) {
|
||||
showWarning(_("you have imported a FastTracker II module!\nkeep the following in mind:\n\n- Furnace is not a replacement for your XM player\n- import is not perfect. your song may sound different:\n - envelopes have been converted to macros\n - global volume changes are not supported\n\nhave fun!"),GUI_WARN_IMPORT);
|
||||
}
|
||||
if (!tutorial.importedIT && e->song.version==DIV_VERSION_IT) {
|
||||
showWarning(_("you have imported an Impulse Tracker module!\nkeep the following in mind:\n\n- Furnace is not a replacement for your IT player\n- import is not perfect. your song may sound different:\n - envelopes have been converted to macros\n - global volume changes are not supported\n - channel volume changes are not supported\n - New Note Actions (NNA) are not supported\n\nhave fun!"),GUI_WARN_IMPORT);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -6464,6 +6478,26 @@ bool FurnaceGUI::loop() {
|
|||
ImGui::CloseCurrentPopup();
|
||||
}
|
||||
break;
|
||||
case GUI_WARN_IMPORT:
|
||||
if (ImGui::Button(_("Got it"))) {
|
||||
switch (e->song.version) {
|
||||
case DIV_VERSION_MOD:
|
||||
tutorial.importedMOD=true;
|
||||
break;
|
||||
case DIV_VERSION_S3M:
|
||||
tutorial.importedS3M=true;
|
||||
break;
|
||||
case DIV_VERSION_XM:
|
||||
tutorial.importedXM=true;
|
||||
break;
|
||||
case DIV_VERSION_IT:
|
||||
tutorial.importedIT=true;
|
||||
break;
|
||||
}
|
||||
commitTutorial();
|
||||
ImGui::CloseCurrentPopup();
|
||||
}
|
||||
break;
|
||||
case GUI_WARN_GENERIC:
|
||||
if (ImGui::Button(_("OK"))) {
|
||||
ImGui::CloseCurrentPopup();
|
||||
|
|
|
@ -650,6 +650,7 @@ enum FurnaceGUIWarnings {
|
|||
GUI_WARN_CLEAR_HISTORY,
|
||||
GUI_WARN_CV,
|
||||
GUI_WARN_RESET_CONFIG,
|
||||
GUI_WARN_IMPORT,
|
||||
GUI_WARN_GENERIC
|
||||
};
|
||||
|
||||
|
@ -2279,13 +2280,18 @@ class FurnaceGUI {
|
|||
struct Tutorial {
|
||||
bool introPlayed;
|
||||
bool protoWelcome;
|
||||
bool importedMOD, importedS3M, importedXM, importedIT;
|
||||
Tutorial():
|
||||
#ifdef SUPPORT_XP
|
||||
introPlayed(true),
|
||||
#else
|
||||
introPlayed(false),
|
||||
#endif
|
||||
protoWelcome(false) {
|
||||
protoWelcome(false),
|
||||
importedMOD(false),
|
||||
importedS3M(false),
|
||||
importedXM(false),
|
||||
importedIT(false) {
|
||||
}
|
||||
} tutorial;
|
||||
|
||||
|
|
|
@ -505,11 +505,19 @@ void FurnaceGUI::syncTutorial() {
|
|||
tutorial.introPlayed=e->getConfBool("tutIntroPlayed",false);
|
||||
#endif
|
||||
tutorial.protoWelcome=e->getConfBool("tutProtoWelcome2",false);
|
||||
tutorial.importedMOD=e->getConfBool("tutImportedMOD",false);
|
||||
tutorial.importedS3M=e->getConfBool("tutImportedS3M",false);
|
||||
tutorial.importedXM=e->getConfBool("tutImportedXM",false);
|
||||
tutorial.importedIT=e->getConfBool("tutImportedIT",false);
|
||||
}
|
||||
|
||||
void FurnaceGUI::commitTutorial() {
|
||||
e->setConf("tutIntroPlayed",tutorial.introPlayed);
|
||||
e->setConf("tutProtoWelcome2",tutorial.protoWelcome);
|
||||
e->setConf("tutImportedMOD",tutorial.importedMOD);
|
||||
e->setConf("tutImportedS3M",tutorial.importedS3M);
|
||||
e->setConf("tutImportedXM",tutorial.importedXM);
|
||||
e->setConf("tutImportedIT",tutorial.importedIT);
|
||||
}
|
||||
|
||||
void FurnaceGUI::initRandomDemoSong() {
|
||||
|
|
Loading…
Reference in a new issue