diff options
author | Vittorio Romeo <vittorio.romeo@outlook.com> | 2021-11-21 16:28:42 +0000 |
---|---|---|
committer | Vittorio Romeo <vittorio.romeo@outlook.com> | 2021-11-21 16:28:42 +0000 |
commit | 7827dd8d5a2a7db0e449392eaafb2aa8352e1176 (patch) | |
tree | 897e6bd113b8ddcb2e5235c9d1e7ba0eb18860a8 | |
parent | dfc95c3592e2a1c528d8ac145c620bfb0c568f08 (diff) |
Adapt to newest dependencies
-rw-r--r-- | CMakeLists.txt | 16 | ||||
-rwxr-xr-x | buildlx/make_debug_client_linux_clang_2_copy.sh | 6 | ||||
-rw-r--r-- | buildrel/copylibs.sh | 97 | ||||
m--------- | extlibs/SSVUtils | 0 | ||||
-rw-r--r-- | include/SSVOpenHexagon/Global/PCH.hpp | 5 | ||||
-rw-r--r-- | include/SSVOpenHexagon/Global/Version.hpp | 1 | ||||
-rw-r--r-- | include/SSVOpenHexagon/Utils/Color.hpp | 28 | ||||
-rw-r--r-- | include/SSVOpenHexagon/Utils/UniquePtr.hpp | 10 | ||||
-rw-r--r-- | src/SSVOpenHexagon/Core/HGGraphics.cpp | 26 | ||||
-rw-r--r-- | src/SSVOpenHexagon/Core/HexagonGame.cpp | 12 | ||||
-rw-r--r-- | src/SSVOpenHexagon/Core/MenuGame.cpp | 25 | ||||
-rw-r--r-- | src/SSVOpenHexagon/Core/main.cpp | 2 | ||||
-rw-r--r-- | src/SSVOpenHexagon/Global/Assets.cpp | 40 | ||||
-rw-r--r-- | src/SSVOpenHexagon/Global/Config.cpp | 4 |
14 files changed, 165 insertions, 107 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index ebe926df..ed05e4b0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,6 +3,19 @@ cmake_minimum_required(VERSION 3.9) # # # ----------------------------------------------------------------------------- +# Produce Lua Metadata +# ----------------------------------------------------------------------------- + +if(FALSE) + set(SSVOH_PRODUCE_LUA_METADATA TRUE) + add_definitions(-DSSVOH_PRODUCE_LUA_METADATA) +else() + set(SSVOH_PRODUCE_LUA_METADATA FALSE) +endif() + +# +# +# ----------------------------------------------------------------------------- # Android build # ----------------------------------------------------------------------------- @@ -82,7 +95,7 @@ set(SFML_STATIC_LIBRARIES false) CPMAddPackage( NAME SFML GITHUB_REPOSITORY SuperV1234/SFML - GIT_TAG c815ee19e42c313edee37f395f75aae88f4a6762 + GIT_TAG 1f30120edea67acf7b4e5c8136cf95f920876db2 ) set_target_properties(sfml-system PROPERTIES UNITY_BUILD ON) @@ -264,6 +277,7 @@ message(STATUS "initialized project ${PROJECT_NAME}") # ----------------------------------------------------------------------------- set(CMAKE_UNITY_BUILD ON) +set(CMAKE_UNITY_BUILD_BATCH_SIZE 4) # # diff --git a/buildlx/make_debug_client_linux_clang_2_copy.sh b/buildlx/make_debug_client_linux_clang_2_copy.sh index ea1336ea..736efba4 100755 --- a/buildlx/make_debug_client_linux_clang_2_copy.sh +++ b/buildlx/make_debug_client_linux_clang_2_copy.sh @@ -7,9 +7,9 @@ echo "" echo "--------------------------------------------------------------------" echo "| COPYING ALL EXECUTABLES TO _RELEASE FOLDER |" echo "--------------------------------------------------------------------" -cp ./SSVOpenHexagon.exe ../_RELEASE -cp ./OHWorkshopUploader.exe ../_RELEASE -cp ./OHServerControl.exe ../_RELEASE +cp ./SSVOpenHexagon ../_RELEASE +cp ./OHWorkshopUploader ../_RELEASE +cp ./OHServerControl ../_RELEASE echo "" echo "" diff --git a/buildrel/copylibs.sh b/buildrel/copylibs.sh index a9255f3c..3d3742d3 100644 --- a/buildrel/copylibs.sh +++ b/buildrel/copylibs.sh @@ -1,57 +1,70 @@ #!/bin/bash -cp ./_deps/imgui-sfml-build/libImGui-SFML_d.dll ../_RELEASE/ -cp ./_deps/imgui-sfml-build/libImGui-SFML.dll ../_RELEASE/ +cp ./_deps/imgui-sfml-build/libImGui-SFML_d.dll ../_RELEASE/ & +cp ./_deps/imgui-sfml-build/libImGui-SFML.dll ../_RELEASE/ & -cp ./_deps/sfml-build/lib/libsfml-graphics-d-2.dll ../_RELEASE/ -cp ./_deps/sfml-build/lib/libsfml-system-d-2.dll ../_RELEASE/ -cp ./_deps/sfml-build/lib/libsfml-window-d-2.dll ../_RELEASE/ -cp ./_deps/sfml-build/lib/libsfml-network-d-2.dll ../_RELEASE/ -cp ./_deps/sfml-build/lib/libsfml-audio-d-2.dll ../_RELEASE/ +cp ./_deps/sfml-build/lib/libsfml-graphics-d-2.dll ../_RELEASE/ & +cp ./_deps/sfml-build/lib/libsfml-system-d-2.dll ../_RELEASE/ & +cp ./_deps/sfml-build/lib/libsfml-window-d-2.dll ../_RELEASE/ & +cp ./_deps/sfml-build/lib/libsfml-network-d-2.dll ../_RELEASE/ & +cp ./_deps/sfml-build/lib/libsfml-audio-d-2.dll ../_RELEASE/ & -cp ./_deps/sfml-build/lib/sfml-graphics-2.dll ../_RELEASE/ -cp ./_deps/sfml-build/lib/sfml-system-2.dll ../_RELEASE/ -cp ./_deps/sfml-build/lib/sfml-window-2.dll ../_RELEASE/ -cp ./_deps/sfml-build/lib/sfml-network-2.dll ../_RELEASE/ -cp ./_deps/sfml-build/lib/sfml-audio-2.dll ../_RELEASE/ +cp ./_deps/sfml-build/lib/sfml-graphics-2.dll ../_RELEASE/ & +cp ./_deps/sfml-build/lib/sfml-system-2.dll ../_RELEASE/ & +cp ./_deps/sfml-build/lib/sfml-window-2.dll ../_RELEASE/ & +cp ./_deps/sfml-build/lib/sfml-network-2.dll ../_RELEASE/ & +cp ./_deps/sfml-build/lib/sfml-audio-2.dll ../_RELEASE/ & -cp ./_deps/sfml-src/extlibs/bin/x64/openal32.dll ../_RELEASE/ -cp ./_deps/libsodium-cmake-build/libsodium.dll ../_RELEASE/ -cp ./_deps/luajit-build/src/libluajit.dll ../_RELEASE/ -cp ./_deps/zlib-build/libzlib1.dll ../_RELEASE/ +cp ./_deps/sfml-build/lib/libsfml-graphics-2.dll ../_RELEASE/ & +cp ./_deps/sfml-build/lib/libsfml-system-2.dll ../_RELEASE/ & +cp ./_deps/sfml-build/lib/libsfml-window-2.dll ../_RELEASE/ & +cp ./_deps/sfml-build/lib/libsfml-network-2.dll ../_RELEASE/ & +cp ./_deps/sfml-build/lib/libsfml-audio-2.dll ../_RELEASE/ & -cp ./_deps/imgui-sfml-build/libImGui-SFML_d.dll ./test/ -cp ./_deps/imgui-sfml-build/libImGui-SFML.dll ./test/ +cp ./_deps/sfml-src/extlibs/bin/x64/openal32.dll ../_RELEASE/ & +cp ./_deps/libsodium-cmake-build/libsodium.dll ../_RELEASE/ & +cp ./_deps/luajit-build/src/libluajit.dll ../_RELEASE/ & +cp ./_deps/zlib-build/libzlib1.dll ../_RELEASE/ & -cp ./_deps/sfml-build/lib/libsfml-graphics-d-2.dll ./test/ -cp ./_deps/sfml-build/lib/libsfml-system-d-2.dll ./test/ -cp ./_deps/sfml-build/lib/libsfml-window-d-2.dll ./test/ -cp ./_deps/sfml-build/lib/libsfml-network-d-2.dll ./test/ -cp ./_deps/sfml-build/lib/libsfml-audio-d-2.dll ./test/ +cp ./_deps/imgui-sfml-build/libImGui-SFML_d.dll ./test/ & +cp ./_deps/imgui-sfml-build/libImGui-SFML.dll ./test/ & -cp ./_deps/sfml-build/lib/sfml-graphics-2.dll ./test/ -cp ./_deps/sfml-build/lib/sfml-system-2.dll ./test/ -cp ./_deps/sfml-build/lib/sfml-window-2.dll ./test/ -cp ./_deps/sfml-build/lib/sfml-network-2.dll ./test/ -cp ./_deps/sfml-build/lib/sfml-audio-2.dll ./test/ +cp ./_deps/sfml-build/lib/libsfml-graphics-d-2.dll ./test/ & +cp ./_deps/sfml-build/lib/libsfml-system-d-2.dll ./test/ & +cp ./_deps/sfml-build/lib/libsfml-window-d-2.dll ./test/ & +cp ./_deps/sfml-build/lib/libsfml-network-d-2.dll ./test/ & +cp ./_deps/sfml-build/lib/libsfml-audio-d-2.dll ./test/ & -cp ./_deps/sfml-src/extlibs/bin/x64/openal32.dll ./test/ -cp ./_deps/libsodium-cmake-build/libsodium.dll ./test/ -cp ./_deps/luajit-build/src/libluajit.dll ./test/ -cp ./_deps/zlib-build/libzlib1.dll ./test/ +cp ./_deps/sfml-build/lib/sfml-graphics-2.dll ./test/ & +cp ./_deps/sfml-build/lib/sfml-system-2.dll ./test/ & +cp ./_deps/sfml-build/lib/sfml-window-2.dll ./test/ & +cp ./_deps/sfml-build/lib/sfml-network-2.dll ./test/ & +cp ./_deps/sfml-build/lib/sfml-audio-2.dll ./test/ & -cp /c/msys64/mingw64/bin/libssp-0.dll ../_RELEASE/ -cp /c/msys64/mingw64/bin/libssp-0.dll ./test/ +cp ./_deps/sfml-build/lib/libsfml-graphics-2.dll ./test/ & +cp ./_deps/sfml-build/lib/libsfml-system-2.dll ./test/ & +cp ./_deps/sfml-build/lib/libsfml-window-2.dll ./test/ & +cp ./_deps/sfml-build/lib/libsfml-network-2.dll ./test/ & +cp ./_deps/sfml-build/lib/libsfml-audio-2.dll ./test/ & -cp /c/msys64/mingw64/bin/libstdc++-6.dll ../_RELEASE/ -cp /c/msys64/mingw64/bin/libstdc++-6.dll ./test/ +cp ./_deps/sfml-src/extlibs/bin/x64/openal32.dll ./test/ & +cp ./_deps/libsodium-cmake-build/libsodium.dll ./test/ & +cp ./_deps/luajit-build/src/libluajit.dll ./test/ & +cp ./_deps/zlib-build/libzlib1.dll ./test/ & -cp /c/msys64/mingw64/bin/libgcc_s_seh-1.dll ../_RELEASE/ -cp /c/msys64/mingw64/bin/libgcc_s_seh-1.dll ./test/ +cp /c/msys64/mingw64/bin/libssp-0.dll ../_RELEASE/ & +cp /c/msys64/mingw64/bin/libssp-0.dll ./test/ & -cp /c/msys64/mingw64/bin/libwinpthread-1.dll ../_RELEASE/ -cp /c/msys64/mingw64/bin/libwinpthread-1.dll ./test/ +cp /c/msys64/mingw64/bin/libstdc++-6.dll ../_RELEASE/ & +cp /c/msys64/mingw64/bin/libstdc++-6.dll ./test/ & -cp ../_RELEASE/discord_game_sdk.dll ./test -cp ../_RELEASE/steam_api64.dll ./test +cp /c/msys64/mingw64/bin/libgcc_s_seh-1.dll ../_RELEASE/ & +cp /c/msys64/mingw64/bin/libgcc_s_seh-1.dll ./test/ & +cp /c/msys64/mingw64/bin/libwinpthread-1.dll ../_RELEASE/ & +cp /c/msys64/mingw64/bin/libwinpthread-1.dll ./test/ & + +cp ../_RELEASE/discord_game_sdk.dll ./test & +cp ../_RELEASE/steam_api64.dll ./test & + +wait diff --git a/extlibs/SSVUtils b/extlibs/SSVUtils -Subproject 556ea2182ac332b77c760f894754a5a9414bbe3 +Subproject dafa2499bcd350c3bfdbfb84d522e022c3513a9 diff --git a/include/SSVOpenHexagon/Global/PCH.hpp b/include/SSVOpenHexagon/Global/PCH.hpp index 98a8404f..6712143a 100644 --- a/include/SSVOpenHexagon/Global/PCH.hpp +++ b/include/SSVOpenHexagon/Global/PCH.hpp @@ -4,6 +4,11 @@ #pragma once +#ifdef _WIN32 +#define NOMINMAX +#include <windows.h> +#endif + #include <algorithm> #include <array> #include <atomic> diff --git a/include/SSVOpenHexagon/Global/Version.hpp b/include/SSVOpenHexagon/Global/Version.hpp index 508e7b6f..72d9e4f3 100644 --- a/include/SSVOpenHexagon/Global/Version.hpp +++ b/include/SSVOpenHexagon/Global/Version.hpp @@ -43,6 +43,7 @@ struct GameVersion } }; +// TODO (P0): bump this version inline constexpr GameVersion GAME_VERSION{2, 1, 3}; inline constexpr auto& GAME_VERSION_STR = "2.1.3"; diff --git a/include/SSVOpenHexagon/Utils/Color.hpp b/include/SSVOpenHexagon/Utils/Color.hpp index 96a81e94..4d01fbb9 100644 --- a/include/SSVOpenHexagon/Utils/Color.hpp +++ b/include/SSVOpenHexagon/Utils/Color.hpp @@ -7,13 +7,14 @@ #include "SSVOpenHexagon/Global/Assert.hpp" #include <SFML/Graphics/Color.hpp> +#include <SFML/Graphics/Glsl.hpp> #include <cmath> namespace hg::Utils { [[nodiscard, gnu::always_inline, gnu::pure]] inline sf::Color getColorDarkened( - sf::Color mColor, const float mMultiplier) + sf::Color mColor, const float mMultiplier) noexcept { SSVOH_ASSERT(mMultiplier != 0.f); @@ -25,7 +26,7 @@ namespace hg::Utils { } [[nodiscard, gnu::always_inline, gnu::pure]] inline sf::Color transformHue( - const sf::Color& in, const float H) + const sf::Color& in, const float H) noexcept { const float u{std::cos(H * 3.14f / 180.f)}; const float w{std::sin(H * 3.14f / 180.f)}; @@ -74,8 +75,8 @@ namespace hg::Utils { return ret(1.f, 0.f, q); } -[[nodiscard, gnu::always_inline, gnu::pure]] inline sf::Uint8 componentClamp( - const float value) +[[nodiscard, gnu::always_inline, gnu::pure]] inline constexpr sf::Uint8 +componentClamp(const float value) noexcept { if(value > 255.f) { @@ -90,4 +91,23 @@ namespace hg::Utils { return static_cast<sf::Uint8>(value); } +[[nodiscard, gnu::always_inline, gnu::pure]] inline sf::Glsl::Vec3 toGLSLVec3( + const sf::Color& color) noexcept +{ + return {// + static_cast<float>(color.r) / 255.f, + static_cast<float>(color.g) / 255.f, + static_cast<float>(color.b) / 255.f}; +} + +[[nodiscard, gnu::always_inline, gnu::pure]] inline sf::Glsl::Vec4 toGLSLVec4( + const sf::Color& color) noexcept +{ + return {// + static_cast<float>(color.r) / 255.f, + static_cast<float>(color.g) / 255.f, + static_cast<float>(color.b) / 255.f, + static_cast<float>(color.a) / 255.f}; +} + } // namespace hg::Utils diff --git a/include/SSVOpenHexagon/Utils/UniquePtr.hpp b/include/SSVOpenHexagon/Utils/UniquePtr.hpp index 7f474134..7262c235 100644 --- a/include/SSVOpenHexagon/Utils/UniquePtr.hpp +++ b/include/SSVOpenHexagon/Utils/UniquePtr.hpp @@ -37,6 +37,16 @@ public: rhs._ptr = nullptr; } + [[nodiscard, gnu::always_inline]] T* get() noexcept + { + return _ptr; + } + + [[nodiscard, gnu::always_inline]] const T* get() const noexcept + { + return _ptr; + } + [[nodiscard, gnu::always_inline]] T& operator*() noexcept { SSVOH_ASSERT(_ptr != nullptr); diff --git a/src/SSVOpenHexagon/Core/HGGraphics.cpp b/src/SSVOpenHexagon/Core/HGGraphics.cpp index f7bad7b5..54bd211e 100644 --- a/src/SSVOpenHexagon/Core/HGGraphics.cpp +++ b/src/SSVOpenHexagon/Core/HGGraphics.cpp @@ -80,7 +80,7 @@ void HexagonGame::draw() if(!Config::getNoBackground()) { - backgroundCamera->apply(*window); + window->setView(backgroundCamera->apply()); backgroundTris.clear(); @@ -93,7 +93,7 @@ void HexagonGame::draw() render(backgroundTris); } - backgroundCamera->apply(*window); + window->setView(backgroundCamera->apply()); wallQuads3D.clear(); pivotQuads3D.clear(); @@ -242,7 +242,7 @@ void HexagonGame::draw() render(pivotQuads); render(playerTris); - overlayCamera->apply(*window); + window->setView(overlayCamera->apply()); drawParticles(); drawText(); @@ -293,7 +293,7 @@ void HexagonGame::drawImguiLuaConsole() } SSVOH_ASSERT(overlayCamera.has_value()); - overlayCamera->unapply(*window); + window->setView(window->getRenderWindow().getDefaultView()); Imgui::render(*window); } @@ -509,7 +509,7 @@ void HexagonGame::updateText(ssvu::FT mFT) // Set information text text.setString(os.str()); text.setCharacterSize(getScaledCharacterSize(20.f)); - text.setOrigin(0, 0); + text.setOrigin({0.f, 0.f}); // Set FPS Text, if option is enabled. if(Config::getShowFPS()) @@ -519,11 +519,11 @@ void HexagonGame::updateText(ssvu::FT mFT) } messageText.setCharacterSize(getScaledCharacterSize(32.f)); - messageText.setOrigin(ssvs::getGlobalWidth(messageText) / 2.f, 0); + messageText.setOrigin({ssvs::getGlobalWidth(messageText) / 2.f, 0}); const float growth = std::sin(pbTextGrowth); pbText.setCharacterSize(getScaledCharacterSize(64.f) + growth * 10.f); - pbText.setOrigin(ssvs::getGlobalWidth(pbText) / 2.f, 0); + pbText.setOrigin({ssvs::getGlobalWidth(pbText) / 2.f, 0}); // ------------------------------------------------------------------------ if(mustShowReplayUI()) @@ -586,7 +586,7 @@ void HexagonGame::drawText_TimeAndStatus(const sf::Color& offsetColor) { timeText.setFillColor(colorText); timeText.setOrigin(ssvs::getLocalNW(timeText)); - timeText.setPosition(sf::Vector2f{padding, padding}); + timeText.setPosition({padding, padding}); render(timeText); } @@ -595,8 +595,7 @@ void HexagonGame::drawText_TimeAndStatus(const sf::Color& offsetColor) { text.setFillColor(colorText); text.setOrigin(ssvs::getLocalNW(text)); - text.setPosition( - sf::Vector2f{padding, ssvs::getGlobalBottom(timeText) + padding}); + text.setPosition({padding, ssvs::getGlobalBottom(timeText) + padding}); render(text); } @@ -608,13 +607,12 @@ void HexagonGame::drawText_TimeAndStatus(const sf::Color& offsetColor) if(Config::getShowLevelInfo() || mustShowReplayUI()) { - fpsText.setPosition(sf::Vector2f{ - padding, ssvs::getGlobalTop(levelInfoRectangle) - padding}); + fpsText.setPosition( + {padding, ssvs::getGlobalTop(levelInfoRectangle) - padding}); } else { - fpsText.setPosition( - sf::Vector2f{padding, Config::getHeight() - padding}); + fpsText.setPosition({padding, Config::getHeight() - padding}); } render(fpsText); diff --git a/src/SSVOpenHexagon/Core/HexagonGame.cpp b/src/SSVOpenHexagon/Core/HexagonGame.cpp index 8c73dedd..eb621791 100644 --- a/src/SSVOpenHexagon/Core/HexagonGame.cpp +++ b/src/SSVOpenHexagon/Core/HexagonGame.cpp @@ -119,10 +119,10 @@ void HexagonGame::updateKeyIcons() const float scaling = Config::getKeyIconsScale() / Config::getZoomFactor(); - keyIconLeft.setScale(scaling, scaling); - keyIconRight.setScale(scaling, scaling); - keyIconFocus.setScale(scaling, scaling); - keyIconSwap.setScale(scaling, scaling); + keyIconLeft.setScale({scaling, scaling}); + keyIconRight.setScale({scaling, scaling}); + keyIconFocus.setScale({scaling, scaling}); + keyIconSwap.setScale({scaling, scaling}); const float scaledHalfSize = halfSize * scaling; const float scaledSize = size * scaling; @@ -142,7 +142,7 @@ void HexagonGame::updateKeyIcons() // ------------------------------------------------------------------------ replayIcon.setOrigin({size, size}); - replayIcon.setScale(scaling / 2.f, scaling / 2.f); + replayIcon.setScale({scaling / 2.f, scaling / 2.f}); const sf::Vector2f topRight{Config::getWidth() - padding - scaledHalfSize, padding + scaledHalfSize}; @@ -166,7 +166,7 @@ void HexagonGame::updateLevelInfo() const sf::Vector2f scaledHalfSize{halfSize * scaling}; levelInfoRectangle.setSize(size); - levelInfoRectangle.setScale(scaling, scaling); + levelInfoRectangle.setScale({scaling, scaling}); const sf::Color offsetColor{ Config::getBlackAndWhite() || styleData.getColors().empty() diff --git a/src/SSVOpenHexagon/Core/MenuGame.cpp b/src/SSVOpenHexagon/Core/MenuGame.cpp index a0917902..aefbe89b 100644 --- a/src/SSVOpenHexagon/Core/MenuGame.cpp +++ b/src/SSVOpenHexagon/Core/MenuGame.cpp @@ -1777,8 +1777,7 @@ void MenuGame::playLocally() MenuGame::pickRandomMainMenuBackgroundStyle() { // If there is no `menubackgrounds.json` abort - if(!ssvufs::Path{"Assets/menubackgrounds.json"} - .exists<ssvufs::Type::File>()) + if(!ssvufs::Path{"Assets/menubackgrounds.json"}.isFile()) { ssvu::lo("MenuGame::$") << "File 'Assets/menubackgrounds.json' does not exist" << std::endl; @@ -3275,7 +3274,7 @@ void MenuGame::renderTextCentered( const std::string& mStr, sf::Text& mText, const sf::Vector2f& mPos) { mText.setString(mStr); - mText.setPosition(mPos.x - ssvs::getGlobalHalfWidth(mText), mPos.y); + mText.setPosition({mPos.x - ssvs::getGlobalHalfWidth(mText), mPos.y}); render(mText); } @@ -3311,7 +3310,7 @@ void MenuGame::renderTextCenteredOffset(const std::string& mStr, { mText.setString(mStr); mText.setPosition( - xOffset + mPos.x - ssvs::getGlobalHalfWidth(mText), mPos.y); + {xOffset + mPos.x - ssvs::getGlobalHalfWidth(mText), mPos.y}); render(mText); } @@ -5336,13 +5335,13 @@ void MenuGame::drawLevelSelectionLeftSide( const float difficultyBumpFactor = 1.f + ((difficultyBumpEffect / difficultyBumpEffectMax) * 0.25f); txtSelectionMedium.font.setScale( - difficultyBumpFactor, difficultyBumpFactor); + {difficultyBumpFactor, difficultyBumpFactor}); renderText(tempString, txtSelectionMedium.font, {textXPos + txtSelectionMedium.font.getGlobalBounds().width, difficultyHeight}); - txtSelectionMedium.font.setScale(1.f, 1.f); + txtSelectionMedium.font.setScale({1.f, 1.f}); // Bottom line height += txtSelectionMedium.height + textToQuadBorder + lineThickness; @@ -5706,7 +5705,7 @@ void MenuGame::draw() styleData.computeColors(); window.clear(sf::Color{0, 0, 0, 255}); - backgroundCamera.apply(window); + window.setView(backgroundCamera.apply()); const bool mainOrAbove{state >= States::SMain}; // Only draw the hexagon background past the loading screens. @@ -5723,7 +5722,7 @@ void MenuGame::draw() render(menuBackgroundTris); } - overlayCamera.apply(window); + window.setView(overlayCamera.apply()); // Draw the profile name. if(mainOrAbove && state != States::LevelSelection) @@ -5904,7 +5903,7 @@ void MenuGame::draw() if(!dialogBox.empty()) { - overlayCamera.apply(window); + window.setView(overlayCamera.apply()); dialogBox.draw(dialogBoxTextColor, styleData.getColor(0)); } @@ -6021,7 +6020,7 @@ void MenuGame::drawOnlineStatus() sOnline.setScale(sf::Vector2f{spriteScale, spriteScale}); sOnline.setOrigin(ssvs::getLocalSW(sOnline)); - sOnline.setPosition(0 + padding, getWindowHeight() - padding); + sOnline.setPosition({0 + padding, getWindowHeight() - padding}); rsOnlineStatus.setSize( sf::Vector2f{ssvs::getGlobalWidth(txtOnlineStatus) + padding * 4.f, @@ -6029,12 +6028,12 @@ void MenuGame::drawOnlineStatus() rsOnlineStatus.setFillColor(sf::Color::Black); rsOnlineStatus.setOrigin(ssvs::getLocalSW(rsOnlineStatus)); rsOnlineStatus.setPosition( - ssvs::getGlobalRight(sOnline) + padding, sOnline.getPosition().y); + {ssvs::getGlobalRight(sOnline) + padding, sOnline.getPosition().y}); txtOnlineStatus.setOrigin(ssvs::getLocalCenterW(txtOnlineStatus)); txtOnlineStatus.setPosition( - ssvs::getGlobalLeft(rsOnlineStatus) + padding * 2.f, - ssvs::getGlobalCenter(rsOnlineStatus).y); + {ssvs::getGlobalLeft(rsOnlineStatus) + padding * 2.f, + ssvs::getGlobalCenter(rsOnlineStatus).y}); render(sOnline); render(rsOnlineStatus); diff --git a/src/SSVOpenHexagon/Core/main.cpp b/src/SSVOpenHexagon/Core/main.cpp index b32f677f..7cc42208 100644 --- a/src/SSVOpenHexagon/Core/main.cpp +++ b/src/SSVOpenHexagon/Core/main.cpp @@ -64,7 +64,7 @@ void createFolderIfNonExistant(const std::string& folderName) { const ssvu::FileSystem::Path path{folderName}; - if(path.exists<ssvufs::Type::Folder>()) + if(path.isFolder()) { return; } diff --git a/src/SSVOpenHexagon/Global/Assets.cpp b/src/SSVOpenHexagon/Global/Assets.cpp index cfb4726c..ec951b68 100644 --- a/src/SSVOpenHexagon/Global/Assets.cpp +++ b/src/SSVOpenHexagon/Global/Assets.cpp @@ -127,7 +127,7 @@ HGAssets::HGAssets( if(!levelsOnly && !mHeadless) { - if(!ssvufs::Path{"Assets/"}.exists<ssvufs::Type::Folder>()) + if(!ssvufs::Path{"Assets/"}.isFolder()) { ssvu::lo("FATAL ERROR") << "Folder Assets/ does not exist" << std::endl; @@ -209,7 +209,7 @@ HGAssets::~HGAssets() [[nodiscard]] bool HGAssets::loadPackData(const ssvufs::Path& packPath) { - if(!ssvufs::Path{packPath + "/pack.json"}.exists<ssvufs::Type::File>()) + if(!ssvufs::Path{packPath + "/pack.json"}.isFile()) { return false; } @@ -298,25 +298,23 @@ HGAssets::~HGAssets() try { - if(ssvufs::Path{packPath + "Music/"}.exists<ssvufs::Type::Folder>() && - !levelsOnly) + if(ssvufs::Path{packPath + "Music/"}.isFolder() && !levelsOnly) { loadPackAssets_loadMusic(packId, packPath); loadPackAssets_loadMusicData(packId, packPath); } - if(ssvufs::Path{packPath + "Styles/"}.exists<ssvufs::Type::Folder>()) + if(ssvufs::Path{packPath + "Styles/"}.isFolder()) { loadPackAssets_loadStyleData(packId, packPath); } - if(ssvufs::Path{packPath + "Levels/"}.exists<ssvufs::Type::Folder>()) + if(ssvufs::Path{packPath + "Levels/"}.isFolder()) { loadPackAssets_loadLevelData(packId, packPath); } - if(!levelsOnly && - ssvufs::Path(packPath + "Sounds/").exists<ssvufs::Type::Folder>()) + if(!levelsOnly && ssvufs::Path(packPath + "Sounds/").isFolder()) { loadPackAssets_loadCustomSounds(packId, packPath); } @@ -457,7 +455,7 @@ HGAssets::getSelectablePackInfos() const noexcept [[nodiscard]] bool HGAssets::loadWorkshopPackDatasFromCache() { - if(!ssvufs::Path{"workshopCache.json"}.exists<ssvufs::Type::File>()) + if(!ssvufs::Path{"workshopCache.json"}.isFile()) { ssvu::lo("::loadAssets") << "Workshop cache file does not exist. No " "workshop packs to load\n"; @@ -510,7 +508,7 @@ HGAssets::getSelectablePackInfos() const noexcept [[nodiscard]] bool HGAssets::loadAllPackDatas() { - if(!ssvufs::Path{"Packs/"}.exists<ssvufs::Type::Folder>()) + if(!ssvufs::Path{"Packs/"}.isFolder()) { ssvu::lo("::loadAssets") << "Folder Packs/ does not exist" << std::endl; return false; @@ -643,7 +641,7 @@ void HGAssets::addLocalProfile(ProfileData&& profileData) [[nodiscard]] bool HGAssets::loadAllLocalProfiles() { - if(!ssvufs::Path{"Profiles/"}.exists<ssvufs::Type::Folder>()) + if(!ssvufs::Path{"Profiles/"}.isFolder()) { ssvu::lo("::loadAssets") << "Folder Profiles/ does not exist" << std::endl; @@ -849,7 +847,7 @@ void HGAssets::saveAllProfiles() // Levels, if there is not folder cancel everything temp = mPath + "Levels/"; - if(!ssvufs::Path{temp}.exists<ssvufs::Type::Folder>()) + if(!ssvufs::Path{temp}.isFolder()) { return "invalid level folder path\n"; } @@ -873,7 +871,7 @@ void HGAssets::saveAllProfiles() // Styles temp = mPath + "Styles/"; - if(!ssvufs::Path{temp}.exists<ssvufs::Type::Folder>()) + if(!ssvufs::Path{temp}.isFolder()) { output += "invalid style folder path\n"; } @@ -891,7 +889,7 @@ void HGAssets::saveAllProfiles() // Music data temp = mPath + "Music/"; - if(!ssvufs::Path{temp}.exists<ssvufs::Type::Folder>()) + if(!ssvufs::Path{temp}.isFolder()) { output += "invalid music data folder path\n"; } @@ -910,7 +908,7 @@ void HGAssets::saveAllProfiles() // Music temp = mPath + "Music/"; - if(!ssvufs::Path{temp}.exists<ssvufs::Type::Folder>()) + if(!ssvufs::Path{temp}.isFolder()) { output += "invalid music folder path\n"; } @@ -926,7 +924,7 @@ void HGAssets::saveAllProfiles() // Custom sounds temp = mPath + "Sounds/"; - if(!ssvufs::Path{temp}.exists<ssvufs::Type::Folder>()) + if(!ssvufs::Path{temp}.isFolder()) { output += "invalid custom sound folder path\n"; } @@ -956,7 +954,7 @@ void HGAssets::saveAllProfiles() //******************************************* // Level temp = mPath + "Levels/"; - if(!ssvufs::Path{temp}.exists<ssvufs::Type::Folder>()) + if(!ssvufs::Path{temp}.isFolder()) { return "invalid level folder path\n"; } @@ -987,7 +985,7 @@ void HGAssets::saveAllProfiles() //******************************************* // Style temp = mPath + "Styles/"; - if(!ssvufs::Path{temp}.exists<ssvufs::Type::Folder>()) + if(!ssvufs::Path{temp}.isFolder()) { output += "invalid style folder path\n"; } @@ -1013,7 +1011,7 @@ void HGAssets::saveAllProfiles() //******************************************* // Music data temp = mPath + "Music/"; - if(!ssvufs::Path{temp}.exists<ssvufs::Type::Folder>()) + if(!ssvufs::Path{temp}.isFolder()) { output += "invalid music folder path\n"; } @@ -1042,7 +1040,7 @@ void HGAssets::saveAllProfiles() // Music files std::string assetId; temp = mPath + "Music/"; - if(!ssvufs::Path{temp}.exists<ssvufs::Type::Folder>()) + if(!ssvufs::Path{temp}.isFolder()) { output += "invalid music folder path\n"; } @@ -1070,7 +1068,7 @@ void HGAssets::saveAllProfiles() } temp = mPath + "Sounds/"; - if(!ssvufs::Path{temp}.exists<ssvufs::Type::Folder>()) + if(!ssvufs::Path{temp}.isFolder()) { output += "invalid custom sound folder path\n"; return output; diff --git a/src/SSVOpenHexagon/Global/Config.cpp b/src/SSVOpenHexagon/Global/Config.cpp index f7a1821f..bf08844e 100644 --- a/src/SSVOpenHexagon/Global/Config.cpp +++ b/src/SSVOpenHexagon/Global/Config.cpp @@ -254,7 +254,7 @@ namespace hg::Config { { static ssvuj::Obj res = [] { - if(ssvufs::Path{"config.json"}.exists<ssvufs::Type::File>()) + if(ssvufs::Path{"config.json"}.isFile()) { ssvu::lo("hg::Config::root()") << "User-defined `config.json` file found\n"; @@ -367,7 +367,7 @@ void loadConfig(const std::vector<std::string>& mOverridesIds) { ssvu::lo("::loadConfig") << "loading config\n"; - if(ssvufs::Path{"ConfigOverrides/"}.exists<ssvufs::Type::Folder>()) + if(ssvufs::Path{"ConfigOverrides/"}.isFolder()) { for(const ssvufs::Path& p : ssvufs::getScan<ssvufs::Mode::Single, ssvufs::Type::File, |