From f187f89dc3a73d689ad4dbeef2107ed2693d9d89 Mon Sep 17 00:00:00 2001 From: notmatthewbeshay <92357869+NotMachow@users.noreply.github.com> Date: Wed, 11 Mar 2026 16:29:02 +1100 Subject: [PATCH] Use standard thumbnail callbacks in storage --- 4J.Storage/4J_Storage.cpp | 2 +- 4J.Storage/4J_Storage.h | 2 +- .../Platform/Common/Network/Sony/SonyRemoteStorage.cpp | 8 ++++---- .../Platform/Common/Network/Sony/SonyRemoteStorage.h | 6 ++++-- .../Common/UI/UIScene_InGameSaveManagementMenu.cpp | 4 ++-- Minecraft.Client/Platform/Common/UI/UIScene_LoadMenu.cpp | 4 ++-- .../Platform/Common/UI/UIScene_LoadOrJoinMenu.cpp | 4 ++-- 7 files changed, 16 insertions(+), 14 deletions(-) diff --git a/4J.Storage/4J_Storage.cpp b/4J.Storage/4J_Storage.cpp index 92d9f77cc..50c11bbb8 100644 --- a/4J.Storage/4J_Storage.cpp +++ b/4J.Storage/4J_Storage.cpp @@ -45,7 +45,7 @@ void C4JStorage::SetSaveMessageVPosition(float fY) {} C4JStorage::ESaveGameState C4JStorage::GetSavesInfo(int iPad, int(*Func)(void *lpParam, SAVE_DETAILS *pSaveDetails, const bool), void *lpParam, char *pszSavePackName) { return ESaveGame_Idle; } PSAVE_DETAILS C4JStorage::ReturnSavesInfo() { return nullptr; } void C4JStorage::ClearSavesInfo() {} -C4JStorage::ESaveGameState C4JStorage::LoadSaveDataThumbnail(PSAVE_INFO pSaveInfo, int(*Func)(void *lpParam, PBYTE pbThumbnail, DWORD dwThumbnailBytes), void *lpParam) { return ESaveGame_Idle; } +C4JStorage::ESaveGameState C4JStorage::LoadSaveDataThumbnail(PSAVE_INFO pSaveInfo, int(*Func)(void *lpParam, std::uint8_t *thumbnailData, unsigned int thumbnailBytes), void *lpParam) { return ESaveGame_Idle; } void C4JStorage::GetSaveCacheFileInfo(DWORD dwFile, XCONTENT_DATA &xContentData) { memset(&xContentData, 0, sizeof(xContentData)); } void C4JStorage::GetSaveCacheFileInfo(DWORD dwFile, PBYTE *ppbImageData, DWORD *pdwImageBytes) { if (ppbImageData) *ppbImageData = nullptr; if (pdwImageBytes) *pdwImageBytes = 0; } C4JStorage::ESaveGameState C4JStorage::LoadSaveData(PSAVE_INFO pSaveInfo, int(*Func)(void *lpParam, const bool, const bool), void *lpParam) { return ESaveGame_Idle; } diff --git a/4J.Storage/4J_Storage.h b/4J.Storage/4J_Storage.h index 5eebb844a..973352e6b 100644 --- a/4J.Storage/4J_Storage.h +++ b/4J.Storage/4J_Storage.h @@ -278,7 +278,7 @@ public: C4JStorage::ESaveGameState GetSavesInfo(int iPad,int ( *Func)(void *lpParam,SAVE_DETAILS *pSaveDetails,const bool),void *lpParam,char *pszSavePackName); PSAVE_DETAILS ReturnSavesInfo(); void ClearSavesInfo(); // Clears results - C4JStorage::ESaveGameState LoadSaveDataThumbnail(PSAVE_INFO pSaveInfo,int( *Func)(void *lpParam,PBYTE pbThumbnail,DWORD dwThumbnailBytes), void *lpParam); // Get the thumbnail for an individual save referenced by pSaveInfo + C4JStorage::ESaveGameState LoadSaveDataThumbnail(PSAVE_INFO pSaveInfo,int( *Func)(void *lpParam,std::uint8_t *thumbnailData,unsigned int thumbnailBytes), void *lpParam); // Get the thumbnail for an individual save referenced by pSaveInfo void GetSaveCacheFileInfo(DWORD dwFile,XCONTENT_DATA &xContentData); void GetSaveCacheFileInfo(DWORD dwFile, PBYTE *ppbImageData, DWORD *pdwImageBytes); diff --git a/Minecraft.Client/Platform/Common/Network/Sony/SonyRemoteStorage.cpp b/Minecraft.Client/Platform/Common/Network/Sony/SonyRemoteStorage.cpp index ba34c8e5f..a1e6d3e1d 100644 --- a/Minecraft.Client/Platform/Common/Network/Sony/SonyRemoteStorage.cpp +++ b/Minecraft.Client/Platform/Common/Network/Sony/SonyRemoteStorage.cpp @@ -238,7 +238,7 @@ bool SonyRemoteStorage::setData( PSAVE_INFO info, CallbackFunc cb, LPVOID lpPara return true; } -int SonyRemoteStorage::LoadSaveDataThumbnailReturned(LPVOID lpParam,PBYTE pbThumbnail,DWORD dwThumbnailBytes) +int SonyRemoteStorage::LoadSaveDataThumbnailReturned(void *lpParam,std::uint8_t *thumbnailData,unsigned int thumbnailBytes) { SonyRemoteStorage *pClass= (SonyRemoteStorage *)lpParam; @@ -250,10 +250,10 @@ int SonyRemoteStorage::LoadSaveDataThumbnailReturned(LPVOID lpParam,PBYTE pbThum app.DebugPrintf("Received data for a thumbnail\n"); - if(pbThumbnail && dwThumbnailBytes) + if(thumbnailData && thumbnailBytes) { - pClass->m_thumbnailData = pbThumbnail; - pClass->m_thumbnailDataSize = dwThumbnailBytes; + pClass->m_thumbnailData = thumbnailData; + pClass->m_thumbnailDataSize = thumbnailBytes; } else { diff --git a/Minecraft.Client/Platform/Common/Network/Sony/SonyRemoteStorage.h b/Minecraft.Client/Platform/Common/Network/Sony/SonyRemoteStorage.h index 6e0a4b105..087b4d484 100644 --- a/Minecraft.Client/Platform/Common/Network/Sony/SonyRemoteStorage.h +++ b/Minecraft.Client/Platform/Common/Network/Sony/SonyRemoteStorage.h @@ -3,6 +3,8 @@ #include "sceRemoteStorage/header/sceRemoteStorage.h" +#include + class SonyRemoteStorage { public: @@ -94,7 +96,7 @@ public: bool setData( PSAVE_INFO info, CallbackFunc cb, LPVOID lpParam ); - static int LoadSaveDataThumbnailReturned(LPVOID lpParam,PBYTE pbThumbnail,DWORD dwThumbnailBytes); + static int LoadSaveDataThumbnailReturned(void *lpParam,std::uint8_t *thumbnailData,unsigned int thumbnailBytes); static int setDataThread(void* lpParam); SonyRemoteStorage() : m_memPoolBuffer(NULL), m_bInitialised(false),m_getInfoStatus(e_noInfoFound) {} @@ -107,7 +109,7 @@ protected: int m_dataProgress; char *m_pchServiceID; - PBYTE m_thumbnailData; + std::uint8_t *m_thumbnailData; unsigned int m_thumbnailDataSize; C4JThread* m_SetDataThread; PSAVE_INFO m_setDataSaveInfo; diff --git a/Minecraft.Client/Platform/Common/UI/UIScene_InGameSaveManagementMenu.cpp b/Minecraft.Client/Platform/Common/UI/UIScene_InGameSaveManagementMenu.cpp index faaecf340..dd30006c1 100644 --- a/Minecraft.Client/Platform/Common/UI/UIScene_InGameSaveManagementMenu.cpp +++ b/Minecraft.Client/Platform/Common/UI/UIScene_InGameSaveManagementMenu.cpp @@ -8,9 +8,9 @@ namespace { -int LoadSaveDataThumbnailReturnedThunk(void *lpParam, PBYTE pbThumbnail, DWORD dwThumbnailBytes) +int LoadSaveDataThumbnailReturnedThunk(void *lpParam, std::uint8_t *thumbnailData, unsigned int thumbnailBytes) { - return UIScene_InGameSaveManagementMenu::LoadSaveDataThumbnailReturned(lpParam, reinterpret_cast(pbThumbnail), dwThumbnailBytes); + return UIScene_InGameSaveManagementMenu::LoadSaveDataThumbnailReturned(lpParam, thumbnailData, thumbnailBytes); } } diff --git a/Minecraft.Client/Platform/Common/UI/UIScene_LoadMenu.cpp b/Minecraft.Client/Platform/Common/UI/UIScene_LoadMenu.cpp index d4df5a4e7..9900ef8c5 100644 --- a/Minecraft.Client/Platform/Common/UI/UIScene_LoadMenu.cpp +++ b/Minecraft.Client/Platform/Common/UI/UIScene_LoadMenu.cpp @@ -25,9 +25,9 @@ namespace { -int LoadSaveDataThumbnailReturnedThunk(void *lpParam, PBYTE pbThumbnail, DWORD dwThumbnailBytes) +int LoadSaveDataThumbnailReturnedThunk(void *lpParam, std::uint8_t *thumbnailData, unsigned int thumbnailBytes) { - return UIScene_LoadMenu::LoadSaveDataThumbnailReturned(lpParam, reinterpret_cast(pbThumbnail), dwThumbnailBytes); + return UIScene_LoadMenu::LoadSaveDataThumbnailReturned(lpParam, thumbnailData, thumbnailBytes); } } diff --git a/Minecraft.Client/Platform/Common/UI/UIScene_LoadOrJoinMenu.cpp b/Minecraft.Client/Platform/Common/UI/UIScene_LoadOrJoinMenu.cpp index 48e6d0a4b..eddede221 100644 --- a/Minecraft.Client/Platform/Common/UI/UIScene_LoadOrJoinMenu.cpp +++ b/Minecraft.Client/Platform/Common/UI/UIScene_LoadOrJoinMenu.cpp @@ -54,9 +54,9 @@ C4JStorage::SAVETRANSFER_FILE_DETAILS UIScene_LoadOrJoinMenu::m_debugTransferDet namespace { -int LoadSaveDataThumbnailReturnedThunk(void *lpParam, PBYTE pbThumbnail, DWORD dwThumbnailBytes) +int LoadSaveDataThumbnailReturnedThunk(void *lpParam, std::uint8_t *thumbnailData, unsigned int thumbnailBytes) { - return UIScene_LoadOrJoinMenu::LoadSaveDataThumbnailReturned(lpParam, reinterpret_cast(pbThumbnail), dwThumbnailBytes); + return UIScene_LoadOrJoinMenu::LoadSaveDataThumbnailReturned(lpParam, thumbnailData, thumbnailBytes); } }