the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 195 lines 5.7 kB view raw
1#pragma once 2 3#include "UIScene.h" 4 5class UIScene_MainMenu : public UIScene 6{ 7private: 8 enum EControls 9 { 10 eControl_PlayGame, 11 eControl_Leaderboards, 12 eControl_Achievements, 13 eControl_HelpAndOptions, 14 eControl_UnlockOrDLC, 15#ifndef _DURANGO 16 eControl_Exit, 17#else 18 eControl_XboxHelp, 19#endif 20 eControl_Count, 21 }; 22 23// #ifdef __ORBIS__ 24// enum EPatchCheck 25// { 26// ePatchCheck_Idle, 27// ePatchCheck_Init, 28// ePatchCheck_Running, 29// }; 30// #endif 31 32 UIControl_Button m_buttons[eControl_Count]; 33 UIControl m_controlTimer; 34 UI_BEGIN_MAP_ELEMENTS_AND_NAMES(UIScene) 35 UI_MAP_ELEMENT( m_buttons[(int)eControl_PlayGame], "Button1") 36 UI_MAP_ELEMENT( m_buttons[(int)eControl_Leaderboards], "Button2") 37 UI_MAP_ELEMENT( m_buttons[(int)eControl_Achievements], "Button3") 38 UI_MAP_ELEMENT( m_buttons[(int)eControl_HelpAndOptions], "Button4") 39 UI_MAP_ELEMENT( m_buttons[(int)eControl_UnlockOrDLC], "Button5") 40#ifndef _DURANGO 41 UI_MAP_ELEMENT( m_buttons[(int)eControl_Exit], "Button6") 42#else 43 UI_MAP_ELEMENT( m_buttons[(int)eControl_XboxHelp], "Button6") 44#endif 45 UI_MAP_ELEMENT( m_controlTimer, "Timer") 46 UI_END_MAP_ELEMENTS_AND_NAMES() 47 48 static Random *random; 49 bool m_bIgnorePress; 50 bool m_bTrialVersion; 51 bool m_bLoadTrialOnNetworkManagerReady; 52#if defined(__PS3__) || defined(__ORBIS__) || defined(__PSVITA__) 53 bool m_bLaunchFullVersionPurchase; 54#endif 55 56#ifdef _XBOX_ONE 57 bool m_bWaitingForDLCInfo; 58#endif 59 60 float m_fScreenWidth,m_fScreenHeight; 61 float m_fRawWidth,m_fRawHeight; 62 vector<wstring> m_splashes; 63 wstring m_splash; 64 enum eSplashIndexes 65 { 66 eSplashHappyBirthdayEx = 0, 67 eSplashHappyBirthdayNotch, 68 eSplashMerryXmas, 69 eSplashHappyNewYear, 70 71 // The start index in the splashes vector from which we can select a random splash 72 eSplashRandomStart, 73 }; 74 75 enum eActions 76 { 77 eAction_None=0, 78 eAction_RunGame, 79 eAction_RunLeaderboards, 80 eAction_RunAchievements, 81 eAction_RunHelpAndOptions, 82 eAction_RunUnlockOrDLC, 83#if defined(__PS3__)|| defined(__PSVITA__) || defined(__ORBIS__) 84 eAction_RunLeaderboardsPSN, 85 eAction_RunGamePSN, 86 eAction_RunUnlockOrDLCPSN, 87#elif defined _DURANGO 88 eAction_RunXboxHelp, 89#endif 90 91 }; 92 eActions m_eAction; 93 94private: 95 // 4J-JEV: Delay navigation until font changes. 96 static EUIScene eNavigateWhenReady; 97 98 static void proceedToScene(int iPad, EUIScene eScene) 99 { 100 eNavigateWhenReady = eScene; 101 } 102 103public: 104 UIScene_MainMenu(int iPad, void *initData, UILayer *parentLayer); 105 virtual ~UIScene_MainMenu(); 106 107 // Returns true if this scene has focus for the pad passed in 108#ifndef __PS3__ 109 virtual bool hasFocus(int iPad) { return bHasFocus; } 110#endif 111 112 virtual void updateTooltips(); 113 virtual void updateComponents(); 114 115 virtual EUIScene getSceneType() { return eUIScene_MainMenu;} 116 117 virtual void customDraw(IggyCustomDrawCallbackRegion *region); 118protected: 119 void customDrawSplash(IggyCustomDrawCallbackRegion *region); 120 121 122 virtual wstring getMoviePath(); 123 124public: 125 virtual void tick(); 126 virtual void handleReload(); 127 // INPUT 128 virtual void handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool &handled); 129 130 virtual void handleUnlockFullVersion(); 131 132protected: 133 void handlePress(F64 controlId, F64 childId); 134 135 void handleGainFocus(bool navBack); 136 137 virtual long long getDefaultGtcButtons() { return 0; } 138 139private: 140 void RunPlayGame(int iPad); 141 void RunLeaderboards(int iPad); 142 void RunUnlockOrDLC(int iPad); 143 void RunAchievements(int iPad); 144 void RunHelpAndOptions(int iPad); 145 146 void RunAction(int iPad); 147 148 static void LoadTrial(); 149 150#ifdef _XBOX_ONE 151 static int ChooseUser_SignInReturned(void *pParam,bool bContinue, int iPad, int iController); 152 static int CreateLoad_SignInReturned(void *pParam,bool bContinue, int iPad, int iController); 153 static int HelpAndOptions_SignInReturned(void *pParam,bool bContinue,int iPad, int iController); 154 static int Achievements_SignInReturned(void *pParam,bool bContinue,int iPad, int iController); 155 static int MustSignInReturned(void *pParam,int iPad,C4JStorage::EMessageResult result); 156 157 static int Leaderboards_SignInReturned(void* pParam, bool bContinue, int iPad, int iController); 158 static int UnlockFullGame_SignInReturned(void *pParam,bool bContinue,int iPad, int iController); 159 static int ExitGameReturned(void *pParam,int iPad,C4JStorage::EMessageResult result); 160 161 162 static int XboxHelp_SignInReturned(void *pParam, bool bContinue, int iPad, int iController); 163#else 164 165 static int CreateLoad_SignInReturned(void *pParam,bool bContinue, int iPad); 166 static int HelpAndOptions_SignInReturned(void *pParam,bool bContinue,int iPad); 167 static int Achievements_SignInReturned(void *pParam,bool bContinue,int iPad); 168 static int MustSignInReturned(void *pParam,int iPad,C4JStorage::EMessageResult result); 169 170#if defined(__PS3__) || defined(__PSVITA__) || defined(__ORBIS__) 171 static int MustSignInReturnedPSN(void *pParam,int iPad,C4JStorage::EMessageResult result); 172#endif 173 static int Leaderboards_SignInReturned(void* pParam, bool bContinue, int iPad); 174 static int UnlockFullGame_SignInReturned(void *pParam,bool bContinue,int iPad); 175 static int ExitGameReturned(void *pParam,int iPad,C4JStorage::EMessageResult result); 176 177#ifdef __ORBIS__ 178 static void RefreshChatAndContentRestrictionsReturned_PlayGame(void *pParam); 179 static void RefreshChatAndContentRestrictionsReturned_Leaderboards(void *pParam); 180 181 static int PlayOfflineReturned(void *pParam, int iPad, C4JStorage::EMessageResult result); 182#endif 183#endif 184 185#ifdef __PSVITA__ 186 static int SelectNetworkModeReturned(void *pParam,int iPad,C4JStorage::EMessageResult result); 187#endif 188 189#ifdef __ORBIS__ 190 //EPatchCheck m_ePatchCheckState; 191 bool m_bRunGameChosen; 192 int32_t m_errorCode; 193 bool m_bErrorDialogRunning; 194#endif 195};