diff --git a/src/openrct2/ReplayManager.cpp b/src/openrct2/ReplayManager.cpp index fac7ff5169..056f6db8a0 100644 --- a/src/openrct2/ReplayManager.cpp +++ b/src/openrct2/ReplayManager.cpp @@ -86,8 +86,7 @@ namespace OpenRCT2 uint32_t tickEnd; // Last tick of replay. std::multiset commands; std::vector> checksums; - int32_t checksumIndex; - int32_t checksumMismatchIndex; + uint32_t checksumIndex; }; class ReplayManager final : public IReplayManager @@ -593,7 +592,7 @@ namespace OpenRCT2 void CheckState() { - int32_t checksumIndex = _currentReplay->checksumIndex; + uint32_t checksumIndex = _currentReplay->checksumIndex; if (checksumIndex >= _currentReplay->checksums.size()) return; diff --git a/src/openrct2/core/DataSerialiserTraits.h b/src/openrct2/core/DataSerialiserTraits.h index d996419ef3..15812fd088 100644 --- a/src/openrct2/core/DataSerialiserTraits.h +++ b/src/openrct2/core/DataSerialiserTraits.h @@ -19,6 +19,7 @@ #include "MemoryStream.h" #include +#include template struct DataSerializerTraits { @@ -268,7 +269,7 @@ template struct DataSerializerTraits s; for (auto&& sub : val) diff --git a/src/openrct2/world/Sprite.cpp b/src/openrct2/world/Sprite.cpp index 09e64c05a3..27c5e8d14f 100644 --- a/src/openrct2/world/Sprite.cpp +++ b/src/openrct2/world/Sprite.cpp @@ -57,7 +57,6 @@ std::string rct_sprite_checksum::ToString() const { std::string result; - result.clear(); result.reserve(raw.size() * 2); for (auto b : raw) { @@ -262,7 +261,7 @@ rct_sprite_checksum sprite_checksum() } } - checksum.raw = std::move(_spriteHashAlg->Finish()); + checksum.raw = _spriteHashAlg->Finish(); } catch (std::exception& e) { @@ -274,9 +273,9 @@ rct_sprite_checksum sprite_checksum() } #else -const char* sprite_checksum() +rct_sprite_checksum sprite_checksum() { - return nullptr; + return rct_sprite_checksum{}; } #endif // DISABLE_NETWORK diff --git a/test/tests/CMakeLists.txt b/test/tests/CMakeLists.txt index ec83c92d58..0fbd8d381f 100644 --- a/test/tests/CMakeLists.txt +++ b/test/tests/CMakeLists.txt @@ -188,3 +188,10 @@ set(TILE_ELEMENT_TEST_SOURCES "${CMAKE_CURRENT_LIST_DIR}/TileElements.cpp" add_executable(test_tile_elements ${TILE_ELEMENT_TEST_SOURCES}) target_link_libraries(test_tile_elements ${GTEST_LIBRARIES} libopenrct2 ${LDL} z) add_test(NAME tile_elements COMMAND test_tile_elements) + +# Replay tests +set(REPLAY_TEST_SOURCES "${CMAKE_CURRENT_LIST_DIR}/ReplayTests.cpp" + "${CMAKE_CURRENT_LIST_DIR}/TestData.cpp") +add_executable(test_replays ${REPLAY_TEST_SOURCES}) +target_link_libraries(test_replays ${GTEST_LIBRARIES} libopenrct2 ${LDL} z) +add_test(NAME replay_tests COMMAND test_replays) diff --git a/test/tests/ReplayTests.cpp b/test/tests/ReplayTests.cpp index 8759d9d29e..7ea0623cf9 100644 --- a/test/tests/ReplayTests.cpp +++ b/test/tests/ReplayTests.cpp @@ -76,7 +76,7 @@ TEST_F(ReplayTests, all) while (replayManager->IsReplaying()) { gs->UpdateLogic(); - ASSERT_TRUE(replayManager->IsPlaybackStateMismatching()); + ASSERT_TRUE(replayManager->IsPlaybackStateMismatching() == false); } } SUCCEED();