aboutsummaryrefslogtreecommitdiff
path: root/emcc.c
diff options
context:
space:
mode:
authorBen Harris <bjh21@bjh21.me.uk>2022-12-11 13:05:16 +0000
committerBen Harris <bjh21@bjh21.me.uk>2023-01-19 20:34:48 +0000
commit1eba6388bfed72e21a4525ef7a1c6c18d857b703 (patch)
treeb5a4b6ae0c862230872203407f5eb7195e7f55f8 /emcc.c
parent81b6bccab601ff1c08c8f8306d83bd24677d9d6c (diff)
downloadpuzzles-1eba6388bfed72e21a4525ef7a1c6c18d857b703.zip
puzzles-1eba6388bfed72e21a4525ef7a1c6c18d857b703.tar.gz
puzzles-1eba6388bfed72e21a4525ef7a1c6c18d857b703.tar.bz2
puzzles-1eba6388bfed72e21a4525ef7a1c6c18d857b703.tar.xz
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.
Diffstat (limited to 'emcc.c')
-rw-r--r--emcc.c10
1 files changed, 9 insertions, 1 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;