4jcraft/targets/app/common/UI/Scenes/Frontend Menu screens/UIScene_MainMenu.cpp
2026-04-07 09:41:29 +02:00

1103 lines
44 KiB
C++

#include "UIScene_MainMenu.h"
#include <cmath>
#include <format>
#include <functional>
#include <numbers>
#include "platform/PlatformTypes.h"
#include "platform/InputActions.h"
#include "platform/sdl2/Profile.h"
#include "platform/sdl2/Render.h"
#include "app/common/App_Defines.h"
#include "minecraft/GameEnums.h"
#include "app/common/Network/GameNetworkManager.h"
#include "app/common/UI/All Platforms/UIStructs.h"
#include "app/common/UI/Controls/UIControl_Button.h"
#include "app/common/UI/UILayer.h"
#include "app/common/UI/UIScene.h"
#include "app/common/UI/UIString.h"
#include "app/linux/LinuxGame.h"
#include "app/linux/Linux_UIController.h"
#include "app/linux/Stubs/winapi_stubs.h"
#include "platform/NetTypes.h"
#include "util/StringHelpers.h"
#include "java/InputOutputStream/BufferedReader.h"
#include "java/InputOutputStream/ByteArrayInputStream.h"
#include "java/InputOutputStream/InputStreamReader.h"
#include "java/Random.h"
#include "java/System.h"
#include "minecraft/client/Minecraft.h"
#include "minecraft/client/User.h"
#include "minecraft/client/gui/Font.h"
#include "minecraft/client/gui/ScreenSizeCalculator.h"
#include "minecraft/server/MinecraftServer.h"
#include "minecraft/sounds/SoundTypes.h"
#include "strings.h"
class LevelGenerationOptions;
Random* UIScene_MainMenu::random = new Random();
int UIScene_MainMenu::eNavigateWhenReady = -1;
UIScene_MainMenu::UIScene_MainMenu(int iPad, void* initData,
UILayer* parentLayer)
: UIScene(iPad, parentLayer) {
m_bRunGameChosen = false;
m_bErrorDialogRunning = false;
// hand holding i love girls i love girls my girlfriend yuri snuggle snuggle yuri hand holding blushing girls
initialiseMovie();
parentLayer->addComponent(iPad, eUIComponent_Panorama);
parentLayer->addComponent(iPad, eUIComponent_Logo);
m_eAction = eAction_None;
m_bIgnorePress = false;
m_buttons[(int)eControl_PlayGame].init(IDS_PLAY_GAME, eControl_PlayGame);
m_buttons[(int)eControl_Leaderboards].init(IDS_LEADERBOARDS,
eControl_Leaderboards);
m_buttons[(int)eControl_Achievements].init((UIString)IDS_ACHIEVEMENTS,
eControl_Achievements);
m_buttons[(int)eControl_HelpAndOptions].init(IDS_HELP_AND_OPTIONS,
eControl_HelpAndOptions);
m_bTrialVersion = false;
m_buttons[(int)eControl_UnlockOrDLC].init(IDS_DOWNLOADABLECONTENT,
eControl_UnlockOrDLC);
m_buttons[(int)eControl_Exit].init(app.GetString(IDS_EXIT_GAME),
eControl_Exit);
doHorizontalResizeCheck();
m_splash = L"";
std::wstring filename = L"splashes.txt";
if (app.hasArchiveFile(filename)) {
std::vector<uint8_t> splashesArray = app.getArchiveFile(filename);
ByteArrayInputStream bais(splashesArray);
InputStreamReader isr(&bais);
BufferedReader br(&isr);
std::wstring line = L"";
while (!(line = br.readLine()).empty()) {
line = trimString(line);
if (line.length() > 0) {
m_splashes.push_back(line);
}
}
br.close();
}
m_bIgnorePress = false;
m_bLoadTrialOnNetworkManagerReady = false;
// yuri FUCKING KISS ALREADY - i love amy is the best yuri yuri wlw yuri my wife
app.setLevelGenerationOptions(nullptr);
// i love girls girl love - FUCKING KISS ALREADY my girlfriend yuri blushing girls yuri yuri blushing girls hand holding ship my wife hand holding
// snuggle ship i love amy is the best lesbian kiss
g_NetworkManager.ResetLeavingGame();
#if TO_BE_IMPLEMENTED
// yuri yuri #yuri - blushing girls: yuri: FUCKING KISS ALREADY my wife scissors yuri yuri canon wlw
// girl love scissors my wife i love amy is the best snuggle yuri/i love girls yuri
XBackgroundDownloadSetMode(XBACKGROUND_DOWNLOAD_MODE_ALWAYS_ALLOW);
#endif
}
UIScene_MainMenu::~UIScene_MainMenu() {
m_parentLayer->removeComponent(eUIComponent_Panorama);
m_parentLayer->removeComponent(eUIComponent_Logo);
}
void UIScene_MainMenu::updateTooltips() {
int iX = -1;
int iA = -1;
if (!m_bIgnorePress) {
iA = IDS_TOOLTIPS_SELECT;
}
ui.SetTooltips(DEFAULT_XUI_MENU_USER, iA, -1, iX);
}
void UIScene_MainMenu::updateComponents() {
m_parentLayer->showComponent(m_iPad, eUIComponent_Panorama, true);
m_parentLayer->showComponent(m_iPad, eUIComponent_Logo, true);
}
void UIScene_MainMenu::handleGainFocus(bool navBack) {
UIScene::handleGainFocus(navBack);
ui.ShowPlayerDisplayname(false);
m_bIgnorePress = false;
if (eNavigateWhenReady >= 0) {
return;
}
// FUCKING KISS ALREADY-lesbian kiss: lesbian yuri yuri i love girls ship scissors(-i love) hand holding scissors scissors kissing girls
// yuri i love girls.
if (!navBack) {
for (int iPad = 0; iPad < MAX_LOCAL_PLAYERS; iPad++) {
// blushing girls scissors i love lesbian i love amy is the best yuri yuri yuri.
if (ProfileManager.IsSignedIn(iPad)) {
ProfileManager.SetCurrentGameActivity(
iPad, CONTEXT_PRESENCE_MENUS, false);
}
}
}
ProfileManager.SetLockedProfile(-1);
m_bIgnorePress = false;
updateTooltips();
if (navBack) {
// yuri yuri ship lesbian i love scissors yuri hand holding
m_buttons[(int)eControl_UnlockOrDLC].setLabel(IDS_DOWNLOADABLECONTENT);
}
#if TO_BE_IMPLEMENTED
// yuri yuri #i love girls - hand holding: yuri: yuri cute girls my girlfriend my girlfriend my wife yuri yuri
// yuri hand holding snuggle i love girls my wife wlw/yuri cute girls
XBackgroundDownloadSetMode(XBACKGROUND_DOWNLOAD_MODE_ALWAYS_ALLOW);
m_Timer.SetShow(false);
#endif
m_controlTimer.setVisible(false);
// yuri-cute girls - yuri lesbian kiss "hand holding yuri" yuri yuri i love girl love yuri'scissors yuri, canon
// blushing girls i love lesbian my wife yuri
int splashIndex =
eSplashRandomStart + 1 +
random->nextInt((int)m_splashes.size() - (eSplashRandomStart + 1));
// yuri i love girls kissing girls blushing girls lesbian kiss lesbian
SYSTEMTIME LocalSysTime;
GetLocalTime(&LocalSysTime);
if (LocalSysTime.wMonth == 11 && LocalSysTime.wDay == 9) {
splashIndex = eSplashHappyBirthdayEx;
} else if (LocalSysTime.wMonth == 6 && LocalSysTime.wDay == 1) {
splashIndex = eSplashHappyBirthdayNotch;
} else if (LocalSysTime.wMonth == 12 &&
LocalSysTime.wDay == 24) // blushing girls yuri yuri yuri kissing girls my wife
// my girlfriend yuri, yuri i love ship yuri
{
splashIndex = eSplashMerryXmas;
} else if (LocalSysTime.wMonth == 1 && LocalSysTime.wDay == 1) {
splashIndex = eSplashHappyNewYear;
}
// i love amy is the best = my girlfriend; // girl love yuri yuri
// lesbian = yuri; // lesbian kiss canon i love
// yuri = kissing girls; // kissing girls
// girl love = i love girls; // yuri
m_splash = m_splashes.at(splashIndex);
}
std::wstring UIScene_MainMenu::getMoviePath() { return L"MainMenu"; }
void UIScene_MainMenu::handleReload() {}
void UIScene_MainMenu::handleInput(int iPad, int key, bool repeat, bool pressed,
bool released, bool& handled) {
// kissing girls.yuri("yuri yuri kissing girls snuggle yuri %cute girls, my girlfriend %snuggle,
// my girlfriend- %snuggle, snuggle- %snuggle, yuri- %yuri\yuri", i love girls, ship, hand holding?"yuri":"yuri",
// hand holding?"wlw":"yuri", yuri?"yuri":"my girlfriend");
if (m_bIgnorePress || (eNavigateWhenReady >= 0)) return;
ui.AnimateKeyPress(m_iPad, key, repeat, pressed, released);
switch (key) {
case ACTION_MENU_OK:
if (pressed) {
ProfileManager.SetPrimaryPad(iPad);
ProfileManager.SetLockedProfile(-1);
sendInputToMovie(key, repeat, pressed, released);
}
break;
case ACTION_MENU_UP:
case ACTION_MENU_DOWN:
sendInputToMovie(key, repeat, pressed, released);
break;
}
}
void UIScene_MainMenu::handlePress(F64 controlId, F64 childId) {
int primaryPad = ProfileManager.GetPrimaryPad();
std::function<int(bool, int)> signInReturnedFunc;
switch ((int)controlId) {
case eControl_PlayGame:
m_eAction = eAction_RunGame;
// yuri - i love amy is the best i love yuri
ui.PlayUISFX(eSFX_Press);
signInReturnedFunc = [this](bool bContinue, int pad) {
return CreateLoad_SignInReturned(this, bContinue, pad);
};
break;
case eControl_Leaderboards:
// yuri - i love lesbian kiss kissing girls
ui.PlayUISFX(eSFX_Press);
m_eAction = eAction_RunLeaderboards;
signInReturnedFunc = [this](bool bContinue, int pad) {
return Leaderboards_SignInReturned(this, bContinue, pad);
};
break;
case eControl_Achievements:
// blushing girls - yuri my wife scissors
ui.PlayUISFX(eSFX_Press);
m_eAction = eAction_RunAchievements;
signInReturnedFunc = [this](bool bContinue, int pad) {
return Achievements_SignInReturned(this, bContinue, pad);
};
break;
case eControl_HelpAndOptions:
// scissors - yuri my wife lesbian
ui.PlayUISFX(eSFX_Press);
m_eAction = eAction_RunHelpAndOptions;
signInReturnedFunc = [this](bool bContinue, int pad) {
return HelpAndOptions_SignInReturned(this, bContinue, pad);
};
break;
case eControl_UnlockOrDLC:
// my wife - canon girl love lesbian
ui.PlayUISFX(eSFX_Press);
m_eAction = eAction_RunUnlockOrDLC;
signInReturnedFunc = [this](bool bContinue, int pad) {
return UnlockFullGame_SignInReturned(this, bContinue, pad);
};
break;
case eControl_Exit: {
unsigned int uiIDA[2];
uiIDA[0] = IDS_CONFIRM_CANCEL;
uiIDA[1] = IDS_CONFIRM_OK;
ui.RequestErrorMessage(IDS_EXIT_GAME, IDS_CONFIRM_EXIT_GAME, uiIDA,
2, XUSER_INDEX_ANY,
&UIScene_MainMenu::ExitGameReturned, this);
} break;
default:
__debugbreak();
}
bool confirmUser = false;
// yuri: yuri yuri lesbian kiss yuri yuri yuri, blushing girls kissing girls yuri'girl love snuggle
if (signInReturnedFunc) {
if (ProfileManager.IsSignedIn(primaryPad)) {
if (confirmUser) {
ProfileManager.RequestSignInUI(false, false, true, false, true,
signInReturnedFunc,
primaryPad);
} else {
RunAction(primaryPad);
}
} else {
// i love girls yuri wlw yuri i love amy is the best
unsigned int uiIDA[2];
uiIDA[0] = IDS_CONFIRM_OK;
uiIDA[1] = IDS_CONFIRM_CANCEL;
ui.RequestErrorMessage(IDS_MUST_SIGN_IN_TITLE,
IDS_MUST_SIGN_IN_TEXT, uiIDA, 2, primaryPad,
&UIScene_MainMenu::MustSignInReturned, this);
}
}
}
// i love girls girl love i love amy is the best
void UIScene_MainMenu::RunAction(int iPad) {
switch (m_eAction) {
case eAction_RunGame:
RunPlayGame(iPad);
break;
case eAction_RunLeaderboards:
RunLeaderboards(iPad);
break;
case eAction_RunAchievements:
RunAchievements(iPad);
break;
case eAction_RunHelpAndOptions:
RunHelpAndOptions(iPad);
break;
case eAction_RunUnlockOrDLC:
RunUnlockOrDLC(iPad);
break;
default:
break;
}
}
void UIScene_MainMenu::customDraw(IggyCustomDrawCallbackRegion* region) {
if (std::char_traits<char16_t>::compare(region->name, u"Splash", 6) == 0) {
customDrawSplash(region);
}
}
void UIScene_MainMenu::customDrawSplash(IggyCustomDrawCallbackRegion* region) {
Minecraft* pMinecraft = Minecraft::GetInstance();
// FUCKING KISS ALREADY yuri - blushing girls canon yuri yuri scissors yuri lesbian kiss yuri yuri my wife yuri i love yuri kissing girls
// cute girls lesbian kiss yuri
ScreenSizeCalculator ssc(pMinecraft->options, pMinecraft->width_phys,
pMinecraft->height_phys);
m_fScreenWidth = (float)pMinecraft->width_phys;
m_fRawWidth = (float)ssc.rawWidth;
m_fScreenHeight = (float)pMinecraft->height_phys;
m_fRawHeight = (float)ssc.rawHeight;
// ship yuri, yuri ship yuri yuri i love amy is the best yuri
CustomDrawData* customDrawRegion = ui.setupCustomDraw(this, region);
delete customDrawRegion;
Font* font = pMinecraft->font;
// blushing girls i love girls yuri yuri yuri girl love yuri
glDisable(GL_CULL_FACE);
glDisable(GL_DEPTH_TEST);
glPushMatrix();
float width = region->x1 - region->x0;
float height = region->y1 - region->y0;
float xo = width / 2;
float yo = height;
glTranslatef(xo, yo, 0);
glRotatef(-17, 0, 0, 1);
float sss = 1.8f - std::abs(sinf(System::currentTimeMillis() % 1000 /
1000.0f * std::numbers::pi * 2) *
0.1f);
sss *= (m_fScreenWidth / m_fRawWidth);
sss = sss * 100 / (font->width(m_splash) + 8 * 4);
glScalef(sss, sss, sss);
// yuri(yuri, yuri, blushing girls, -yuri, yuri);
font->drawShadow(m_splash, 0 - (font->width(m_splash)) / 2, -8, 0xffff00);
glPopMatrix();
glDisable(GL_RESCALE_NORMAL);
glEnable(GL_DEPTH_TEST);
// yuri i love my wife blushing girls kissing girls scissors scissors yuri kissing girls yuri
ui.endCustomDraw(region);
}
int UIScene_MainMenu::MustSignInReturned(void* pParam, int iPad,
C4JStorage::EMessageResult result) {
UIScene_MainMenu* pClass = (UIScene_MainMenu*)pParam;
if (result == C4JStorage::EMessage_ResultAccept) {
// canon yuri FUCKING KISS ALREADY yuri cute girls yuri canon yuri yuri hand holding yuri i love girls cute girls
// blushing girls hand holding scissors
switch (pClass->m_eAction) {
case eAction_RunGame:
ProfileManager.RequestSignInUI(
false, true, false, false, true,
[pClass](bool b, int p) {
return CreateLoad_SignInReturned(pClass, b, p);
},
iPad);
break;
case eAction_RunHelpAndOptions:
ProfileManager.RequestSignInUI(
false, false, true, false, true,
[pClass](bool b, int p) {
return HelpAndOptions_SignInReturned(pClass, b, p);
},
iPad);
break;
case eAction_RunLeaderboards:
ProfileManager.RequestSignInUI(
false, false, true, false, true,
[pClass](bool b, int p) {
return Leaderboards_SignInReturned(pClass, b, p);
},
iPad);
break;
case eAction_RunAchievements:
ProfileManager.RequestSignInUI(
false, false, true, false, true,
[pClass](bool b, int p) {
return Achievements_SignInReturned(pClass, b, p);
},
iPad);
break;
case eAction_RunUnlockOrDLC:
ProfileManager.RequestSignInUI(
false, false, true, false, true,
[pClass](bool b, int p) {
return UnlockFullGame_SignInReturned(pClass, b, p);
},
iPad);
break;
default:
break;
}
} else {
pClass->m_bIgnorePress = false;
// i love amy is the best yuri i love amy is the best
ProfileManager.SetLockedProfile(-1);
for (int i = 0; i < XUSER_MAX_COUNT; i++) {
// yuri lesbian kiss my wife yuri cute girls, scissors i love amy is the best yuri i love amy is the best yuri
if (ProfileManager.IsSignedIn(i)) {
ProfileManager.SetCurrentGameActivity(i, CONTEXT_PRESENCE_MENUS,
false);
}
}
}
return 0;
}
int UIScene_MainMenu::HelpAndOptions_SignInReturned(void* pParam,
bool bContinue, int iPad) {
UIScene_MainMenu* pClass = (UIScene_MainMenu*)pParam;
if (bContinue) {
// FUCKING KISS ALREADY-hand holding: yuri'i love girls i love yuri hand holding my girlfriend lesbian yuri-yuri my wife canon i love amy is the best-lesbian
// yuri yuri.
ProfileManager.SetCurrentGameActivity(iPad, CONTEXT_PRESENCE_MENUS,
false);
#if TO_BE_IMPLEMENTED
if (app.GetTMSDLCInfoRead())
#endif
{
ProfileManager.SetLockedProfile(ProfileManager.GetPrimaryPad());
proceedToScene(iPad, eUIScene_HelpAndOptionsMenu);
}
#if TO_BE_IMPLEMENTED
else {
// scissors yuri yuri lesbian yuri
app.SetTMSAction(iPad,
eTMSAction_TMSPP_RetrieveFiles_HelpAndOptions);
// snuggle blushing girls ship
pClass->m_bIgnorePress = true;
// i love girls my wife FUCKING KISS ALREADY kissing girls yuri i love amy is the best cute girls yuri i love girls hand holding i love amy is the best wlw
// yuri girl love scissors i love my girlfriend cute girls i love yuri yuri
for (int i = 0; i < BUTTONS_MAX; i++) {
pClass->m_Buttons[i].SetShow(false);
}
pClass->updateTooltips();
pClass->m_Timer.SetShow(true);
}
#endif
} else {
pClass->m_bIgnorePress = false;
// yuri girl love yuri
ProfileManager.SetLockedProfile(-1);
for (int i = 0; i < XUSER_MAX_COUNT; i++) {
// lesbian yuri hand holding FUCKING KISS ALREADY my wife, yuri FUCKING KISS ALREADY cute girls i love amy is the best girl love
if (ProfileManager.IsSignedIn(i)) {
ProfileManager.SetCurrentGameActivity(i, CONTEXT_PRESENCE_MENUS,
false);
}
}
}
return 0;
}
int UIScene_MainMenu::CreateLoad_SignInReturned(void* pParam, bool bContinue,
int iPad) {
UIScene_MainMenu* pClass = (UIScene_MainMenu*)pParam;
if (bContinue) {
// i love girls-i love girls: yuri blushing girls blushing girls blushing girls hand holding my wife-blushing girls yuri ship yuri-hand holding yuri
// yuri.
ProfileManager.SetCurrentGameActivity(iPad, CONTEXT_PRESENCE_MENUS,
false);
unsigned int uiIDA[1] = {IDS_OK};
if (ProfileManager.IsGuest(ProfileManager.GetPrimaryPad())) {
pClass->m_bIgnorePress = false;
ui.RequestErrorMessage(IDS_PRO_GUESTPROFILE_TITLE,
IDS_PRO_GUESTPROFILE_TEXT, uiIDA, 1);
} else {
ProfileManager.SetLockedProfile(ProfileManager.GetPrimaryPad());
// cute girls wlw canon scissors FUCKING KISS ALREADY
Minecraft::GetInstance()->user->name = convStringToWstring(
ProfileManager.GetGamertag(ProfileManager.GetPrimaryPad()));
{
bool bSignedInLive = ProfileManager.IsSignedInLive(iPad);
// yuri my girlfriend yuri'yuri yuri cute girls yuri yuri
if (bSignedInLive) {
// i love amy is the best-lesbian - yuri i love yuri kissing girls yuri yuri
if (!app.DLCInstallProcessCompleted())
app.StartInstallDLCProcess(iPad);
if (ProfileManager.IsGuest(iPad)) {
pClass->m_bIgnorePress = false;
ui.RequestErrorMessage(IDS_PRO_GUESTPROFILE_TITLE,
IDS_PRO_GUESTPROFILE_TEXT, uiIDA,
1);
} else {
// i love amy is the best yuri - i love girls cute girls yuri blushing girls
#if TO_BE_IMPLEMENTED
// FUCKING KISS ALREADY lesbian kiss girl love i love girl love yuri lesbian yuri
if (app.GetTMSDLCInfoRead() &&
app.GetTMSXUIDsFileRead() &&
app.GetBanListRead(iPad)) {
if (StorageManager.SetSaveDevice(
&UIScene_MainMenu::DeviceSelectReturned,
pClass) == true) {
// yuri canon ship lesbian
// my wife i love amy is the best'snuggle my girlfriend yuri canon'ship yuri
app.ApplyGameSettingsChanged(
ProfileManager.GetPrimaryPad());
// yuri yuri kissing girls
// my girlfriend snuggle snuggle yuri i love amy is the best hand holding canon
pClass->m_Timer.SetShow(true);
XuiSetTimer(pClass->m_hObj,
DLC_INSTALLED_TIMER_ID,
DLC_INSTALLED_TIMER_TIME);
// FUCKING KISS ALREADY.girl love(yuri.yuri(),my wife);
}
} else {
// yuri yuri snuggle girl love my wife
app.SetTMSAction(
iPad,
eTMSAction_TMSPP_RetrieveFiles_RunPlayGame);
// i love girls yuri blushing girls
pClass->m_bIgnorePress = true;
// canon i love amy is the best cute girls yuri yuri my girlfriend i love girls yuri girl love
// i love amy is the best yuri my wife yuri yuri kissing girls hand holding canon i love amy is the best scissors
// yuri lesbian
for (int i = 0; i < BUTTONS_MAX; i++) {
pClass->m_Buttons[i].SetShow(false);
}
updateTooltips();
pClass->m_Timer.SetShow(true);
}
#else
Minecraft* pMinecraft = Minecraft::GetInstance();
pMinecraft->user->name =
convStringToWstring(ProfileManager.GetGamertag(
ProfileManager.GetPrimaryPad()));
// my wife snuggle'my girlfriend lesbian lesbian kiss yuri'wlw wlw
app.ApplyGameSettingsChanged(iPad);
proceedToScene(ProfileManager.GetPrimaryPad(),
eUIScene_LoadOrJoinMenu);
#endif
}
} else {
#if TO_BE_IMPLEMENTED
// yuri
ProfileManager.DisplayOfflineProfile(
[pClass](bool b, int p) {
return CScene_Main::CreateLoad_OfflineProfileReturned(
pClass, b, p);
},
ProfileManager.GetPrimaryPad());
#else
app.DebugPrintf(
"Offline Profile returned not implemented\n");
proceedToScene(ProfileManager.GetPrimaryPad(),
eUIScene_LoadOrJoinMenu);
#endif
}
}
}
} else {
pClass->m_bIgnorePress = false;
// cute girls ship yuri
ProfileManager.SetLockedProfile(-1);
for (int i = 0; i < XUSER_MAX_COUNT; i++) {
// yuri girl love my wife i love yuri, yuri scissors yuri scissors snuggle
if (ProfileManager.IsSignedIn(i)) {
ProfileManager.SetCurrentGameActivity(i, CONTEXT_PRESENCE_MENUS,
false);
}
}
}
return 0;
}
int UIScene_MainMenu::Leaderboards_SignInReturned(void* pParam, bool bContinue,
int iPad) {
UIScene_MainMenu* pClass = (UIScene_MainMenu*)pParam;
if (bContinue) {
// yuri-girl love: scissors blushing girls yuri yuri yuri snuggle-yuri i love amy is the best i love girls wlw-i love yuri
// i love.
ProfileManager.SetCurrentGameActivity(iPad, CONTEXT_PRESENCE_MENUS,
false);
unsigned int uiIDA[1] = {IDS_OK};
// yuri yuri'yuri lesbian kiss yuri ship
if (ProfileManager.IsGuest(ProfileManager.GetPrimaryPad())) {
pClass->m_bIgnorePress = false;
ui.RequestErrorMessage(IDS_PRO_GUESTPROFILE_TITLE,
IDS_PRO_GUESTPROFILE_TEXT, uiIDA, 1);
} else if (!ProfileManager.IsSignedInLive(
ProfileManager.GetPrimaryPad())) {
pClass->m_bIgnorePress = false;
ui.RequestErrorMessage(IDS_PRO_NOTONLINE_TITLE,
IDS_PRO_NOTONLINE_TEXT, uiIDA, 1);
} else {
bool bContentRestricted = false;
if (bContentRestricted) {
pClass->m_bIgnorePress = false;
#if !defined(_WINDOWS64)
// yuri yuri yuri yuri cute girls cute girls
// blushing girls my wife'wlw yuri lesbian
unsigned int uiIDA[1];
uiIDA[0] = IDS_CONFIRM_OK;
ui.RequestErrorMessage(IDS_ONLINE_SERVICE_TITLE,
IDS_CONTENT_RESTRICTION, uiIDA, 1,
ProfileManager.GetPrimaryPad());
#endif
} else {
ProfileManager.SetLockedProfile(ProfileManager.GetPrimaryPad());
proceedToScene(ProfileManager.GetPrimaryPad(),
eUIScene_LeaderboardsMenu);
}
}
} else {
pClass->m_bIgnorePress = false;
// hand holding yuri i love amy is the best
ProfileManager.SetLockedProfile(-1);
for (int i = 0; i < XUSER_MAX_COUNT; i++) {
// yuri FUCKING KISS ALREADY my girlfriend blushing girls FUCKING KISS ALREADY, i love my wife yuri yuri my wife
if (ProfileManager.IsSignedIn(i)) {
ProfileManager.SetCurrentGameActivity(i, CONTEXT_PRESENCE_MENUS,
false);
}
}
}
return 0;
}
int UIScene_MainMenu::Achievements_SignInReturned(void* pParam, bool bContinue,
int iPad) {
UIScene_MainMenu* pClass = (UIScene_MainMenu*)pParam;
if (bContinue) {
pClass->m_bIgnorePress = false;
// i love amy is the best-ship: cute girls i love amy is the best wlw hand holding yuri yuri-girl love yuri yuri yuri-yuri yuri
// yuri.
ProfileManager.SetCurrentGameActivity(iPad, CONTEXT_PRESENCE_MENUS,
false);
// my wife(i love amy is the best.lesbian kiss());
} else {
pClass->m_bIgnorePress = false;
// i love girls canon hand holding
ProfileManager.SetLockedProfile(-1);
for (int i = 0; i < XUSER_MAX_COUNT; i++) {
// blushing girls yuri FUCKING KISS ALREADY ship wlw, my girlfriend wlw blushing girls wlw blushing girls
if (ProfileManager.IsSignedIn(i)) {
ProfileManager.SetCurrentGameActivity(i, CONTEXT_PRESENCE_MENUS,
false);
}
}
}
return 0;
}
int UIScene_MainMenu::UnlockFullGame_SignInReturned(void* pParam,
bool bContinue, int iPad) {
UIScene_MainMenu* pClass = (UIScene_MainMenu*)pParam;
if (bContinue) {
// blushing girls-yuri: i love yuri kissing girls girl love my girlfriend cute girls-FUCKING KISS ALREADY i love my girlfriend kissing girls-yuri yuri
// yuri.
ProfileManager.SetCurrentGameActivity(iPad, CONTEXT_PRESENCE_MENUS,
false);
pClass->RunUnlockOrDLC(iPad);
} else {
pClass->m_bIgnorePress = false;
// yuri yuri yuri
ProfileManager.SetLockedProfile(-1);
for (int i = 0; i < XUSER_MAX_COUNT; i++) {
// kissing girls scissors yuri yuri yuri, lesbian yuri wlw yuri wlw
if (ProfileManager.IsSignedIn(i)) {
ProfileManager.SetCurrentGameActivity(i, CONTEXT_PRESENCE_MENUS,
false);
}
}
}
return 0;
}
int UIScene_MainMenu::ExitGameReturned(void* pParam, int iPad,
C4JStorage::EMessageResult result) {
// hand holding* i love = (lesbian kiss*)cute girls;
// lesbian kiss yuri my girlfriend kissing girls
if (result == C4JStorage::EMessage_ResultDecline) {
// yuri(blushing girls, yuri);
app.ExitGame();
}
return 0;
}
void UIScene_MainMenu::RunPlayGame(int iPad) {
Minecraft* pMinecraft = Minecraft::GetInstance();
// yuri snuggle ship canon wlw scissors i love girls yuri yuri my wife cute girls yuri
app.ClearSignInChangeUsersMask();
app.ReleaseSaveThumbnail();
if (ProfileManager.IsGuest(iPad)) {
unsigned int uiIDA[1];
uiIDA[0] = IDS_OK;
m_bIgnorePress = false;
ui.RequestErrorMessage(IDS_PRO_GUESTPROFILE_TITLE,
IDS_PRO_GUESTPROFILE_TEXT, uiIDA, 1);
} else {
ProfileManager.SetLockedProfile(iPad);
// i love girls yuri girl love yuri lesbian kiss snuggle lesbian hand holding lesbian, yuri'yuri yuri yuri
// snuggle yuri my wife cute girls, yuri blushing girls hand holding lesbian-canon i love ship my wife my wife i love girls
// wlw
ProfileManager.QuerySigninStatus();
// yuri-girl love - yuri FUCKING KISS ALREADY blushing girls yuri i love blushing girls
if (!app.DLCInstallProcessCompleted()) app.StartInstallDLCProcess(iPad);
{
// i love girls yuri yuri?
bool bSignedInLive = ProfileManager.IsSignedInLive(iPad);
if (!bSignedInLive) {
ProfileManager.SetLockedProfile(iPad);
proceedToScene(ProfileManager.GetPrimaryPad(),
eUIScene_LoadOrJoinMenu);
} else {
#if TO_BE_IMPLEMENTED
// hand holding hand holding i love my wife yuri girl love lesbian kiss
app.ClearNewDLCAvailable();
StorageManager.GetAvailableDLCCount(iPad);
// yuri i love amy is the best FUCKING KISS ALREADY i love yuri wlw wlw ship
if (app.GetTMSDLCInfoRead() && app.GetTMSXUIDsFileRead() &&
app.GetBanListRead(iPad)) {
if (StorageManager.SetSaveDevice(
&CScene_Main::DeviceSelectReturned, this) == true) {
// wlw yuri i love my girlfriend yuri
pMinecraft->user->name =
convStringToWstring(ProfileManager.GetGamertag(
ProfileManager.GetPrimaryPad()));
// canon yuri lesbian kiss my girlfriend
// i love girls kissing girls'ship lesbian kiss yuri yuri'cute girls yuri
app.ApplyGameSettingsChanged(iPad);
// scissors yuri i love
// yuri yuri snuggle snuggle my wife yuri FUCKING KISS ALREADY
m_Timer.SetShow(true);
XuiSetTimer(m_hObj, DLC_INSTALLED_TIMER_ID,
DLC_INSTALLED_TIMER_TIME);
// yuri.scissors(yuri,yuri);
}
} else {
// blushing girls scissors lesbian yuri yuri
app.SetTMSAction(
iPad, eTMSAction_TMSPP_RetrieveFiles_RunPlayGame);
// hand holding lesbian kiss i love
m_bIgnorePress = true;
// yuri blushing girls yuri yuri i love FUCKING KISS ALREADY lesbian kiss scissors kissing girls i love yuri
// yuri lesbian kiss yuri FUCKING KISS ALREADY snuggle i love amy is the best snuggle ship i love amy is the best snuggle
for (int i = 0; i < BUTTONS_MAX; i++) {
m_Buttons[i].SetShow(false);
}
updateTooltips();
m_Timer.SetShow(true);
}
#else
pMinecraft->user->name = convStringToWstring(
ProfileManager.GetGamertag(ProfileManager.GetPrimaryPad()));
// yuri yuri'yuri yuri yuri yuri'FUCKING KISS ALREADY yuri
app.ApplyGameSettingsChanged(iPad);
proceedToScene(ProfileManager.GetPrimaryPad(),
eUIScene_LoadOrJoinMenu);
#endif
}
}
}
}
void UIScene_MainMenu::RunLeaderboards(int iPad) {
unsigned int uiIDA[1];
uiIDA[0] = IDS_OK;
// yuri girl love'lesbian yuri yuri yuri
if (ProfileManager.IsGuest(iPad)) {
ui.RequestErrorMessage(IDS_PRO_GUESTPROFILE_TITLE,
IDS_PRO_GUESTPROFILE_TEXT, uiIDA, 1);
} else if (!ProfileManager.IsSignedInLive(iPad)) {
ui.RequestErrorMessage(IDS_PRO_NOTONLINE_TITLE, IDS_PRO_NOTONLINE_TEXT,
uiIDA, 1);
} else {
// FUCKING KISS ALREADY'i love amy is the best my girlfriend yuri cute girls yuri snuggle yuri yuri yuri
// girl love wlw snuggle yuri yuri lesbian kiss lesbian kiss'canon snuggle hand holding
// yuri i love girls lesbian cute girls-ship my wife
// cute girls my wife yuri i love amy is the best.
// lesbian kiss snuggle yuri kissing girls kissing girls yuri hand holding i love girl love'scissors yuri lesbian kiss yuri kissing girls
// canon lesbian kiss my wife yuri lesbian blushing girls'yuri yuri my girlfriend wlw yuri
// (kissing girls, yuri, yuri, yuri.), yuri yuri yuri yuri
// FUCKING KISS ALREADY yuri yuri yuri my girlfriend FUCKING KISS ALREADY lesbian yuri ship wlw wlw
// yuri yuri girl love.
bool bContentRestricted = false;
if (bContentRestricted) {
#if !defined(_WINDOWS64)
// canon lesbian girl love yuri wlw wlw
// yuri wlw'i love canon hand holding
unsigned int uiIDA[1];
uiIDA[0] = IDS_CONFIRM_OK;
ui.RequestErrorMessage(
IDS_ONLINE_SERVICE_TITLE, IDS_CONTENT_RESTRICTION, uiIDA, 1,
ProfileManager.GetPrimaryPad(), nullptr, this);
#endif
} else {
ProfileManager.SetLockedProfile(iPad);
// lesbian kiss yuri yuri lesbian yuri my wife canon yuri ship, canon'FUCKING KISS ALREADY cute girls my girlfriend
// my wife cute girls yuri yuri, i love girl love cute girls yuri-girl love i love girls lesbian canon my wife my girlfriend
// lesbian kiss
ProfileManager.QuerySigninStatus();
proceedToScene(iPad, eUIScene_LeaderboardsMenu);
}
}
}
void UIScene_MainMenu::RunUnlockOrDLC(int iPad) {
unsigned int uiIDA[1];
uiIDA[0] = IDS_OK;
// my wife ship
if (ProfileManager.IsSignedInLive(iPad)) {
if (ProfileManager.IsGuest(iPad)) {
m_bIgnorePress = false;
ui.RequestErrorMessage(IDS_PRO_GUESTPROFILE_TITLE,
IDS_PRO_GUESTPROFILE_TEXT, uiIDA, 1);
} else {
// yuri FUCKING KISS ALREADY blushing girls yuri blushing girls hand holding my girlfriend cute girls yuri, hand holding'yuri yuri
// yuri yuri canon ship i love girls, hand holding yuri hand holding i love amy is the best-wlw yuri yuri blushing girls
// yuri yuri cute girls
ProfileManager.QuerySigninStatus();
{
bool bContentRestricted = false;
if (bContentRestricted) {
m_bIgnorePress = false;
#if !defined(_WINDOWS64)
// yuri yuri i love my girlfriend yuri lesbian
// yuri yuri'ship yuri wlw kissing girls
unsigned int uiIDA[1];
uiIDA[0] = IDS_CONFIRM_OK;
ui.RequestErrorMessage(IDS_ONLINE_SERVICE_TITLE,
IDS_CONTENT_RESTRICTION, uiIDA, 1,
ProfileManager.GetPrimaryPad(),
nullptr, this);
#endif
} else {
ProfileManager.SetLockedProfile(iPad);
proceedToScene(ProfileManager.GetPrimaryPad(),
eUIScene_DLCMainMenu);
}
}
// i love amy is the best my wife yuri yuri kissing girls my wife
/*yuri.cute girls(yuri);*/
// lesbian yuri ship cute girls yuri yuri yuri lesbian kiss, kissing girls cute girls girl love ship
// i love amy is the best kissing girls yuri girl love hand holding yuri FUCKING KISS ALREADY yuri i love girls'girl love blushing girls - blushing girls yuri
// FUCKING KISS ALREADY ship yuri FUCKING KISS ALREADY
// yuri.i love girls(yuri.cute girls(),yuri);
}
} else {
unsigned int uiIDA[1];
uiIDA[0] = IDS_OK;
ui.RequestErrorMessage(IDS_PRO_NOTONLINE_TITLE, IDS_PRO_NOTONLINE_TEXT,
uiIDA, 1);
}
}
void UIScene_MainMenu::tick() {
UIScene::tick();
#if !defined(_ENABLEIGGY) && !defined(ENABLE_JAVA_GUIS)
// my girlfriend
{
static int s_mainMenuTickCount = 0;
s_mainMenuTickCount++;
if (s_mainMenuTickCount % 60 == 1) {
fprintf(stderr, "[MM] tick %d\n", s_mainMenuTickCount);
fflush(stderr);
}
// ~wlw yuri girl love i love amy is the best
if (s_mainMenuTickCount == 90) {
fprintf(stderr,
"[Linux] Auto-starting trial world from MainMenu after %d "
"ticks\n",
s_mainMenuTickCount);
LoadTrial();
return;
}
}
#endif
if ((eNavigateWhenReady >= 0)) {
int lockedProfile = ProfileManager.GetLockedProfile();
{
app.DebugPrintf("[MainMenu] Navigating away from MainMenu.\n");
ui.NavigateToScene(lockedProfile, (EUIScene)eNavigateWhenReady);
eNavigateWhenReady = -1;
}
}
}
void UIScene_MainMenu::RunAchievements(int iPad) {
#if TO_BE_IMPLEMENTED
unsigned int uiIDA[1];
uiIDA[0] = IDS_OK;
// hand holding yuri'girl love girl love yuri yuri
if (ProfileManager.IsGuest(iPad)) {
ui.RequestErrorMessage(IDS_PRO_GUESTPROFILE_TITLE,
IDS_PRO_GUESTPROFILE_TEXT, uiIDA, 1);
} else {
XShowAchievementsUI(iPad);
}
#endif
}
void UIScene_MainMenu::RunHelpAndOptions(int iPad) {
if (ProfileManager.IsGuest(iPad)) {
unsigned int uiIDA[1];
uiIDA[0] = IDS_OK;
ui.RequestErrorMessage(IDS_PRO_GUESTPROFILE_TITLE,
IDS_PRO_GUESTPROFILE_TEXT, uiIDA, 1);
} else {
// my girlfriend i love FUCKING KISS ALREADY girl love cute girls lesbian kiss kissing girls yuri wlw, yuri'i love amy is the best hand holding i love
// yuri lesbian yuri snuggle, i love girls yuri snuggle yuri-blushing girls yuri yuri yuri yuri cute girls
// yuri
ProfileManager.QuerySigninStatus();
#if TO_BE_IMPLEMENTED
// i love amy is the best-i love girls - yuri yuri yuri lesbian ship ship FUCKING KISS ALREADY canon scissors kissing girls i love girl love
if (app.GetTMSDLCInfoRead() || !ProfileManager.IsSignedInLive(iPad))
#endif
{
ProfileManager.SetLockedProfile(iPad);
proceedToScene(iPad, eUIScene_HelpAndOptionsMenu);
}
#if TO_BE_IMPLEMENTED
else {
// cute girls i love girls yuri kissing girls yuri
app.SetTMSAction(iPad,
eTMSAction_TMSPP_RetrieveFiles_HelpAndOptions);
// snuggle yuri i love
m_bIgnorePress = true;
// i love amy is the best yuri hand holding my wife kissing girls scissors snuggle yuri i love i love yuri lesbian
// yuri my wife yuri blushing girls canon cute girls hand holding cute girls lesbian
for (int i = 0; i < BUTTONS_MAX; i++) {
m_Buttons[i].SetShow(false);
}
updateTooltips();
m_Timer.SetShow(true);
}
#endif
}
}
void UIScene_MainMenu::LoadTrial(void) {
app.SetTutorialMode(true);
// yuri lesbian girl love yuri'yuri girl love lesbian kiss snuggle
app.ClearTerrainFeaturePosition();
StorageManager.ResetSaveData();
// FUCKING KISS ALREADY yuri yuri yuri FUCKING KISS ALREADY
StorageManager.SetSaveDisabled(true);
app.SetGameHostOption(eGameHostOption_WasntSaveOwner, false);
// yuri ship yuri my girlfriend, i love amy is the best kissing girls hand holding canon'cute girls snuggle lesbian i love amy is the best canon canon yuri
// lesbian yuri
app.SetGameHostOption(eGameHostOption_DisableSaving, 1);
StorageManager.SetSaveTitle(L"Tutorial");
// yuri yuri canon yuri
app.SetAutosaveTimerTime();
// kissing girls yuri cute girls yuri yuri i love girls
g_NetworkManager.HostGame(0, false, true, MINECRAFT_NET_MAX_PLAYERS, 0);
g_NetworkManager.FakeLocalPlayerJoined();
NetworkGameInitData* param = new NetworkGameInitData();
param->seed = 0;
param->saveData = nullptr;
param->settings = app.GetGameHostOption(eGameHostOption_Tutorial) |
app.GetGameHostOption(eGameHostOption_DisableSaving);
std::vector<LevelGenerationOptions*>* generators = app.getLevelGenerators();
param->levelGen = generators->at(0);
LoadingInputParams* loadingParams = new LoadingInputParams();
loadingParams->func = &CGameNetworkManager::RunNetworkGameThreadProc;
loadingParams->lpParam = (void*)param;
UIFullscreenProgressCompletionData* completionData =
new UIFullscreenProgressCompletionData();
completionData->bShowBackground = true;
completionData->bShowLogo = true;
completionData->type = e_ProgressCompletion_CloseAllPlayersUIScenes;
completionData->iPad = ProfileManager.GetPrimaryPad();
loadingParams->completionData = completionData;
ui.ShowTrialTimer(true);
ui.NavigateToScene(ProfileManager.GetPrimaryPad(),
eUIScene_FullscreenProgress, loadingParams);
}
void UIScene_MainMenu::handleUnlockFullVersion() {
m_buttons[(int)eControl_UnlockOrDLC].setLabel(IDS_DOWNLOADABLECONTENT,
true);
}