add missing compilation flag

This commit is contained in:
arthur.jamet
2021-05-29 12:54:39 +02:00
parent 0ffb8b2a15
commit 5498649829
4 changed files with 14 additions and 17 deletions
+6 -6
View File
@@ -3,6 +3,12 @@ project(bomberman)
set(CMAKE_CXX_STANDARD 20)
if (EMSCRIPTEN)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -s USE_GLFW=3 -s ASSERTIONS=1 -s WASM=1 -s ASYNCIFY")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -s USE_GLFW=3 -s ASSERTIONS=1 -s WASM=1 -s ASYNCIFY")
set(CMAKE_EXECUTABLE_SUFFIX ".html")
endif ()
include_directories(bomberman lib/Ray/sources)
include_directories(bomberman lib/wal/sources)
include_directories(bomberman sources)
@@ -10,12 +16,6 @@ include_directories(bomberman sources)
add_subdirectory(${PROJECT_SOURCE_DIR}/lib/wal)
add_subdirectory(${PROJECT_SOURCE_DIR}/lib/Ray)
if (EMSCRIPTEN)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -s USE_GLFW=3 -s ASSERTIONS=1 -s WASM=1 -s ASYNCIFY")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -s USE_GLFW=3 -s ASSERTIONS=1 -s WASM=1 -s ASYNCIFY")
set(CMAKE_EXECUTABLE_SUFFIX ".html")
endif ()
set(SOURCES
sources/Models/GameState.hpp
Submodule emsdk deleted from f26ebb74c0
+1 -1
View File
@@ -8,5 +8,5 @@ fi
./emsdk/emsdk activate latest
source ./emsdk/emsdk_env.sh
mkdir -p build &&
cmake -S . -B build &&
emcmake cmake -S . -B build -DPLATFORM=Web &&
cmake --build build
+7 -9
View File
@@ -17,8 +17,6 @@
#ifdef PLATFORM_WEB
#include <emscripten/emscripten.h>
void *walPtr = nullptr;
void *statePtr = nullptr;
#endif
namespace WAL
@@ -117,9 +115,8 @@ namespace WAL
Callback<Wal &, T &> update(callback);
#ifdef PLATFORM_WEB
walPtr = this;
statePtr = &state;
return emscripten_set_main_loop_arg((em_arg_callback_func)&runIteration<T>, (void *)&callback, 0, 1);
void *paramPtr[3] = {this, &callback, &state};
return emscripten_set_main_loop_arg((em_arg_callback_func)&runIteration<T>, (void *)&paramPtr, 0, 1);
#else
return this->run(update, state);
#endif
@@ -152,11 +149,12 @@ namespace WAL
#ifdef PLATFORM_WEB
template<typename T>
static void runIteration(void *callbackPtr)
static void runIteration(void *param)
{
static const Callback<Wal &, T &> callback = *((Callback<Wal &, T &> *)callbackPtr);
static Wal *wal = (Wal *)walPtr;
static T *state = (T *)statePtr;
void *paramsPtr[3] = *param;
static const Callback<Wal &, T &> callback = *((Callback<Wal &, T &> *)param[1]);
static Wal *wal = (Wal *)param[0];
static T *state = (T *)param[2];
static auto lastTick = std::chrono::steady_clock::now();
static std::chrono::nanoseconds fBehind(0);