aboutsummaryrefslogtreecommitdiff
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
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.
-rw-r--r--emcc.c10
-rwxr-xr-xkaios/apppage.pl5
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 <<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">