From 08d8e341b941f0924d8163be1b2de99516252956 Mon Sep 17 00:00:00 2001 From: MatthewBeshay <92357869+MatthewBeshay@users.noreply.github.com> Date: Thu, 9 Apr 2026 19:35:47 +1000 Subject: [PATCH] refactor: stop inheriting Game from IPlatformGame and delete the override stubs --- targets/app/common/AppGameServices.cpp | 11 +++++++---- targets/app/common/Game.h | 22 +--------------------- targets/app/linux/LinuxGame.cpp | 23 ----------------------- targets/app/linux/LinuxGame.h | 24 ------------------------ targets/app/windows/Windows64_App.cpp | 26 -------------------------- targets/app/windows/WindowsGame.h | 21 --------------------- 6 files changed, 8 insertions(+), 119 deletions(-) diff --git a/targets/app/common/AppGameServices.cpp b/targets/app/common/AppGameServices.cpp index 139d6af18..74ce03d03 100644 --- a/targets/app/common/AppGameServices.cpp +++ b/targets/app/common/AppGameServices.cpp @@ -2,6 +2,7 @@ #include "app/common/Game.h" #include "java/Class.h" // eINSTANCEOF +#include "platform/game/game.h" AppGameServices::AppGameServices(Game& game, IMenuService& menus) : game_(game), menus_(menus) {} @@ -262,19 +263,21 @@ bool AppGameServices::isXuidDeadmau5(PlayerUID xuid) { void AppGameServices::fatalLoadError() { game_.FatalLoadError(); } void AppGameServices::setRichPresenceContext(int iPad, int contextId) { - game_.SetRichPresenceContext(iPad, contextId); + PlatformGame.SetRichPresenceContext(iPad, contextId); } -void AppGameServices::captureSaveThumbnail() { game_.CaptureSaveThumbnail(); } +void AppGameServices::captureSaveThumbnail() { + PlatformGame.CaptureSaveThumbnail(); +} void AppGameServices::getSaveThumbnail(std::uint8_t** data, unsigned int* size) { - game_.GetSaveThumbnail(data, size); + PlatformGame.GetSaveThumbnail(data, size); } void AppGameServices::readBannedList(int iPad, eTMSAction action, bool bCallback) { - game_.ReadBannedList(iPad, action, bCallback); + PlatformGame.ReadBannedList(iPad, action, bCallback); } void AppGameServices::updatePlayerInfo(std::uint8_t networkSmallId, diff --git a/targets/app/common/Game.h b/targets/app/common/Game.h index b320fd0be..c31ea2c70 100644 --- a/targets/app/common/Game.h +++ b/targets/app/common/Game.h @@ -18,7 +18,6 @@ #include "app/common/DebugOptions.h" #include "app/common/GameRules/GameRuleManager.h" #include "app/common/GameSettingsManager.h" -#include "platform/game/IPlatformGame.h" #include "app/common/LocalizationManager.h" #include "app/common/MenuController.h" #include "app/common/NetworkController.h" @@ -62,7 +61,7 @@ class Merchant; class CMinecraftAudio; -class Game : public IPlatformGame { +class Game { public: Game(); @@ -359,7 +358,6 @@ public: const int iPad) { return m_gameSettingsManager.setDefaultOptions(pSettings, iPad); } - void SetRichPresenceContext(int iPad, int contextId) override = 0; void SetGameSettings(int iPad, eGameSetting eVal, unsigned char ucVal) { m_gameSettingsManager.setGameSettings(iPad, eVal, ucVal); @@ -896,17 +894,6 @@ public: void ReadXuidsFileFromTMS(int iPad, eTMSAction action, bool bCallback = false); - // images for save thumbnail/social post - void CaptureSaveThumbnail() override = 0; - void GetSaveThumbnail(std::uint8_t** thumbnailData, - unsigned int* thumbnailSize) override = 0; - void ReleaseSaveThumbnail() override = 0; - void GetScreenshot(int iPad, std::uint8_t** screenshotData, - unsigned int* screenshotSize) override = 0; - - void ReadBannedList(int iPad, eTMSAction action = (eTMSAction)0, - bool bCallback = false) override = 0; - // DLC data members moved to DLCController // Sign-in info moved to NetworkController @@ -1150,13 +1137,6 @@ public: return SkinManager::getSkinPathFromId(skinId); } - int LoadLocalTMSFile(char* wchTMSFile) override = 0; - int LoadLocalTMSFile(char* wchTMSFile, - eFileExtensionType eExt) override = 0; - void FreeLocalTMSFiles(eTMSFileType eType) override = 0; - int GetLocalTMSFileIndex(char* wchTMSFile, bool bFilenameIncludesExtension, - eFileExtensionType eEXT) override = 0; - virtual bool GetTMSGlobalFileListRead() { return true; } virtual bool GetTMSDLCInfoRead() { return true; } virtual bool GetTMSXUIDsFileRead() { return true; } diff --git a/targets/app/linux/LinuxGame.cpp b/targets/app/linux/LinuxGame.cpp index 978d9f9cc..7dd6381a5 100644 --- a/targets/app/linux/LinuxGame.cpp +++ b/targets/app/linux/LinuxGame.cpp @@ -24,8 +24,6 @@ LinuxGame app; LinuxGame::LinuxGame() : Game() {} -void LinuxGame::SetRichPresenceContext(int iPad, int contextId) {} - void LinuxGame::StoreLaunchData() {} void LinuxGame::ExitGame() { app.DebugPrintf("Linux_App LinuxGame::ExitGame AFTER START\n"); @@ -36,14 +34,6 @@ void LinuxGame::FatalLoadError() { assert(0); } -void LinuxGame::CaptureSaveThumbnail() {} -void LinuxGame::GetSaveThumbnail(std::uint8_t** thumbnailData, - unsigned int* thumbnailSize) {} -void LinuxGame::ReleaseSaveThumbnail() {} - -void LinuxGame::GetScreenshot(int iPad, std::uint8_t** screenshotData, - unsigned int* screenshotSize) {} - void LinuxGame::TemporaryCreateGameStart() { ////////////////////////////////////////////////////////////////////////////////////////////// /// From CScene_Main::OnInit @@ -120,16 +110,3 @@ void LinuxGame::TemporaryCreateGameStart() { thread->run(); } -int LinuxGame::GetLocalTMSFileIndex(char* wchTMSFile, - bool bFilenameIncludesExtension, - eFileExtensionType eEXT) { - return -1; -} - -int LinuxGame::LoadLocalTMSFile(char* wchTMSFile) { return -1; } - -int LinuxGame::LoadLocalTMSFile(char* wchTMSFile, eFileExtensionType eExt) { - return -1; -} - -void LinuxGame::FreeLocalTMSFiles(eTMSFileType eType) {} diff --git a/targets/app/linux/LinuxGame.h b/targets/app/linux/LinuxGame.h index 528dfde4e..c2dab570d 100644 --- a/targets/app/linux/LinuxGame.h +++ b/targets/app/linux/LinuxGame.h @@ -1,8 +1,5 @@ #pragma once -#include - -#include "minecraft/GameEnums.h" #include "app/common/Game.h" class C4JStringTable; @@ -11,31 +8,10 @@ class LinuxGame : public Game { public: LinuxGame(); - void SetRichPresenceContext(int iPad, int contextId) override; - void StoreLaunchData() override; void ExitGame() override; void FatalLoadError() override; - void CaptureSaveThumbnail() override; - void GetSaveThumbnail(std::uint8_t** thumbnailData, - unsigned int* thumbnailSize) override; - void ReleaseSaveThumbnail() override; - void GetScreenshot(int iPad, std::uint8_t** screenshotData, - unsigned int* screenshotSize) override; - - int LoadLocalTMSFile(char* wchTMSFile) override; - int LoadLocalTMSFile(char* wchTMSFile, - eFileExtensionType eExt) override; - - void FreeLocalTMSFiles(eTMSFileType eType) override; - int GetLocalTMSFileIndex( - char* wchTMSFile, bool bFilenameIncludesExtension, - eFileExtensionType eEXT = eFileExtensionType_PNG) override; - - void ReadBannedList(int iPad, eTMSAction action = (eTMSAction)0, - bool bCallback = false) override {} - C4JStringTable* GetStringTable() { return nullptr; } // original code diff --git a/targets/app/windows/Windows64_App.cpp b/targets/app/windows/Windows64_App.cpp index 59198d4c5..5d7ac43bd 100644 --- a/targets/app/windows/Windows64_App.cpp +++ b/targets/app/windows/Windows64_App.cpp @@ -18,23 +18,10 @@ WindowsGame app; WindowsGame::WindowsGame() : Game() {} -void WindowsGame::SetRichPresenceContext(int iPad, int contextId) { - PlatformProfile.SetRichPresenceContextValue(iPad, CONTEXT_GAME_STATE, - contextId); -} - void WindowsGame::StoreLaunchData() {} void WindowsGame::ExitGame() {} void WindowsGame::FatalLoadError() {} -void WindowsGame::CaptureSaveThumbnail() {} -void WindowsGame::GetSaveThumbnail(std::uint8_t** thumbnailData, - unsigned int* thumbnailSize) {} -void WindowsGame::ReleaseSaveThumbnail() {} - -void WindowsGame::GetScreenshot(int iPad, std::uint8_t** screenshotData, - unsigned int* screenshotSize) {} - void WindowsGame::TemporaryCreateGameStart() { ////////////////////////////////////////////////////////////////////////////////////////////// /// From CScene_Main::OnInit @@ -111,16 +98,3 @@ void WindowsGame::TemporaryCreateGameStart() { thread->run(); } -int WindowsGame::GetLocalTMSFileIndex(char* wchTMSFile, - bool bFilenameIncludesExtension, - eFileExtensionType eEXT) { - return -1; -} - -int WindowsGame::LoadLocalTMSFile(char* wchTMSFile) { return -1; } - -int WindowsGame::LoadLocalTMSFile(char* wchTMSFile, eFileExtensionType eExt) { - return -1; -} - -void WindowsGame::FreeLocalTMSFiles(eTMSFileType eType) {} diff --git a/targets/app/windows/WindowsGame.h b/targets/app/windows/WindowsGame.h index d7a31afc6..8531137bc 100644 --- a/targets/app/windows/WindowsGame.h +++ b/targets/app/windows/WindowsGame.h @@ -4,31 +4,10 @@ class WindowsGame : public Game { public: WindowsGame(); - virtual void SetRichPresenceContext(int iPad, int contextId); - virtual void StoreLaunchData(); virtual void ExitGame(); virtual void FatalLoadError(); - virtual void CaptureSaveThumbnail(); - virtual void GetSaveThumbnail(std::uint8_t** thumbnailData, - unsigned int* thumbnailSize); - virtual void ReleaseSaveThumbnail(); - virtual void GetScreenshot(int iPad, std::uint8_t** screenshotData, - unsigned int* screenshotSize); - - virtual int LoadLocalTMSFile(char* wchTMSFile); - virtual int LoadLocalTMSFile(char* wchTMSFile, eFileExtensionType eExt); - - virtual void FreeLocalTMSFiles(eTMSFileType eType); - virtual int GetLocalTMSFileIndex( - char* wchTMSFile, bool bFilenameIncludesExtension, - eFileExtensionType eEXT = eFileExtensionType_PNG); - - // BANNED LEVEL LIST - virtual void ReadBannedList(int iPad, eTMSAction action = (eTMSAction)0, - bool bCallback = false) {} - C4JStringTable* GetStringTable() { return nullptr; } // original code