Make the download button front and centre in save menu in web client

No need for the text about MCEdit or the grey line anymore
This commit is contained in:
UnknownShadow200 2019-10-15 23:38:19 +11:00
parent 6feee064a2
commit 564db66126

View File

@ -1142,7 +1142,7 @@ void ClassicGenScreen_Show(void) {
static struct SaveLevelScreen { static struct SaveLevelScreen {
Screen_Layout Screen_Layout
struct FontDesc titleFont, textFont; struct FontDesc titleFont, textFont;
struct ButtonWidget save, schem, cancel; struct ButtonWidget save, alt, cancel;
struct MenuInputWidget input; struct MenuInputWidget input;
struct TextWidget mcEdit, desc; struct TextWidget mcEdit, desc;
} SaveLevelScreen_Instance; } SaveLevelScreen_Instance;
@ -1152,12 +1152,12 @@ static void SaveLevelScreen_UpdateSave(struct SaveLevelScreen* s) {
s->save.optName ? "&cOverwrite existing?" : "Save", &s->titleFont); s->save.optName ? "&cOverwrite existing?" : "Save", &s->titleFont);
} }
static void SaveLevelScreen_UpdateSchem(struct SaveLevelScreen* s) { static void SaveLevelScreen_UpdateAlt(struct SaveLevelScreen* s) {
#ifdef CC_BUILD_WEB #ifdef CC_BUILD_WEB
ButtonWidget_SetConst(&s->schem, "Download (WIP)", &s->titleFont); ButtonWidget_SetConst(&s->alt, "Download (WIP)", &s->titleFont);
#else #else
ButtonWidget_SetConst(&s->schem, ButtonWidget_SetConst(&s->alt,
s->schem.optName ? "&cOverwrite existing?" : "Save schematic", &s->titleFont); s->alt.optName ? "&cOverwrite existing?" : "Save schematic", &s->titleFont);
#endif #endif
} }
@ -1166,9 +1166,9 @@ static void SaveLevelScreen_RemoveOverwrites(struct SaveLevelScreen* s) {
s->save.optName = NULL; s->save.optName = NULL;
SaveLevelScreen_UpdateSave(s); SaveLevelScreen_UpdateSave(s);
} }
if (s->schem.optName) { if (s->alt.optName) {
s->schem.optName = NULL; s->alt.optName = NULL;
SaveLevelScreen_UpdateSchem(s); SaveLevelScreen_UpdateAlt(s);
} }
} }
@ -1293,22 +1293,24 @@ static void SaveLevelScreen_Save(void* screen, void* widget, const char* ext) {
if (File_Exists(&path) && !btn->optName) { if (File_Exists(&path) && !btn->optName) {
btn->optName = ""; btn->optName = "";
SaveLevelScreen_UpdateSave(s); SaveLevelScreen_UpdateSave(s);
SaveLevelScreen_UpdateSchem(s); SaveLevelScreen_UpdateAlt(s);
} else { } else {
SaveLevelScreen_RemoveOverwrites(s); SaveLevelScreen_RemoveOverwrites(s);
SaveLevelScreen_SaveMap(s, &path); SaveLevelScreen_SaveMap(s, &path);
} }
} }
static void SaveLevelScreen_Classic(void* a, void* b) { SaveLevelScreen_Save(a, b, ".cw"); } static void SaveLevelScreen_Main(void* a, void* b) { SaveLevelScreen_Save(a, b, ".cw"); }
static void SaveLevelScreen_Schematic(void* a, void* b) { SaveLevelScreen_Save(a, b, ".schematic"); } static void SaveLevelScreen_Alt(void* a, void* b) { SaveLevelScreen_Save(a, b, ".schematic"); }
static void SaveLevelScreen_Render(void* screen, double delta) { static void SaveLevelScreen_Render(void* screen, double delta) {
PackedCol grey = PackedCol_Make(150, 150, 150, 255); PackedCol grey = PackedCol_Make(150, 150, 150, 255);
int x, y; int x, y;
MenuScreen_Render(screen, delta); MenuScreen_Render(screen, delta);
#ifndef CC_BUILD_WEB
x = Window_Width / 2; y = Window_Height / 2; x = Window_Width / 2; y = Window_Height / 2;
Gfx_Draw2DFlat(x - 250, y + 90, 500, 2, grey); Gfx_Draw2DFlat(x - 250, y + 90, 500, 2, grey);
#endif
} }
static cc_bool SaveLevelScreen_KeyPress(void* screen, char keyChar) { static cc_bool SaveLevelScreen_KeyPress(void* screen, char keyChar) {
@ -1339,9 +1341,11 @@ static void SaveLevelScreen_ContextRecreated(void* screen) {
Menu_MakeTitleFont(&s->titleFont); Menu_MakeTitleFont(&s->titleFont);
Menu_MakeBodyFont(&s->textFont); Menu_MakeBodyFont(&s->textFont);
SaveLevelScreen_UpdateSave(s); SaveLevelScreen_UpdateSave(s);
SaveLevelScreen_UpdateSchem(s); SaveLevelScreen_UpdateAlt(s);
#ifndef CC_BUILD_WEB
TextWidget_SetConst(&s->mcEdit, "&eCan be imported into MCEdit", &s->textFont); TextWidget_SetConst(&s->mcEdit, "&eCan be imported into MCEdit", &s->textFont);
#endif
MenuInputWidget_SetFont(&s->input, &s->textFont); MenuInputWidget_SetFont(&s->input, &s->textFont);
ButtonWidget_SetConst(&s->cancel, "Cancel", &s->titleFont); ButtonWidget_SetConst(&s->cancel, "Cancel", &s->titleFont);
} }
@ -1355,17 +1359,28 @@ static void SaveLevelScreen_Init(void* screen) {
s->numWidgets = Array_Elems(widgets); s->numWidgets = Array_Elems(widgets);
MenuInput_Path(desc); MenuInput_Path(desc);
Menu_Button(s, 0, &s->save, 300, SaveLevelScreen_Classic, Menu_Button(s, 0, &s->save, 300, SaveLevelScreen_Main,
ANCHOR_CENTRE, ANCHOR_CENTRE, 0, 20); ANCHOR_CENTRE, ANCHOR_CENTRE, 0, 20);
Menu_Button(s, 1, &s->schem, 200, SaveLevelScreen_Schematic, #ifdef CC_BUILD_WEB
Menu_Button(s, 1, &s->alt, 300, SaveLevelScreen_Alt,
ANCHOR_CENTRE, ANCHOR_CENTRE, 0, 70);
#else
Menu_Button(s, 1, &s->alt, 200, SaveLevelScreen_Alt,
ANCHOR_CENTRE, ANCHOR_CENTRE, -150, 120); ANCHOR_CENTRE, ANCHOR_CENTRE, -150, 120);
Menu_Label(s, 2, &s->mcEdit, Menu_Label(s, 2, &s->mcEdit,
ANCHOR_CENTRE, ANCHOR_CENTRE, 110, 120); ANCHOR_CENTRE, ANCHOR_CENTRE, 110, 120);
#endif
Menu_Back(s, 3, &s->cancel, Menu_SwitchPause); Menu_Back(s, 3, &s->cancel, Menu_SwitchPause);
Menu_Input(s, 4, &s->input, 500, &String_Empty, &desc, Menu_Input(s, 4, &s->input, 500, &String_Empty, &desc,
ANCHOR_CENTRE, ANCHOR_CENTRE, 0, -30); ANCHOR_CENTRE, ANCHOR_CENTRE, 0, -30);
#ifdef CC_BUILD_WEB
Menu_Label(s, 5, &s->desc,
ANCHOR_CENTRE, ANCHOR_CENTRE, 0, 115);
#else
Menu_Label(s, 5, &s->desc, Menu_Label(s, 5, &s->desc,
ANCHOR_CENTRE, ANCHOR_CENTRE, 0, 65); ANCHOR_CENTRE, ANCHOR_CENTRE, 0, 65);
#endif
Window_OpenKeyboard(); Window_OpenKeyboard();
} }