diff --git a/arch/emscripten/Makefile.in b/arch/emscripten/Makefile.in
index 215dabba9..9adea91d2 100644
--- a/arch/emscripten/Makefile.in
+++ b/arch/emscripten/Makefile.in
@@ -27,8 +27,7 @@ ARCH_LDFLAGS += -s ALLOW_MEMORY_GROWTH=1
ARCH_LDFLAGS += -s MODULARIZE=1 -s 'EXTRA_EXPORTED_RUNTIME_METHODS=["FS"]'
ifeq (${BUILD_RENDER_GL_PROGRAM},1)
- ARCH_CFLAGS += -s FULL_ES2=1
- ARCH_LDFLAGS += -s FULL_ES2=1
+ARCH_LDFLAGS += -s FULL_ES2=1
endif
ARCH_LDFLAGS += -s ASYNCIFY=1 -s ASYNCIFY_STACK_SIZE=1048576
@@ -36,7 +35,6 @@ ARCH_LDFLAGS += -s ASYNCIFY=1 -s ASYNCIFY_STACK_SIZE=1048576
ARCH_LDFLAGS += -s ASYNCIFY_WHITELIST=@arch/emscripten/whitelist.json
ARCH_LDFLAGS += -s 'ASYNCIFY_IMPORTS=["emscripten_sleep"]'
-ARCH_CFLAGS += -s ENVIRONMENT=web
ARCH_LDFLAGS += -s ENVIRONMENT=web
# Fix warnings caused by broken Emscripten macros.
diff --git a/arch/emscripten/whitelist.json b/arch/emscripten/whitelist.json
index def0b505b..8b319ea7a 100644
--- a/arch/emscripten/whitelist.json
+++ b/arch/emscripten/whitelist.json
@@ -31,6 +31,12 @@
"main_menu_callback",
"title_key",
+ "menu_key",
+ "menu_click",
+ "menu_activate",
+ "main_menu_activate",
+ "about_megazeux",
+
"load_world_title_selection",
"load_world_title",
"reload_world",
diff --git a/docs/platform_matrix.html b/docs/platform_matrix.html
index 0dd1bca1b..895883709 100644
--- a/docs/platform_matrix.html
+++ b/docs/platform_matrix.html
@@ -296,7 +296,7 @@
description: "HTML5 (Emscripten)",
architecture: "JavaScript
WebAssembly",
endian: "Little",
- toolchain: "clang 12.0.0
(sdk 2.0.6)",
+ toolchain: "clang 18.0.0
(sdk 3.1.47)",
packaged: ZIP,
stack_protector: _FAULTY(),
layer_rendering: yes,
diff --git a/src/about.c b/src/about.c
index 8d6eb6b0c..59138fb73 100644
--- a/src/about.c
+++ b/src/about.c
@@ -215,13 +215,12 @@ static void load_license_list(char *names[MAX_FILES], char *files[MAX_FILES],
char *license = NULL;
char *license_3rd = NULL;
int num_files = 0;
- int i = 0;
dir = vdir_open(license_dir);
if(dir)
{
// Pass 1: find LICENSE (or LICENSE.) and LICENCE.3rd.
- for(i = 0; num_files < MAX_FILES; i++)
+ while(num_files < MAX_FILES)
{
if(!vdir_read(dir, buf, sizeof(buf), &type))
break;
@@ -253,7 +252,7 @@ static void load_license_list(char *names[MAX_FILES], char *files[MAX_FILES],
// Pass 2: add all other license files.
vdir_rewind(dir);
- for(i = 0; num_files < MAX_FILES; i++)
+ while(num_files < MAX_FILES)
{
if(!vdir_read(dir, buf, sizeof(buf), &type))
break;