the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#pragma once
2
3#include "UIScene.h"
4#include "IUIScene_PauseMenu.h"
5
6#define BUTTON_PAUSE_RESUMEGAME 0
7#define BUTTON_PAUSE_HELPANDOPTIONS 1
8#define BUTTON_PAUSE_LEADERBOARDS 2
9
10#ifdef _XBOX_ONE
11#define BUTTON_PAUSE_XBOXHELP 3
12#else
13#define BUTTON_PAUSE_ACHIEVEMENTS 3
14#endif
15
16#define BUTTON_PAUSE_SAVEGAME 4
17#define BUTTON_PAUSE_EXITGAME 5
18#define BUTTONS_PAUSE_MAX BUTTON_PAUSE_EXITGAME + 1
19
20class UIScene_PauseMenu : public UIScene, public IUIScene_PauseMenu
21{
22private:
23 bool m_savesDisabled;
24 bool m_bTrialTexturePack;
25 bool m_bErrorDialogRunning;
26
27 enum eActions
28 {
29 eAction_None=0,
30#if defined(__PS3__) || defined(__PSVITA__) || defined(__ORBIS__)
31 eAction_ViewLeaderboardsPSN,
32 eAction_ViewInvitesPSN,
33 eAction_SaveGamePSN,
34 eAction_BuyTexturePackPSN
35#endif
36
37 };
38 eActions m_eAction;
39
40 UIControl_Button m_buttons[BUTTONS_PAUSE_MAX];
41 UI_BEGIN_MAP_ELEMENTS_AND_NAMES(UIScene)
42 UI_MAP_ELEMENT( m_buttons[BUTTON_PAUSE_RESUMEGAME], "Button1")
43 UI_MAP_ELEMENT( m_buttons[BUTTON_PAUSE_HELPANDOPTIONS], "Button2")
44 UI_MAP_ELEMENT( m_buttons[BUTTON_PAUSE_LEADERBOARDS], "Button3")
45#ifdef _DURANGO
46 UI_MAP_ELEMENT( m_buttons[BUTTON_PAUSE_XBOXHELP], "Button4")
47#else
48 UI_MAP_ELEMENT( m_buttons[BUTTON_PAUSE_ACHIEVEMENTS], "Button4")
49#endif
50 UI_MAP_ELEMENT( m_buttons[BUTTON_PAUSE_SAVEGAME], "Button5")
51 UI_MAP_ELEMENT( m_buttons[BUTTON_PAUSE_EXITGAME], "Button6")
52 UI_END_MAP_ELEMENTS_AND_NAMES()
53
54 virtual void HandleDLCMountingComplete();
55 virtual void HandleDLCInstalled();
56#ifdef _XBOX_ONE
57 virtual void HandleDLCLicenseChange();
58#endif
59 static int UnlockFullSaveReturned(void *pParam,int iPad,C4JStorage::EMessageResult result);
60 static int SaveGame_SignInReturned(void *pParam,bool bContinue, int iPad);
61
62public:
63 UIScene_PauseMenu(int iPad, void *initData, UILayer *parentLayer);
64 virtual ~UIScene_PauseMenu();
65
66 virtual EUIScene getSceneType() { return eUIScene_PauseMenu;}
67
68 virtual void tick();
69
70 virtual void updateTooltips();
71 virtual void updateComponents();
72 virtual void handlePreReload();
73 virtual void handleReload();
74
75protected:
76 void updateControlsVisibility();
77
78 // TODO: This should be pure virtual in this class
79 virtual wstring getMoviePath();
80
81public:
82 // INPUT
83 virtual void handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool &handled);
84
85protected:
86 void handlePress(F64 controlId, F64 childId);
87 virtual void ShowScene(bool show);
88 virtual void SetIgnoreInput(bool ignoreInput);
89 bool m_bIgnoreInput;
90
91private:
92 void PerformActionSaveGame();
93
94#if defined(__PS3__) || defined(__PSVITA__) || defined(__ORBIS__)
95 static int MustSignInReturnedPSN(void *pParam,int iPad,C4JStorage::EMessageResult result);
96 static int ViewLeaderboards_SignInReturned(void *pParam,bool bContinue, int iPad);
97 static int ViewInvites_SignInReturned(void *pParam,bool bContinue, int iPad);
98 static int BuyTexturePack_SignInReturned(void *pParam,bool bContinue, int iPad);
99 static int WarningTrialTexturePackReturned(void *pParam,int iPad,C4JStorage::EMessageResult result);
100 static int ExitGameSaveDialogReturned(void *pParam,int iPad,C4JStorage::EMessageResult result);
101#endif
102
103protected:
104#ifdef _XBOX_ONE
105 static int BanGameDialogReturned(void *pParam,int iPad,C4JStorage::EMessageResult result);
106 virtual long long getDefaultGtcButtons() { return _360_GTC_BACK | _360_GTC_PLAY; }
107#endif
108
109#ifdef __ORBIS__
110 bool CheckForPatch();
111#endif
112};