diff --git a/.github/workflows/continous_integration.yml b/.github/workflows/continous_integration.yml index 13e2fa360..53cb01124 100644 --- a/.github/workflows/continous_integration.yml +++ b/.github/workflows/continous_integration.yml @@ -31,6 +31,10 @@ jobs: steps: - uses: llvm/actions/install-ninja@main + - name: Install llvm 17 + if: matrix.toolset_name == 'Ninja' + run: choco install llvm --version 17.0.6 --allow-downgrade -y + - uses: actions/checkout@v2 with: fetch-depth: 1 diff --git a/.github/workflows/whip-build.yml b/.github/workflows/whip-build.yml index a597a5310..0273bf597 100644 --- a/.github/workflows/whip-build.yml +++ b/.github/workflows/whip-build.yml @@ -13,6 +13,9 @@ jobs: steps: - uses: llvm/actions/install-ninja@main + - name: Install llvm 17 + run: choco install llvm --version 17.0.6 --allow-downgrade -y + - uses: actions/checkout@v2 with: fetch-depth: 1 diff --git a/CMakeLists.txt b/CMakeLists.txt index d73aec8f7..230a93544 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -43,6 +43,10 @@ add_compile_definitions(_ITERATOR_DEBUG_LEVEL=0) add_compile_definitions(NOMINMAX) add_compile_definitions(WIN32_LEAN_AND_MEAN) +# Fix MSVC 19.40 crash with mutex due to spelunky using an old redist (mscvp140.dll) +# Related links: https://github.com/microsoft/STL/releases/tag/vs-2022-17.10 | https://github.com/actions/runner-images/issues/10004 +add_compile_definitions(_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR) + if(BUILD_OVERLUNKY) add_compile_definitions(SPEL2_EDITABLE_SCRIPTS) add_compile_definitions(SPEL2_EXTRA_ANNOYING_SCRIPT_ERRORS) diff --git a/src/fmt b/src/fmt index 58aa04573..af8cd4e40 160000 --- a/src/fmt +++ b/src/fmt @@ -1 +1 @@ -Subproject commit 58aa04573f6fab54dd998183d333bf9d630843ee +Subproject commit af8cd4e40425a0f1ed5dbf27c9fc664bf3cf977a diff --git a/src/game_api/script/lua_backend.cpp b/src/game_api/script/lua_backend.cpp index 5d426a7e9..1b27cec70 100644 --- a/src/game_api/script/lua_backend.cpp +++ b/src/game_api/script/lua_backend.cpp @@ -77,7 +77,7 @@ LuaBackend::~LuaBackend() { std::lock_guard lock{g_all_backends_mutex}; - std::erase_if(g_all_backends, [=](const std::unique_ptr& protected_backend) + std::erase_if(g_all_backends, [this](const std::unique_ptr& protected_backend) { return protected_backend.get() == self; }); } } diff --git a/src/game_api/sound_manager.cpp b/src/game_api/sound_manager.cpp index 27a621b20..e2de5e057 100644 --- a/src/game_api/sound_manager.cpp +++ b/src/game_api/sound_manager.cpp @@ -194,9 +194,9 @@ PlayingSound CustomSound::play(bool paused, SOUND_TYPE sound_type) { return std::visit( overloaded{ - [=](FMOD::Sound* sound) + [=, this](FMOD::Sound* sound) { return m_SoundManager->play_sound(sound, paused, sound_type == SOUND_TYPE::Music); }, - [=](FMODStudio::EventDescription* event) + [=, this](FMODStudio::EventDescription* event) { return m_SoundManager->play_event(event, paused, sound_type == SOUND_TYPE::Music); }, [](std::monostate) { diff --git a/src/json b/src/json index 7126d8880..9cca280a4 160000 --- a/src/json +++ b/src/json @@ -1 +1 @@ -Subproject commit 7126d88803eeb9d28cc10621f01a58813d50d078 +Subproject commit 9cca280a4d0ccf0c08f47a99aa71d1b0e52f8d03 diff --git a/src/shared/logger.h b/src/shared/logger.h index a2c91b645..b09709f4e 100644 --- a/src/shared/logger.h +++ b/src/shared/logger.h @@ -18,7 +18,7 @@ struct fmt::formatter } template - auto format(ByteStr byte_str, FormatContext& ctx) + auto format(const ByteStr& byte_str, FormatContext& ctx) const { auto out = ctx.out();