diff options
| author | daoge_cmd <3523206925@qq.com> | 2026-03-01 12:16:08 +0800 |
|---|---|---|
| committer | daoge_cmd <3523206925@qq.com> | 2026-03-01 12:16:08 +0800 |
| commit | b691c43c44ff180d10e7d4a9afc83b98551ff586 (patch) | |
| tree | 3e9849222cbc6ba49f2f1fc6e5fe7179632c7390 /Minecraft.Client/Common/XUI/XUI_TransferToXboxOne.h | |
| parent | def8cb415354ac390b7e89052a50605285f1aca9 (diff) | |
Initial commit
Diffstat (limited to 'Minecraft.Client/Common/XUI/XUI_TransferToXboxOne.h')
| -rw-r--r-- | Minecraft.Client/Common/XUI/XUI_TransferToXboxOne.h | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/Minecraft.Client/Common/XUI/XUI_TransferToXboxOne.h b/Minecraft.Client/Common/XUI/XUI_TransferToXboxOne.h new file mode 100644 index 00000000..f08de59a --- /dev/null +++ b/Minecraft.Client/Common/XUI/XUI_TransferToXboxOne.h @@ -0,0 +1,88 @@ +#pragma once +using namespace std; +//#include <vector> + +#include "..\Media\xuiscene_TransferToXboxOne.h" + + +class CXuiCtrl4JList; + +class CScene_TransferToXboxOne : public CXuiSceneImpl +{ +protected: + + typedef struct + { + WCHAR wchSaveTitle[XCONTENT_MAX_DISPLAYNAME_LENGTH]; + unsigned int uiImageLength; + } + SLOTDATA; + + CXuiCtrl4JList *m_pSavesSlotList; + CXuiList m_SavesSlotList; + CXuiControl m_SavesSlotListTimer; + + XUI_BEGIN_MSG_MAP() + XUI_ON_XM_INIT( OnInit ) + XUI_ON_XM_DESTROY(OnDestroy) + XUI_ON_XM_KEYDOWN(OnKeyDown) + XUI_ON_XM_NOTIFY_PRESS_EX(OnNotifyPressEx) + XUI_ON_XM_NOTIFY_SELCHANGED(OnNotifySelChanged) + XUI_ON_XM_NOTIFY_SET_FOCUS(OnNotifySetFocus) + XUI_ON_XM_NOTIFY_KILL_FOCUS(OnNotifyKillFocus) + XUI_ON_XM_TRANSITION_START(OnTransitionStart) + XUI_ON_XM_FONTRENDERERCHANGE_MESSAGE(OnFontRendererChange) + + XUI_END_MSG_MAP() + + BEGIN_CONTROL_MAP() + MAP_CONTROL(IDC_SavesSlotTimer, m_SavesSlotListTimer) + MAP_CONTROL(IDC_SavesSlotsList, m_SavesSlotList) + END_CONTROL_MAP() + + + HRESULT OnInit( XUIMessageInit* pInitData, BOOL& bHandled ); + HRESULT OnDestroy(); + HRESULT OnNotifyPressEx(HXUIOBJ hObjPressed, XUINotifyPress* pNotifyPressData,BOOL& rfHandled); + HRESULT OnKeyDown(XUIMessageInput* pInputData, BOOL& rfHandled); + HRESULT OnNavReturn(HXUIOBJ hObj,BOOL& rfHandled); + HRESULT OnNotifySelChanged(HXUIOBJ hObjSource, XUINotifySelChanged *pNotifySelChangedData, BOOL& bHandled); + HRESULT OnNotifySetFocus(HXUIOBJ hObjSource, XUINotifyFocus *pNotifyFocusData, BOOL& bHandled); + HRESULT OnNotifyKillFocus(HXUIOBJ hObjSource, XUINotifyFocus *pNotifyFocusData, BOOL& bHandled); + HRESULT OnTimer( XUIMessageTimer *pTimer, BOOL& bHandled ); + HRESULT OnTransitionStart( XUIMessageTransition *pTransition, BOOL& bHandled ); + HRESULT OnFontRendererChange(); + +public: + + // Define the class. The class name must match the ClassOverride property + // set for the scene in the UI Authoring tool. + XUI_IMPLEMENT_CLASS( CScene_TransferToXboxOne, L"CScene_TransferToXboxOne", XUI_CLASS_SCENE ) + + static int TMSPPSlotListReturned(LPVOID pParam,int iPad,int iUserData,C4JStorage::PTMSPP_FILEDATA pFileData, LPCSTR szFilename); + static int TMSPPWriteReturned(LPVOID pParam,int iPad,int iUserData); + static int TMSPPDeleteReturned(LPVOID pParam,int iPad,int iUserData); + static int UploadSaveForXboxOneThreadProc( LPVOID lpParameter ); + static int LoadSaveDataReturned(void *pParam,bool bContinue); +private: + HRESULT BuildSlotFile(int iIndexBeingUpdated,PBYTE pbImageData,DWORD dwImageBytes); + + bool m_bIgnoreInput; + bool m_bRetrievingSaveInfo; + int m_iPad; + int m_MaxSlotC; + int m_iX; // tooltip for clearing all slots if there are saves in them + LoadMenuInitData *m_params; + XCONTENT_DATA m_XContentData; + PBYTE m_pbImageData; + DWORD m_dwImageBytes; + HXUIBRUSH m_hXuiBrush; + PBYTE m_pbSlotListFile; + unsigned int m_uiSlotListFileBytes; + SLOTDATA *m_pSlotDataA; + bool m_bWaitingForWrite; + void *m_pvSaveMem; + unsigned int m_uiStorageLength; + bool m_bSaveDataReceived; + unsigned int m_uiSlotID; +};
\ No newline at end of file |
