aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Common/UI/UIScene_DebugOptions.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Minecraft.Client/Common/UI/UIScene_DebugOptions.cpp')
-rw-r--r--Minecraft.Client/Common/UI/UIScene_DebugOptions.cpp96
1 files changed, 96 insertions, 0 deletions
diff --git a/Minecraft.Client/Common/UI/UIScene_DebugOptions.cpp b/Minecraft.Client/Common/UI/UIScene_DebugOptions.cpp
new file mode 100644
index 00000000..658a8517
--- /dev/null
+++ b/Minecraft.Client/Common/UI/UIScene_DebugOptions.cpp
@@ -0,0 +1,96 @@
+#include "stdafx.h"
+#include "UI.h"
+#include "UIScene_DebugOptions.h"
+
+LPCWSTR UIScene_DebugOptionsMenu::m_DebugCheckboxTextA[eDebugSetting_Max+1]=
+{
+ L"Load Saves From Local Folder Mode",
+ L"Write Saves To Local Folder Mode",
+ L"Freeze Players", //L"Not Used",
+ L"Display Safe Area",
+ L"Mobs don't attack",
+ L"Freeze Time",
+ L"Disable Weather",
+ L"Craft Anything",
+ L"Use DPad for debug",
+ L"Mobs don't tick",
+ L"Instant Mine",
+ L"Show UI Console",
+ L"Distributable Save",
+ L"Debug Leaderboards",
+ L"Height-Water-Biome Maps",
+ L"Superflat Nether",
+ //L"Light/Dark background",
+ L"More lightning when thundering",
+ L"Go To Nether",
+ //L"Go To End",
+ L"Go To Overworld",
+ L"Unlock All DLC", //L"Toggle Font",
+ L"Show Marketing Guide",
+};
+
+UIScene_DebugOptionsMenu::UIScene_DebugOptionsMenu(int iPad, void *initData, UILayer *parentLayer) : UIScene(iPad, parentLayer)
+{
+ // Setup all the Iggy references we need for this scene
+ initialiseMovie();
+
+ unsigned int uiDebugBitmask=app.GetGameSettingsDebugMask(iPad);
+
+ IggyValuePath *root = IggyPlayerRootPath ( getMovie() );
+ for(m_iTotalCheckboxElements = 0; m_iTotalCheckboxElements < eDebugSetting_Max && m_iTotalCheckboxElements < 21; ++m_iTotalCheckboxElements)
+ {
+ wstring label(m_DebugCheckboxTextA[m_iTotalCheckboxElements]);
+ m_checkboxes[m_iTotalCheckboxElements].init(label,m_iTotalCheckboxElements,(uiDebugBitmask&(1<<m_iTotalCheckboxElements)) ? true : false);
+ }
+}
+
+wstring UIScene_DebugOptionsMenu::getMoviePath()
+{
+ return L"DebugOptionsMenu";
+}
+
+void UIScene_DebugOptionsMenu::handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool &handled)
+{
+ //app.DebugPrintf("UIScene_DebugOptionsMenu handling input for pad %d, key %d, repeat- %s, pressed- %s, released- %s\n", iPad, key, repeat?"TRUE":"FALSE", pressed?"TRUE":"FALSE", released?"TRUE":"FALSE");
+
+ switch(key)
+ {
+ case ACTION_MENU_CANCEL:
+ if(pressed)
+ {
+ int iCurrentBitmaskIndex=0;
+ unsigned int uiDebugBitmask=0L;
+ for(int i=0;i<m_iTotalCheckboxElements;i++)
+ {
+ uiDebugBitmask|=m_checkboxes[i].IsChecked()?(1<<iCurrentBitmaskIndex):0;
+ iCurrentBitmaskIndex++;
+ }
+
+ if(uiDebugBitmask!=app.GetGameSettingsDebugMask(iPad))
+ {
+ app.SetGameSettingsDebugMask(iPad,uiDebugBitmask);
+ if(app.DebugSettingsOn())
+ {
+ app.ActionDebugMask(iPad);
+ }
+ else
+ {
+ // force debug mask off
+ app.ActionDebugMask(iPad,true);
+ }
+
+ app.CheckGameSettingsChanged(true,iPad);
+ }
+
+ navigateBack();
+ }
+ break;
+ case ACTION_MENU_OK:
+ case ACTION_MENU_UP:
+ case ACTION_MENU_DOWN:
+ case ACTION_MENU_PAGEUP:
+ case ACTION_MENU_PAGEDOWN:
+ sendInputToMovie(key, repeat, pressed, released);
+ break;
+ }
+}