diff options
| author | Ben Harris <bjh21@bjh21.me.uk> | 2022-12-11 13:05:16 +0000 |
|---|---|---|
| committer | Ben Harris <bjh21@bjh21.me.uk> | 2023-01-19 20:34:48 +0000 |
| commit | 1eba6388bfed72e21a4525ef7a1c6c18d857b703 (patch) | |
| tree | b5a4b6ae0c862230872203407f5eb7195e7f55f8 | |
| parent | 81b6bccab601ff1c08c8f8306d83bd24677d9d6c (diff) | |
| download | puzzles-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.
| -rw-r--r-- | emcc.c | 10 | ||||
| -rwxr-xr-x | kaios/apppage.pl | 5 |
2 files changed, 13 insertions, 2 deletions
@@ -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 <<EOF; <script defer type="text/javascript" src="${name}.js"></script> <!-- Override some defaults for small screens --> <script id="environment" type="application/json"> -{ "PATTERN_DEFAULT": "10x10" } +{ "PATTERN_DEFAULT": "10x10", + "PUZZLES_ALLOW_CUSTOM": "N" } </script> <style class="text/css"> body { @@ -299,12 +300,14 @@ body { </div> <form id="gamemenu" class="transient"> <ul> +<!-- <li><div tabindex="0">Game<ul class="transient"> <li><button type="button" id="specific">Enter game ID...</button></li> <li><button type="button" id="random">Enter random seed...</button></li> <li><button type="button" id="save">Download save file...</button></li> <li><button type="button" id="load">Upload save file...</button></li> </ul></div></li> +--> <li><div tabindex="0">Type<ul id="gametype" class="transient"></ul></div></li> <li role="separator"></li> <li><button type="button" id="new"> |