From 1eba6388bfed72e21a4525ef7a1c6c18d857b703 Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Sun, 11 Dec 2022 13:05:16 +0000 Subject: [PATCH] kaios: Hack out everything that needs dialogue boxes They're proving to be a right nuisance and will probably require a substantial overhaul to how they work across the entire JavaScript front-end. I don't think any of the functionality provided by the dialogue boxes is critical, so in the interests of getting a minimum viable product actually released I've disabled those features. In most cases, this just involves commenting out bits of HTML. The "Custom..." menu item is added by C code, though, so there I've fallen back to the standard Puzzles way to implement a nasty hack: an environment variable. --- emcc.c | 10 +++++++++- kaios/apppage.pl | 5 ++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/emcc.c b/emcc.c index d2fa053..ee1afad 100644 --- a/emcc.c +++ b/emcc.c @@ -975,13 +975,21 @@ int main(int argc, char **argv) */ { struct preset_menu *menu = midend_get_presets(me, &npresets); + char *env; presets = snewn(npresets, game_params *); for (i = 0; i < npresets; i++) presets[i] = NULL; populate_js_preset_menu(0, menu); - if (thegame.can_configure) + /* + * Crude hack to allow the "Custom..." item to be hidden on + * KaiOS, where dialogs don't yet work. + */ + env = getenv("PUZZLES_ALLOW_CUSTOM"); + + if (thegame.can_configure && + (!env || env[0] == 'y' || env[0] == 'Y')) js_add_preset(0, "Custom...", -1); have_presets_dropdown = npresets > 0 || thegame.can_configure; diff --git a/kaios/apppage.pl b/kaios/apppage.pl index f217643..5ea27cf 100755 --- a/kaios/apppage.pl +++ b/kaios/apppage.pl @@ -16,7 +16,8 @@ print <