From 9c502ce8fc6d7260f6f0fd39254162f0f31aa7ad Mon Sep 17 00:00:00 2001 From: MatthewBeshay <92357869+MatthewBeshay@users.noreply.github.com> Date: Thu, 9 Apr 2026 19:28:57 +1000 Subject: [PATCH] refactor: route IPlatformGame and Leaderboard call sites through platform/ --- subprojects/simdutf.wrap | 2 +- targets/app/common/Game_XuiActions.cpp | 7 ++++--- targets/app/common/Network/GameNetworkManager.cpp | 7 ++++--- .../Scenes/Frontend Menu screens/UIScene_MainMenu.cpp | 3 ++- .../Containers/UIScene_AnvilMenu.cpp | 3 ++- .../Containers/UIScene_BeaconMenu.cpp | 3 ++- .../Containers/UIScene_BrewingStandMenu.cpp | 3 ++- .../Containers/UIScene_EnchantingMenu.cpp | 3 ++- .../Containers/UIScene_FurnaceMenu.cpp | 3 ++- .../Containers/UIScene_HorseInventoryMenu.cpp | 3 ++- .../Containers/UIScene_TradingMenu.cpp | 3 ++- .../In-Game Menu Screens/UIScene_CraftingMenu.cpp | 3 ++- targets/app/linux/LinuxGame.cpp | 3 ++- targets/app/windows/Windows64_App.cpp | 3 ++- targets/minecraft/stats/StatsCounter.cpp | 10 +++++----- 15 files changed, 36 insertions(+), 23 deletions(-) diff --git a/subprojects/simdutf.wrap b/subprojects/simdutf.wrap index 98153f2b7..47336fedf 100644 --- a/subprojects/simdutf.wrap +++ b/subprojects/simdutf.wrap @@ -1,7 +1,7 @@ [wrap-git] url = https://github.com/simdutf/simdutf.git depth = 1 -revision = v8.2.0 +revision = fd476229424b40ae71a58dd5a205795c3d76b5f1 patch_directory = simdutf [provide] diff --git a/targets/app/common/Game_XuiActions.cpp b/targets/app/common/Game_XuiActions.cpp index 673e52980..0616a5d7b 100644 --- a/targets/app/common/Game_XuiActions.cpp +++ b/targets/app/common/Game_XuiActions.cpp @@ -1,4 +1,5 @@ #include "app/common/Audio/SoundEngine.h" +#include "platform/game/game.h" #include "app/common/DLC/DLCManager.h" #include "app/common/Game.h" #include "app/common/GameRules/GameRuleManager.h" @@ -454,13 +455,13 @@ void Game::HandleXuiActions(void) { for (int j = 0; j < XUSER_MAX_COUNT; j++) { if (pMinecraft->localplayers[j]) { if (g_NetworkManager.IsLocalGame()) { - app.SetRichPresenceContext( + PlatformGame.SetRichPresenceContext( j, CONTEXT_GAME_STATE_BLANK); PlatformProfile.SetCurrentGameActivity( j, CONTEXT_PRESENCE_MULTIPLAYEROFFLINE, false); } else { - app.SetRichPresenceContext( + PlatformGame.SetRichPresenceContext( j, CONTEXT_GAME_STATE_BLANK); PlatformProfile.SetCurrentGameActivity( j, CONTEXT_PRESENCE_MULTIPLAYER, false); @@ -468,7 +469,7 @@ void Game::HandleXuiActions(void) { } } } else { - app.SetRichPresenceContext(i, CONTEXT_GAME_STATE_BLANK); + PlatformGame.SetRichPresenceContext(i, CONTEXT_GAME_STATE_BLANK); if (g_NetworkManager.IsLocalGame()) { PlatformProfile.SetCurrentGameActivity( i, CONTEXT_PRESENCE_MULTIPLAYER_1POFFLINE, diff --git a/targets/app/common/Network/GameNetworkManager.cpp b/targets/app/common/Network/GameNetworkManager.cpp index 99f39911d..22dd27316 100644 --- a/targets/app/common/Network/GameNetworkManager.cpp +++ b/targets/app/common/Network/GameNetworkManager.cpp @@ -1,4 +1,5 @@ #include "GameNetworkManager.h" +#include "platform/game/game.h" #include @@ -349,7 +350,7 @@ bool CGameNetworkManager::StartNetworkGame(Minecraft* minecraft, createdConnections.push_back(connection); int primaryPad = PlatformProfile.GetPrimaryPad(); - app.SetRichPresenceContext(primaryPad, CONTEXT_GAME_STATE_BLANK); + PlatformGame.SetRichPresenceContext(primaryPad, CONTEXT_GAME_STATE_BLANK); if (GetPlayerCount() > 1) // Are we offline or online, and how many players are there { @@ -451,7 +452,7 @@ bool CGameNetworkManager::StartNetworkGame(Minecraft* minecraft, if (g_NetworkManager.IsLeavingGame() || !IsInSession()) break; if (PlatformProfile.IsSignedIn(idx) && !connection->isClosed()) { - app.SetRichPresenceContext(idx, CONTEXT_GAME_STATE_BLANK); + PlatformGame.SetRichPresenceContext(idx, CONTEXT_GAME_STATE_BLANK); if (IsLocalGame()) PlatformProfile.SetCurrentGameActivity( idx, CONTEXT_PRESENCE_MULTIPLAYEROFFLINE, false); @@ -1221,7 +1222,7 @@ void CGameNetworkManager::PlayerJoining(INetworkPlayer* pNetworkPlayer) { g_NetworkManager.GetLocalPlayerByUserIndex(iPad); if (pNetworkPlayer == nullptr) continue; - app.SetRichPresenceContext(iPad, CONTEXT_GAME_STATE_BLANK); + PlatformGame.SetRichPresenceContext(iPad, CONTEXT_GAME_STATE_BLANK); if (multiplayer) { if (localgame) PlatformProfile.SetCurrentGameActivity( diff --git a/targets/app/common/UI/Scenes/Frontend Menu screens/UIScene_MainMenu.cpp b/targets/app/common/UI/Scenes/Frontend Menu screens/UIScene_MainMenu.cpp index 984bb95f3..7597058eb 100644 --- a/targets/app/common/UI/Scenes/Frontend Menu screens/UIScene_MainMenu.cpp +++ b/targets/app/common/UI/Scenes/Frontend Menu screens/UIScene_MainMenu.cpp @@ -1,5 +1,6 @@ #include "UIScene_MainMenu.h" +#include "platform/game/game.h" #include #include @@ -769,7 +770,7 @@ void UIScene_MainMenu::RunPlayGame(int iPad) { // clear the remembered signed in users so their profiles get read again app.ClearSignInChangeUsersMask(); - app.ReleaseSaveThumbnail(); + PlatformGame.ReleaseSaveThumbnail(); if (PlatformProfile.IsGuest(iPad)) { unsigned int uiIDA[1]; diff --git a/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_AnvilMenu.cpp b/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_AnvilMenu.cpp index 5bcbfa26d..0524a9715 100644 --- a/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_AnvilMenu.cpp +++ b/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_AnvilMenu.cpp @@ -1,5 +1,6 @@ #include "UIScene_AnvilMenu.h" +#include "platform/game/game.h" #include #include @@ -92,7 +93,7 @@ UIScene_AnvilMenu::UIScene_AnvilMenu(int iPad, void* _initData, setIgnoreInput(false); - app.SetRichPresenceContext(iPad, CONTEXT_GAME_STATE_ANVIL); + PlatformGame.SetRichPresenceContext(iPad, CONTEXT_GAME_STATE_ANVIL); } std::string UIScene_AnvilMenu::getMoviePath() { diff --git a/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_BeaconMenu.cpp b/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_BeaconMenu.cpp index a3ea7c513..4dc84968d 100644 --- a/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_BeaconMenu.cpp +++ b/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_BeaconMenu.cpp @@ -1,4 +1,5 @@ #include "UIScene_BeaconMenu.h" +#include "platform/game/game.h" #include @@ -61,7 +62,7 @@ UIScene_BeaconMenu::UIScene_BeaconMenu(int iPad, void* _initData, m_slotListActivatorIcons.addSlots(m_menu->getSize(), 4); - // app.SetRichPresenceContext(m_iPad,CONTEXT_GAME_STATE_BEACON); + // PlatformGame.SetRichPresenceContext(m_iPad,CONTEXT_GAME_STATE_BEACON); delete initData; } diff --git a/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_BrewingStandMenu.cpp b/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_BrewingStandMenu.cpp index e210f2abc..c5e716adf 100644 --- a/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_BrewingStandMenu.cpp +++ b/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_BrewingStandMenu.cpp @@ -1,4 +1,5 @@ #include "UIScene_BrewingStandMenu.h" +#include "platform/game/game.h" #include @@ -61,7 +62,7 @@ UIScene_BrewingStandMenu::UIScene_BrewingStandMenu(int iPad, void* _initData, if (initData) delete initData; - app.SetRichPresenceContext(iPad, CONTEXT_GAME_STATE_BREWING); + PlatformGame.SetRichPresenceContext(iPad, CONTEXT_GAME_STATE_BREWING); } std::string UIScene_BrewingStandMenu::getMoviePath() { diff --git a/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_EnchantingMenu.cpp b/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_EnchantingMenu.cpp index 1643bd549..3f36371d9 100644 --- a/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_EnchantingMenu.cpp +++ b/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_EnchantingMenu.cpp @@ -1,5 +1,6 @@ #include "UIScene_EnchantingMenu.h" +#include "platform/game/game.h" #include @@ -55,7 +56,7 @@ UIScene_EnchantingMenu::UIScene_EnchantingMenu(int iPad, void* _initData, m_slotListIngredient.addSlots(EnchantmentMenu::INGREDIENT_SLOT, 1); - app.SetRichPresenceContext(m_iPad, CONTEXT_GAME_STATE_ENCHANTING); + PlatformGame.SetRichPresenceContext(m_iPad, CONTEXT_GAME_STATE_ENCHANTING); delete initData; } diff --git a/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_FurnaceMenu.cpp b/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_FurnaceMenu.cpp index 205049a6a..424906cdc 100644 --- a/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_FurnaceMenu.cpp +++ b/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_FurnaceMenu.cpp @@ -1,5 +1,6 @@ #include "UIScene_FurnaceMenu.h" +#include "platform/game/game.h" #include @@ -53,7 +54,7 @@ UIScene_FurnaceMenu::UIScene_FurnaceMenu(int iPad, void* _initData, m_slotListIngredient.addSlots(FurnaceMenu::INGREDIENT_SLOT, 1); m_slotListResult.addSlots(FurnaceMenu::RESULT_SLOT, 1); - app.SetRichPresenceContext(m_iPad, CONTEXT_GAME_STATE_FORGING); + PlatformGame.SetRichPresenceContext(m_iPad, CONTEXT_GAME_STATE_FORGING); delete initData; } diff --git a/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_HorseInventoryMenu.cpp b/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_HorseInventoryMenu.cpp index baf7dcd44..bedddb31b 100644 --- a/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_HorseInventoryMenu.cpp +++ b/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_HorseInventoryMenu.cpp @@ -1,4 +1,5 @@ #include "UIScene_HorseInventoryMenu.h" +#include "platform/game/game.h" #include @@ -77,7 +78,7 @@ UIScene_HorseInventoryMenu::UIScene_HorseInventoryMenu(int iPad, setIgnoreInput(false); - // app.SetRichPresenceContext(iPad, CONTEXT_GAME_STATE_HORSE); + // PlatformGame.SetRichPresenceContext(iPad, CONTEXT_GAME_STATE_HORSE); } std::string UIScene_HorseInventoryMenu::getMoviePath() { diff --git a/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_TradingMenu.cpp b/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_TradingMenu.cpp index d596257ea..6bf22ea8b 100644 --- a/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_TradingMenu.cpp +++ b/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_TradingMenu.cpp @@ -1,5 +1,6 @@ #include "UIScene_TradingMenu.h" +#include "platform/game/game.h" #include #include @@ -83,7 +84,7 @@ UIScene_TradingMenu::UIScene_TradingMenu(int iPad, void* _initData, ui.OverrideSFX(m_iPad, ACTION_MENU_UP, true); ui.OverrideSFX(m_iPad, ACTION_MENU_DOWN, true); - app.SetRichPresenceContext(iPad, CONTEXT_GAME_STATE_TRADING); + PlatformGame.SetRichPresenceContext(iPad, CONTEXT_GAME_STATE_TRADING); } std::string UIScene_TradingMenu::getMoviePath() { diff --git a/targets/app/common/UI/Scenes/In-Game Menu Screens/UIScene_CraftingMenu.cpp b/targets/app/common/UI/Scenes/In-Game Menu Screens/UIScene_CraftingMenu.cpp index 00cc12cb6..a16e0ce03 100644 --- a/targets/app/common/UI/Scenes/In-Game Menu Screens/UIScene_CraftingMenu.cpp +++ b/targets/app/common/UI/Scenes/In-Game Menu Screens/UIScene_CraftingMenu.cpp @@ -1,5 +1,6 @@ #include "UIScene_CraftingMenu.h" +#include "platform/game/game.h" #include "app/common/Tutorial/Tutorial.h" #include "app/common/Tutorial/TutorialEnum.h" @@ -118,7 +119,7 @@ UIScene_CraftingMenu::UIScene_CraftingMenu(int iPad, void* _initData, #endif - app.SetRichPresenceContext(m_iPad, CONTEXT_GAME_STATE_CRAFTING); + PlatformGame.SetRichPresenceContext(m_iPad, CONTEXT_GAME_STATE_CRAFTING); setGroupText(GetGroupNameText(m_pGroupA[m_iGroupIndex])); // Update the tutorial state diff --git a/targets/app/linux/LinuxGame.cpp b/targets/app/linux/LinuxGame.cpp index 54fc0830b..978d9f9cc 100644 --- a/targets/app/linux/LinuxGame.cpp +++ b/targets/app/linux/LinuxGame.cpp @@ -1,4 +1,5 @@ #include "LinuxGame.h" +#include "platform/game/game.h" #include @@ -51,7 +52,7 @@ void LinuxGame::TemporaryCreateGameStart() { // From CScene_Main::RunPlayGame Minecraft* pMinecraft = Minecraft::GetInstance(); - app.ReleaseSaveThumbnail(); + PlatformGame.ReleaseSaveThumbnail(); PlatformProfile.SetLockedProfile(0); pMinecraft->user->name = "Windows"; app.ApplyGameSettingsChanged(0); diff --git a/targets/app/windows/Windows64_App.cpp b/targets/app/windows/Windows64_App.cpp index bf7a50f45..59198d4c5 100644 --- a/targets/app/windows/Windows64_App.cpp +++ b/targets/app/windows/Windows64_App.cpp @@ -1,5 +1,6 @@  #include "WindowsGame.h" +#include "platform/game/game.h" #include "app/common/Game.h" #include "minecraft/client/Minecraft.h" #include "minecraft/client/User.h" @@ -42,7 +43,7 @@ void WindowsGame::TemporaryCreateGameStart() { // From CScene_Main::RunPlayGame Minecraft* pMinecraft = Minecraft::GetInstance(); - app.ReleaseSaveThumbnail(); + PlatformGame.ReleaseSaveThumbnail(); PlatformProfile.SetLockedProfile(0); pMinecraft->user->name = "Windows"; app.ApplyGameSettingsChanged(0); diff --git a/targets/minecraft/stats/StatsCounter.cpp b/targets/minecraft/stats/StatsCounter.cpp index c8f496e84..6af5727f2 100644 --- a/targets/minecraft/stats/StatsCounter.cpp +++ b/targets/minecraft/stats/StatsCounter.cpp @@ -10,8 +10,8 @@ #include #include "app/common/App_structs.h" -#include "app/common/Leaderboards/LeaderboardManager.h" #include "app/linux/LinuxGame.h" +#include "platform/leaderboard/leaderboard.h" #include "minecraft/stats/Achievement.h" #include "minecraft/stats/Achievements.h" #include "minecraft/stats/GenericStats.h" @@ -248,9 +248,9 @@ void StatsCounter::save(int player, bool force) { } void StatsCounter::flushLeaderboards() { - if (LeaderboardManager::Instance()->OpenSession()) { + if (PlatformLeaderboard.OpenSession()) { writeStats(); - LeaderboardManager::Instance()->FlushStats(); + PlatformLeaderboard.FlushStats(); } else { Log::info( "Failed to open a session in order to write to leaderboard\n"); @@ -264,9 +264,9 @@ void StatsCounter::flushLeaderboards() { } void StatsCounter::saveLeaderboards() { - if (LeaderboardManager::Instance()->OpenSession()) { + if (PlatformLeaderboard.OpenSession()) { writeStats(); - LeaderboardManager::Instance()->CloseSession(); + PlatformLeaderboard.CloseSession(); } else { Log::info( "Failed to open a session in order to write to leaderboard\n");