TODO: revamp new song system picker

This commit is contained in:
tildearrow 2022-03-01 17:19:52 -05:00
parent 7f3460bfcd
commit fa5e2bc439
4 changed files with 139 additions and 29 deletions

View file

@ -402,6 +402,22 @@ struct Particle {
lifeSpeed(lS) {}
};
struct FurnaceGUISysDef {
const char* name;
const int* definition;
FurnaceGUISysDef(const char* n, const int* def):
name(n), definition(def) {}
};
struct FurnaceGUISysCategory {
const char* name;
std::vector<FurnaceGUISysDef> systems;
FurnaceGUISysCategory(const char* n):
name(n) {}
FurnaceGUISysCategory():
name(NULL) {}
};
class FurnaceGUI {
DivEngine* e;
@ -413,6 +429,7 @@ class FurnaceGUI {
String mmlStringW;
bool quit, warnQuit, willCommit, edit, modified, displayError, displayExporting, vgmExportLoop;
bool displayNew;
bool willExport[32];
FurnaceGUIFileDialogs curFileDialog;
@ -533,6 +550,7 @@ class FurnaceGUI {
float peak[2];
float patChanX[DIV_MAX_CHANS+1];
float patChanSlideY[DIV_MAX_CHANS+1];
int* nextDesc;
// bit 31: ctrl
// bit 30: reserved for SDL scancode mask
@ -563,6 +581,8 @@ class FurnaceGUI {
std::vector<DivCommand> cmdStream;
std::vector<Particle> particles;
std::vector<FurnaceGUISysCategory> sysCategories;
bool wavePreviewOn;
SDL_Scancode wavePreviewKey;
int wavePreviewNote;
@ -657,6 +677,7 @@ class FurnaceGUI {
void drawAbout();
void drawSettings();
void drawDebug();
void drawNewSong();
void parseKeybinds();
void promptKey(int which);