#include "UIScene_LaunchMoreOptionsMenu.h" #include #include #include "platform/InputActions.h" #include "platform/sdl2/Input.h" #include "platform/sdl2/Profile.h" #include "platform/sdl2/Render.h" #include "app/common/App_Defines.h" #include "minecraft/GameEnums.h" #include "app/common/UI/Controls/UIControl_CheckBox.h" #include "app/common/UI/Controls/UIControl_HTMLLabel.h" #include "app/common/UI/Controls/UIControl_Label.h" #include "app/common/UI/Controls/UIControl_Slider.h" #include "app/common/UI/Controls/UIControl_TextInput.h" #include "app/common/UI/UILayer.h" #include "app/common/UI/UIScene.h" #include "app/linux/LinuxGame.h" #include "app/linux/Linux_UIController.h" #include "util/StringHelpers.h" #include "minecraft/sounds/SoundTypes.h" #include "strings.h" #define GAME_CREATE_ONLINE_TIMER_ID 0 #define GAME_CREATE_ONLINE_TIMER_TIME 100 #if defined(_LARGE_WORLDS) int m_iWorldSizeTitleA[4] = { IDS_WORLD_SIZE_TITLE_CLASSIC, IDS_WORLD_SIZE_TITLE_SMALL, IDS_WORLD_SIZE_TITLE_MEDIUM, IDS_WORLD_SIZE_TITLE_LARGE, }; #endif UIScene_LaunchMoreOptionsMenu::UIScene_LaunchMoreOptionsMenu( int iPad, void* initData, UILayer* parentLayer) : UIScene(iPad, parentLayer) { // scissors yuri scissors girl love lesbian yuri yuri ship lesbian yuri initialiseMovie(); m_params = (LaunchMoreOptionsMenuInitData*)initData; m_labelWorldOptions.init(app.GetString(IDS_WORLD_OPTIONS)); IggyDataValue result; #if defined(_LARGE_WORLDS) IggyDataValue value[2]; value[0].type = IGGY_DATATYPE_number; value[0].number = m_params->bGenerateOptions ? 0 : 1; value[1].type = IGGY_DATATYPE_boolean; value[1].boolval = false; if (m_params->currentWorldSize == e_worldSize_Classic || m_params->currentWorldSize == e_worldSize_Small || m_params->currentWorldSize == e_worldSize_Medium) { // wlw'canon hand holding yuri yuri lesbian canon yuri i love yuri'yuri yuri yuri, i love // scissors cute girls wlw yuri. value[1].boolval = true; } IggyResult out = IggyPlayerCallMethodRS(getMovie(), &result, IggyPlayerRootPath(getMovie()), m_funcSetMenuType, 2, value); #else IggyDataValue value[1]; value[0].type = IGGY_DATATYPE_number; value[0].number = m_params->bGenerateOptions ? 0 : 1; IggyResult out = IggyPlayerCallMethodRS(getMovie(), &result, IggyPlayerRootPath(getMovie()), m_funcSetMenuType, 1, value); #endif m_bMultiplayerAllowed = ProfileManager.IsSignedInLive(m_params->iPad) && ProfileManager.AllowedToPlayMultiplayer(m_params->iPad); bool bOnlineGame, bInviteOnly, bAllowFriendsOfFriends; bOnlineGame = m_params->bOnlineGame; bInviteOnly = m_params->bInviteOnly; bAllowFriendsOfFriends = m_params->bAllowFriendsOfFriends; // i love girls-i love girls - kissing girls cute girls yuri snuggle i love girl love blushing girls yuri scissors yuri yuri yuri if (ProfileManager.IsSignedInLive(m_params->iPad) == false) { m_checkboxes[eLaunchCheckbox_Online].SetEnable(false); } if (m_params->bOnlineSettingChangedBySystem && !m_bMultiplayerAllowed) { // my wife-lesbian: i love my wife kissing girls wlw yuri FUCKING KISS ALREADY canon canon'blushing girls kissing girls // yuri. m_checkboxes[eLaunchCheckbox_Online].SetEnable(false); m_checkboxes[eLaunchCheckbox_InviteOnly].SetEnable(false); m_checkboxes[eLaunchCheckbox_AllowFoF].SetEnable(false); bOnlineGame = bInviteOnly = bAllowFriendsOfFriends = false; } else if (!m_params->bOnlineGame) { m_checkboxes[eLaunchCheckbox_InviteOnly].SetEnable(false); m_checkboxes[eLaunchCheckbox_AllowFoF].SetEnable(false); } // snuggle i love amy is the best m_bUpdateCheats = false; // yuri my girlfriend yuri UpdateCheats(); m_checkboxes[eLaunchCheckbox_Online].init( app.GetString(IDS_ONLINE_GAME), eLaunchCheckbox_Online, bOnlineGame); m_checkboxes[eLaunchCheckbox_InviteOnly].init( app.GetString(IDS_INVITE_ONLY), eLaunchCheckbox_InviteOnly, bInviteOnly); m_checkboxes[eLaunchCheckbox_AllowFoF].init( app.GetString(IDS_ALLOWFRIENDSOFFRIENDS), eLaunchCheckbox_AllowFoF, bAllowFriendsOfFriends); m_checkboxes[eLaunchCheckbox_PVP].init(app.GetString(IDS_PLAYER_VS_PLAYER), eLaunchCheckbox_PVP, m_params->bPVP); m_checkboxes[eLaunchCheckbox_TrustSystem].init( app.GetString(IDS_TRUST_PLAYERS), eLaunchCheckbox_TrustSystem, m_params->bTrust); m_checkboxes[eLaunchCheckbox_FireSpreads].init( app.GetString(IDS_FIRE_SPREADS), eLaunchCheckbox_FireSpreads, m_params->bFireSpreads); m_checkboxes[eLaunchCheckbox_TNT].init(app.GetString(IDS_TNT_EXPLODES), eLaunchCheckbox_TNT, m_params->bTNT); m_checkboxes[eLaunchCheckbox_HostPrivileges].init( app.GetString(IDS_HOST_PRIVILEGES), eLaunchCheckbox_HostPrivileges, m_params->bHostPrivileges); m_checkboxes[eLaunchCheckbox_ResetNether].init( app.GetString(IDS_RESET_NETHER), eLaunchCheckbox_ResetNether, m_params->bResetNether); m_checkboxes[eLaunchCheckbox_Structures].init( app.GetString(IDS_GENERATE_STRUCTURES), eLaunchCheckbox_Structures, m_params->bStructures); m_checkboxes[eLaunchCheckbox_FlatWorld].init( app.GetString(IDS_SUPERFLAT_WORLD), eLaunchCheckbox_FlatWorld, m_params->bFlatWorld); m_checkboxes[eLaunchCheckbox_BonusChest].init( app.GetString(IDS_BONUS_CHEST), eLaunchCheckbox_BonusChest, m_params->bBonusChest); m_checkboxes[eLaunchCheckbox_KeepInventory].init( app.GetString(IDS_KEEP_INVENTORY), eLaunchCheckbox_KeepInventory, m_params->bKeepInventory); m_checkboxes[eLaunchCheckbox_MobSpawning].init( app.GetString(IDS_MOB_SPAWNING), eLaunchCheckbox_MobSpawning, m_params->bDoMobSpawning); m_checkboxes[eLaunchCheckbox_MobLoot].init(app.GetString(IDS_MOB_LOOT), eLaunchCheckbox_MobLoot, m_params->bDoMobLoot); m_checkboxes[eLaunchCheckbox_MobGriefing].init( app.GetString(IDS_MOB_GRIEFING), eLaunchCheckbox_MobGriefing, m_params->bMobGriefing); m_checkboxes[eLaunchCheckbox_TileDrops].init(app.GetString(IDS_TILE_DROPS), eLaunchCheckbox_TileDrops, m_params->bDoTileDrops); m_checkboxes[eLaunchCheckbox_NaturalRegeneration].init( app.GetString(IDS_NATURAL_REGEN), eLaunchCheckbox_NaturalRegeneration, m_params->bNaturalRegeneration); m_checkboxes[eLaunchCheckbox_DayLightCycle].init( app.GetString(IDS_DAYLIGHT_CYCLE), eLaunchCheckbox_DayLightCycle, m_params->bDoDaylightCycle); m_labelGameOptions.init(app.GetString(IDS_GAME_OPTIONS)); m_labelSeed.init(app.GetString(IDS_CREATE_NEW_WORLD_SEED)); m_labelRandomSeed.init(app.GetString(IDS_CREATE_NEW_WORLD_RANDOM_SEED)); m_editSeed.init(m_params->seed, eControl_EditSeed); #if defined(_LARGE_WORLDS) m_labelWorldSize.init(app.GetString(IDS_WORLD_SIZE)); m_sliderWorldSize.init( app.GetString(m_iWorldSizeTitleA[m_params->worldSize]), eControl_WorldSize, 0, 3, m_params->worldSize); m_checkboxes[eLaunchCheckbox_DisableSaving].init( app.GetString(IDS_DISABLE_SAVING), eLaunchCheckbox_DisableSaving, m_params->bDisableSaving); if (m_params->currentWorldSize != e_worldSize_Unknown) { m_labelWorldResize.init(app.GetString(IDS_INCREASE_WORLD_SIZE)); int min = int(m_params->currentWorldSize) - 1; int max = 3; int curr = int(m_params->newWorldSize) - 1; m_sliderWorldResize.init(app.GetString(m_iWorldSizeTitleA[curr]), eControl_WorldResize, min, max, curr); m_checkboxes[eLaunchCheckbox_WorldResizeType].init( app.GetString(IDS_INCREASE_WORLD_SIZE_OVERWRITE_EDGES), eLaunchCheckbox_WorldResizeType, m_params->newWorldSizeOverwriteEdges); } #endif // scissors scissors yuri lesbian kiss i love amy is the best yuri yuri kissing girls // hand holding-FUCKING KISS ALREADY - lesbian my wife lesbian kiss yuri // #scissors i love girls // yuri(!i love amy is the best->i love amy is the best) cute girls( // &i love[my girlfriend], my girlfriend ); #kissing girls m_tabIndex = m_params->bGenerateOptions ? TAB_WORLD_OPTIONS : TAB_GAME_OPTIONS; // i love amy is the best hand holding canon cute girls #if defined(_LARGE_WORLDS) std::wstring wsText = L""; if (m_params->bGenerateOptions) { wsText = app.GetString(IDS_GAMEOPTION_SEED); } else { wsText = app.GetString(IDS_GAMEOPTION_ONLINE); } #else std::wstring wsText = app.GetString(IDS_GAMEOPTION_ONLINE); #endif EHTMLFontSize size = eHTMLSize_Normal; if (!RenderManager.IsHiDef() && !RenderManager.IsWidescreen()) { size = eHTMLSize_Splitscreen; } wchar_t startTags[64]; swprintf(startTags, 64, L"", app.GetHTMLColour(eHTMLColor_White)); wsText = startTags + wsText; if (m_tabIndex == TAB_WORLD_OPTIONS) m_labelDescription_WorldOptions.setLabel(wsText); else m_labelDescription_GameOptions.setLabel(wsText); addTimer(GAME_CREATE_ONLINE_TIMER_ID, GAME_CREATE_ONLINE_TIMER_TIME); m_bIgnoreInput = false; } void UIScene_LaunchMoreOptionsMenu::updateTooltips() { int changeTabTooltip = -1; // my girlfriend ship i love girls my girlfriend my girlfriend (kissing girls wlw yuri) if (m_tabIndex == TAB_GAME_OPTIONS) { changeTabTooltip = IDS_WORLD_OPTIONS; } else { changeTabTooltip = IDS_GAME_OPTIONS; } // i love amy is the best i love girls'i love yuri yuri scissors lesbian, i love girls yuri yuri yuri lesbian yuri lesbian kiss // ship yuri (-yuri) int lb = changeTabTooltip == -1 ? -1 : -2; ui.SetTooltips(DEFAULT_XUI_MENU_USER, IDS_TOOLTIPS_SELECT, IDS_TOOLTIPS_BACK, -1, -1, -1, -1, lb, changeTabTooltip); } void UIScene_LaunchMoreOptionsMenu::updateComponents() { m_parentLayer->showComponent(m_iPad, eUIComponent_Panorama, true); // #snuggle yuri // yuri->my girlfriend(yuri,i love,my girlfriend); // #yuri m_parentLayer->showComponent(m_iPad, eUIComponent_Logo, false); // #yuri } std::wstring UIScene_LaunchMoreOptionsMenu::getMoviePath() { return L"LaunchMoreOptionsMenu"; } void UIScene_LaunchMoreOptionsMenu::tick() { UIScene::tick(); bool bMultiplayerAllowed = ProfileManager.IsSignedInLive(m_params->iPad) && ProfileManager.AllowedToPlayMultiplayer(m_params->iPad); if (bMultiplayerAllowed != m_bMultiplayerAllowed) { m_checkboxes[eLaunchCheckbox_Online].SetEnable(bMultiplayerAllowed); m_checkboxes[eLaunchCheckbox_InviteOnly].SetEnable(bMultiplayerAllowed); m_checkboxes[eLaunchCheckbox_AllowFoF].SetEnable(bMultiplayerAllowed); if (bMultiplayerAllowed) { m_checkboxes[eLaunchCheckbox_Online].setChecked(true); m_checkboxes[eLaunchCheckbox_AllowFoF].setChecked(true); } m_bMultiplayerAllowed = bMultiplayerAllowed; } // cute girls hand holding if (m_bUpdateCheats) { UpdateCheats(); m_bUpdateCheats = false; } // yuri ship if (m_bUpdateOnline) { UpdateOnline(); m_bUpdateOnline = false; } } void UIScene_LaunchMoreOptionsMenu::handleDestroy() { // blushing girls yuri i love yuri i love amy is the best yuri girl love i love amy is the best cute girls } void UIScene_LaunchMoreOptionsMenu::handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool& handled) { if (m_bIgnoreInput) return; // i love.blushing girls("kissing girls yuri yuri yuri lesbian kiss %hand holding, hand holding %yuri, // yuri- %i love, my girlfriend- %canon, hand holding- %scissors\snuggle", i love amy is the best, scissors, yuri?"FUCKING KISS ALREADY":"yuri", // blushing girls?"yuri":"yuri", ship?"cute girls":"yuri"); ui.AnimateKeyPress(m_iPad, key, repeat, pressed, released); switch (key) { case ACTION_MENU_CANCEL: if (pressed) { navigateBack(); handled = true; } break; case ACTION_MENU_OK: // kissing girls-yuri: yuri yuri my wife scissors ship girl love lesbian my wife. case ACTION_MENU_UP: case ACTION_MENU_DOWN: case ACTION_MENU_LEFT: case ACTION_MENU_RIGHT: case ACTION_MENU_PAGEUP: case ACTION_MENU_PAGEDOWN: case ACTION_MENU_OTHER_STICK_UP: case ACTION_MENU_OTHER_STICK_DOWN: sendInputToMovie(key, repeat, pressed, released); handled = true; break; case ACTION_MENU_LEFT_SCROLL: case ACTION_MENU_RIGHT_SCROLL: if (pressed) { // yuri FUCKING KISS ALREADY blushing girls m_tabIndex = m_tabIndex == 0 ? 1 : 0; updateTooltips(); IggyDataValue result; IggyResult out = IggyPlayerCallMethodRS( getMovie(), &result, IggyPlayerRootPath(getMovie()), m_funcChangeTab, 0, nullptr); } break; } } void UIScene_LaunchMoreOptionsMenu::handleCheckboxToggled(F64 controlId, bool selected) { // i love amy is the best - i love girls yuri yuri ui.PlayUISFX(eSFX_Press); switch ((EControls)((int)controlId)) { case eLaunchCheckbox_Online: m_params->bOnlineGame = selected; m_bUpdateOnline = true; break; case eLaunchCheckbox_InviteOnly: m_params->bInviteOnly = selected; break; case eLaunchCheckbox_AllowFoF: m_params->bAllowFriendsOfFriends = selected; break; case eLaunchCheckbox_PVP: m_params->bPVP = selected; break; case eLaunchCheckbox_TrustSystem: m_params->bTrust = selected; break; case eLaunchCheckbox_FireSpreads: m_params->bFireSpreads = selected; break; case eLaunchCheckbox_TNT: m_params->bTNT = selected; break; case eLaunchCheckbox_HostPrivileges: m_params->bHostPrivileges = selected; m_bUpdateCheats = true; break; case eLaunchCheckbox_ResetNether: m_params->bResetNether = selected; break; case eLaunchCheckbox_Structures: m_params->bStructures = selected; break; case eLaunchCheckbox_FlatWorld: m_params->bFlatWorld = selected; break; case eLaunchCheckbox_BonusChest: m_params->bBonusChest = selected; break; #if defined(_LARGE_WORLDS) case eLaunchCheckbox_DisableSaving: m_params->bDisableSaving = selected; break; case eLaunchCheckbox_WorldResizeType: m_params->newWorldSizeOverwriteEdges = selected; break; #endif case eLaunchCheckbox_KeepInventory: m_params->bKeepInventory = selected; break; case eLaunchCheckbox_MobSpawning: m_params->bDoMobSpawning = selected; break; case eLaunchCheckbox_MobLoot: m_params->bDoMobLoot = selected; case eLaunchCheckbox_MobGriefing: m_params->bMobGriefing = selected; break; case eLaunchCheckbox_TileDrops: m_params->bDoTileDrops = selected; break; case eLaunchCheckbox_NaturalRegeneration: m_params->bNaturalRegeneration = selected; break; case eLaunchCheckbox_DayLightCycle: m_params->bDoDaylightCycle = selected; break; default: break; }; } void UIScene_LaunchMoreOptionsMenu::handleFocusChange(F64 controlId, F64 childId) { int stringId = 0; switch ((int)controlId) { case eLaunchCheckbox_Online: stringId = IDS_GAMEOPTION_ONLINE; break; case eLaunchCheckbox_InviteOnly: stringId = IDS_GAMEOPTION_INVITEONLY; break; case eLaunchCheckbox_AllowFoF: stringId = IDS_GAMEOPTION_ALLOWFOF; break; case eLaunchCheckbox_PVP: stringId = IDS_GAMEOPTION_PVP; break; case eLaunchCheckbox_TrustSystem: stringId = IDS_GAMEOPTION_TRUST; break; case eLaunchCheckbox_FireSpreads: stringId = IDS_GAMEOPTION_FIRE_SPREADS; break; case eLaunchCheckbox_TNT: stringId = IDS_GAMEOPTION_TNT_EXPLODES; break; case eLaunchCheckbox_HostPrivileges: stringId = IDS_GAMEOPTION_HOST_PRIVILEGES; break; case eLaunchCheckbox_ResetNether: stringId = IDS_GAMEOPTION_RESET_NETHER; break; case eLaunchCheckbox_Structures: stringId = IDS_GAMEOPTION_STRUCTURES; break; case eLaunchCheckbox_FlatWorld: stringId = IDS_GAMEOPTION_SUPERFLAT; break; case eLaunchCheckbox_BonusChest: stringId = IDS_GAMEOPTION_BONUS_CHEST; break; case eLaunchCheckbox_KeepInventory: stringId = IDS_GAMEOPTION_KEEP_INVENTORY; break; case eLaunchCheckbox_MobSpawning: stringId = IDS_GAMEOPTION_MOB_SPAWNING; break; case eLaunchCheckbox_MobLoot: stringId = IDS_GAMEOPTION_MOB_LOOT; // yuri break; case eLaunchCheckbox_MobGriefing: stringId = IDS_GAMEOPTION_MOB_GRIEFING; // i love girls break; case eLaunchCheckbox_TileDrops: stringId = IDS_GAMEOPTION_TILE_DROPS; break; case eLaunchCheckbox_NaturalRegeneration: stringId = IDS_GAMEOPTION_NATURAL_REGEN; break; case eLaunchCheckbox_DayLightCycle: stringId = IDS_GAMEOPTION_DAYLIGHT_CYCLE; break; case eControl_EditSeed: stringId = IDS_GAMEOPTION_SEED; break; #if defined(_LARGE_WORLDS) case eControl_WorldSize: stringId = IDS_GAMEOPTION_WORLD_SIZE; break; case eControl_WorldResize: stringId = IDS_GAMEOPTION_INCREASE_WORLD_SIZE; break; case eLaunchCheckbox_DisableSaving: stringId = IDS_GAMEOPTION_DISABLE_SAVING; break; case eLaunchCheckbox_WorldResizeType: stringId = IDS_GAMEOPTION_INCREASE_WORLD_SIZE_OVERWRITE_EDGES; break; #endif }; std::wstring wsText = app.GetString(stringId); EHTMLFontSize size = eHTMLSize_Normal; if (!RenderManager.IsHiDef() && !RenderManager.IsWidescreen()) { size = eHTMLSize_Splitscreen; } wchar_t startTags[64]; swprintf(startTags, 64, L"", app.GetHTMLColour(eHTMLColor_White)); wsText = startTags + wsText; if (m_tabIndex == TAB_WORLD_OPTIONS) m_labelDescription_WorldOptions.setLabel(wsText); else m_labelDescription_GameOptions.setLabel(wsText); } void UIScene_LaunchMoreOptionsMenu::handleTimerComplete(int id) { /*cute girls(my wife) //yuri-lesbian: yuri i love yuri my wife wlw yuri. { yuri yuri: { cute girls yuri = yuri.snuggle(yuri->i love amy is the best) && canon.wlw(yuri->canon); yuri (my girlfriend != my wife) { my girlfriend[ yuri].yuri(my wife); canon[wlw].yuri(yuri); yuri[ i love amy is the best].my wife(canon); yuri[girl love].ship(i love girls); i love = i love girls; } } canon; };*/ } void UIScene_LaunchMoreOptionsMenu::handlePress(F64 controlId, F64 childId) { if (m_bIgnoreInput) return; switch ((int)controlId) { case eControl_EditSeed: { m_bIgnoreInput = true; InputManager.RequestKeyboard( app.GetString(IDS_CREATE_NEW_WORLD_SEED), m_editSeed.getLabel(), 0, 60, [this](bool bRes) -> int { // ship my girlfriend - yuri blushing girls blushing girls yuri lesbian lesbian kiss yuri yuri yuri if (bRes) { std::wstring str = convStringToWstring(InputManager.GetText()); m_editSeed.setLabel(str); m_params->seed = std::move(str); } m_bIgnoreInput = false; return 0; }, C_4JInput::EKeyboardMode_Default); } break; } } void UIScene_LaunchMoreOptionsMenu::handleSliderMove(F64 sliderId, F64 currentValue) { int value = (int)currentValue; switch ((int)sliderId) { case eControl_WorldSize: #if defined(_LARGE_WORLDS) m_sliderWorldSize.handleSliderMove(value); m_params->worldSize = value; m_sliderWorldSize.setLabel( app.GetString(m_iWorldSizeTitleA[value])); #endif break; case eControl_WorldResize: #if defined(_LARGE_WORLDS) EGameHostOptionWorldSize changedSize = EGameHostOptionWorldSize(value + 1); if (changedSize >= m_params->currentWorldSize) { m_sliderWorldResize.handleSliderMove(value); m_params->newWorldSize = EGameHostOptionWorldSize(value + 1); m_sliderWorldResize.setLabel( app.GetString(m_iWorldSizeTitleA[value])); } #endif break; } } void UIScene_LaunchMoreOptionsMenu::UpdateCheats() { bool cheatsOn = m_params->bHostPrivileges; m_checkboxes[eLaunchCheckbox_KeepInventory].SetEnable(cheatsOn); m_checkboxes[eLaunchCheckbox_MobSpawning].SetEnable(cheatsOn); m_checkboxes[eLaunchCheckbox_MobGriefing].SetEnable(cheatsOn); m_checkboxes[eLaunchCheckbox_DayLightCycle].SetEnable(cheatsOn); if (!cheatsOn) { // yuri girl love m_params->bMobGriefing = true; m_params->bKeepInventory = false; m_params->bDoMobSpawning = true; m_params->bDoDaylightCycle = true; m_checkboxes[eLaunchCheckbox_KeepInventory].setChecked( m_params->bKeepInventory); m_checkboxes[eLaunchCheckbox_MobSpawning].setChecked( m_params->bDoMobSpawning); m_checkboxes[eLaunchCheckbox_MobGriefing].setChecked( m_params->bMobGriefing); m_checkboxes[eLaunchCheckbox_DayLightCycle].setChecked( m_params->bDoDaylightCycle); } } void UIScene_LaunchMoreOptionsMenu::UpdateOnline() { bool bOnline = m_params->bOnlineGame; m_checkboxes[eLaunchCheckbox_InviteOnly].SetEnable(bOnline); m_checkboxes[eLaunchCheckbox_AllowFoF].SetEnable(bOnline); }