From d3ea551024da72a05570403a311986e1571881a5 Mon Sep 17 00:00:00 2001 From: En Yi Date: Tue, 27 Aug 2024 15:49:05 +0800 Subject: [PATCH] Tweak engine config to allow web build Internal Changelog: - Reduce particles number - Use webGL2 --- CMakeLists.txt | 2 +- engine/engine_conf.h | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4cec5e2..1de6547 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,7 +10,7 @@ set(LIBZSTD_DIR /usr/local/lib CACHE FILEPATH "directory to zstd") if (EMSCRIPTEN) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DPLATFORM_WEB") -set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s USE_GLFW=3 -s ASSERTIONS=1 -s WASM=1 -s ASYNCIFY -s TOTAL_MEMORY=16777216 -s TOTAL_STACK=1048576 --preload-file ./res ") +set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s USE_GLFW=3 -s ASSERTIONS=1 -s WASM=1 -s ASYNCIFY -s MIN_WEBGL_VERSION=2 -s MAX_WEBGL_VERSION=2 -s TOTAL_MEMORY=16777216 -s TOTAL_STACK=1048576 --preload-file ./res ") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") set(CMAKE_EXECUTABLE_SUFFIX ".html") diff --git a/engine/engine_conf.h b/engine/engine_conf.h index 5727363..5a2569c 100644 --- a/engine/engine_conf.h +++ b/engine/engine_conf.h @@ -1,11 +1,13 @@ #ifndef _ENGINE_CONF_H #define _ENGINE_CONF_H -#define MAX_SCENES_TO_RENDER 16 +// Take care tuning these params. Web build doesn't work +// if memory used too high +#define MAX_SCENES_TO_RENDER 8 #define MAX_RENDER_LAYERS 4 #define MAX_ENTITIES 2047 #define MAX_TEXTURES 16 -#define MAX_SPRITES 128 +#define MAX_SPRITES 127 #define MAX_SOUNDS 32 #define MAX_FONTS 4 #define MAX_N_TILES 16384 @@ -14,8 +16,8 @@ #define N_SFX 32 #define MAX_EMITTER_CONF 8 //#define MAX_PARTICLE_EMITTER 8 -#define MAX_ACTIVE_PARTICLE_EMITTER 512 -#define MAX_PARTICLES 64 +#define MAX_ACTIVE_PARTICLE_EMITTER 255 +#define MAX_PARTICLES 32 #define MAX_TILE_TYPES 16 #define N_TAGS 10