aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Common/XUI/XUI_TransferToXboxOne.h
diff options
context:
space:
mode:
authordaoge_cmd <3523206925@qq.com>2026-03-01 12:16:08 +0800
committerdaoge_cmd <3523206925@qq.com>2026-03-01 12:16:08 +0800
commitb691c43c44ff180d10e7d4a9afc83b98551ff586 (patch)
tree3e9849222cbc6ba49f2f1fc6e5fe7179632c7390 /Minecraft.Client/Common/XUI/XUI_TransferToXboxOne.h
parentdef8cb415354ac390b7e89052a50605285f1aca9 (diff)
Initial commit
Diffstat (limited to 'Minecraft.Client/Common/XUI/XUI_TransferToXboxOne.h')
-rw-r--r--Minecraft.Client/Common/XUI/XUI_TransferToXboxOne.h88
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