From f5f599764d8bdcb4a439ad8a39581f78e5de264c Mon Sep 17 00:00:00 2001 From: EmosewaMC <39972741+EmosewaMC@users.noreply.github.com> Date: Tue, 30 May 2023 04:23:48 -0700 Subject: [PATCH] more const and views --- dGame/LeaderboardManager.cpp | 26 ++++++++------------------ dGame/LeaderboardManager.h | 2 +- dGame/dGameMessages/GameMessages.cpp | 2 +- dGame/dGameMessages/GameMessages.h | 2 +- 4 files changed, 11 insertions(+), 21 deletions(-) diff --git a/dGame/LeaderboardManager.cpp b/dGame/LeaderboardManager.cpp index 3af5abce..695978fb 100644 --- a/dGame/LeaderboardManager.cpp +++ b/dGame/LeaderboardManager.cpp @@ -149,7 +149,7 @@ void Leaderboard::QueryToLdf(std::unique_ptr& rows) { } const std::string_view Leaderboard::GetColumns(Leaderboard::Type leaderboardType) { - std::string columns; + const char* columns; switch (leaderboardType) { case Type::ShootingGallery: columns = "hitPercentage, score, streak"; @@ -157,12 +157,11 @@ const std::string_view Leaderboard::GetColumns(Leaderboard::Type leaderboardType case Type::Racing: columns = "bestLapTime, bestTime, numWins"; break; + case Type::Donations: case Type::UnusedLeaderboard4: columns = "score"; break; case Type::MonumentRace: - columns = "bestTime"; - break; case Type::FootRace: columns = "bestTime"; break; @@ -172,9 +171,6 @@ const std::string_view Leaderboard::GetColumns(Leaderboard::Type leaderboardType case Type::SurvivalNS: columns = "bestTime, score"; break; - case Type::Donations: - columns = "score"; - break; case Type::None: // This type is included here simply to resolve a compiler warning on mac about unused enum types break; @@ -183,7 +179,7 @@ const std::string_view Leaderboard::GetColumns(Leaderboard::Type leaderboardType } const std::string_view Leaderboard::GetInsertFormat(Leaderboard::Type leaderboardType) { - std::string columns; + const char* columns; switch (leaderboardType) { case Type::ShootingGallery: columns = "score=%i, hitPercentage=%i, streak=%i"; @@ -191,12 +187,11 @@ const std::string_view Leaderboard::GetInsertFormat(Leaderboard::Type leaderboar case Type::Racing: columns = "bestLapTime=%i, bestTime=%i, numWins=numWins + %i"; break; + case Type::Donations: case Type::UnusedLeaderboard4: columns = "score=%i"; break; case Type::MonumentRace: - columns = "bestTime=%i"; - break; case Type::FootRace: columns = "bestTime=%i"; break; @@ -206,9 +201,6 @@ const std::string_view Leaderboard::GetInsertFormat(Leaderboard::Type leaderboar case Type::SurvivalNS: columns = "bestTime=%i, score=%i"; break; - case Type::Donations: - columns = "score=%i"; - break; case Type::None: // This type is included here simply to resolve a compiler warning on mac about unused enum types break; @@ -217,7 +209,7 @@ const std::string_view Leaderboard::GetInsertFormat(Leaderboard::Type leaderboar } const std::string_view Leaderboard::GetOrdering(Leaderboard::Type leaderboardType) { - std::string orderBase; + const char* orderBase; switch (leaderboardType) { case Type::ShootingGallery: orderBase = "score DESC, streak DESC, hitPercentage DESC"; @@ -225,6 +217,7 @@ const std::string_view Leaderboard::GetOrdering(Leaderboard::Type leaderboardTyp case Type::Racing: orderBase = "bestTime ASC, bestLapTime ASC, numWins DESC"; break; + case Type::Donations: case Type::UnusedLeaderboard4: orderBase = "score DESC"; break; @@ -240,9 +233,6 @@ const std::string_view Leaderboard::GetOrdering(Leaderboard::Type leaderboardTyp case Type::SurvivalNS: orderBase = "bestTime DESC, score DESC"; break; - case Type::Donations: - orderBase = "score DESC"; - break; case Type::None: // This type is included here simply to resolve a compiler warning on mac about unused enum types break; @@ -352,7 +342,7 @@ void Leaderboard::SetupLeaderboard(uint32_t resultStart, uint32_t resultEnd) { QueryToLdf(result); } -void Leaderboard::Send(LWOOBJID targetID) { +void Leaderboard::Send(const LWOOBJID targetID) const { auto* player = EntityManager::Instance()->GetEntity(relatedPlayer); if (player != nullptr) { GameMessages::SendActivitySummaryLeaderboardData(targetID, this, player->GetSystemAddress()); @@ -465,7 +455,7 @@ Leaderboard::Type LeaderboardManager::GetLeaderboardType(const GameID gameID) { auto* activitiesTable = CDClientManager::Instance().GetTable(); std::vector activities = activitiesTable->Query([=](const CDActivities& entry) { - return (entry.ActivityID == gameID); + return entry.ActivityID == gameID; }); auto type = !activities.empty() ? static_cast(activities.at(0).leaderboardType) : Leaderboard::Type::None; leaderboardCache.insert_or_assign(gameID, type); diff --git a/dGame/LeaderboardManager.h b/dGame/LeaderboardManager.h index 0d810a67..8f39aac4 100644 --- a/dGame/LeaderboardManager.h +++ b/dGame/LeaderboardManager.h @@ -72,7 +72,7 @@ public: /** * Sends the leaderboard to the client specified by targetID. */ - void Send(LWOOBJID targetID); + void Send(const LWOOBJID targetID) const; // Helper functions to get the columns, ordering and insert format for a leaderboard static const std::string_view GetColumns(Type leaderboardType); diff --git a/dGame/dGameMessages/GameMessages.cpp b/dGame/dGameMessages/GameMessages.cpp index 5deeb393..b78cacda 100644 --- a/dGame/dGameMessages/GameMessages.cpp +++ b/dGame/dGameMessages/GameMessages.cpp @@ -1639,7 +1639,7 @@ void GameMessages::HandleActivitySummaryLeaderboardData(RakNet::BitStream* instr Game::logger->Log("AGS", "We got mail!"); } -void GameMessages::SendActivitySummaryLeaderboardData(const LWOOBJID& objectID, Leaderboard* leaderboard, const SystemAddress& sysAddr) { +void GameMessages::SendActivitySummaryLeaderboardData(const LWOOBJID& objectID, const Leaderboard* leaderboard, const SystemAddress& sysAddr) { CBITSTREAM; CMSGHEADER; diff --git a/dGame/dGameMessages/GameMessages.h b/dGame/dGameMessages/GameMessages.h index d64248e4..7e7a8f70 100644 --- a/dGame/dGameMessages/GameMessages.h +++ b/dGame/dGameMessages/GameMessages.h @@ -561,7 +561,7 @@ namespace GameMessages { void SendUpdateReputation(const LWOOBJID objectId, const int64_t reputation, const SystemAddress& sysAddr); // Leaderboards - void SendActivitySummaryLeaderboardData(const LWOOBJID& objectID, Leaderboard* leaderboard, + void SendActivitySummaryLeaderboardData(const LWOOBJID& objectID, const Leaderboard* leaderboard, const SystemAddress& sysAddr = UNASSIGNED_SYSTEM_ADDRESS); void HandleActivitySummaryLeaderboardData(RakNet::BitStream* instream, Entity* entity, const SystemAddress& sysAddr); void SendRequestActivitySummaryLeaderboardData(const LWOOBJID& objectID, const LWOOBJID& targetID,