Feat: Changed game mode selection to a slider

This commit is contained in:
SevenToaster509 2026-04-11 20:03:09 +01:00
parent e8e0e48a1d
commit a58b14a2ea
5 changed files with 116 additions and 53 deletions

View file

@ -33,6 +33,12 @@ int UIScene_CreateWorldMenu::m_iDifficultyTitleSettingA[4]=
IDS_DIFFICULTY_TITLE_NORMAL, IDS_DIFFICULTY_TITLE_NORMAL,
IDS_DIFFICULTY_TITLE_HARD IDS_DIFFICULTY_TITLE_HARD
}; };
int UIScene_CreateWorldMenu::m_iGamemodes[3] =
{
IDS_GAMEMODE_SURVIVAL,
IDS_GAMEMODE_CREATIVE,
IDS_GAMEMODE_ADVENTURE
};
UIScene_CreateWorldMenu::UIScene_CreateWorldMenu(int iPad, void *initData, UILayer *parentLayer) : IUIScene_StartGame(iPad, parentLayer) UIScene_CreateWorldMenu::UIScene_CreateWorldMenu(int iPad, void *initData, UILayer *parentLayer) : IUIScene_StartGame(iPad, parentLayer)
{ {
@ -48,7 +54,7 @@ UIScene_CreateWorldMenu::UIScene_CreateWorldMenu(int iPad, void *initData, UILay
m_editWorldName.init(m_worldName, eControl_EditWorldName); m_editWorldName.init(m_worldName, eControl_EditWorldName);
m_buttonGamemode.init(app.GetString(IDS_GAMEMODE_SURVIVAL),eControl_GameModeToggle); m_sliderGamemode.init(app.GetString(IDS_GAMEMODE_SURVIVAL), eControl_GameModeToggle, 0, 2, 0);
m_buttonMoreOptions.init(app.GetString(IDS_MORE_OPTIONS),eControl_MoreOptions); m_buttonMoreOptions.init(app.GetString(IDS_MORE_OPTIONS),eControl_MoreOptions);
m_buttonCreateWorld.init(app.GetString(IDS_CREATE_NEW_WORLD),eControl_NewWorld); m_buttonCreateWorld.init(app.GetString(IDS_CREATE_NEW_WORLD),eControl_NewWorld);
@ -457,25 +463,25 @@ void UIScene_CreateWorldMenu::handlePress(F64 controlId, F64 childId)
#endif #endif
} }
break; break;
case eControl_GameModeToggle: //case eControl_GameModeToggle:
switch(m_iGameModeId) // switch(m_iGameModeId)
{ // {
case 0: // Creative // case 0: // Creative
m_buttonGamemode.setLabel(app.GetString(IDS_GAMEMODE_CREATIVE)); // m_buttonGamemode.setLabel(app.GetString(IDS_GAMEMODE_CREATIVE));
m_iGameModeId = GameType::CREATIVE->getId(); // m_iGameModeId = GameType::CREATIVE->getId();
m_bGameModeCreative = true; // m_bGameModeCreative = true;
break; // break;
case 1: // Adventure // case 1: // Adventure
m_buttonGamemode.setLabel(app.GetString(IDS_GAMEMODE_ADVENTURE)); // m_buttonGamemode.setLabel(app.GetString(IDS_GAMEMODE_ADVENTURE));
m_iGameModeId = GameType::ADVENTURE->getId(); // m_iGameModeId = GameType::ADVENTURE->getId();
m_bGameModeCreative = false; // m_bGameModeCreative = false;
break; // break;
case 2: // Survival // case 2: // Survival
m_buttonGamemode.setLabel(app.GetString(IDS_GAMEMODE_SURVIVAL)); // m_buttonGamemode.setLabel(app.GetString(IDS_GAMEMODE_SURVIVAL));
m_iGameModeId = GameType::SURVIVAL->getId(); // m_iGameModeId = GameType::SURVIVAL->getId();
m_bGameModeCreative = false; // m_bGameModeCreative = false;
}; // };
break; // break;
case eControl_MoreOptions: case eControl_MoreOptions:
ui.NavigateToScene(m_iPad, eUIScene_LaunchMoreOptionsMenu, &m_MoreOptionsParams); ui.NavigateToScene(m_iPad, eUIScene_LaunchMoreOptionsMenu, &m_MoreOptionsParams);
break; break;
@ -658,6 +664,29 @@ void UIScene_CreateWorldMenu::handleSliderMove(F64 sliderId, F64 currentValue)
swprintf( (WCHAR *)TempString, 256, L"%ls: %ls", app.GetString( IDS_SLIDER_DIFFICULTY ),app.GetString(m_iDifficultyTitleSettingA[value])); swprintf( (WCHAR *)TempString, 256, L"%ls: %ls", app.GetString( IDS_SLIDER_DIFFICULTY ),app.GetString(m_iDifficultyTitleSettingA[value]));
m_sliderDifficulty.setLabel(TempString); m_sliderDifficulty.setLabel(TempString);
break; break;
case eControl_GameModeToggle:
m_sliderGamemode.handleSliderMove(value);
switch (value)
{
case 0: // Survival
m_iGameModeId = GameType::SURVIVAL->getId();
m_bGameModeCreative = false;
break;
case 1: // Creative
m_iGameModeId = GameType::CREATIVE->getId();
m_bGameModeCreative = true;
break;
#ifdef _ADVENTURE_MODE_ENABLED
case 2: // Adventure
m_iGameModeId = GameType::ADVENTURE->getId();
m_bGameModeCreative = false;
break;
#endif
};
//app.SetGameSettings(m_iPad, eGameSetting_GameMode, value);
swprintf((WCHAR*)TempString, 256, L"%ls", app.GetString(m_iGamemodes[value]));
m_sliderGamemode.setLabel(TempString);
break;
} }
} }

View file

@ -17,16 +17,16 @@ private:
}; };
static int m_iDifficultyTitleSettingA[4]; static int m_iDifficultyTitleSettingA[4];
static int m_iGamemodes[3];
wstring m_worldName; wstring m_worldName;
wstring m_seed; wstring m_seed;
UIControl m_controlMainPanel; UIControl m_controlMainPanel;
UIControl_Label m_labelWorldName; UIControl_Label m_labelWorldName;
UIControl_Button m_buttonGamemode, m_buttonMoreOptions, m_buttonCreateWorld; UIControl_Button m_buttonMoreOptions, m_buttonCreateWorld;
UIControl_TextInput m_editWorldName; UIControl_TextInput m_editWorldName;
UIControl_Slider m_sliderDifficulty; UIControl_Slider m_sliderDifficulty, m_sliderGamemode;
UIControl_CheckBox m_checkboxOnline; UIControl_CheckBox m_checkboxOnline;
UIControl_BitmapIcon m_bitmapIcon, m_bitmapComparison; UIControl_BitmapIcon m_bitmapIcon, m_bitmapComparison;
@ -37,7 +37,7 @@ private:
UI_MAP_ELEMENT( m_labelWorldName, "WorldName") UI_MAP_ELEMENT( m_labelWorldName, "WorldName")
UI_MAP_ELEMENT( m_editWorldName, "EditWorldName") UI_MAP_ELEMENT( m_editWorldName, "EditWorldName")
UI_MAP_ELEMENT( m_texturePackList, "TexturePackSelector") UI_MAP_ELEMENT( m_texturePackList, "TexturePackSelector")
UI_MAP_ELEMENT( m_buttonGamemode, "GameModeToggle") UI_MAP_ELEMENT( m_sliderGamemode, "GameModeToggle")
UI_MAP_ELEMENT( m_checkboxOnline, "CheckboxOnline") UI_MAP_ELEMENT( m_checkboxOnline, "CheckboxOnline")
UI_MAP_ELEMENT( m_buttonMoreOptions, "MoreOptions") UI_MAP_ELEMENT( m_buttonMoreOptions, "MoreOptions")
UI_MAP_ELEMENT( m_buttonCreateWorld, "NewWorld") UI_MAP_ELEMENT( m_buttonCreateWorld, "NewWorld")

View file

@ -31,6 +31,12 @@ int UIScene_LoadMenu::m_iDifficultyTitleSettingA[4]=
IDS_DIFFICULTY_TITLE_NORMAL, IDS_DIFFICULTY_TITLE_NORMAL,
IDS_DIFFICULTY_TITLE_HARD IDS_DIFFICULTY_TITLE_HARD
}; };
int UIScene_LoadMenu::m_iGamemodes[3] =
{
IDS_GAMEMODE_SURVIVAL,
IDS_GAMEMODE_CREATIVE,
IDS_GAMEMODE_ADVENTURE
};
int UIScene_LoadMenu::LoadSaveDataThumbnailReturned(LPVOID lpParam,PBYTE pbThumbnail,DWORD dwThumbnailBytes) int UIScene_LoadMenu::LoadSaveDataThumbnailReturned(LPVOID lpParam,PBYTE pbThumbnail,DWORD dwThumbnailBytes)
{ {
@ -70,7 +76,7 @@ UIScene_LoadMenu::UIScene_LoadMenu(int iPad, void *initData, UILayer *parentLaye
m_labelSeed.init(L""); m_labelSeed.init(L"");
m_labelCreatedMode.init(app.GetString(IDS_CREATED_IN_SURVIVAL)); m_labelCreatedMode.init(app.GetString(IDS_CREATED_IN_SURVIVAL));
m_buttonGamemode.init(app.GetString(IDS_GAMEMODE_SURVIVAL),eControl_GameMode); m_sliderGamemode.init(app.GetString(IDS_GAMEMODE_SURVIVAL),eControl_GameMode,0,2,0);
m_buttonMoreOptions.init(app.GetString(IDS_MORE_OPTIONS),eControl_MoreOptions); m_buttonMoreOptions.init(app.GetString(IDS_MORE_OPTIONS),eControl_MoreOptions);
m_buttonLoadWorld.init(app.GetString(IDS_LOAD),eControl_LoadWorld); m_buttonLoadWorld.init(app.GetString(IDS_LOAD),eControl_LoadWorld);
m_texturePackList.init(app.GetString(IDS_DLC_MENU_TEXTUREPACKS), eControl_TexturePackList); m_texturePackList.init(app.GetString(IDS_DLC_MENU_TEXTUREPACKS), eControl_TexturePackList);
@ -522,20 +528,23 @@ void UIScene_LoadMenu::tick()
switch(app.GetGameHostOption(uiHostOptions,eGameHostOption_GameType)) switch(app.GetGameHostOption(uiHostOptions,eGameHostOption_GameType))
{ {
case 1: // Creative case 1: // Creative
m_buttonGamemode.setLabel(app.GetString(IDS_GAMEMODE_CREATIVE)); m_sliderGamemode.setLabel(app.GetString(IDS_GAMEMODE_CREATIVE));
m_sliderGamemode.handleSliderMove(1);
m_bGameModeCreative=true; m_bGameModeCreative=true;
m_iGameModeId = GameType::CREATIVE->getId(); m_iGameModeId = GameType::CREATIVE->getId();
break; break;
#ifdef _ADVENTURE_MODE_ENABLED #ifdef _ADVENTURE_MODE_ENABLED
case 2: // Adventure case 2: // Adventure
m_buttonGamemode.setLabel(app.GetString(IDS_GAMEMODE_ADVENTURE)); m_sliderGamemode.setLabel(app.GetString(IDS_GAMEMODE_ADVENTURE));
m_sliderGamemode.handleSliderMove(2);
m_bGameModeCreative=false; m_bGameModeCreative=false;
m_iGameModeId = GameType::ADVENTURE->getId(); m_iGameModeId = GameType::ADVENTURE->getId();
break; break;
#endif #endif
case 0: // Survival case 0: // Survival
default: default:
m_buttonGamemode.setLabel(app.GetString(IDS_GAMEMODE_SURVIVAL)); m_sliderGamemode.setLabel(app.GetString(IDS_GAMEMODE_SURVIVAL));
m_sliderGamemode.handleSliderMove(0);
m_bGameModeCreative=false; m_bGameModeCreative=false;
m_iGameModeId = GameType::SURVIVAL->getId(); m_iGameModeId = GameType::SURVIVAL->getId();
break; break;
@ -698,28 +707,29 @@ void UIScene_LoadMenu::handlePress(F64 controlId, F64 childId)
switch(static_cast<int>(controlId)) switch(static_cast<int>(controlId))
{ {
case eControl_GameMode: // case eControl_GameMode:
switch(m_iGameModeId) // switch(m_iGameModeId)
{ // {
case 0: // Survival // case 0: // Survival
m_buttonGamemode.setLabel(app.GetString(IDS_GAMEMODE_CREATIVE)); // m_buttonGamemode.setLabel(app.GetString(IDS_GAMEMODE_CREATIVE));
m_iGameModeId = GameType::CREATIVE->getId(); // m_iGameModeId = GameType::CREATIVE->getId();
m_bGameModeCreative = true; // m_bGameModeCreative = true;
break; // break;
case 1: // Creative // case 1: // Creative
#ifdef _ADVENTURE_MODE_ENABLED //#ifdef _ADVENTURE_MODE_ENABLED
m_buttonGamemode.setLabel(app.GetString(IDS_GAMEMODE_ADVENTURE)); // m_buttonGamemode.setLabel(app.GetString(IDS_GAMEMODE_ADVENTURE));
m_iGameModeId = GameType::ADVENTURE->getId(); // m_iGameModeId = GameType::ADVENTURE->getId();
m_bGameModeCreative = false; // m_bGameModeCreative = false;
break; // break;
case 2: // Adventure // case 2: // Adventure
#endif //#endif
m_buttonGamemode.setLabel(app.GetString(IDS_GAMEMODE_SURVIVAL)); // m_buttonGamemode.setLabel(app.GetString(IDS_GAMEMODE_SURVIVAL));
m_iGameModeId = GameType::SURVIVAL->getId(); // m_iGameModeId = GameType::SURVIVAL->getId();
m_bGameModeCreative = false; // m_bGameModeCreative = false;
break; // break;
}; // };
break; // break;
case eControl_MoreOptions: case eControl_MoreOptions:
ui.NavigateToScene(m_iPad, eUIScene_LaunchMoreOptionsMenu, &m_MoreOptionsParams); ui.NavigateToScene(m_iPad, eUIScene_LaunchMoreOptionsMenu, &m_MoreOptionsParams);
break; break;
@ -956,6 +966,29 @@ void UIScene_LoadMenu::handleSliderMove(F64 sliderId, F64 currentValue)
swprintf( (WCHAR *)TempString, 256, L"%ls: %ls", app.GetString( IDS_SLIDER_DIFFICULTY ),app.GetString(m_iDifficultyTitleSettingA[value])); swprintf( (WCHAR *)TempString, 256, L"%ls: %ls", app.GetString( IDS_SLIDER_DIFFICULTY ),app.GetString(m_iDifficultyTitleSettingA[value]));
m_sliderDifficulty.setLabel(TempString); m_sliderDifficulty.setLabel(TempString);
break; break;
case eControl_GameMode:
m_sliderGamemode.handleSliderMove(value);
switch (value)
{
case 0: // Survival
m_iGameModeId = GameType::SURVIVAL->getId();
m_bGameModeCreative = false;
break;
case 1: // Creative
m_iGameModeId = GameType::CREATIVE->getId();
m_bGameModeCreative = true;
break;
#ifdef _ADVENTURE_MODE_ENABLED
case 2: // Adventure
m_iGameModeId = GameType::ADVENTURE->getId();
m_bGameModeCreative = false;
break;
#endif
};
//app.SetGameSettings(m_iPad, eGameSetting_GameMode, value);
swprintf((WCHAR*)TempString, 256, L"%ls", app.GetString(m_iGamemodes[value]));
m_sliderGamemode.setLabel(TempString);
break;
} }
} }

View file

@ -16,11 +16,12 @@ private:
}; };
static int m_iDifficultyTitleSettingA[4]; static int m_iDifficultyTitleSettingA[4];
static int m_iGamemodes[3];
UIControl m_controlMainPanel; UIControl m_controlMainPanel;
UIControl_Label m_labelGameName, m_labelSeed, m_labelCreatedMode; UIControl_Label m_labelGameName, m_labelSeed, m_labelCreatedMode;
UIControl_Button m_buttonGamemode, m_buttonMoreOptions, m_buttonLoadWorld; UIControl_Button m_buttonMoreOptions, m_buttonLoadWorld;
UIControl_Slider m_sliderDifficulty; UIControl_Slider m_sliderDifficulty, m_sliderGamemode;
UIControl_BitmapIcon m_bitmapIcon; UIControl_BitmapIcon m_bitmapIcon;
UIControl_CheckBox m_checkboxOnline; UIControl_CheckBox m_checkboxOnline;
@ -32,7 +33,7 @@ private:
UI_MAP_ELEMENT( m_labelCreatedMode, "CreatedMode") UI_MAP_ELEMENT( m_labelCreatedMode, "CreatedMode")
UI_MAP_ELEMENT( m_labelSeed, "Seed") UI_MAP_ELEMENT( m_labelSeed, "Seed")
UI_MAP_ELEMENT( m_texturePackList, "TexturePackSelector") UI_MAP_ELEMENT( m_texturePackList, "TexturePackSelector")
UI_MAP_ELEMENT( m_buttonGamemode, "GameModeToggle") UI_MAP_ELEMENT( m_sliderGamemode, "GameModeToggle")
UI_MAP_ELEMENT( m_checkboxOnline, "CheckboxOnline") UI_MAP_ELEMENT( m_checkboxOnline, "CheckboxOnline")
UI_MAP_ELEMENT( m_buttonMoreOptions, "MoreOptions") UI_MAP_ELEMENT( m_buttonMoreOptions, "MoreOptions")
UI_MAP_ELEMENT( m_buttonLoadWorld, "LoadSettings") UI_MAP_ELEMENT( m_buttonLoadWorld, "LoadSettings")