the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 154 lines 6.3 kB view raw
1#pragma once 2#include "../media/xuiscene_load_settings.h" 3#include "XUI_Ctrl_SliderWrapper.h" 4#include "XUI_Ctrl_4JIcon.h" 5#include "XUI_CustomMessages.h" 6#include "XUI_MultiGameLaunchMoreOptions.h" 7 8class CScene_LoadGameSettings : public CXuiSceneImpl 9{ 10public: 11 typedef struct 12 { 13 unsigned int uiLen; 14 unsigned int uiCode; 15 } 16 PNG_CHUNK; 17protected: 18 // Control and Element wrapper objects. 19 CXuiScene m_MainScene; 20 CXuiScene m_TexturePackDetails; 21 CXuiControl m_GameName; 22 CXuiControl m_GameSeed; 23 CXuiControl m_GameCreatedMode; 24 CXuiControl m_ButtonLoad; 25 CXuiControl m_ButtonGameMode; 26 CXuiControl m_MoreOptions; 27 CXuiCtrl4JIcon m_GameIcon; 28 CXuiCtrlSliderWrapper m_SliderDifficulty; 29 CXuiCtrl4JList *m_pTexturePacksList; 30 CXuiControl m_texturePackTitle, m_texturePackDescription; 31 CXuiCtrl4JIcon *m_texturePackIcon, *m_texturePackComparison; 32 33 // Message map. Here we tie messages to message handlers. 34 XUI_BEGIN_MSG_MAP() 35 XUI_ON_XM_INIT( OnInit ) 36 XUI_ON_XM_NOTIFY_PRESS_EX(OnNotifyPressEx) 37 XUI_ON_XM_CONTROL_NAVIGATE( OnControlNavigate ) 38 XUI_ON_XM_KEYDOWN(OnKeyDown) 39 XUI_ON_XM_NOTIFY_VALUE_CHANGED(OnNotifyValueChanged) 40 XUI_ON_XM_GET_SOURCE_IMAGE(OnGetSourceDataImage) 41 XUI_ON_XM_TRANSITION_START(OnTransitionStart) 42 XUI_ON_XM_TRANSITION_END(OnTransitionEnd) 43 XUI_ON_XM_FONTRENDERERCHANGE_MESSAGE(OnFontRendererChange) 44 XUI_ON_XM_NOTIFY_SELCHANGED( OnNotifySelChanged ) 45 XUI_ON_XM_TIMER( OnTimer ) 46 XUI_ON_XM_NOTIFY_KILL_FOCUS( OnNotifyKillFocus ) 47 XUI_ON_XM_DESTROY( OnDestroy ) 48 XUI_ON_XM_DLCINSTALLED_MESSAGE(OnCustomMessage_DLCInstalled) 49 XUI_ON_XM_DLCLOADED_MESSAGE(OnCustomMessage_DLCMountingComplete) 50 XUI_ON_XM_NAV_RETURN(OnNavReturn) 51 XUI_END_MSG_MAP() 52 53 // Control mapping to objects 54 BEGIN_CONTROL_MAP() 55 MAP_CONTROL(IDC_MainScene, m_MainScene) 56 BEGIN_MAP_CHILD_CONTROLS(m_MainScene) 57 MAP_CONTROL(IDC_XuiLoadSettings, m_ButtonLoad) 58 MAP_CONTROL(IDC_XuiGameModeToggle, m_ButtonGameMode) 59 MAP_CONTROL(IDC_XuiMoreOptions, m_MoreOptions) 60 MAP_CONTROL(IDC_XuiGameIcon, m_GameIcon); 61 MAP_CONTROL(IDC_XuiGameName, m_GameName) 62 MAP_CONTROL(IDC_XuiGameSeed, m_GameSeed) 63 MAP_CONTROL(IDC_XuiCreatedMode, m_GameCreatedMode) 64 MAP_CONTROL(IDC_XuiSliderDifficulty, m_SliderDifficulty) 65 MAP_OVERRIDE(IDC_TexturePacksList, m_pTexturePacksList) 66 //MAP_CONTROL(IDC_XuiGameMode, m_GameMode) 67 END_MAP_CHILD_CONTROLS() 68 MAP_CONTROL(IDC_TexturePackDetails, m_TexturePackDetails) 69 BEGIN_MAP_CHILD_CONTROLS(m_TexturePackDetails) 70 MAP_CONTROL(IDC_TexturePackName, m_texturePackTitle) 71 MAP_CONTROL(IDC_TexturePackDescription, m_texturePackDescription) 72 MAP_OVERRIDE(IDC_Icon, m_texturePackIcon) 73 MAP_OVERRIDE(IDC_ComparisonPic, m_texturePackComparison) 74 END_MAP_CHILD_CONTROLS() 75 END_CONTROL_MAP() 76 77 HRESULT OnInit( XUIMessageInit* pInitData, BOOL& bHandled ); 78 HRESULT OnNotifyPressEx(HXUIOBJ hObjPressed, XUINotifyPress* pNotifyPressData, BOOL& rfHandled); 79 HRESULT OnKeyDown(XUIMessageInput* pInputData, BOOL& rfHandled); 80 HRESULT OnGetSourceDataImage(XUIMessageGetSourceImage *pGetSourceImageData,BOOL& bHandled); 81 HRESULT OnNotifyValueChanged( HXUIOBJ hObjSource, XUINotifyValueChanged* pNotifyValueChanged, BOOL& bHandled ); 82 HRESULT OnTransitionStart( XUIMessageTransition *pTransition, BOOL& bHandled ); 83 HRESULT OnTransitionEnd( XUIMessageTransition *pTransition, BOOL& bHandled ); 84 HRESULT OnFontRendererChange(); 85 HRESULT OnControlNavigate(XUIMessageControlNavigate *pControlNavigateData, BOOL& bHandled); 86 HRESULT OnNotifySelChanged( HXUIOBJ hObjSource, XUINotifySelChanged* pNotifySelChangedData, BOOL& bHandled ); 87 HRESULT OnTimer( XUIMessageTimer *pTimer, BOOL& bHandled ); 88 HRESULT OnNotifyKillFocus(HXUIOBJ hObjSource, XUINotifyFocus *pNotifyFocusData, BOOL& bHandled); 89 HRESULT OnDestroy(); 90 HRESULT OnCustomMessage_DLCInstalled(); 91 HRESULT OnCustomMessage_DLCMountingComplete(); 92 HRESULT OnNavReturn(HXUIOBJ hObj,BOOL& rfHandled); 93 94 95 static int LoadSaveDataReturned(void *pParam,bool bContinue); 96 static int LoadSaveDataForNameChangeReturned(void *pParam,bool bContinue); 97 static int DeviceRemovedDialogReturned(void *pParam,int iPad,C4JStorage::EMessageResult result); 98 static void StartGameFromSave(CScene_LoadGameSettings* pClass, DWORD dwLocalUsersMask); 99 static int StartGame_SignInReturned(void *pParam,bool bContinue, int iPad); 100 static int DeviceSelectReturned(void *pParam,bool bContinue); 101 static int ConfirmLoadReturned(void *pParam,int iPad,C4JStorage::EMessageResult result); 102 static int DeleteSaveDialogReturned(void *pParam,int iPad,C4JStorage::EMessageResult result); 103 static int DeleteSaveDataReturned(void *pParam,bool bSuccess); 104 static int CheckResetNetherReturned(void *pParam,int iPad,C4JStorage::EMessageResult result); 105 static int TexturePackDialogReturned(void *pParam,int iPad,C4JStorage::EMessageResult result); 106 107 static int Progress(void *pParam,float fProgress); 108 109 void LoadLevelGen(LevelGenerationOptions *levelGen); 110 111 HRESULT LaunchGame(void); 112public: 113 static unsigned char szPNG[8]; 114 115 // Define the class. The class name must match the ClassOverride property 116 // set for the scene in the UI Authoring tool. 117 XUI_IMPLEMENT_CLASS( CScene_LoadGameSettings, L"CScene_LoadGameSettings", XUI_CLASS_SCENE ) 118 119private: 120 static int UnlockTexturePackReturned(void *pParam,int iPad,C4JStorage::EMessageResult result); 121 void UpdateTexturePackDescription(int index); 122 void ClearTexturePackDescription(); 123 void UpdateCurrentTexturePack(); 124 125 bool m_bIgnoreInput; 126 HXUIBRUSH m_hXuiBrush; 127 HXUIBRUSH m_hTexturePackIconBrush; 128 HXUIBRUSH m_hTexturePackComparisonBrush; 129 130 int m_iPad; 131 int m_iSaveGameInfoIndex; 132 bool m_bMultiplayerAllowed; 133 static int m_iDifficultyTitleSettingA[4]; 134 int m_CurrentDifficulty; 135 bool m_bHasBeenInCreative; 136 bool m_bSetup; 137 bool m_texturePackDescDisplayed; 138 139 DWORD m_dwSaveFileC; 140#ifdef _XBOX 141 C4JStorage::CACHEINFOSTRUCT *m_InfoA; 142#endif 143 unsigned char m_szSeed[50]; 144 XCONTENT_DATA m_XContentData; 145 LaunchMoreOptionsMenuInitData m_MoreOptionsParams; 146 bool m_bGameModeSurvival; 147 unsigned int m_currentTexturePackIndex; 148 DLCPack * m_pDLCPack; 149 LevelGenerationOptions *m_levelGen; 150 151 int m_iTexturePacksNotInstalled; 152 int *m_iConfigA; // track the texture packs that we don't have installed 153 LoadMenuInitData *m_params; 154};