From 72b68389b2e8906d00c34e42e4fff3f175a8a87a Mon Sep 17 00:00:00 2001 From: deepfriedwaffles Date: Tue, 17 Mar 2026 02:22:17 -0400 Subject: [PATCH 01/21] Started to port to iOS; fixing compiler errors here and there --- .../minecraftpe.xcodeproj/project.pbxproj | 96 ++++++++++++------- .../minecraftpe/minecraftpe-Info.plist | 2 +- src/AppPlatform_iOS.h | 3 +- src/client/Option.h | 4 +- src/client/renderer/gles.h | 8 +- src/platform/audio/SoundSystemAL.h | 10 +- 6 files changed, 79 insertions(+), 44 deletions(-) diff --git a/project/iosproj/minecraftpe.xcodeproj/project.pbxproj b/project/iosproj/minecraftpe.xcodeproj/project.pbxproj index b4f42b6d..29b0f863 100755 --- a/project/iosproj/minecraftpe.xcodeproj/project.pbxproj +++ b/project/iosproj/minecraftpe.xcodeproj/project.pbxproj @@ -4527,10 +4527,16 @@ isa = PBXProject; attributes = { LastUpgradeCheck = 0420; + TargetAttributes = { + D5CF9C41144C225000E4244F = { + DevelopmentTeam = PZUVNW8F2U; + ProvisioningStyle = Automatic; + }; + }; }; buildConfigurationList = D5CF9C3C144C225000E4244F /* Build configuration list for PBXProject "minecraftpe" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, @@ -5736,24 +5742,26 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; + ARCHS = "$(ARCHS_STANDARD)"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: Mojang AB"; COPY_PHASE_STRIP = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_PREPROCESSOR_DEFINITIONS = PUBLISH; - GCC_VERSION = com.apple.compilers.llvmgcc42; + GCC_VERSION = ""; GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 4.3; + IPHONEOS_DEPLOYMENT_TARGET = 14; + ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; "PROVISIONING_PROFILE[sdk=iphoneos*]" = "C93D3524-5C6F-466E-B12B-833663B7EAE0"; RUN_CLANG_STATIC_ANALYZER = NO; - SDKROOT = iphoneos6.0; + SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; + USER_HEADER_SEARCH_PATHS = "$(SRCROOT)\\..\\..\\src/**"; VALIDATE_PRODUCT = YES; }; name = "Ad-Hoc"; @@ -5765,15 +5773,17 @@ GCC_PREFIX_HEADER = "minecraftpe/minecraftpe-Prefix.pch"; GCC_PREPROCESSOR_DEFINITIONS = ""; "GCC_THUMB_SUPPORT[arch=armv7]" = NO; - GCC_VERSION = com.apple.compilers.llvmgcc42; + GCC_VERSION = ""; GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; HEADER_SEARCH_PATHS = ""; INFOPLIST_FILE = "minecraftpe/minecraftpe-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 4.3; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; + IPHONEOS_DEPLOYMENT_TARGET = 14; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "com.mojang.mcpe-arm64"; PRODUCT_NAME = "$(TARGET_NAME)"; RUN_CLANG_STATIC_ANALYZER = NO; - SDKROOT = iphoneos6.0; - VALID_ARCHS = "i386 armv6 armv7"; + SDKROOT = iphoneos; WRAPPER_EXTENSION = app; }; name = "Ad-Hoc"; @@ -5847,23 +5857,25 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; + ARCHS = "$(ARCHS_STANDARD)"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: Mojang AB"; COPY_PHASE_STRIP = YES; GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_VERSION = com.apple.compilers.llvmgcc42; + GCC_VERSION = ""; GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 4.3; + IPHONEOS_DEPLOYMENT_TARGET = 14; + ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; "PROVISIONING_PROFILE[sdk=iphoneos*]" = "64BA8967-1A9A-4980-972C-42E75AD5E023"; RUN_CLANG_STATIC_ANALYZER = NO; - SDKROOT = iphoneos6.0; + SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; + USER_HEADER_SEARCH_PATHS = "$(SRCROOT)\\..\\..\\src/**"; VALIDATE_PRODUCT = YES; }; name = AppStore; @@ -5876,11 +5888,13 @@ GCC_PREFIX_HEADER = "minecraftpe/minecraftpe-Prefix.pch"; GCC_PREPROCESSOR_DEFINITIONS = PUBLISH; "GCC_THUMB_SUPPORT[arch=armv7]" = NO; - GCC_VERSION = com.apple.compilers.llvmgcc42; + GCC_VERSION = ""; GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; HEADER_SEARCH_PATHS = ""; INFOPLIST_FILE = "minecraftpe/minecraftpe-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 4.3; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; + IPHONEOS_DEPLOYMENT_TARGET = 14; + ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = ( "-DNS_BLOCK_ASSERTIONS=1", "-DANDROID_PUBLISH", @@ -5888,8 +5902,7 @@ PRODUCT_NAME = "$(TARGET_NAME)"; "PROVISIONING_PROFILE[sdk=iphoneos*]" = "1B194957-98CF-49B7-A0E7-76692B4B722D"; RUN_CLANG_STATIC_ANALYZER = NO; - SDKROOT = iphoneos6.0; - VALID_ARCHS = "i386 armv6 armv7"; + SDKROOT = iphoneos; WRAPPER_EXTENSION = app; }; name = AppStore; @@ -5923,7 +5936,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; + ARCHS = "$(ARCHS_STANDARD)"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; GCC_C_LANGUAGE_STANDARD = gnu99; @@ -5935,17 +5948,20 @@ "$(inherited)", ); GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_VERSION = com.apple.compilers.llvmgcc42; + GCC_VERSION = ""; GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 4.3; + IPHONEOS_DEPLOYMENT_TARGET = 14; + ONLY_ACTIVE_ARCH = YES; RUN_CLANG_STATIC_ANALYZER = NO; - SDKROOT = iphoneos6.0; + SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; + USER_HEADER_SEARCH_PATHS = "$(SRCROOT)\\..\\..\\src/**"; + VALIDATE_PRODUCT = YES; }; name = Debug; }; @@ -5953,23 +5969,25 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; + ARCHS = "$(ARCHS_STANDARD)"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_PREPROCESSOR_DEFINITIONS = PUBLISH; - GCC_VERSION = com.apple.compilers.llvmgcc42; + GCC_VERSION = ""; GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 4.3; + IPHONEOS_DEPLOYMENT_TARGET = 14; + ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; RUN_CLANG_STATIC_ANALYZER = NO; - SDKROOT = iphoneos6.0; + SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; + USER_HEADER_SEARCH_PATHS = "$(SRCROOT)\\..\\..\\src/**"; VALIDATE_PRODUCT = YES; }; name = Release; @@ -5977,19 +5995,25 @@ D5CF9C6F144C225000E4244F /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = PZUVNW8F2U; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "minecraftpe/minecraftpe-Prefix.pch"; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; "GCC_THUMB_SUPPORT[arch=armv7]" = NO; - GCC_VERSION = com.apple.compilers.llvmgcc42; + GCC_VERSION = ""; GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; HEADER_SEARCH_PATHS = ""; INFOPLIST_FILE = "minecraftpe/minecraftpe-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 4.3; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; + IPHONEOS_DEPLOYMENT_TARGET = 14; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "com.mojang.mcpe-arm64"; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; RUN_CLANG_STATIC_ANALYZER = NO; - SDKROOT = iphoneos6.0; - VALID_ARCHS = "i386 armv6 armv7"; + SDKROOT = iphoneos; WRAPPER_EXTENSION = app; }; name = Debug; @@ -5997,19 +6021,25 @@ D5CF9C70144C225000E4244F /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = PZUVNW8F2U; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "minecraftpe/minecraftpe-Prefix.pch"; GCC_PREPROCESSOR_DEFINITIONS = ""; "GCC_THUMB_SUPPORT[arch=armv7]" = NO; - GCC_VERSION = com.apple.compilers.llvmgcc42; + GCC_VERSION = ""; GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; HEADER_SEARCH_PATHS = ""; INFOPLIST_FILE = "minecraftpe/minecraftpe-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 4.3; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; + IPHONEOS_DEPLOYMENT_TARGET = 14; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "com.mojang.mcpe-arm64"; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; RUN_CLANG_STATIC_ANALYZER = NO; - SDKROOT = iphoneos6.0; - VALID_ARCHS = "i386 armv6 armv7"; + SDKROOT = iphoneos; WRAPPER_EXTENSION = app; }; name = Release; diff --git a/project/iosproj/minecraftpe/minecraftpe-Info.plist b/project/iosproj/minecraftpe/minecraftpe-Info.plist index 30bd23fb..3f1a8032 100755 --- a/project/iosproj/minecraftpe/minecraftpe-Info.plist +++ b/project/iosproj/minecraftpe/minecraftpe-Info.plist @@ -37,7 +37,7 @@ CFBundleIdentifier - com.mojang.${PRODUCT_NAME:rfc1034identifier} + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/src/AppPlatform_iOS.h b/src/AppPlatform_iOS.h index 55a786df..a2206b62 100755 --- a/src/AppPlatform_iOS.h +++ b/src/AppPlatform_iOS.h @@ -52,11 +52,10 @@ public: virtual StringVector getOptionStrings(); - virtual bool isPowerVR() { return false; } + virtual bool isPowerVR(); virtual bool isSuperFast(); virtual void showKeyboard(); virtual void hideKeyboard(); - virtual void isPowerVR(); private: std::string _basePath; diff --git a/src/client/Option.h b/src/client/Option.h index cc6547a9..0b9aed11 100644 --- a/src/client/Option.h +++ b/src/client/Option.h @@ -1,7 +1,7 @@ #pragma once #include #include -#include +#include "Mth.h" /* template struct is_option_type : std::false_type {}; @@ -104,4 +104,4 @@ public: private: std::string m_value; -}; \ No newline at end of file +}; diff --git a/src/client/renderer/gles.h b/src/client/renderer/gles.h index 7b7e4fdf..9a74c075 100755 --- a/src/client/renderer/gles.h +++ b/src/client/renderer/gles.h @@ -14,11 +14,11 @@ #define USE_VBO #define GL_QUADS 0x0007 #if defined(__APPLE__) - #import - #import + #import + #import #elif defined(ANDROID) || defined(__EMSCRIPTEN__) - #include - #include + #import + #import #else #include diff --git a/src/platform/audio/SoundSystemAL.h b/src/platform/audio/SoundSystemAL.h index ca0ac7fb..a7c225f1 100755 --- a/src/platform/audio/SoundSystemAL.h +++ b/src/platform/audio/SoundSystemAL.h @@ -3,8 +3,14 @@ #include "SoundSystem.h" -#include -#include +// If audio breaks for other platforms, this is probably why. Here, I'm just calling where Apple's OpenAL headers live (they arent in just "AL" +#if defined(__APPLE__) + #include + #include +#else + #include + #include +#endif #include #include From ab5f1772082c94950a8c6e14cf2c7c9216c01b16 Mon Sep 17 00:00:00 2001 From: deepfriedwaffles Date: Tue, 17 Mar 2026 02:31:41 -0400 Subject: [PATCH 02/21] added needed missing files --- src/client/KeyMapping.h | 21 ++++ src/client/gui/components/OptionsPane.cpp | 63 +++++++++++ src/client/gui/components/OptionsPane.h | 30 +++++ src/client/gui/components/SmallButton.cpp | 24 ++++ src/client/gui/components/SmallButton.h | 23 ++++ src/client/gui/screens/BuyGameScreen.h | 26 +++++ src/client/gui/screens/InvalidLicenseScreen.h | 107 ++++++++++++++++++ 7 files changed, 294 insertions(+) create mode 100644 src/client/KeyMapping.h create mode 100644 src/client/gui/components/OptionsPane.cpp create mode 100644 src/client/gui/components/OptionsPane.h create mode 100644 src/client/gui/components/SmallButton.cpp create mode 100644 src/client/gui/components/SmallButton.h create mode 100644 src/client/gui/screens/BuyGameScreen.h create mode 100644 src/client/gui/screens/InvalidLicenseScreen.h diff --git a/src/client/KeyMapping.h b/src/client/KeyMapping.h new file mode 100644 index 00000000..06740c84 --- /dev/null +++ b/src/client/KeyMapping.h @@ -0,0 +1,21 @@ +#ifndef NET_MINECRAFT_CLIENT__KeyMapping_H__ +#define NET_MINECRAFT_CLIENT__KeyMapping_H__ + +//package net.minecraft.client; +#include + +class KeyMapping +{ +public: + std::string name; + int key; + + KeyMapping() {} + + KeyMapping(const std::string& name_, int key_) + : name(name_), + key(key_) + {} +}; + +#endif /*NET_MINECRAFT_CLIENT__KeyMapping_H__*/ diff --git a/src/client/gui/components/OptionsPane.cpp b/src/client/gui/components/OptionsPane.cpp new file mode 100644 index 00000000..8cc5d70c --- /dev/null +++ b/src/client/gui/components/OptionsPane.cpp @@ -0,0 +1,63 @@ +#include "OptionsPane.h" +#include "OptionsGroup.h" +#include "OptionsItem.h" +#include "ImageButton.h" +#include "Slider.h" +#include "../../Minecraft.h" + +OptionsPane::OptionsPane() { + +} + +void OptionsPane::setupPositions() { + int currentHeight = y + 1; + for(std::vector::iterator it = children.begin(); it != children.end(); ++it ) { + (*it)->width = width; + (*it)->y = currentHeight; + (*it)->x = x; + currentHeight += (*it)->height + 1; + } + height = currentHeight; + super::setupPositions(); +} + +OptionsGroup& OptionsPane::createOptionsGroup( std::string label ) { + OptionsGroup* newGroup = new OptionsGroup(label); + children.push_back(newGroup); + // create and return a new group index + return *newGroup; +} + +void OptionsPane::createToggle( unsigned int group, std::string label, const Options::Option* option ) { + if(group > children.size()) return; + ImageDef def; + def.setSrc(IntRectangle(160, 206, 39, 20)); + def.name = "gui/touchgui.png"; + def.width = 39 * 0.7f; + def.height = 20 * 0.7f; + OptionButton* element = new OptionButton(option); + element->setImageDef(def, true); + OptionsItem* item = new OptionsItem(label, element); + ((OptionsGroup*)children[group])->addChild(item); + setupPositions(); +} + +void OptionsPane::createProgressSlider( Minecraft* minecraft, unsigned int group, std::string label, const Options::Option* option, float progressMin/*=1.0f*/, float progressMax/*=1.0f */ ) { + if(group > children.size()) return; + Slider* element = new Slider(minecraft, option, progressMin, progressMax); + element->width = 100; + element->height = 20; + OptionsItem* item = new OptionsItem(label, element); + ((OptionsGroup*)children[group])->addChild(item); + setupPositions(); +} + +void OptionsPane::createStepSlider( Minecraft* minecraft, unsigned int group, std::string label, const Options::Option* option, const std::vector& stepVec ) { + if(group > children.size()) return; + Slider* element = new Slider(minecraft, option, stepVec); + element->width = 100; + element->height = 20; + OptionsItem* item = new OptionsItem(label, element); + ((OptionsGroup*)children[group])->addChild(item); + setupPositions(); +} \ No newline at end of file diff --git a/src/client/gui/components/OptionsPane.h b/src/client/gui/components/OptionsPane.h new file mode 100644 index 00000000..5eb96529 --- /dev/null +++ b/src/client/gui/components/OptionsPane.h @@ -0,0 +1,30 @@ +#ifndef ITEMPANE_H__ +#define ITEMPANE_H__ + +#include +#include +#include "GuiElementContainer.h" +#include "../../../world/item/ItemInstance.h" +#include "../../../client/Options.h" +class Font; +class Textures; +class NinePatchLayer; +class ItemPane; +class OptionButton; +class Button; +class OptionsGroup; +class Slider; +class Minecraft; +class OptionsPane: public GuiElementContainer +{ + typedef GuiElementContainer super; +public: + OptionsPane(); + OptionsGroup& createOptionsGroup( std::string label ); + void createToggle( unsigned int group, std::string label, const Options::Option* option ); + void createProgressSlider(Minecraft* minecraft, unsigned int group, std::string label, const Options::Option* option, float progressMin=1.0f, float progressMax=1.0f ); + void createStepSlider(Minecraft* minecraft, unsigned int group, std::string label, const Options::Option* option, const std::vector& stepVec ); + void setupPositions(); +}; + +#endif /*ITEMPANE_H__*/ diff --git a/src/client/gui/components/SmallButton.cpp b/src/client/gui/components/SmallButton.cpp new file mode 100644 index 00000000..e2ebfaad --- /dev/null +++ b/src/client/gui/components/SmallButton.cpp @@ -0,0 +1,24 @@ +#include "SmallButton.h" + +SmallButton::SmallButton( int id, int x, int y, const std::string& msg ) +: super(id, x, y, 150, 20, msg), + option(NULL) +{ +} + +SmallButton::SmallButton( int id, int x, int y, int width, int height, const std::string& msg ) +: super(id, x, y, width, height, msg), + option(NULL) +{ +} + +SmallButton::SmallButton( int id, int x, int y, Options::Option* item, const std::string& msg ) +: super(id, x, y, 150, 20, msg), + option(item) +{ +} + +Options::Option* SmallButton::getOption() +{ + return option; +} diff --git a/src/client/gui/components/SmallButton.h b/src/client/gui/components/SmallButton.h new file mode 100644 index 00000000..05ae3787 --- /dev/null +++ b/src/client/gui/components/SmallButton.h @@ -0,0 +1,23 @@ +#ifndef NET_MINECRAFT_CLIENT_GUI_COMPONENTS__SmallButton_H__ +#define NET_MINECRAFT_CLIENT_GUI_COMPONENTS__SmallButton_H__ + +//package net.minecraft.client.gui; + +#include +#include "Button.h" +#include "../../Options.h" + +class SmallButton: public Button +{ + typedef Button super; +public: + SmallButton(int id, int x, int y, const std::string& msg); + SmallButton(int id, int x, int y, int width, int height, const std::string& msg); + SmallButton(int id, int x, int y, Options::Option* item, const std::string& msg); + + Options::Option* getOption(); +private: + Options::Option* option; +}; + +#endif /*NET_MINECRAFT_CLIENT_GUI_COMPONENTS__SmallButton_H__*/ diff --git a/src/client/gui/screens/BuyGameScreen.h b/src/client/gui/screens/BuyGameScreen.h new file mode 100644 index 00000000..228cdba7 --- /dev/null +++ b/src/client/gui/screens/BuyGameScreen.h @@ -0,0 +1,26 @@ +#ifndef NET_MINECRAFT_CLIENT_GUI_SCREENS__BuyGameScreen_H__ +#define NET_MINECRAFT_CLIENT_GUI_SCREENS__BuyGameScreen_H__ + +#include "../Screen.h" +#include "../components/Button.h" + +class BuyGameScreen: public Screen +{ +public: + BuyGameScreen() {} + virtual ~BuyGameScreen() {} + + void init(); + + void render(int xm, int ym, float a); + + void buttonClicked(Button* button) { + //if (button->id == bQuit.id) + } + +private: + //Button bQuit; + //Button bBuyGame; +}; + +#endif /*NET_MINECRAFT_CLIENT_GUI_SCREENS__BuyGameScreen_H__*/ diff --git a/src/client/gui/screens/InvalidLicenseScreen.h b/src/client/gui/screens/InvalidLicenseScreen.h new file mode 100644 index 00000000..28015214 --- /dev/null +++ b/src/client/gui/screens/InvalidLicenseScreen.h @@ -0,0 +1,107 @@ +#ifndef NET_MINECRAFT_CLIENT_GUI_SCREENS__InvalidLicenseScreen_H__ +#define NET_MINECRAFT_CLIENT_GUI_SCREENS__InvalidLicenseScreen_H__ + +#include "../Screen.h" +#include "../components/Button.h" +#include "../../Minecraft.h" +#include "../../../LicenseCodes.h" + +class InvalidLicenseScreen: public Screen +{ +public: + InvalidLicenseScreen(int id, bool hasBuyButton) + : _id(id), + _hasBuyButton(hasBuyButton), + _baseY(0), + bOk(0), + bBuy(0) + { + } + + virtual ~InvalidLicenseScreen() { + delete bOk; + delete bBuy; + } + + void init() { + if (minecraft->useTouchscreen()) { + bOk = new Touch::TButton(1, "Ok"); + bBuy = new Touch::TButton(2, "Buy"); + } else { + bOk = new Button(1, "Ok"); + bBuy = new Button(2, "Buy"); + } + + if (_hasBuyButton) + bOk->msg = "Quit"; + + if (!LicenseCodes::isOk(_id)) { + char buf[20] = {0}; + sprintf(buf, "%d", _id); + + desc1 = "License verification failed (error "; + desc1 += buf; + desc1 += ")"; + desc2 = "Try again later."; + hint = "You need to be connected to the internet\n"; + hint += "once while you start the game."; + } + + buttons.push_back(bOk); + tabButtons.push_back(bOk); + + if (_hasBuyButton) { + buttons.push_back(bBuy); + tabButtons.push_back(bBuy); + } + } + + void setupPositions() { + _baseY = height/5 + 6; + //if (_hasBuyButton) + _baseY -= 24; + + bOk->width = bBuy->width = 200; + bOk->x = bBuy->x = (width - bOk->width) / 2; + bBuy->y = _baseY + 84; + bOk->y = bBuy->y + bBuy->height + 4; + + if (!_hasBuyButton) + bOk->y -= 24; + } + + void tick() {} + + //void keyPressed(int eventKey) {} + + void render(int xm, int ym, float a) { + renderDirtBackground(0); + drawCenteredString(minecraft->font, desc1, width/2, _baseY, 0xffffff); + drawCenteredString(minecraft->font, desc2, width/2, _baseY + 24, 0xffffff); + + drawCenteredString(minecraft->font, hint, width/2, _baseY + 60, 0xffffff); + + Screen::render(xm, ym, a); + } + + void buttonClicked(Button* button) { + if (button->id == bOk->id) { + minecraft->quit(); + } + if (button->id == bBuy->id) { + minecraft->platform()->buyGame(); + } + }; +private: + int _id; + std::string desc1; + std::string desc2; + std::string hint; + + Button* bOk; + Button* bBuy; + bool _hasBuyButton; + int _baseY; +}; + +#endif /*NET_MINECRAFT_CLIENT_GUI_SCREENS__InvalidLicenseScreen_H__*/ From b658132dac9d7e228f86eb89010180abe9b362cd Mon Sep 17 00:00:00 2001 From: deepfriedwaffles Date: Tue, 17 Mar 2026 02:48:31 -0400 Subject: [PATCH 03/21] fix missing file, commiting now because what im about to do might break Option class --- .../iosproj/minecraftpe.xcodeproj/project.pbxproj | 14 +++++++++----- src/client/gui/screens/UsernameScreen.h | 2 +- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/project/iosproj/minecraftpe.xcodeproj/project.pbxproj b/project/iosproj/minecraftpe.xcodeproj/project.pbxproj index 29b0f863..64c2c75e 100755 --- a/project/iosproj/minecraftpe.xcodeproj/project.pbxproj +++ b/project/iosproj/minecraftpe.xcodeproj/project.pbxproj @@ -1211,7 +1211,7 @@ 042A91A916B17517007ABBC6 /* OptionsPane.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OptionsPane.cpp; sourceTree = ""; }; 042A91AA16B17517007ABBC6 /* OptionsPane.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OptionsPane.h; sourceTree = ""; }; 042A91AB16B17517007ABBC6 /* TextBox.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextBox.cpp; sourceTree = ""; }; - 042A91AC16B17517007ABBC6 /* TextBox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextBox.h; sourceTree = ""; }; + 042A91AC16B17517007ABBC6 /* TextBox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TextBox.h; path = ../../src/client/gui/components/TextBox.h; sourceTree = SOURCE_ROOT; }; 044129061682FF9600B70EE6 /* MouseHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MouseHandler.cpp; sourceTree = ""; }; 9D293CE616071C08000305C8 /* CreateNewWorld_iphone.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = CreateNewWorld_iphone.xib; path = minecraftpe/dialogs/CreateNewWorld_iphone.xib; sourceTree = ""; }; 9D293CEA160720D6000305C8 /* worldname_iphone5_3.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = worldname_iphone5_3.png; sourceTree = ""; }; @@ -5754,6 +5754,7 @@ GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = "$(SRCROOT)\\src/**"; IPHONEOS_DEPLOYMENT_TARGET = 14; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; @@ -5761,7 +5762,7 @@ RUN_CLANG_STATIC_ANALYZER = NO; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; - USER_HEADER_SEARCH_PATHS = "$(SRCROOT)\\..\\..\\src/**"; + USER_HEADER_SEARCH_PATHS = "$(SRCROOT)\\src/**"; VALIDATE_PRODUCT = YES; }; name = "Ad-Hoc"; @@ -5868,6 +5869,7 @@ GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = "$(SRCROOT)\\src/**"; IPHONEOS_DEPLOYMENT_TARGET = 14; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; @@ -5875,7 +5877,7 @@ RUN_CLANG_STATIC_ANALYZER = NO; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; - USER_HEADER_SEARCH_PATHS = "$(SRCROOT)\\..\\..\\src/**"; + USER_HEADER_SEARCH_PATHS = "$(SRCROOT)\\src/**"; VALIDATE_PRODUCT = YES; }; name = AppStore; @@ -5955,12 +5957,13 @@ GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = "$(SRCROOT)\\src/**"; IPHONEOS_DEPLOYMENT_TARGET = 14; ONLY_ACTIVE_ARCH = YES; RUN_CLANG_STATIC_ANALYZER = NO; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; - USER_HEADER_SEARCH_PATHS = "$(SRCROOT)\\..\\..\\src/**"; + USER_HEADER_SEARCH_PATHS = "$(SRCROOT)\\src/**"; VALIDATE_PRODUCT = YES; }; name = Debug; @@ -5981,13 +5984,14 @@ GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = "$(SRCROOT)\\src/**"; IPHONEOS_DEPLOYMENT_TARGET = 14; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; RUN_CLANG_STATIC_ANALYZER = NO; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; - USER_HEADER_SEARCH_PATHS = "$(SRCROOT)\\..\\..\\src/**"; + USER_HEADER_SEARCH_PATHS = "$(SRCROOT)\\src/**"; VALIDATE_PRODUCT = YES; }; name = Release; diff --git a/src/client/gui/screens/UsernameScreen.h b/src/client/gui/screens/UsernameScreen.h index c1d750ea..38db2524 100644 --- a/src/client/gui/screens/UsernameScreen.h +++ b/src/client/gui/screens/UsernameScreen.h @@ -3,7 +3,7 @@ #include "../Screen.h" #include "../components/Button.h" -#include "client/gui/components/TextBox.h" +#include "/client/gui/components/TextBox.h" #include class UsernameScreen : public Screen From 59898ca504f5ef3cd5a6e51ca1cef22eea56fda4 Mon Sep 17 00:00:00 2001 From: deepfriedwaffles Date: Thu, 19 Mar 2026 11:06:55 -0400 Subject: [PATCH 04/21] more header fixes --- .../minecraftpe.xcodeproj/project.pbxproj | 50 ++++++++++++++++--- src/client/Options.h | 4 ++ src/client/gui/components/Slider.h | 2 +- src/client/gui/components/SmallButton.cpp | 4 +- src/client/gui/components/SmallButton.h | 6 +-- src/client/gui/screens/JoinByIPScreen.h | 6 +-- src/client/gui/screens/ScreenChooser.cpp | 2 +- src/client/gui/screens/UsernameScreen.h | 3 +- .../screens/crafting/PaneCraftingScreen.cpp | 2 +- 9 files changed, 59 insertions(+), 20 deletions(-) diff --git a/project/iosproj/minecraftpe.xcodeproj/project.pbxproj b/project/iosproj/minecraftpe.xcodeproj/project.pbxproj index 64c2c75e..6cdc467c 100755 --- a/project/iosproj/minecraftpe.xcodeproj/project.pbxproj +++ b/project/iosproj/minecraftpe.xcodeproj/project.pbxproj @@ -1147,6 +1147,7 @@ D5F3B7DD14548E7900D25470 /* IASKPSToggleSwitchSpecifierViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = D5F3B7C814548E7900D25470 /* IASKPSToggleSwitchSpecifierViewCell.xib */; }; D5F3B7DE14548E7900D25470 /* IASKSpecifierValuesView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D5F3B7C914548E7900D25470 /* IASKSpecifierValuesView.xib */; }; D5F3B7E51454930400D25470 /* InAppSettings.bundle in Resources */ = {isa = PBXBuildFile; fileRef = D5F3B7E41454930400D25470 /* InAppSettings.bundle */; }; + F912B8CF2F6C3D5200BC60DF /* TextBox.h in Sources */ = {isa = PBXBuildFile; fileRef = 042A91AC16B17517007ABBC6 /* TextBox.h */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -5345,6 +5346,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + F912B8CF2F6C3D5200BC60DF /* TextBox.h in Sources */, D5CF9C57144C225000E4244F /* main.mm in Sources */, D5CF9C5B144C225000E4244F /* minecraftpeAppDelegate.mm in Sources */, D5CF9C65144C225000E4244F /* EAGLView.m in Sources */, @@ -5754,7 +5756,11 @@ GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(SRCROOT)\\src/**"; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/src/**", + "$(SRCROOT)/src/client/gui/components/**", + "$(SRCROOT)/src/client/gui/**", + ); IPHONEOS_DEPLOYMENT_TARGET = 14; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; @@ -5776,7 +5782,11 @@ "GCC_THUMB_SUPPORT[arch=armv7]" = NO; GCC_VERSION = ""; GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; - HEADER_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/src/client/gui/components/**", + "$(SRCROOT)/src/client/gui/**", + "$(SRCROOT)/src/**", + ); INFOPLIST_FILE = "minecraftpe/minecraftpe-Info.plist"; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; IPHONEOS_DEPLOYMENT_TARGET = 14; @@ -5869,7 +5879,11 @@ GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(SRCROOT)\\src/**"; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/src/**", + "$(SRCROOT)/src/client/gui/components/**", + "$(SRCROOT)/src/client/gui/**", + ); IPHONEOS_DEPLOYMENT_TARGET = 14; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; @@ -5892,7 +5906,11 @@ "GCC_THUMB_SUPPORT[arch=armv7]" = NO; GCC_VERSION = ""; GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; - HEADER_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/src/client/gui/components/**", + "$(SRCROOT)/src/client/gui/**", + "$(SRCROOT)/src/**", + ); INFOPLIST_FILE = "minecraftpe/minecraftpe-Info.plist"; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; IPHONEOS_DEPLOYMENT_TARGET = 14; @@ -5957,7 +5975,11 @@ GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(SRCROOT)\\src/**"; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/src/**", + "$(SRCROOT)/src/client/gui/components/**", + "$(SRCROOT)/src/client/gui/**", + ); IPHONEOS_DEPLOYMENT_TARGET = 14; ONLY_ACTIVE_ARCH = YES; RUN_CLANG_STATIC_ANALYZER = NO; @@ -5984,7 +6006,11 @@ GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(SRCROOT)\\src/**"; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/src/**", + "$(SRCROOT)/src/client/gui/components/**", + "$(SRCROOT)/src/client/gui/**", + ); IPHONEOS_DEPLOYMENT_TARGET = 14; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; @@ -6008,7 +6034,11 @@ "GCC_THUMB_SUPPORT[arch=armv7]" = NO; GCC_VERSION = ""; GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; - HEADER_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/src/client/gui/components/**", + "$(SRCROOT)/src/client/gui/**", + "$(SRCROOT)/src/**", + ); INFOPLIST_FILE = "minecraftpe/minecraftpe-Info.plist"; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; IPHONEOS_DEPLOYMENT_TARGET = 14; @@ -6034,7 +6064,11 @@ "GCC_THUMB_SUPPORT[arch=armv7]" = NO; GCC_VERSION = ""; GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; - HEADER_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/src/client/gui/components/**", + "$(SRCROOT)/src/client/gui/**", + "$(SRCROOT)/src/**", + ); INFOPLIST_FILE = "minecraftpe/minecraftpe-Info.plist"; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; IPHONEOS_DEPLOYMENT_TARGET = 14; diff --git a/src/client/Options.h b/src/client/Options.h index 9852d48f..f81734d7 100755 --- a/src/client/Options.h +++ b/src/client/Options.h @@ -97,6 +97,10 @@ typedef std::vector StringVector; class Options { public: + // deepfriedwaffles: for iOS, was getting compile errors saying: No member named 'sound' in 'Options' and No member named 'music' in 'Options' so I floated them here. 1.0f means full volume out of the box, but if everything is too loud, you might want to try adjusting this + float sound = 1.0f; + float music = 1.0f; + static bool debugGl; Options(Minecraft* minecraft, const std::string& workingDirectory = "") diff --git a/src/client/gui/components/Slider.h b/src/client/gui/components/Slider.h index 73c009a0..107ec98c 100755 --- a/src/client/gui/components/Slider.h +++ b/src/client/gui/components/Slider.h @@ -3,7 +3,7 @@ #include "GuiElement.h" #include "../../../client/Options.h" -#include +#include "OptionsPane.h" // was originally Option.h, shouldn't it be this? class Slider : public GuiElement { typedef GuiElement super; diff --git a/src/client/gui/components/SmallButton.cpp b/src/client/gui/components/SmallButton.cpp index e2ebfaad..e1547360 100644 --- a/src/client/gui/components/SmallButton.cpp +++ b/src/client/gui/components/SmallButton.cpp @@ -12,13 +12,13 @@ SmallButton::SmallButton( int id, int x, int y, int width, int height, const std { } -SmallButton::SmallButton( int id, int x, int y, Options::Option* item, const std::string& msg ) +SmallButton::SmallButton( int id, int x, int y, Option* item, const std::string& msg ) : super(id, x, y, 150, 20, msg), option(item) { } -Options::Option* SmallButton::getOption() +Option* SmallButton::getOption() { return option; } diff --git a/src/client/gui/components/SmallButton.h b/src/client/gui/components/SmallButton.h index 05ae3787..2fd6372c 100644 --- a/src/client/gui/components/SmallButton.h +++ b/src/client/gui/components/SmallButton.h @@ -13,11 +13,11 @@ class SmallButton: public Button public: SmallButton(int id, int x, int y, const std::string& msg); SmallButton(int id, int x, int y, int width, int height, const std::string& msg); - SmallButton(int id, int x, int y, Options::Option* item, const std::string& msg); + SmallButton(int id, int x, int y, Option* item, const std::string& msg); - Options::Option* getOption(); + Option* getOption(); private: - Options::Option* option; + Option* option; }; #endif /*NET_MINECRAFT_CLIENT_GUI_COMPONENTS__SmallButton_H__*/ diff --git a/src/client/gui/screens/JoinByIPScreen.h b/src/client/gui/screens/JoinByIPScreen.h index 5ee2b161..4b175434 100644 --- a/src/client/gui/screens/JoinByIPScreen.h +++ b/src/client/gui/screens/JoinByIPScreen.h @@ -2,8 +2,8 @@ #include "../Screen.h" #include "../components/Button.h" #include "../../Minecraft.h" -#include "client/gui/components/ImageButton.h" -#include "client/gui/components/TextBox.h" +#include "ImageButton.h" +#include "TextBox.h" class JoinByIPScreen: public Screen { @@ -25,4 +25,4 @@ private: Touch::THeader bHeader; Touch::TButton bJoin; ImageButton bBack; -}; \ No newline at end of file +}; diff --git a/src/client/gui/screens/ScreenChooser.cpp b/src/client/gui/screens/ScreenChooser.cpp index b4235242..610a2090 100755 --- a/src/client/gui/screens/ScreenChooser.cpp +++ b/src/client/gui/screens/ScreenChooser.cpp @@ -14,7 +14,7 @@ #include "../../Minecraft.h" -#include +#include "UsernameScreen.h" Screen* ScreenChooser::createScreen( ScreenId id ) { diff --git a/src/client/gui/screens/UsernameScreen.h b/src/client/gui/screens/UsernameScreen.h index 38db2524..592998fd 100644 --- a/src/client/gui/screens/UsernameScreen.h +++ b/src/client/gui/screens/UsernameScreen.h @@ -3,7 +3,8 @@ #include "../Screen.h" #include "../components/Button.h" -#include "/client/gui/components/TextBox.h" +// this is cursed lol +#include "../../../client/gui/components/TextBox.h" #include class UsernameScreen : public Screen diff --git a/src/client/gui/screens/crafting/PaneCraftingScreen.cpp b/src/client/gui/screens/crafting/PaneCraftingScreen.cpp index 4e3d0253..c0ec6a95 100755 --- a/src/client/gui/screens/crafting/PaneCraftingScreen.cpp +++ b/src/client/gui/screens/crafting/PaneCraftingScreen.cpp @@ -16,7 +16,7 @@ #include "../../../../world/level/Level.h" #include "../../../../world/item/DyePowderItem.h" #include "../../../../world/item/crafting/Recipe.h" -#include "platform/input/Keyboard.h" +#include "Keyboard.h" static NinePatchLayer* guiPaneFrame = NULL; From 705c4154ee7c0675af2a93a5270977786f03533d Mon Sep 17 00:00:00 2001 From: deepfriedwaffles Date: Thu, 19 Mar 2026 11:10:19 -0400 Subject: [PATCH 05/21] gonna try changing all Options::Option* in the whole project to just Option* not sure if this works but it gets the compiler to shut up. if this breaks everything change all 'Option*' to 'Options::Option*' as it once was. --- src/client/Minecraft.cpp | 2 +- src/client/gui/components/OptionsPane.cpp | 8 ++++---- src/client/gui/components/OptionsPane.h | 6 +++--- src/client/gui/screens/OptionsScreen.cpp | 5 ++++- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/client/Minecraft.cpp b/src/client/Minecraft.cpp index 1bd68de4..97f1bc88 100755 --- a/src/client/Minecraft.cpp +++ b/src/client/Minecraft.cpp @@ -1212,7 +1212,7 @@ void Minecraft::setSize(int w, int h) { int screenHeight = (int)(height * Gui::InvGuiScale); // if (platform()) { - // float pixelsPerMillimeter = options.getProgressValue(&Options::Option::PIXELS_PER_MILLIMETER); + // float pixelsPerMillimeter = options.getProgressValue(&Option::PIXELS_PER_MILLIMETER); // pixelCalc.setPixelsPerMillimeter(pixelsPerMillimeter); // pixelCalcUi.setPixelsPerMillimeter(pixelsPerMillimeter * Gui::InvGuiScale); // } diff --git a/src/client/gui/components/OptionsPane.cpp b/src/client/gui/components/OptionsPane.cpp index 8cc5d70c..e7e6aa25 100644 --- a/src/client/gui/components/OptionsPane.cpp +++ b/src/client/gui/components/OptionsPane.cpp @@ -28,7 +28,7 @@ OptionsGroup& OptionsPane::createOptionsGroup( std::string label ) { return *newGroup; } -void OptionsPane::createToggle( unsigned int group, std::string label, const Options::Option* option ) { +void OptionsPane::createToggle( unsigned int group, std::string label, const Option* option ) { if(group > children.size()) return; ImageDef def; def.setSrc(IntRectangle(160, 206, 39, 20)); @@ -42,7 +42,7 @@ void OptionsPane::createToggle( unsigned int group, std::string label, const Opt setupPositions(); } -void OptionsPane::createProgressSlider( Minecraft* minecraft, unsigned int group, std::string label, const Options::Option* option, float progressMin/*=1.0f*/, float progressMax/*=1.0f */ ) { +void OptionsPane::createProgressSlider( Minecraft* minecraft, unsigned int group, std::string label, const Option* option, float progressMin/*=1.0f*/, float progressMax/*=1.0f */ ) { if(group > children.size()) return; Slider* element = new Slider(minecraft, option, progressMin, progressMax); element->width = 100; @@ -52,7 +52,7 @@ void OptionsPane::createProgressSlider( Minecraft* minecraft, unsigned int group setupPositions(); } -void OptionsPane::createStepSlider( Minecraft* minecraft, unsigned int group, std::string label, const Options::Option* option, const std::vector& stepVec ) { +void OptionsPane::createStepSlider( Minecraft* minecraft, unsigned int group, std::string label, const Option* option, const std::vector& stepVec ) { if(group > children.size()) return; Slider* element = new Slider(minecraft, option, stepVec); element->width = 100; @@ -60,4 +60,4 @@ void OptionsPane::createStepSlider( Minecraft* minecraft, unsigned int group, st OptionsItem* item = new OptionsItem(label, element); ((OptionsGroup*)children[group])->addChild(item); setupPositions(); -} \ No newline at end of file +} diff --git a/src/client/gui/components/OptionsPane.h b/src/client/gui/components/OptionsPane.h index 5eb96529..cf16b26b 100644 --- a/src/client/gui/components/OptionsPane.h +++ b/src/client/gui/components/OptionsPane.h @@ -21,9 +21,9 @@ class OptionsPane: public GuiElementContainer public: OptionsPane(); OptionsGroup& createOptionsGroup( std::string label ); - void createToggle( unsigned int group, std::string label, const Options::Option* option ); - void createProgressSlider(Minecraft* minecraft, unsigned int group, std::string label, const Options::Option* option, float progressMin=1.0f, float progressMax=1.0f ); - void createStepSlider(Minecraft* minecraft, unsigned int group, std::string label, const Options::Option* option, const std::vector& stepVec ); + void createToggle( unsigned int group, std::string label, const Option* option ); + void createProgressSlider(Minecraft* minecraft, unsigned int group, std::string label, const Option* option, float progressMin=1.0f, float progressMax=1.0f ); + void createStepSlider(Minecraft* minecraft, unsigned int group, std::string label, const Option* option, const std::vector& stepVec ); void setupPositions(); }; diff --git a/src/client/gui/screens/OptionsScreen.cpp b/src/client/gui/screens/OptionsScreen.cpp index 328a2074..afa5a8e5 100755 --- a/src/client/gui/screens/OptionsScreen.cpp +++ b/src/client/gui/screens/OptionsScreen.cpp @@ -216,6 +216,9 @@ void OptionsScreen::generateOptionScreens() { // // Graphics Pane optionPanes[3]->addOptionItem(OPTIONS_FANCY_GRAPHICS, minecraft) + // .addOptionItem(&Option::VIEW_BOBBING, minecraft) + // .addOptionItem(&Option::AMBIENT_OCCLUSION, minecraft) + // .addOptionItem(&Option::ANAGLYPH, minecraft) .addOptionItem(OPTIONS_LIMIT_FRAMERATE, minecraft) .addOptionItem(OPTIONS_VSYNC, minecraft) .addOptionItem(OPTIONS_RENDER_DEBUG, minecraft) @@ -268,4 +271,4 @@ void OptionsScreen::tick() { currentOptionsGroup->tick(minecraft); super::tick(); -} \ No newline at end of file +} From 22b59bd2cc9ff19e2db31e82430c6a03ace6230a Mon Sep 17 00:00:00 2001 From: deepfriedwaffles Date: Mon, 23 Mar 2026 15:05:47 -0400 Subject: [PATCH 06/21] Synced options UI files from main branch --- src/client/gui/components/Slider.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client/gui/components/Slider.h b/src/client/gui/components/Slider.h index 107ec98c..77c88948 100755 --- a/src/client/gui/components/Slider.h +++ b/src/client/gui/components/Slider.h @@ -3,7 +3,7 @@ #include "GuiElement.h" #include "../../../client/Options.h" -#include "OptionsPane.h" // was originally Option.h, shouldn't it be this? +#include "Option.h" class Slider : public GuiElement { typedef GuiElement super; From 44ece561e81f86b3745e764464f0c05643d722cd Mon Sep 17 00:00:00 2001 From: deepfriedwaffles Date: Mon, 23 Mar 2026 16:07:02 -0400 Subject: [PATCH 07/21] fixed slider for hopefully the final fucking time. Nether Reactor fix: Need to make the array for building it all unsigned integers as now Xcode is strict about the new C++ Standards as they have changed since 2011 --- src/client/gui/components/Slider.h | 1 - src/world/level/tile/NetherReactorPattern.cpp | 21 ++++++++++--------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/client/gui/components/Slider.h b/src/client/gui/components/Slider.h index 77c88948..81687419 100755 --- a/src/client/gui/components/Slider.h +++ b/src/client/gui/components/Slider.h @@ -3,7 +3,6 @@ #include "GuiElement.h" #include "../../../client/Options.h" -#include "Option.h" class Slider : public GuiElement { typedef GuiElement super; diff --git a/src/world/level/tile/NetherReactorPattern.cpp b/src/world/level/tile/NetherReactorPattern.cpp index 8181e411..51958f48 100755 --- a/src/world/level/tile/NetherReactorPattern.cpp +++ b/src/world/level/tile/NetherReactorPattern.cpp @@ -6,23 +6,24 @@ NetherReactorPattern::NetherReactorPattern( ) { const int netherCoreId = Tile::netherReactor->id; const unsigned int types[3][3][3] = { - // Level 0 + // Changing all of these values to be unsigned is needed to get the nether reactor pattern to compile. In the past having them be normal ints was fine but the c++ convention has changed + // Level 0 { - {goldId, stoneId, goldId}, - {stoneId, stoneId, stoneId}, - {goldId, stoneId, goldId} + {static_cast(goldId), static_cast(stoneId), static_cast(goldId)}, + {static_cast(stoneId), static_cast(stoneId), static_cast(stoneId)}, + {static_cast(goldId), static_cast(stoneId), static_cast(goldId)} }, // Level 1 { - {stoneId, 0, stoneId}, - {0, netherCoreId, 0}, - {stoneId, 0, stoneId} + {static_cast(stoneId), 0, static_cast(stoneId)}, + {0, static_cast(netherCoreId), 0}, + {static_cast(stoneId), 0, static_cast(stoneId)} }, // Level 2 { - {0, stoneId, 0}, - {stoneId, stoneId, stoneId}, - {0, stoneId, 0} + {0, static_cast(stoneId), 0}, + {static_cast(stoneId), static_cast(stoneId), static_cast(stoneId)}, + {0, static_cast(stoneId), 0} } }; for(int setLevel = 0; setLevel <= 2; ++setLevel) { From 8867878ccfa95fb50816390cf248871597889fb5 Mon Sep 17 00:00:00 2001 From: deepfriedwaffles Date: Mon, 23 Mar 2026 17:53:17 -0400 Subject: [PATCH 08/21] more refactoring for iOS --- .../iosproj/minecraftpe.xcodeproj/project.pbxproj | 6 ------ src/client/Minecraft.cpp | 15 ++++++++++----- src/client/Minecraft.h | 1 + src/client/Options.h | 7 +++---- src/client/gui/Gui.cpp | 4 ++-- src/client/gui/components/ImageButton.cpp | 2 +- src/client/gui/components/KeyOption.h | 4 ++-- src/client/gui/components/TextOption.h | 4 ++-- src/client/player/input/XperiaPlayInput.h | 2 ++ 9 files changed, 23 insertions(+), 22 deletions(-) diff --git a/project/iosproj/minecraftpe.xcodeproj/project.pbxproj b/project/iosproj/minecraftpe.xcodeproj/project.pbxproj index 6cdc467c..c8f656c3 100755 --- a/project/iosproj/minecraftpe.xcodeproj/project.pbxproj +++ b/project/iosproj/minecraftpe.xcodeproj/project.pbxproj @@ -41,7 +41,6 @@ 042A91AE16B17517007ABBC6 /* GuiElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 042A91A316B17517007ABBC6 /* GuiElement.cpp */; }; 042A91AF16B17517007ABBC6 /* NinePatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 042A91A516B17517007ABBC6 /* NinePatch.cpp */; }; 042A91B016B17517007ABBC6 /* OptionsGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 042A91A716B17517007ABBC6 /* OptionsGroup.cpp */; }; - 042A91B116B17517007ABBC6 /* OptionsPane.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 042A91A916B17517007ABBC6 /* OptionsPane.cpp */; }; 042A91B216B17517007ABBC6 /* TextBox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 042A91AB16B17517007ABBC6 /* TextBox.cpp */; }; 044129071682FF9600B70EE6 /* MouseHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 044129061682FF9600B70EE6 /* MouseHandler.cpp */; }; 9D293CE716071C08000305C8 /* CreateNewWorld_iphone.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9D293CE616071C08000305C8 /* CreateNewWorld_iphone.xib */; }; @@ -1209,8 +1208,6 @@ 042A91A616B17517007ABBC6 /* NinePatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NinePatch.h; sourceTree = ""; }; 042A91A716B17517007ABBC6 /* OptionsGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OptionsGroup.cpp; sourceTree = ""; }; 042A91A816B17517007ABBC6 /* OptionsGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OptionsGroup.h; sourceTree = ""; }; - 042A91A916B17517007ABBC6 /* OptionsPane.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OptionsPane.cpp; sourceTree = ""; }; - 042A91AA16B17517007ABBC6 /* OptionsPane.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OptionsPane.h; sourceTree = ""; }; 042A91AB16B17517007ABBC6 /* TextBox.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextBox.cpp; sourceTree = ""; }; 042A91AC16B17517007ABBC6 /* TextBox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TextBox.h; path = ../../src/client/gui/components/TextBox.h; sourceTree = SOURCE_ROOT; }; 044129061682FF9600B70EE6 /* MouseHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MouseHandler.cpp; sourceTree = ""; }; @@ -3227,8 +3224,6 @@ 042A91A616B17517007ABBC6 /* NinePatch.h */, 042A91A716B17517007ABBC6 /* OptionsGroup.cpp */, 042A91A816B17517007ABBC6 /* OptionsGroup.h */, - 042A91A916B17517007ABBC6 /* OptionsPane.cpp */, - 042A91AA16B17517007ABBC6 /* OptionsPane.h */, 042A91AB16B17517007ABBC6 /* TextBox.cpp */, 042A91AC16B17517007ABBC6 /* TextBox.h */, D5B50C2814CFF66F005F7284 /* Button.cpp */, @@ -5705,7 +5700,6 @@ 042A91AE16B17517007ABBC6 /* GuiElement.cpp in Sources */, 042A91AF16B17517007ABBC6 /* NinePatch.cpp in Sources */, 042A91B016B17517007ABBC6 /* OptionsGroup.cpp in Sources */, - 042A91B116B17517007ABBC6 /* OptionsPane.cpp in Sources */, 042A91B216B17517007ABBC6 /* TextBox.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/src/client/Minecraft.cpp b/src/client/Minecraft.cpp index 97f1bc88..3170504c 100755 --- a/src/client/Minecraft.cpp +++ b/src/client/Minecraft.cpp @@ -1,10 +1,11 @@ #include "Minecraft.h" #include "Options.h" -#include "client/Options.h" -#include "client/player/input/IBuildInput.h" -#include "platform/input/Keyboard.h" -#include "world/item/Item.h" -#include "world/item/ItemInstance.h" +#include "IBuildInput.h" +#include "Keyboard.h" +#include "Item.h" +#include "ItemInstance.h" +#include "XperiaPlayInput.h" +#include "ControllerTurnInput.h" #include #include @@ -24,9 +25,13 @@ #include "../world/level/storage/LevelStorageSource.h" #include "../world/level/storage/LevelStorage.h" #include "player/input/KeyboardInput.h" +<<<<<<< HEAD #include "player/input/ControllerTurnInput.h" #include "player/input/XperiaPlayInput.h" #include "world/level/chunk/ChunkSource.h" +======= +#include "ChunkSource.h" +>>>>>>> abfb9e0 (more refactoring for iOS) #ifndef STANDALONE_SERVER #include "player/input/touchscreen/TouchInputHolder.h" diff --git a/src/client/Minecraft.h b/src/client/Minecraft.h index 1a90b128..22b7ec76 100755 --- a/src/client/Minecraft.h +++ b/src/client/Minecraft.h @@ -221,6 +221,7 @@ private: bool _isCreativeMode; //int _respawnPlayerTicks; Player* _pendingRemovePlayer; // @attn @todo @fix: remove this shait and fix the respawn behaviour + // shit* lmao PerfRenderer* _perfRenderer; CommandServer* _commandServer; diff --git a/src/client/Options.h b/src/client/Options.h index f81734d7..c2b0b1f9 100755 --- a/src/client/Options.h +++ b/src/client/Options.h @@ -97,9 +97,6 @@ typedef std::vector StringVector; class Options { public: - // deepfriedwaffles: for iOS, was getting compile errors saying: No member named 'sound' in 'Options' and No member named 'music' in 'Options' so I floated them here. 1.0f means full volume out of the box, but if everything is too loud, you might want to try adjusting this - float sound = 1.0f; - float music = 1.0f; static bool debugGl; @@ -164,7 +161,9 @@ private: if (m_options[key] == nullptr) return nullptr; return dynamic_cast(m_options[key]); } - +// apple stuff + float sound; + float music; std::array m_options; OptionsFile optionsFile; diff --git a/src/client/gui/Gui.cpp b/src/client/gui/Gui.cpp index 8df59f01..c54cce59 100755 --- a/src/client/gui/Gui.cpp +++ b/src/client/gui/Gui.cpp @@ -1,7 +1,7 @@ #include "Gui.h" #include "Font.h" -#include "client/Options.h" -#include "platform/input/Keyboard.h" +#include "Options.h" +#include "Keyboard.h" #include "screens/IngameBlockSelectionScreen.h" #include "screens/ChatScreen.h" #include "screens/ConsoleScreen.h" diff --git a/src/client/gui/components/ImageButton.cpp b/src/client/gui/components/ImageButton.cpp index 3d95acc9..f686dcdd 100755 --- a/src/client/gui/components/ImageButton.cpp +++ b/src/client/gui/components/ImageButton.cpp @@ -4,7 +4,7 @@ #include "../../../platform/log.h" #include "../../../util/Mth.h" #include "../../renderer/Textures.h" -#include +#include "../../Option.h" ImageButton::ImageButton(int id, const std::string& msg) diff --git a/src/client/gui/components/KeyOption.h b/src/client/gui/components/KeyOption.h index fabdc7ac..cc869582 100644 --- a/src/client/gui/components/KeyOption.h +++ b/src/client/gui/components/KeyOption.h @@ -1,6 +1,6 @@ #pragma once #include "Button.h" -#include +#include "Options.h" class KeyOption : public Touch::TButton { public: @@ -11,4 +11,4 @@ public: virtual void keyPressed(Minecraft* minecraft, int key); protected: bool m_captureMode; -}; \ No newline at end of file +}; diff --git a/src/client/gui/components/TextOption.h b/src/client/gui/components/TextOption.h index 89c545c9..b93a79c1 100644 --- a/src/client/gui/components/TextOption.h +++ b/src/client/gui/components/TextOption.h @@ -1,10 +1,10 @@ #pragma once #include "TextBox.h" -#include +#include "Options.h" class TextOption : public TextBox { public: TextOption(Minecraft* minecraft, OptionId optId); virtual bool loseFocus(Minecraft* minecraft); -}; \ No newline at end of file +}; diff --git a/src/client/player/input/XperiaPlayInput.h b/src/client/player/input/XperiaPlayInput.h index 0b3afc5d..bbebab55 100755 --- a/src/client/player/input/XperiaPlayInput.h +++ b/src/client/player/input/XperiaPlayInput.h @@ -1,5 +1,7 @@ #ifndef NET_MINECRAFT_CLIENT_PLAYER__XperiaPlayInput_H__ #define NET_MINECRAFT_CLIENT_PLAYER__XperiaPlayInput_H__ +#include "Player.h" +#include "Controller.h" //package net.minecraft.client.player; From aec534d948af3b37970b7f90336d2cb108979c12 Mon Sep 17 00:00:00 2001 From: deepfriedwaffles Date: Tue, 24 Mar 2026 19:51:01 -0400 Subject: [PATCH 09/21] restore include paths for cross-platform builds because i messed absolutely every #include up. --- src/client/Minecraft.cpp | 15 +++++---------- src/client/Options.h | 7 ++++--- src/client/gui/Gui.cpp | 4 ++-- src/client/gui/components/ImageButton.cpp | 2 +- src/client/gui/components/KeyOption.h | 4 ++-- src/client/gui/components/TextOption.h | 4 ++-- src/client/gui/screens/OptionsScreen.cpp | 2 +- src/client/player/input/XperiaPlayInput.h | 2 -- 8 files changed, 17 insertions(+), 23 deletions(-) diff --git a/src/client/Minecraft.cpp b/src/client/Minecraft.cpp index 3170504c..97f1bc88 100755 --- a/src/client/Minecraft.cpp +++ b/src/client/Minecraft.cpp @@ -1,11 +1,10 @@ #include "Minecraft.h" #include "Options.h" -#include "IBuildInput.h" -#include "Keyboard.h" -#include "Item.h" -#include "ItemInstance.h" -#include "XperiaPlayInput.h" -#include "ControllerTurnInput.h" +#include "client/Options.h" +#include "client/player/input/IBuildInput.h" +#include "platform/input/Keyboard.h" +#include "world/item/Item.h" +#include "world/item/ItemInstance.h" #include #include @@ -25,13 +24,9 @@ #include "../world/level/storage/LevelStorageSource.h" #include "../world/level/storage/LevelStorage.h" #include "player/input/KeyboardInput.h" -<<<<<<< HEAD #include "player/input/ControllerTurnInput.h" #include "player/input/XperiaPlayInput.h" #include "world/level/chunk/ChunkSource.h" -======= -#include "ChunkSource.h" ->>>>>>> abfb9e0 (more refactoring for iOS) #ifndef STANDALONE_SERVER #include "player/input/touchscreen/TouchInputHolder.h" diff --git a/src/client/Options.h b/src/client/Options.h index c2b0b1f9..f81734d7 100755 --- a/src/client/Options.h +++ b/src/client/Options.h @@ -97,6 +97,9 @@ typedef std::vector StringVector; class Options { public: + // deepfriedwaffles: for iOS, was getting compile errors saying: No member named 'sound' in 'Options' and No member named 'music' in 'Options' so I floated them here. 1.0f means full volume out of the box, but if everything is too loud, you might want to try adjusting this + float sound = 1.0f; + float music = 1.0f; static bool debugGl; @@ -161,9 +164,7 @@ private: if (m_options[key] == nullptr) return nullptr; return dynamic_cast(m_options[key]); } -// apple stuff - float sound; - float music; + std::array m_options; OptionsFile optionsFile; diff --git a/src/client/gui/Gui.cpp b/src/client/gui/Gui.cpp index c54cce59..8df59f01 100755 --- a/src/client/gui/Gui.cpp +++ b/src/client/gui/Gui.cpp @@ -1,7 +1,7 @@ #include "Gui.h" #include "Font.h" -#include "Options.h" -#include "Keyboard.h" +#include "client/Options.h" +#include "platform/input/Keyboard.h" #include "screens/IngameBlockSelectionScreen.h" #include "screens/ChatScreen.h" #include "screens/ConsoleScreen.h" diff --git a/src/client/gui/components/ImageButton.cpp b/src/client/gui/components/ImageButton.cpp index f686dcdd..3d95acc9 100755 --- a/src/client/gui/components/ImageButton.cpp +++ b/src/client/gui/components/ImageButton.cpp @@ -4,7 +4,7 @@ #include "../../../platform/log.h" #include "../../../util/Mth.h" #include "../../renderer/Textures.h" -#include "../../Option.h" +#include ImageButton::ImageButton(int id, const std::string& msg) diff --git a/src/client/gui/components/KeyOption.h b/src/client/gui/components/KeyOption.h index cc869582..fabdc7ac 100644 --- a/src/client/gui/components/KeyOption.h +++ b/src/client/gui/components/KeyOption.h @@ -1,6 +1,6 @@ #pragma once #include "Button.h" -#include "Options.h" +#include class KeyOption : public Touch::TButton { public: @@ -11,4 +11,4 @@ public: virtual void keyPressed(Minecraft* minecraft, int key); protected: bool m_captureMode; -}; +}; \ No newline at end of file diff --git a/src/client/gui/components/TextOption.h b/src/client/gui/components/TextOption.h index b93a79c1..89c545c9 100644 --- a/src/client/gui/components/TextOption.h +++ b/src/client/gui/components/TextOption.h @@ -1,10 +1,10 @@ #pragma once #include "TextBox.h" -#include "Options.h" +#include class TextOption : public TextBox { public: TextOption(Minecraft* minecraft, OptionId optId); virtual bool loseFocus(Minecraft* minecraft); -}; +}; \ No newline at end of file diff --git a/src/client/gui/screens/OptionsScreen.cpp b/src/client/gui/screens/OptionsScreen.cpp index afa5a8e5..ce5db389 100755 --- a/src/client/gui/screens/OptionsScreen.cpp +++ b/src/client/gui/screens/OptionsScreen.cpp @@ -271,4 +271,4 @@ void OptionsScreen::tick() { currentOptionsGroup->tick(minecraft); super::tick(); -} +} \ No newline at end of file diff --git a/src/client/player/input/XperiaPlayInput.h b/src/client/player/input/XperiaPlayInput.h index bbebab55..0b3afc5d 100755 --- a/src/client/player/input/XperiaPlayInput.h +++ b/src/client/player/input/XperiaPlayInput.h @@ -1,7 +1,5 @@ #ifndef NET_MINECRAFT_CLIENT_PLAYER__XperiaPlayInput_H__ #define NET_MINECRAFT_CLIENT_PLAYER__XperiaPlayInput_H__ -#include "Player.h" -#include "Controller.h" //package net.minecraft.client.player; From d5547673098ceabbee8df49b2223883149018698 Mon Sep 17 00:00:00 2001 From: deepfriedwaffles Date: Tue, 24 Mar 2026 21:38:31 -0400 Subject: [PATCH 10/21] IT COMPILESgit add .! also added full screen support. see issues. --- project/iosproj/Launch Screen.storyboard | 48 +++++ .../minecraftpe.xcodeproj/project.pbxproj | 192 ++++++++++++++---- .../minecraftpe/minecraftpe-Info.plist | 2 + src/AppPlatform_iOS.mm | 6 +- src/client/Option.h | 2 +- 5 files changed, 206 insertions(+), 44 deletions(-) create mode 100644 project/iosproj/Launch Screen.storyboard diff --git a/project/iosproj/Launch Screen.storyboard b/project/iosproj/Launch Screen.storyboard new file mode 100644 index 00000000..4ee7abe6 --- /dev/null +++ b/project/iosproj/Launch Screen.storyboard @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/project/iosproj/minecraftpe.xcodeproj/project.pbxproj b/project/iosproj/minecraftpe.xcodeproj/project.pbxproj index c8f656c3..6fcf3826 100755 --- a/project/iosproj/minecraftpe.xcodeproj/project.pbxproj +++ b/project/iosproj/minecraftpe.xcodeproj/project.pbxproj @@ -1147,6 +1147,32 @@ D5F3B7DE14548E7900D25470 /* IASKSpecifierValuesView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D5F3B7C914548E7900D25470 /* IASKSpecifierValuesView.xib */; }; D5F3B7E51454930400D25470 /* InAppSettings.bundle in Resources */ = {isa = PBXBuildFile; fileRef = D5F3B7E41454930400D25470 /* InAppSettings.bundle */; }; F912B8CF2F6C3D5200BC60DF /* TextBox.h in Sources */ = {isa = PBXBuildFile; fileRef = 042A91AC16B17517007ABBC6 /* TextBox.h */; }; + F99D341F2F736AA100DC153E /* HttpClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F99D341E2F736AA100DC153E /* HttpClient.cpp */; }; + F99D34202F736AA100DC153E /* HttpClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F99D341E2F736AA100DC153E /* HttpClient.cpp */; }; + F99D34232F736AD400DC153E /* TextOption.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F99D34222F736AD400DC153E /* TextOption.cpp */; }; + F99D34242F736AD400DC153E /* TextOption.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F99D34222F736AD400DC153E /* TextOption.cpp */; }; + F99D34272F736AFB00DC153E /* OptionsFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F99D34262F736AFB00DC153E /* OptionsFile.cpp */; }; + F99D34282F736AFB00DC153E /* OptionsFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F99D34262F736AFB00DC153E /* OptionsFile.cpp */; }; + F99D342B2F736B6F00DC153E /* OptionsItem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F99D342A2F736B6F00DC153E /* OptionsItem.cpp */; }; + F99D342C2F736B6F00DC153E /* OptionsItem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F99D342A2F736B6F00DC153E /* OptionsItem.cpp */; }; + F99D342F2F736BAD00DC153E /* ConsoleScreen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F99D342E2F736BAD00DC153E /* ConsoleScreen.cpp */; }; + F99D34302F736BAD00DC153E /* ConsoleScreen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F99D342E2F736BAD00DC153E /* ConsoleScreen.cpp */; }; + F99D34332F736BDA00DC153E /* CreditsScreen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F99D34322F736BDA00DC153E /* CreditsScreen.cpp */; }; + F99D34342F736BDA00DC153E /* CreditsScreen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F99D34322F736BDA00DC153E /* CreditsScreen.cpp */; }; + F99D34372F736C1000DC153E /* JoinByIPScreen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F99D34362F736C1000DC153E /* JoinByIPScreen.cpp */; }; + F99D34382F736C1000DC153E /* JoinByIPScreen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F99D34362F736C1000DC153E /* JoinByIPScreen.cpp */; }; + F99D343B2F736C3B00DC153E /* UsernameScreen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F99D343A2F736C3B00DC153E /* UsernameScreen.cpp */; }; + F99D343C2F736C3B00DC153E /* UsernameScreen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F99D343A2F736C3B00DC153E /* UsernameScreen.cpp */; }; + F99D343F2F736C8400DC153E /* GuiElementContainer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F99D343E2F736C8400DC153E /* GuiElementContainer.cpp */; }; + F99D34402F736C8400DC153E /* GuiElementContainer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F99D343E2F736C8400DC153E /* GuiElementContainer.cpp */; }; + F99D34432F736F9400DC153E /* Option.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F99D34422F736F9400DC153E /* Option.cpp */; }; + F99D34442F736F9400DC153E /* Option.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F99D34422F736F9400DC153E /* Option.cpp */; }; + F99D34472F736FE800DC153E /* KeyOption.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F99D34462F736FE800DC153E /* KeyOption.cpp */; }; + F99D34482F736FE800DC153E /* KeyOption.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F99D34462F736FE800DC153E /* KeyOption.cpp */; }; + F99D344B2F7370CF00DC153E /* Slider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F99D344A2F7370CF00DC153E /* Slider.cpp */; }; + F99D344C2F7370CF00DC153E /* Slider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F99D344A2F7370CF00DC153E /* Slider.cpp */; }; + F99D344E2F7372A100DC153E /* Launch Screen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F99D344D2F7372A100DC153E /* Launch Screen.storyboard */; }; + F99D344F2F7372A100DC153E /* Launch Screen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F99D344D2F7372A100DC153E /* Launch Screen.storyboard */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -2015,7 +2041,7 @@ D5B50D6914CFF66F005F7284 /* Multitouch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Multitouch.h; sourceTree = ""; }; D5B50D6A14CFF66F005F7284 /* log.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = log.h; sourceTree = ""; }; D5B50D6B14CFF66F005F7284 /* time.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = time.cpp; sourceTree = ""; }; - D5B50D6C14CFF66F005F7284 /* time.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = time.h; sourceTree = ""; }; + D5B50D6C14CFF66F005F7284 /* time.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = time.h; sourceTree = ""; }; D5B50E5614CFF66F005F7284 /* SharedConstants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SharedConstants.h; sourceTree = ""; }; D5B50E5714CFF66F005F7284 /* terrain_4444.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = terrain_4444.h; sourceTree = ""; }; D5B50E5814CFF66F005F7284 /* terrain_5551.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = terrain_5551.h; sourceTree = ""; }; @@ -2406,6 +2432,31 @@ D5F3B7C814548E7900D25470 /* IASKPSToggleSwitchSpecifierViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IASKPSToggleSwitchSpecifierViewCell.xib; sourceTree = ""; }; D5F3B7C914548E7900D25470 /* IASKSpecifierValuesView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IASKSpecifierValuesView.xib; sourceTree = ""; }; D5F3B7E41454930400D25470 /* InAppSettings.bundle */ = {isa = PBXFileReference; explicitFileType = "wrapper.installer-pkg"; path = InAppSettings.bundle; sourceTree = ""; }; + F99D341D2F736AA100DC153E /* HttpClient.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HttpClient.h; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/platform/HttpClient.h"; sourceTree = ""; }; + F99D341E2F736AA100DC153E /* HttpClient.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = HttpClient.cpp; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/platform/HttpClient.cpp"; sourceTree = ""; }; + F99D34212F736AD400DC153E /* TextOption.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TextOption.h; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/components/TextOption.h"; sourceTree = ""; }; + F99D34222F736AD400DC153E /* TextOption.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = TextOption.cpp; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/components/TextOption.cpp"; sourceTree = ""; }; + F99D34252F736AFB00DC153E /* OptionsFile.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OptionsFile.h; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/OptionsFile.h"; sourceTree = ""; }; + F99D34262F736AFB00DC153E /* OptionsFile.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = OptionsFile.cpp; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/OptionsFile.cpp"; sourceTree = ""; }; + F99D34292F736B6F00DC153E /* OptionsItem.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OptionsItem.h; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/components/OptionsItem.h"; sourceTree = ""; }; + F99D342A2F736B6F00DC153E /* OptionsItem.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = OptionsItem.cpp; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/components/OptionsItem.cpp"; sourceTree = ""; }; + F99D342D2F736BAD00DC153E /* ConsoleScreen.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ConsoleScreen.h; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/screens/ConsoleScreen.h"; sourceTree = ""; }; + F99D342E2F736BAD00DC153E /* ConsoleScreen.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ConsoleScreen.cpp; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/screens/ConsoleScreen.cpp"; sourceTree = ""; }; + F99D34312F736BDA00DC153E /* CreditsScreen.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CreditsScreen.h; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/screens/CreditsScreen.h"; sourceTree = ""; }; + F99D34322F736BDA00DC153E /* CreditsScreen.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CreditsScreen.cpp; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/screens/CreditsScreen.cpp"; sourceTree = ""; }; + F99D34352F736C1000DC153E /* JoinByIPScreen.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JoinByIPScreen.h; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/screens/JoinByIPScreen.h"; sourceTree = ""; }; + F99D34362F736C1000DC153E /* JoinByIPScreen.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = JoinByIPScreen.cpp; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/screens/JoinByIPScreen.cpp"; sourceTree = ""; }; + F99D34392F736C3B00DC153E /* UsernameScreen.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = UsernameScreen.h; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/screens/UsernameScreen.h"; sourceTree = ""; }; + F99D343A2F736C3B00DC153E /* UsernameScreen.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = UsernameScreen.cpp; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/screens/UsernameScreen.cpp"; sourceTree = ""; }; + F99D343D2F736C8400DC153E /* GuiElementContainer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GuiElementContainer.h; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/components/GuiElementContainer.h"; sourceTree = ""; }; + F99D343E2F736C8400DC153E /* GuiElementContainer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = GuiElementContainer.cpp; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/components/GuiElementContainer.cpp"; sourceTree = ""; }; + F99D34412F736F9400DC153E /* Option.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Option.h; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/Option.h"; sourceTree = ""; }; + F99D34422F736F9400DC153E /* Option.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Option.cpp; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/Option.cpp"; sourceTree = ""; }; + F99D34452F736FE800DC153E /* KeyOption.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = KeyOption.h; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/components/KeyOption.h"; sourceTree = ""; }; + F99D34462F736FE800DC153E /* KeyOption.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = KeyOption.cpp; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/components/KeyOption.cpp"; sourceTree = ""; }; + F99D34492F7370CF00DC153E /* Slider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Slider.h; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/components/Slider.h"; sourceTree = ""; }; + F99D344A2F7370CF00DC153E /* Slider.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Slider.cpp; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/components/Slider.cpp"; sourceTree = ""; }; + F99D344D2F7372A100DC153E /* Launch Screen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = "Launch Screen.storyboard"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -4252,6 +4303,7 @@ D5CF9C37144C225000E4244F = { isa = PBXGroup; children = ( + F99D344D2F7372A100DC153E /* Launch Screen.storyboard */, D5E1BA9A1451C8A0007DCC4F /* Default@2x.png */, 9D959AFF16036BEE00E23A6F /* Default-568h@2x.png */, D5F07744145EF79B00EC30FB /* Default-Landscape~ipad.png */, @@ -4263,6 +4315,30 @@ D5CF9C45144C225000E4244F /* Frameworks */, D5CF9C43144C225000E4244F /* Products */, D5B50C1614CFF66F005F7284 /* src */, + F99D341D2F736AA100DC153E /* HttpClient.h */, + F99D341E2F736AA100DC153E /* HttpClient.cpp */, + F99D34212F736AD400DC153E /* TextOption.h */, + F99D34222F736AD400DC153E /* TextOption.cpp */, + F99D34252F736AFB00DC153E /* OptionsFile.h */, + F99D34262F736AFB00DC153E /* OptionsFile.cpp */, + F99D34292F736B6F00DC153E /* OptionsItem.h */, + F99D342A2F736B6F00DC153E /* OptionsItem.cpp */, + F99D342D2F736BAD00DC153E /* ConsoleScreen.h */, + F99D342E2F736BAD00DC153E /* ConsoleScreen.cpp */, + F99D34312F736BDA00DC153E /* CreditsScreen.h */, + F99D34322F736BDA00DC153E /* CreditsScreen.cpp */, + F99D34352F736C1000DC153E /* JoinByIPScreen.h */, + F99D34362F736C1000DC153E /* JoinByIPScreen.cpp */, + F99D34392F736C3B00DC153E /* UsernameScreen.h */, + F99D343A2F736C3B00DC153E /* UsernameScreen.cpp */, + F99D343D2F736C8400DC153E /* GuiElementContainer.h */, + F99D343E2F736C8400DC153E /* GuiElementContainer.cpp */, + F99D34412F736F9400DC153E /* Option.h */, + F99D34422F736F9400DC153E /* Option.cpp */, + F99D34452F736FE800DC153E /* KeyOption.h */, + F99D34462F736FE800DC153E /* KeyOption.cpp */, + F99D34492F7370CF00DC153E /* Slider.h */, + F99D344A2F7370CF00DC153E /* Slider.cpp */, ); sourceTree = ""; }; @@ -4601,6 +4677,7 @@ D5B50A5614CFF492005F7284 /* pig.png in Resources */, D5B50A5814CFF492005F7284 /* sheep_fur.png in Resources */, D5B50A5A14CFF492005F7284 /* sheep.png in Resources */, + F99D344F2F7372A100DC153E /* Launch Screen.storyboard in Resources */, D5B50A5C14CFF492005F7284 /* skeleton.png in Resources */, D5B50A5E14CFF492005F7284 /* spider.png in Resources */, D5B50A6014CFF492005F7284 /* zombie.png in Resources */, @@ -4937,6 +5014,7 @@ D5ACF26F15C03DBF00E21C22 /* sand2.m4a in Resources */, D5ACF27115C03DBF00E21C22 /* sand3.m4a in Resources */, D5ACF27315C03DBF00E21C22 /* sand4.m4a in Resources */, + F99D344E2F7372A100DC153E /* Launch Screen.storyboard in Resources */, D5ACF27515C03DBF00E21C22 /* snow1.m4a in Resources */, D5ACF27715C03DBF00E21C22 /* snow2.m4a in Resources */, D5ACF27915C03DBF00E21C22 /* snow3.m4a in Resources */, @@ -5013,18 +5091,22 @@ D58BB544146A0B910002C9F5 /* IASKSettingsStore.m in Sources */, D58BB545146A0B910002C9F5 /* IASKSettingsStoreFile.m in Sources */, D58BB546146A0B910002C9F5 /* IASKSettingsStoreUserDefaults.m in Sources */, + F99D34232F736AD400DC153E /* TextOption.cpp in Sources */, D58BB547146A0B910002C9F5 /* IASKSpecifier.m in Sources */, D58BB548146A0B910002C9F5 /* IASKPSSliderSpecifierViewCell.m in Sources */, D58BB549146A0B910002C9F5 /* IASKPSTextFieldSpecifierViewCell.m in Sources */, D58BB54A146A0B910002C9F5 /* IASKPSTitleValueSpecifierViewCell.m in Sources */, D58BB54B146A0B910002C9F5 /* IASKPSToggleSwitchSpecifierViewCell.m in Sources */, + F99D343B2F736C3B00DC153E /* UsernameScreen.cpp in Sources */, D58BB54C146A0B910002C9F5 /* IASKSlider.m in Sources */, D58BB54D146A0B910002C9F5 /* IASKSwitch.m in Sources */, + F99D34302F736BAD00DC153E /* ConsoleScreen.cpp in Sources */, D58BB54E146A0B910002C9F5 /* IASKTextField.m in Sources */, D58BB550146A0B910002C9F5 /* PVRTexture.m in Sources */, D5D43CC9146AF4B4002ED842 /* RenameMPWorldViewController.mm in Sources */, D5B50F7014CFF670005F7284 /* AppPlatform_iOS.mm in Sources */, D5B50F7414CFF670005F7284 /* CreativeMode.cpp in Sources */, + F99D34432F736F9400DC153E /* Option.cpp in Sources */, D5B50F7614CFF670005F7284 /* GameMode.cpp in Sources */, D5B50F7814CFF670005F7284 /* Button.cpp in Sources */, D5B50F7A14CFF670005F7284 /* ImageButton.cpp in Sources */, @@ -5069,6 +5151,7 @@ D5B50FC814CFF670005F7284 /* KeyboardInput.cpp in Sources */, D5B50FCA14CFF670005F7284 /* TouchscreenInput.cpp in Sources */, D5B50FCC14CFF670005F7284 /* LocalPlayer.cpp in Sources */, + F99D34482F736FE800DC153E /* KeyOption.cpp in Sources */, D5B50FCE14CFF670005F7284 /* Chunk.cpp in Sources */, D5B50FD014CFF670005F7284 /* Frustum.cpp in Sources */, D5B50FD214CFF670005F7284 /* ChickenRenderer.cpp in Sources */, @@ -5127,6 +5210,7 @@ D5B5113014CFF670005F7284 /* TripodCamera.cpp in Sources */, D5B5113214CFF670005F7284 /* Mob.cpp in Sources */, D5B5113414CFF670005F7284 /* MobCategory.cpp in Sources */, + F99D34282F736AFB00DC153E /* OptionsFile.cpp in Sources */, D5B5113814CFF670005F7284 /* PathFinderMob.cpp in Sources */, D5B5113A14CFF670005F7284 /* Inventory.cpp in Sources */, D5B5113C14CFF670005F7284 /* Player.cpp in Sources */, @@ -5138,6 +5222,7 @@ D5B5114814CFF670005F7284 /* Item.cpp in Sources */, D5B5114A14CFF670005F7284 /* ItemInstance.cpp in Sources */, D5B5114C14CFF670005F7284 /* PickaxeItem.cpp in Sources */, + F99D344B2F7370CF00DC153E /* Slider.cpp in Sources */, D5B5114E14CFF670005F7284 /* ShovelItem.cpp in Sources */, D5B5115014CFF670005F7284 /* Biome.cpp in Sources */, D5B5115214CFF670005F7284 /* BiomeSource.cpp in Sources */, @@ -5188,6 +5273,7 @@ D5251DBA1538192700FC82C8 /* CloudServer.cpp in Sources */, D5251DBE1538192700FC82C8 /* CommandParserInterface.cpp in Sources */, D5251DC01538192700FC82C8 /* ConnectionGraph2.cpp in Sources */, + F99D34402F736C8400DC153E /* GuiElementContainer.cpp in Sources */, D5251DC21538192700FC82C8 /* ConsoleServer.cpp in Sources */, D5251DC41538192700FC82C8 /* DataCompressor.cpp in Sources */, D5251DC61538192700FC82C8 /* DirectoryDeltaTransfer.cpp in Sources */, @@ -5212,6 +5298,8 @@ D5251DEC1538192700FC82C8 /* HTTPConnection.cpp in Sources */, D5251DEE1538192700FC82C8 /* IncrementalReadInterface.cpp in Sources */, D5251DF01538192700FC82C8 /* Itoa.cpp in Sources */, + F99D34202F736AA100DC153E /* HttpClient.cpp in Sources */, + F99D34382F736C1000DC153E /* JoinByIPScreen.cpp in Sources */, D5251DF21538192700FC82C8 /* LinuxStrings.cpp in Sources */, D5251DF41538192700FC82C8 /* LocklessTypes.cpp in Sources */, D5251DF61538192700FC82C8 /* LogCommandParser.cpp in Sources */, @@ -5240,6 +5328,7 @@ D5251E2A1538192700FC82C8 /* RakSleep.cpp in Sources */, D5251E2C1538192700FC82C8 /* RakString.cpp in Sources */, D5251E2E1538192700FC82C8 /* RakThread.cpp in Sources */, + F99D34332F736BDA00DC153E /* CreditsScreen.cpp in Sources */, D5251E301538192700FC82C8 /* RakWString.cpp in Sources */, D5251E321538192700FC82C8 /* Rand.cpp in Sources */, D5251E341538192700FC82C8 /* rdlmalloc.cpp in Sources */, @@ -5282,6 +5371,7 @@ D5951EEB159349100043A12A /* TileEntity.cpp in Sources */, D5951EEF159349680043A12A /* FurnaceScreen.cpp in Sources */, D5951EF215934A2D0043A12A /* Feature.cpp in Sources */, + F99D342C2F736B6F00DC153E /* OptionsItem.cpp in Sources */, D5951EF815934AC50043A12A /* BaseContainerMenu.cpp in Sources */, D5951EFA15934AC50043A12A /* FurnaceMenu.cpp in Sources */, D5D381F315A1A1CF00B6C50E /* FillingContainer.cpp in Sources */, @@ -5344,6 +5434,7 @@ F912B8CF2F6C3D5200BC60DF /* TextBox.h in Sources */, D5CF9C57144C225000E4244F /* main.mm in Sources */, D5CF9C5B144C225000E4244F /* minecraftpeAppDelegate.mm in Sources */, + F99D343C2F736C3B00DC153E /* UsernameScreen.cpp in Sources */, D5CF9C65144C225000E4244F /* EAGLView.m in Sources */, D5CFA01D144C453900E4244F /* minecraftpeViewController.mm in Sources */, D5A55E4914500EDE00A7571B /* CreateNewWorldViewController.mm in Sources */, @@ -5357,6 +5448,7 @@ D5F3B7D014548E7900D25470 /* IASKSettingsStoreUserDefaults.m in Sources */, D5F3B7D114548E7900D25470 /* IASKSpecifier.m in Sources */, D5F3B7D214548E7900D25470 /* IASKPSSliderSpecifierViewCell.m in Sources */, + F99D34472F736FE800DC153E /* KeyOption.cpp in Sources */, D5F3B7D314548E7900D25470 /* IASKPSTextFieldSpecifierViewCell.m in Sources */, D5F3B7D414548E7900D25470 /* IASKPSTitleValueSpecifierViewCell.m in Sources */, D5F3B7D514548E7900D25470 /* IASKPSToggleSwitchSpecifierViewCell.m in Sources */, @@ -5468,11 +5560,13 @@ D5B5112D14CFF670005F7284 /* PrimedTnt.cpp in Sources */, D5B5112F14CFF670005F7284 /* TripodCamera.cpp in Sources */, D5B5113114CFF670005F7284 /* Mob.cpp in Sources */, + F99D34442F736F9400DC153E /* Option.cpp in Sources */, D5B5113314CFF670005F7284 /* MobCategory.cpp in Sources */, D5B5113714CFF670005F7284 /* PathFinderMob.cpp in Sources */, D5B5113914CFF670005F7284 /* Inventory.cpp in Sources */, D5B5113B14CFF670005F7284 /* Player.cpp in Sources */, D5B5113D14CFF670005F7284 /* Arrow.cpp in Sources */, + F99D343F2F736C8400DC153E /* GuiElementContainer.cpp in Sources */, D5B5113F14CFF670005F7284 /* Recipes.cpp in Sources */, D5B5114114CFF670005F7284 /* ToolRecipes.cpp in Sources */, D5B5114314CFF670005F7284 /* WeaponRecipes.cpp in Sources */, @@ -5510,10 +5604,12 @@ D5B5118514CFF670005F7284 /* HitResult.cpp in Sources */, D5B5118B14D03342005F7284 /* SynchedEntityData.cpp in Sources */, D5B5118E14DEA27F005F7284 /* DeathScreen.cpp in Sources */, + F99D34242F736AD400DC153E /* TextOption.cpp in Sources */, D5B5119114DEA2B7005F7284 /* LevelData.cpp in Sources */, D5B5119414DEA2EF005F7284 /* DyePowderItem.cpp in Sources */, D584926D14FD234400741128 /* SharedConstants.cpp in Sources */, D584927314FD236700741128 /* MoveControl.cpp in Sources */, + F99D344C2F7370CF00DC153E /* Slider.cpp in Sources */, D584928614FD240D00741128 /* IConfigListener.cpp in Sources */, D584928914FD2FAF00741128 /* Path.cpp in Sources */, D5B86281153810BD00F3238A /* I18n.cpp in Sources */, @@ -5565,6 +5661,7 @@ D5251E011538192700FC82C8 /* NatTypeDetectionServer.cpp in Sources */, D5251E031538192700FC82C8 /* NetworkIDManager.cpp in Sources */, D5251E051538192700FC82C8 /* NetworkIDObject.cpp in Sources */, + F99D34372F736C1000DC153E /* JoinByIPScreen.cpp in Sources */, D5251E071538192700FC82C8 /* PacketConsoleLogger.cpp in Sources */, D5251E091538192700FC82C8 /* PacketFileLogger.cpp in Sources */, D5251E0B1538192700FC82C8 /* PacketizedTCP.cpp in Sources */, @@ -5594,11 +5691,13 @@ D5251E411538192700FC82C8 /* SendToThread.cpp in Sources */, D5251E431538192700FC82C8 /* SHA1.cpp in Sources */, D5251E451538192700FC82C8 /* SignaledEvent.cpp in Sources */, + F99D34342F736BDA00DC153E /* CreditsScreen.cpp in Sources */, D5251E471538192700FC82C8 /* SimpleMutex.cpp in Sources */, D5251E491538192700FC82C8 /* SocketLayer.cpp in Sources */, D5251E4B1538192700FC82C8 /* StringCompressor.cpp in Sources */, D5251E4D1538192700FC82C8 /* StringTable.cpp in Sources */, D5251E4F1538192700FC82C8 /* SuperFastHash.cpp in Sources */, + F99D342B2F736B6F00DC153E /* OptionsItem.cpp in Sources */, D5251E511538192700FC82C8 /* TableSerializer.cpp in Sources */, D5251E531538192700FC82C8 /* TCPInterface.cpp in Sources */, D5251E551538192700FC82C8 /* TeamBalancer.cpp in Sources */, @@ -5621,6 +5720,7 @@ D5951EDD159348C50043A12A /* ItemPane.cpp in Sources */, D5951EE3159349000043A12A /* FurnaceTile.cpp in Sources */, D5951EE8159349100043A12A /* FurnaceTileEntity.cpp in Sources */, + F99D342F2F736BAD00DC153E /* ConsoleScreen.cpp in Sources */, D5951EEA159349100043A12A /* TileEntity.cpp in Sources */, D5951EEE159349680043A12A /* FurnaceScreen.cpp in Sources */, D5951EF115934A2D0043A12A /* Feature.cpp in Sources */, @@ -5657,6 +5757,7 @@ D544941E15D13F45005FA9B0 /* PlayerRenderer.cpp in Sources */, D544942215D13F5E005FA9B0 /* RemotePlayer.cpp in Sources */, D5B17ED515E226F50056E751 /* Throwable.cpp in Sources */, + F99D341F2F736AA100DC153E /* HttpClient.cpp in Sources */, D5B17ED915E2273F0056E751 /* SurvivalMode.cpp in Sources */, D5B17EDD15E227670056E751 /* TrapDoorTile.cpp in Sources */, D5B17EE115E260910056E751 /* MoveFolder.mm in Sources */, @@ -5692,6 +5793,7 @@ 0400453A16A4125C003EB6FA /* FallingTileRenderer.cpp in Sources */, 0413970716A82E1E008A9F1A /* ArmorItem.cpp in Sources */, 0413970D16A82E6B008A9F1A /* CraftingFilters.cpp in Sources */, + F99D34272F736AFB00DC153E /* OptionsFile.cpp in Sources */, 0413970E16A82E6B008A9F1A /* StonecutterScreen.cpp in Sources */, 0413971116A82E7B008A9F1A /* ArmorScreen.cpp in Sources */, 0413971516A82EB9008A9F1A /* ArmorRecipes.cpp in Sources */, @@ -5737,7 +5839,7 @@ D50BE20815EE05B8008AA75E /* Ad-Hoc */ = { isa = XCBuildConfiguration; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; + ALWAYS_SEARCH_USER_PATHS = YES; ARCHS = "$(ARCHS_STANDARD)"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: Mojang AB"; COPY_PHASE_STRIP = YES; @@ -5750,11 +5852,7 @@ GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - "$(SRCROOT)/src/**", - "$(SRCROOT)/src/client/gui/components/**", - "$(SRCROOT)/src/client/gui/**", - ); + HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src"; IPHONEOS_DEPLOYMENT_TARGET = 14; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; @@ -5762,7 +5860,8 @@ RUN_CLANG_STATIC_ANALYZER = NO; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; - USER_HEADER_SEARCH_PATHS = "$(SRCROOT)\\src/**"; + USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src"; + USE_HEADERMAP = NO; VALIDATE_PRODUCT = YES; }; name = "Ad-Hoc"; @@ -5777,9 +5876,11 @@ GCC_VERSION = ""; GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; HEADER_SEARCH_PATHS = ( - "$(SRCROOT)/src/client/gui/components/**", - "$(SRCROOT)/src/client/gui/**", - "$(SRCROOT)/src/**", + "$(SRCROOT)/../../src", + "$(SRCROOT)/../../src/client/gui/components", + "$(SRCROOT)/../../src/world", + "$(SRCROOT)/../../src/platform/input", + "$(SRCROOT)/../../project/lib_projects/InAppSettingsKit/Views", ); INFOPLIST_FILE = "minecraftpe/minecraftpe-Info.plist"; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; @@ -5789,6 +5890,9 @@ PRODUCT_NAME = "$(TARGET_NAME)"; RUN_CLANG_STATIC_ANALYZER = NO; SDKROOT = iphoneos; + SYSTEM_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src $(SRCROOT)/../../src/client/gui/components $(SRCROOT)/../../src/world $(SRCROOT)/../../src/platform/input $(SRCROOT)/../../project/lib_projects/InAppSettingsKit/Views"; + USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src $(SRCROOT)/../lib_projects/InAppSettingsKit/Models $(SRCROOT)/../../src/client/gui/components $(SRCROOT)/../../src/world $(SRCROOT)/../../src/platform/input $(SRCROOT)/../../project/lib_projects/InAppSettingsKit/Views"; + USE_HEADERMAP = NO; WRAPPER_EXTENSION = app; }; name = "Ad-Hoc"; @@ -5861,7 +5965,7 @@ D5A20ADB146AAD9C00A52FEC /* AppStore */ = { isa = XCBuildConfiguration; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; + ALWAYS_SEARCH_USER_PATHS = YES; ARCHS = "$(ARCHS_STANDARD)"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: Mojang AB"; COPY_PHASE_STRIP = YES; @@ -5873,11 +5977,7 @@ GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - "$(SRCROOT)/src/**", - "$(SRCROOT)/src/client/gui/components/**", - "$(SRCROOT)/src/client/gui/**", - ); + HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src"; IPHONEOS_DEPLOYMENT_TARGET = 14; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; @@ -5885,7 +5985,8 @@ RUN_CLANG_STATIC_ANALYZER = NO; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; - USER_HEADER_SEARCH_PATHS = "$(SRCROOT)\\src/**"; + USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src"; + USE_HEADERMAP = NO; VALIDATE_PRODUCT = YES; }; name = AppStore; @@ -5901,9 +6002,11 @@ GCC_VERSION = ""; GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; HEADER_SEARCH_PATHS = ( - "$(SRCROOT)/src/client/gui/components/**", - "$(SRCROOT)/src/client/gui/**", - "$(SRCROOT)/src/**", + "$(SRCROOT)/../../src", + "$(SRCROOT)/../../src/client/gui/components", + "$(SRCROOT)/../../src/world", + "$(SRCROOT)/../../src/platform/input", + "$(SRCROOT)/../../project/lib_projects/InAppSettingsKit/Views", ); INFOPLIST_FILE = "minecraftpe/minecraftpe-Info.plist"; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; @@ -5917,6 +6020,9 @@ "PROVISIONING_PROFILE[sdk=iphoneos*]" = "1B194957-98CF-49B7-A0E7-76692B4B722D"; RUN_CLANG_STATIC_ANALYZER = NO; SDKROOT = iphoneos; + SYSTEM_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src $(SRCROOT)/../../src/client/gui/components $(SRCROOT)/../../src/world $(SRCROOT)/../../src/platform/input $(SRCROOT)/../../project/lib_projects/InAppSettingsKit/Views"; + USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src $(SRCROOT)/../lib_projects/InAppSettingsKit/Models $(SRCROOT)/../../src/client/gui/components $(SRCROOT)/../../src/world $(SRCROOT)/../../src/platform/input $(SRCROOT)/../../project/lib_projects/InAppSettingsKit/Views"; + USE_HEADERMAP = NO; WRAPPER_EXTENSION = app; }; name = AppStore; @@ -5949,7 +6055,7 @@ D5CF9C6C144C225000E4244F /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; + ALWAYS_SEARCH_USER_PATHS = YES; ARCHS = "$(ARCHS_STANDARD)"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; @@ -5969,17 +6075,14 @@ GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - "$(SRCROOT)/src/**", - "$(SRCROOT)/src/client/gui/components/**", - "$(SRCROOT)/src/client/gui/**", - ); + HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src"; IPHONEOS_DEPLOYMENT_TARGET = 14; ONLY_ACTIVE_ARCH = YES; RUN_CLANG_STATIC_ANALYZER = NO; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; - USER_HEADER_SEARCH_PATHS = "$(SRCROOT)\\src/**"; + USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src"; + USE_HEADERMAP = NO; VALIDATE_PRODUCT = YES; }; name = Debug; @@ -5987,7 +6090,7 @@ D5CF9C6D144C225000E4244F /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; + ALWAYS_SEARCH_USER_PATHS = YES; ARCHS = "$(ARCHS_STANDARD)"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = YES; @@ -6000,18 +6103,15 @@ GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - "$(SRCROOT)/src/**", - "$(SRCROOT)/src/client/gui/components/**", - "$(SRCROOT)/src/client/gui/**", - ); + HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src"; IPHONEOS_DEPLOYMENT_TARGET = 14; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; RUN_CLANG_STATIC_ANALYZER = NO; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; - USER_HEADER_SEARCH_PATHS = "$(SRCROOT)\\src/**"; + USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src"; + USE_HEADERMAP = NO; VALIDATE_PRODUCT = YES; }; name = Release; @@ -6029,9 +6129,11 @@ GCC_VERSION = ""; GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; HEADER_SEARCH_PATHS = ( - "$(SRCROOT)/src/client/gui/components/**", - "$(SRCROOT)/src/client/gui/**", - "$(SRCROOT)/src/**", + "$(SRCROOT)/../../src", + "$(SRCROOT)/../../src/client/gui/components", + "$(SRCROOT)/../../src/world", + "$(SRCROOT)/../../src/platform/input", + "$(SRCROOT)/../../project/lib_projects/InAppSettingsKit/Views", ); INFOPLIST_FILE = "minecraftpe/minecraftpe-Info.plist"; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; @@ -6042,6 +6144,9 @@ PROVISIONING_PROFILE_SPECIFIER = ""; RUN_CLANG_STATIC_ANALYZER = NO; SDKROOT = iphoneos; + SYSTEM_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src $(SRCROOT)/../../src/client/gui/components $(SRCROOT)/../../src/world $(SRCROOT)/../../src/platform/input $(SRCROOT)/../../project/lib_projects/InAppSettingsKit/Views"; + USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src $(SRCROOT)/../lib_projects/InAppSettingsKit/Models $(SRCROOT)/../../src/client/gui/components $(SRCROOT)/../../src/world $(SRCROOT)/../../src/platform/input $(SRCROOT)/../../project/lib_projects/InAppSettingsKit/Views"; + USE_HEADERMAP = NO; WRAPPER_EXTENSION = app; }; name = Debug; @@ -6059,9 +6164,11 @@ GCC_VERSION = ""; GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; HEADER_SEARCH_PATHS = ( - "$(SRCROOT)/src/client/gui/components/**", - "$(SRCROOT)/src/client/gui/**", - "$(SRCROOT)/src/**", + "$(SRCROOT)/../../src", + "$(SRCROOT)/../../src/client/gui/components", + "$(SRCROOT)/../../src/world", + "$(SRCROOT)/../../src/platform/input", + "$(SRCROOT)/../../project/lib_projects/InAppSettingsKit/Views", ); INFOPLIST_FILE = "minecraftpe/minecraftpe-Info.plist"; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; @@ -6072,6 +6179,9 @@ PROVISIONING_PROFILE_SPECIFIER = ""; RUN_CLANG_STATIC_ANALYZER = NO; SDKROOT = iphoneos; + SYSTEM_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src $(SRCROOT)/../../src/client/gui/components $(SRCROOT)/../../src/world $(SRCROOT)/../../src/platform/input $(SRCROOT)/../../project/lib_projects/InAppSettingsKit/Views"; + USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src $(SRCROOT)/../lib_projects/InAppSettingsKit/Models $(SRCROOT)/../../src/client/gui/components $(SRCROOT)/../../src/world $(SRCROOT)/../../src/platform/input $(SRCROOT)/../../project/lib_projects/InAppSettingsKit/Views"; + USE_HEADERMAP = NO; WRAPPER_EXTENSION = app; }; name = Release; diff --git a/project/iosproj/minecraftpe/minecraftpe-Info.plist b/project/iosproj/minecraftpe/minecraftpe-Info.plist index 3f1a8032..b0ae914a 100755 --- a/project/iosproj/minecraftpe/minecraftpe-Info.plist +++ b/project/iosproj/minecraftpe/minecraftpe-Info.plist @@ -58,6 +58,8 @@ minecraft.ttf + UILaunchStoryboardName + Launch Screen UIPrerenderedIcon UIRequiresPersistentWiFi diff --git a/src/AppPlatform_iOS.mm b/src/AppPlatform_iOS.mm index 68f0d12e..a98fc76f 100755 --- a/src/AppPlatform_iOS.mm +++ b/src/AppPlatform_iOS.mm @@ -275,8 +275,10 @@ void AppPlatform_iOS::hideKeyboard() { [_viewController hideKeyboard]; super::hideKeyboard(); } -void AppPlatform_iOS::isPowerVR() { + +// this was originally void but i changed it to bool because void cant return values +bool AppPlatform_iOS::isPowerVR() { const char* s = (const char*)glGetString(GL_RENDERER); if (!s) return false; return strstr(s, "SGX") != NULL; -} \ No newline at end of file +} diff --git a/src/client/Option.h b/src/client/Option.h index 0b9aed11..7c813c1b 100644 --- a/src/client/Option.h +++ b/src/client/Option.h @@ -1,7 +1,7 @@ #pragma once #include #include -#include "Mth.h" +#include /* template struct is_option_type : std::false_type {}; From aeb8e45879ea3c09cf8598742c8b80bafdf12c8b Mon Sep 17 00:00:00 2001 From: deepfriedwaffles Date: Tue, 24 Mar 2026 23:53:26 -0400 Subject: [PATCH 11/21] fixed button not pressable on ios --- src/client/gui/screens/UsernameScreen.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/client/gui/screens/UsernameScreen.cpp b/src/client/gui/screens/UsernameScreen.cpp index 82f4bca8..cb05cf6d 100644 --- a/src/client/gui/screens/UsernameScreen.cpp +++ b/src/client/gui/screens/UsernameScreen.cpp @@ -35,8 +35,8 @@ void UsernameScreen::setupPositions() // Make the done button match the touch-style option tabs _btnDone.width = 66; _btnDone.height = 26; - _btnDone.x = (width - _btnDone.width) / 2; - _btnDone.y = height / 2 + 52; + _btnDone.x = cx - (_btnDone.width / 2); + _btnDone.y = cy + 52; tUsername.width = 120; tUsername.height = 20; From 7cc33b011d19b44bca6df37cd3ecbefc59721c4f Mon Sep 17 00:00:00 2001 From: deepfriedwaffles Date: Wed, 25 Mar 2026 17:54:01 -0400 Subject: [PATCH 12/21] Fixed bugs in starting the game. ALso added build job for iOS ipa unsigned --- .github/workflows/build.yml | 28 ++++++++++- .../minecraftpe.xcodeproj/project.pbxproj | 48 +++++++++---------- src/client/Minecraft.cpp | 4 +- 3 files changed, 53 insertions(+), 27 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index eba5db7a..419cca1e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -72,6 +72,30 @@ jobs: ${{github.workspace}}/build/OpenAL32.dll ${{github.workspace}}/build/libz.dll + build-ios: + # credit to pengubow from deepfriedwaffles repo + name: Build iOS + runs-on: macos-latest + + steps: + - name: Checkout + uses: actions/checkout@main + + - name: Build + run: | + cd project/iosproj + xcodebuild -scheme minecraftpe -derivedDataPath build -destination 'generic/platform=iOS' CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO + mkdir -p Payload + cp -R build/Build/Products/Debug-iphoneos/minecraftpe.app Payload/ + zip -r minecraftpe.ipa Payload + rm -rf Payload + + - name: Upload artifact + uses: actions/upload-artifact@main + with: + name: minecraftpe-ios + path: project/iosproj/minecraftpe.ipa + build-linux: name: Build Linux runs-on: ubuntu-latest @@ -266,7 +290,7 @@ jobs: publish: name: Publish runs-on: ubuntu-latest - needs: [ build-windows, build-linux, build-android, build-web ] + needs: [ build-windows, build-linux, build-android, build-web, build-ios ] if: github.ref == 'refs/heads/main' steps: - name: Checkout @@ -340,4 +364,4 @@ jobs: ./minecraftpe-server-${{ steps.ref.outputs.hash }}.zip ./minecraftpe-${{ steps.ref.outputs.hash }}-android-arm64-v8a.zip ./minecraftpe-${{ steps.ref.outputs.hash }}-android-armeabi-v7a.zip - ./minecraftpe-${{ steps.ref.outputs.hash }}-web.zip \ No newline at end of file + ./minecraftpe-${{ steps.ref.outputs.hash }}-web.zip diff --git a/project/iosproj/minecraftpe.xcodeproj/project.pbxproj b/project/iosproj/minecraftpe.xcodeproj/project.pbxproj index 6fcf3826..795e57fe 100755 --- a/project/iosproj/minecraftpe.xcodeproj/project.pbxproj +++ b/project/iosproj/minecraftpe.xcodeproj/project.pbxproj @@ -2432,30 +2432,30 @@ D5F3B7C814548E7900D25470 /* IASKPSToggleSwitchSpecifierViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IASKPSToggleSwitchSpecifierViewCell.xib; sourceTree = ""; }; D5F3B7C914548E7900D25470 /* IASKSpecifierValuesView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IASKSpecifierValuesView.xib; sourceTree = ""; }; D5F3B7E41454930400D25470 /* InAppSettings.bundle */ = {isa = PBXFileReference; explicitFileType = "wrapper.installer-pkg"; path = InAppSettings.bundle; sourceTree = ""; }; - F99D341D2F736AA100DC153E /* HttpClient.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HttpClient.h; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/platform/HttpClient.h"; sourceTree = ""; }; - F99D341E2F736AA100DC153E /* HttpClient.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = HttpClient.cpp; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/platform/HttpClient.cpp"; sourceTree = ""; }; - F99D34212F736AD400DC153E /* TextOption.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TextOption.h; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/components/TextOption.h"; sourceTree = ""; }; - F99D34222F736AD400DC153E /* TextOption.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = TextOption.cpp; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/components/TextOption.cpp"; sourceTree = ""; }; - F99D34252F736AFB00DC153E /* OptionsFile.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OptionsFile.h; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/OptionsFile.h"; sourceTree = ""; }; - F99D34262F736AFB00DC153E /* OptionsFile.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = OptionsFile.cpp; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/OptionsFile.cpp"; sourceTree = ""; }; - F99D34292F736B6F00DC153E /* OptionsItem.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OptionsItem.h; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/components/OptionsItem.h"; sourceTree = ""; }; - F99D342A2F736B6F00DC153E /* OptionsItem.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = OptionsItem.cpp; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/components/OptionsItem.cpp"; sourceTree = ""; }; - F99D342D2F736BAD00DC153E /* ConsoleScreen.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ConsoleScreen.h; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/screens/ConsoleScreen.h"; sourceTree = ""; }; - F99D342E2F736BAD00DC153E /* ConsoleScreen.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ConsoleScreen.cpp; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/screens/ConsoleScreen.cpp"; sourceTree = ""; }; - F99D34312F736BDA00DC153E /* CreditsScreen.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CreditsScreen.h; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/screens/CreditsScreen.h"; sourceTree = ""; }; - F99D34322F736BDA00DC153E /* CreditsScreen.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CreditsScreen.cpp; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/screens/CreditsScreen.cpp"; sourceTree = ""; }; - F99D34352F736C1000DC153E /* JoinByIPScreen.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JoinByIPScreen.h; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/screens/JoinByIPScreen.h"; sourceTree = ""; }; - F99D34362F736C1000DC153E /* JoinByIPScreen.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = JoinByIPScreen.cpp; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/screens/JoinByIPScreen.cpp"; sourceTree = ""; }; - F99D34392F736C3B00DC153E /* UsernameScreen.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = UsernameScreen.h; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/screens/UsernameScreen.h"; sourceTree = ""; }; - F99D343A2F736C3B00DC153E /* UsernameScreen.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = UsernameScreen.cpp; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/screens/UsernameScreen.cpp"; sourceTree = ""; }; - F99D343D2F736C8400DC153E /* GuiElementContainer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GuiElementContainer.h; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/components/GuiElementContainer.h"; sourceTree = ""; }; - F99D343E2F736C8400DC153E /* GuiElementContainer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = GuiElementContainer.cpp; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/components/GuiElementContainer.cpp"; sourceTree = ""; }; - F99D34412F736F9400DC153E /* Option.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Option.h; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/Option.h"; sourceTree = ""; }; - F99D34422F736F9400DC153E /* Option.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Option.cpp; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/Option.cpp"; sourceTree = ""; }; - F99D34452F736FE800DC153E /* KeyOption.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = KeyOption.h; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/components/KeyOption.h"; sourceTree = ""; }; - F99D34462F736FE800DC153E /* KeyOption.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = KeyOption.cpp; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/components/KeyOption.cpp"; sourceTree = ""; }; - F99D34492F7370CF00DC153E /* Slider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Slider.h; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/components/Slider.h"; sourceTree = ""; }; - F99D344A2F7370CF00DC153E /* Slider.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Slider.cpp; path = "/Users/vasili/Documents/Repositories/minecraft-pe-0.6.1/src/client/gui/components/Slider.cpp"; sourceTree = ""; }; + F99D341D2F736AA100DC153E /* HttpClient.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HttpClient.h; path = ../../src/platform/HttpClient.h; sourceTree = ""; }; + F99D341E2F736AA100DC153E /* HttpClient.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = HttpClient.cpp; path = ../../src/platform/HttpClient.cpp; sourceTree = ""; }; + F99D34212F736AD400DC153E /* TextOption.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TextOption.h; path = ../../src/client/gui/components/TextOption.h; sourceTree = ""; }; + F99D34222F736AD400DC153E /* TextOption.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = TextOption.cpp; path = ../../src/client/gui/components/TextOption.cpp; }; + F99D34252F736AFB00DC153E /* OptionsFile.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OptionsFile.h; path = ../../src/client/OptionsFile.h; sourceTree = ""; sourceTree = ""; }; + F99D34262F736AFB00DC153E /* OptionsFile.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = OptionsFile.cpp; path = ../../src/client/OptionsFile.cpp; sourceTree = ""; }; + F99D34292F736B6F00DC153E /* OptionsItem.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OptionsItem.h; path = ../../src/client/gui/components/OptionsItem.h; sourceTree = ""; }; + F99D342A2F736B6F00DC153E /* OptionsItem.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = OptionsItem.cpp; path = ../../src/client/gui/components/OptionsItem.cpp; sourceTree = ""; }; + F99D342D2F736BAD00DC153E /* ConsoleScreen.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ConsoleScreen.h; path = ../../src/client/gui/screens/ConsoleScreen.h; sourceTree = ""; }; + F99D342E2F736BAD00DC153E /* ConsoleScreen.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ConsoleScreen.cpp; path = ../../src/client/gui/screens/ConsoleScreen.cpp; sourceTree = ""; }; + F99D34312F736BDA00DC153E /* CreditsScreen.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CreditsScreen.h; path = ../../src/client/gui/screens/CreditsScreen.h; sourceTree = ""; }; + F99D34322F736BDA00DC153E /* CreditsScreen.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CreditsScreen.cpp; path = ../../src/client/gui/screens/CreditsScreen.cpp; sourceTree = ""; }; + F99D34352F736C1000DC153E /* JoinByIPScreen.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JoinByIPScreen.h; path = ../../src/client/gui/screens/JoinByIPScreen.h; sourceTree = ""; }; + F99D34362F736C1000DC153E /* JoinByIPScreen.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = JoinByIPScreen.cpp; path = ../../src/client/gui/screens/JoinByIPScreen.cpp; sourceTree = ""; }; + F99D34392F736C3B00DC153E /* UsernameScreen.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = UsernameScreen.h; path = ../../src/client/gui/screens/UsernameScreen.h; sourceTree = ""; }; + F99D343A2F736C3B00DC153E /* UsernameScreen.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = UsernameScreen.cpp; path = ../../src/client/gui/screens/UsernameScreen.cpp; sourceTree = ""; }; + F99D343D2F736C8400DC153E /* GuiElementContainer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GuiElementContainer.h; path = ../../src/client/gui/components/GuiElementContainer.h; sourceTree = ""; }; + F99D343E2F736C8400DC153E /* GuiElementContainer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = GuiElementContainer.cpp; path = ../../src/client/gui/components/GuiElementContainer.cpp; sourceTree = ""; }; + F99D34412F736F9400DC153E /* Option.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Option.h; path = ../../src/client/Option.h; sourceTree = ""; }; + F99D34422F736F9400DC153E /* Option.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Option.cpp; path = ../../src/client/Option.cpp; sourceTree = ""; }; + F99D34452F736FE800DC153E /* KeyOption.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = KeyOption.h; path = ../../src/client/gui/components/KeyOption.h; sourceTree = ""; }; + F99D34462F736FE800DC153E /* KeyOption.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = KeyOption.cpp; path = ../../src/client/gui/components/KeyOption.cpp; sourceTree = ""; }; + F99D34492F7370CF00DC153E /* Slider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Slider.h; path = ../../src/client/gui/components/Slider.h; sourceTree = ""; }; + F99D344A2F7370CF00DC153E /* Slider.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Slider.cpp; path = ../../src/client/gui/components/Slider.cpp; sourceTree = ""; }; F99D344D2F7372A100DC153E /* Launch Screen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = "Launch Screen.storyboard"; sourceTree = ""; }; /* End PBXFileReference section */ diff --git a/src/client/Minecraft.cpp b/src/client/Minecraft.cpp index 97f1bc88..ae8ba6b0 100755 --- a/src/client/Minecraft.cpp +++ b/src/client/Minecraft.cpp @@ -1106,7 +1106,9 @@ void Minecraft::releaseMouse() } bool Minecraft::useTouchscreen() { -#ifdef RPI +#if TARGET_OS_IPHONE + return true; +#elif RPI return false; #endif return options.getBooleanValue(OPTIONS_USE_TOUCHSCREEN) && !_supportsNonTouchscreen; From 6f0c485a9f0fb22ca70268d4704db1e84d5fb82d Mon Sep 17 00:00:00 2001 From: deepfriedwaffles Date: Wed, 25 Mar 2026 19:39:24 -0400 Subject: [PATCH 13/21] removed if line from publish to always run it. can we not skip publish thanks --- .github/workflows/build.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 419cca1e..43827e31 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -291,7 +291,6 @@ jobs: name: Publish runs-on: ubuntu-latest needs: [ build-windows, build-linux, build-android, build-web, build-ios ] - if: github.ref == 'refs/heads/main' steps: - name: Checkout uses: actions/checkout@v4 From 98dd53e2f5c75f2140dad3cdac9cbb99eb4a5457 Mon Sep 17 00:00:00 2001 From: deepfriedwaffles Date: Thu, 26 Mar 2026 01:59:43 +0200 Subject: [PATCH 14/21] Update .github/workflows/build.yml I keep messing this up. For now I am removing all the needs for publish except iOS --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 43827e31..901b0a34 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -290,7 +290,7 @@ jobs: publish: name: Publish runs-on: ubuntu-latest - needs: [ build-windows, build-linux, build-android, build-web, build-ios ] + needs: [ build-ios ] steps: - name: Checkout uses: actions/checkout@v4 From 412a34562fa03fc241a98beb15477ea6ae23c3aa Mon Sep 17 00:00:00 2001 From: deepfriedwaffles Date: Mon, 30 Mar 2026 10:54:25 -0400 Subject: [PATCH 15/21] Lowered minimum deployment to iOS 12, rather than iOS 14 --- .../minecraftpe.xcodeproj/project.pbxproj | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/project/iosproj/minecraftpe.xcodeproj/project.pbxproj b/project/iosproj/minecraftpe.xcodeproj/project.pbxproj index 795e57fe..ea9ef741 100755 --- a/project/iosproj/minecraftpe.xcodeproj/project.pbxproj +++ b/project/iosproj/minecraftpe.xcodeproj/project.pbxproj @@ -2435,8 +2435,8 @@ F99D341D2F736AA100DC153E /* HttpClient.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HttpClient.h; path = ../../src/platform/HttpClient.h; sourceTree = ""; }; F99D341E2F736AA100DC153E /* HttpClient.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = HttpClient.cpp; path = ../../src/platform/HttpClient.cpp; sourceTree = ""; }; F99D34212F736AD400DC153E /* TextOption.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TextOption.h; path = ../../src/client/gui/components/TextOption.h; sourceTree = ""; }; - F99D34222F736AD400DC153E /* TextOption.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = TextOption.cpp; path = ../../src/client/gui/components/TextOption.cpp; }; - F99D34252F736AFB00DC153E /* OptionsFile.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OptionsFile.h; path = ../../src/client/OptionsFile.h; sourceTree = ""; sourceTree = ""; }; + F99D34222F736AD400DC153E /* TextOption.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = TextOption.cpp; path = ../../src/client/gui/components/TextOption.cpp; sourceTree = ""; }; + F99D34252F736AFB00DC153E /* OptionsFile.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OptionsFile.h; path = ../../src/client/OptionsFile.h; sourceTree = ""; }; F99D34262F736AFB00DC153E /* OptionsFile.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = OptionsFile.cpp; path = ../../src/client/OptionsFile.cpp; sourceTree = ""; }; F99D34292F736B6F00DC153E /* OptionsItem.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OptionsItem.h; path = ../../src/client/gui/components/OptionsItem.h; sourceTree = ""; }; F99D342A2F736B6F00DC153E /* OptionsItem.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = OptionsItem.cpp; path = ../../src/client/gui/components/OptionsItem.cpp; sourceTree = ""; }; @@ -5853,7 +5853,7 @@ GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src"; - IPHONEOS_DEPLOYMENT_TARGET = 14; + IPHONEOS_DEPLOYMENT_TARGET = 12; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; "PROVISIONING_PROFILE[sdk=iphoneos*]" = "C93D3524-5C6F-466E-B12B-833663B7EAE0"; @@ -5884,7 +5884,7 @@ ); INFOPLIST_FILE = "minecraftpe/minecraftpe-Info.plist"; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; - IPHONEOS_DEPLOYMENT_TARGET = 14; + IPHONEOS_DEPLOYMENT_TARGET = 12; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = "com.mojang.mcpe-arm64"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -5978,7 +5978,7 @@ GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src"; - IPHONEOS_DEPLOYMENT_TARGET = 14; + IPHONEOS_DEPLOYMENT_TARGET = 12; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; "PROVISIONING_PROFILE[sdk=iphoneos*]" = "64BA8967-1A9A-4980-972C-42E75AD5E023"; @@ -6010,7 +6010,7 @@ ); INFOPLIST_FILE = "minecraftpe/minecraftpe-Info.plist"; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; - IPHONEOS_DEPLOYMENT_TARGET = 14; + IPHONEOS_DEPLOYMENT_TARGET = 12; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = ( "-DNS_BLOCK_ASSERTIONS=1", @@ -6076,7 +6076,7 @@ GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src"; - IPHONEOS_DEPLOYMENT_TARGET = 14; + IPHONEOS_DEPLOYMENT_TARGET = 12; ONLY_ACTIVE_ARCH = YES; RUN_CLANG_STATIC_ANALYZER = NO; SDKROOT = iphoneos; @@ -6104,7 +6104,7 @@ GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src"; - IPHONEOS_DEPLOYMENT_TARGET = 14; + IPHONEOS_DEPLOYMENT_TARGET = 12; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; RUN_CLANG_STATIC_ANALYZER = NO; @@ -6137,7 +6137,7 @@ ); INFOPLIST_FILE = "minecraftpe/minecraftpe-Info.plist"; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; - IPHONEOS_DEPLOYMENT_TARGET = 14; + IPHONEOS_DEPLOYMENT_TARGET = 12; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = "com.mojang.mcpe-arm64"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -6172,7 +6172,7 @@ ); INFOPLIST_FILE = "minecraftpe/minecraftpe-Info.plist"; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; - IPHONEOS_DEPLOYMENT_TARGET = 14; + IPHONEOS_DEPLOYMENT_TARGET = 12; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = "com.mojang.mcpe-arm64"; PRODUCT_NAME = "$(TARGET_NAME)"; From c476153231f31134c29256a44d0a0260cd910367 Mon Sep 17 00:00:00 2001 From: Kolyah35 Date: Sat, 4 Apr 2026 12:11:33 +0300 Subject: [PATCH 16/21] FIX: other platforms compilation --- src/client/gui/components/OptionsPane.cpp | 17 +++++++++-------- src/client/gui/components/OptionsPane.h | 6 +++--- src/client/gui/screens/JoinByIPScreen.h | 4 ++-- .../gui/screens/crafting/PaneCraftingScreen.cpp | 2 +- 4 files changed, 15 insertions(+), 14 deletions(-) diff --git a/src/client/gui/components/OptionsPane.cpp b/src/client/gui/components/OptionsPane.cpp index e7e6aa25..217a8b29 100644 --- a/src/client/gui/components/OptionsPane.cpp +++ b/src/client/gui/components/OptionsPane.cpp @@ -4,6 +4,7 @@ #include "ImageButton.h" #include "Slider.h" #include "../../Minecraft.h" +#include "client/Options.h" OptionsPane::OptionsPane() { @@ -28,7 +29,7 @@ OptionsGroup& OptionsPane::createOptionsGroup( std::string label ) { return *newGroup; } -void OptionsPane::createToggle( unsigned int group, std::string label, const Option* option ) { +void OptionsPane::createToggle( unsigned int group, std::string label, OptionId option ) { if(group > children.size()) return; ImageDef def; def.setSrc(IntRectangle(160, 206, 39, 20)); @@ -37,27 +38,27 @@ void OptionsPane::createToggle( unsigned int group, std::string label, const Opt def.height = 20 * 0.7f; OptionButton* element = new OptionButton(option); element->setImageDef(def, true); - OptionsItem* item = new OptionsItem(label, element); + OptionsItem* item = new OptionsItem(option, label, element); ((OptionsGroup*)children[group])->addChild(item); setupPositions(); } -void OptionsPane::createProgressSlider( Minecraft* minecraft, unsigned int group, std::string label, const Option* option, float progressMin/*=1.0f*/, float progressMax/*=1.0f */ ) { +void OptionsPane::createProgressSlider( Minecraft* minecraft, unsigned int group, std::string label, OptionId option, float progressMin/*=1.0f*/, float progressMax/*=1.0f */ ) { if(group > children.size()) return; - Slider* element = new Slider(minecraft, option, progressMin, progressMax); + Slider* element = new SliderFloat(minecraft, option); element->width = 100; element->height = 20; - OptionsItem* item = new OptionsItem(label, element); + OptionsItem* item = new OptionsItem(option, label, element); ((OptionsGroup*)children[group])->addChild(item); setupPositions(); } -void OptionsPane::createStepSlider( Minecraft* minecraft, unsigned int group, std::string label, const Option* option, const std::vector& stepVec ) { +void OptionsPane::createStepSlider( Minecraft* minecraft, unsigned int group, std::string label, OptionId option, const std::vector& stepVec ) { if(group > children.size()) return; - Slider* element = new Slider(minecraft, option, stepVec); + Slider* element = new SliderInt(minecraft, option); element->width = 100; element->height = 20; - OptionsItem* item = new OptionsItem(label, element); + OptionsItem* item = new OptionsItem(option, label, element); ((OptionsGroup*)children[group])->addChild(item); setupPositions(); } diff --git a/src/client/gui/components/OptionsPane.h b/src/client/gui/components/OptionsPane.h index cf16b26b..e6f7607a 100644 --- a/src/client/gui/components/OptionsPane.h +++ b/src/client/gui/components/OptionsPane.h @@ -21,9 +21,9 @@ class OptionsPane: public GuiElementContainer public: OptionsPane(); OptionsGroup& createOptionsGroup( std::string label ); - void createToggle( unsigned int group, std::string label, const Option* option ); - void createProgressSlider(Minecraft* minecraft, unsigned int group, std::string label, const Option* option, float progressMin=1.0f, float progressMax=1.0f ); - void createStepSlider(Minecraft* minecraft, unsigned int group, std::string label, const Option* option, const std::vector& stepVec ); + void createToggle( unsigned int group, std::string label, OptionId option ); + void createProgressSlider(Minecraft* minecraft, unsigned int group, std::string label, OptionId option, float progressMin=1.0f, float progressMax=1.0f ); + void createStepSlider(Minecraft* minecraft, unsigned int group, std::string label, OptionId option, const std::vector& stepVec ); void setupPositions(); }; diff --git a/src/client/gui/screens/JoinByIPScreen.h b/src/client/gui/screens/JoinByIPScreen.h index 4b175434..7333b39a 100644 --- a/src/client/gui/screens/JoinByIPScreen.h +++ b/src/client/gui/screens/JoinByIPScreen.h @@ -2,8 +2,8 @@ #include "../Screen.h" #include "../components/Button.h" #include "../../Minecraft.h" -#include "ImageButton.h" -#include "TextBox.h" +#include "../components/ImageButton.h" +#include "../components/TextBox.h" class JoinByIPScreen: public Screen { diff --git a/src/client/gui/screens/crafting/PaneCraftingScreen.cpp b/src/client/gui/screens/crafting/PaneCraftingScreen.cpp index c0ec6a95..4e3d0253 100755 --- a/src/client/gui/screens/crafting/PaneCraftingScreen.cpp +++ b/src/client/gui/screens/crafting/PaneCraftingScreen.cpp @@ -16,7 +16,7 @@ #include "../../../../world/level/Level.h" #include "../../../../world/item/DyePowderItem.h" #include "../../../../world/item/crafting/Recipe.h" -#include "Keyboard.h" +#include "platform/input/Keyboard.h" static NinePatchLayer* guiPaneFrame = NULL; From a96b942c17098047391416e8f36bf9ea0273c834 Mon Sep 17 00:00:00 2001 From: Kolyah35 Date: Sat, 4 Apr 2026 14:26:57 +0300 Subject: [PATCH 17/21] FIX: web and android compilation --- src/client/renderer/gles.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/client/renderer/gles.h b/src/client/renderer/gles.h index 9a74c075..c6d4bec3 100755 --- a/src/client/renderer/gles.h +++ b/src/client/renderer/gles.h @@ -17,8 +17,8 @@ #import #import #elif defined(ANDROID) || defined(__EMSCRIPTEN__) - #import - #import + #import + #import #else #include From 13fd8303615a6314a9e96ce60697d01707a94a27 Mon Sep 17 00:00:00 2001 From: deepfriedwaffles Date: Sat, 4 Apr 2026 20:44:22 -0400 Subject: [PATCH 18/21] fixed the possible broken header search and added all jobs including ios to publish --- .github/workflows/build.yml | 2 +- .../minecraftpe.xcodeproj/project.pbxproj | 20 +++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 901b0a34..7506661b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -290,7 +290,7 @@ jobs: publish: name: Publish runs-on: ubuntu-latest - needs: [ build-ios ] + needs: [ build-windows, build-ios, build-linux, build-android, build-web ] steps: - name: Checkout uses: actions/checkout@v4 diff --git a/project/iosproj/minecraftpe.xcodeproj/project.pbxproj b/project/iosproj/minecraftpe.xcodeproj/project.pbxproj index ea9ef741..795e57fe 100755 --- a/project/iosproj/minecraftpe.xcodeproj/project.pbxproj +++ b/project/iosproj/minecraftpe.xcodeproj/project.pbxproj @@ -2435,8 +2435,8 @@ F99D341D2F736AA100DC153E /* HttpClient.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HttpClient.h; path = ../../src/platform/HttpClient.h; sourceTree = ""; }; F99D341E2F736AA100DC153E /* HttpClient.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = HttpClient.cpp; path = ../../src/platform/HttpClient.cpp; sourceTree = ""; }; F99D34212F736AD400DC153E /* TextOption.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TextOption.h; path = ../../src/client/gui/components/TextOption.h; sourceTree = ""; }; - F99D34222F736AD400DC153E /* TextOption.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = TextOption.cpp; path = ../../src/client/gui/components/TextOption.cpp; sourceTree = ""; }; - F99D34252F736AFB00DC153E /* OptionsFile.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OptionsFile.h; path = ../../src/client/OptionsFile.h; sourceTree = ""; }; + F99D34222F736AD400DC153E /* TextOption.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = TextOption.cpp; path = ../../src/client/gui/components/TextOption.cpp; }; + F99D34252F736AFB00DC153E /* OptionsFile.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OptionsFile.h; path = ../../src/client/OptionsFile.h; sourceTree = ""; sourceTree = ""; }; F99D34262F736AFB00DC153E /* OptionsFile.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = OptionsFile.cpp; path = ../../src/client/OptionsFile.cpp; sourceTree = ""; }; F99D34292F736B6F00DC153E /* OptionsItem.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OptionsItem.h; path = ../../src/client/gui/components/OptionsItem.h; sourceTree = ""; }; F99D342A2F736B6F00DC153E /* OptionsItem.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = OptionsItem.cpp; path = ../../src/client/gui/components/OptionsItem.cpp; sourceTree = ""; }; @@ -5853,7 +5853,7 @@ GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src"; - IPHONEOS_DEPLOYMENT_TARGET = 12; + IPHONEOS_DEPLOYMENT_TARGET = 14; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; "PROVISIONING_PROFILE[sdk=iphoneos*]" = "C93D3524-5C6F-466E-B12B-833663B7EAE0"; @@ -5884,7 +5884,7 @@ ); INFOPLIST_FILE = "minecraftpe/minecraftpe-Info.plist"; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; - IPHONEOS_DEPLOYMENT_TARGET = 12; + IPHONEOS_DEPLOYMENT_TARGET = 14; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = "com.mojang.mcpe-arm64"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -5978,7 +5978,7 @@ GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src"; - IPHONEOS_DEPLOYMENT_TARGET = 12; + IPHONEOS_DEPLOYMENT_TARGET = 14; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; "PROVISIONING_PROFILE[sdk=iphoneos*]" = "64BA8967-1A9A-4980-972C-42E75AD5E023"; @@ -6010,7 +6010,7 @@ ); INFOPLIST_FILE = "minecraftpe/minecraftpe-Info.plist"; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; - IPHONEOS_DEPLOYMENT_TARGET = 12; + IPHONEOS_DEPLOYMENT_TARGET = 14; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = ( "-DNS_BLOCK_ASSERTIONS=1", @@ -6076,7 +6076,7 @@ GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src"; - IPHONEOS_DEPLOYMENT_TARGET = 12; + IPHONEOS_DEPLOYMENT_TARGET = 14; ONLY_ACTIVE_ARCH = YES; RUN_CLANG_STATIC_ANALYZER = NO; SDKROOT = iphoneos; @@ -6104,7 +6104,7 @@ GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src"; - IPHONEOS_DEPLOYMENT_TARGET = 12; + IPHONEOS_DEPLOYMENT_TARGET = 14; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; RUN_CLANG_STATIC_ANALYZER = NO; @@ -6137,7 +6137,7 @@ ); INFOPLIST_FILE = "minecraftpe/minecraftpe-Info.plist"; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; - IPHONEOS_DEPLOYMENT_TARGET = 12; + IPHONEOS_DEPLOYMENT_TARGET = 14; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = "com.mojang.mcpe-arm64"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -6172,7 +6172,7 @@ ); INFOPLIST_FILE = "minecraftpe/minecraftpe-Info.plist"; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; - IPHONEOS_DEPLOYMENT_TARGET = 12; + IPHONEOS_DEPLOYMENT_TARGET = 14; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = "com.mojang.mcpe-arm64"; PRODUCT_NAME = "$(TARGET_NAME)"; From d7a02bfc9060509dd67c3b4ac8379fae87b14539 Mon Sep 17 00:00:00 2001 From: deepfriedwaffles Date: Sun, 5 Apr 2026 14:22:14 -0400 Subject: [PATCH 19/21] Added iOS comppiling instructions to README --- README.md | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ec0b8707..ebdc8cb8 100644 --- a/README.md +++ b/README.md @@ -197,4 +197,39 @@ cmake --build . 3. Run game: ``` emrun --port 8080 . - ``` \ No newline at end of file + ``` +## iOS +### Xcode +> [Note!] +> There's a precompiled IPA artifact in the GitHub mirror under Actions for those who either don't have Macs or don't want to build themself. But if you want to build youself, you'll need a Mac with Xcode. Download Xcode from the Mac App Store. + +### 1. Clone +Open your terminal and clone the repository +```bash +git clone https://gitea.sffempire.ru/Kolyah35/minecraft-pe-0.6.1.git +cd minecraft-pe-0.6.1 +``` +You can also build from the ios-support branch by checking out to it +``` +git checkout ios-support +``` + +### 2. Open in Xcode + +The project file is in `minecraft-pe-0.6.1/project/iosproj/minecraftpe.xcodeproj`. Open it. + +### 3. Configure Code Signing + +Before you can deploy to an iPhone, you must sign the app with your own Apple Developer account: + +1. Select the **minecraftpe** project in the left sidebar. +2. Go to **Signing & Capabilities**. +3. Change the **Bundle Identifier** to something unique (e.g., `com.yourname.mcpe`). +4. Select your **Team** from the dropdown menu. + +### 4. Build and Run + +1. Connect your iPhone via USB or LAN. +2. Select your device from the run destination menu at the top of Xcode. +3. Press **Cmd + R** (or the Play button). +4. **Note:** If you encounter a "Developer Mode" or "Untrusted Developer" error on your phone, go to **Settings > General > VPN & Device Management** to trust your certificate. From 845d721b1eac6007a05e9e6f79e5fe4cfa854bbd Mon Sep 17 00:00:00 2001 From: deepfriedwaffles Date: Mon, 6 Apr 2026 14:48:46 -0400 Subject: [PATCH 20/21] fixed compile issues from main rebase and lowered ios minimum deployment back to 12 --- .../minecraftpe.xcodeproj/project.pbxproj | 38 ++++++++++++++----- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/project/iosproj/minecraftpe.xcodeproj/project.pbxproj b/project/iosproj/minecraftpe.xcodeproj/project.pbxproj index 795e57fe..aa8a96c7 100755 --- a/project/iosproj/minecraftpe.xcodeproj/project.pbxproj +++ b/project/iosproj/minecraftpe.xcodeproj/project.pbxproj @@ -1173,6 +1173,12 @@ F99D344C2F7370CF00DC153E /* Slider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F99D344A2F7370CF00DC153E /* Slider.cpp */; }; F99D344E2F7372A100DC153E /* Launch Screen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F99D344D2F7372A100DC153E /* Launch Screen.storyboard */; }; F99D344F2F7372A100DC153E /* Launch Screen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F99D344D2F7372A100DC153E /* Launch Screen.storyboard */; }; + F99F0FA92F84369F00F2B29A /* GrassColor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F99F0FA82F84369F00F2B29A /* GrassColor.cpp */; }; + F99F0FAA2F84369F00F2B29A /* GrassColor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F99F0FA82F84369F00F2B29A /* GrassColor.cpp */; }; + F99F0FAC2F8436CE00F2B29A /* FoliageColor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F99F0FAB2F8436CE00F2B29A /* FoliageColor.cpp */; }; + F99F0FAD2F8436CE00F2B29A /* FoliageColor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F99F0FAB2F8436CE00F2B29A /* FoliageColor.cpp */; }; + F99F0FAF2F8436EB00F2B29A /* Color.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F99F0FAE2F8436EB00F2B29A /* Color.cpp */; }; + F99F0FB02F8436EB00F2B29A /* Color.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F99F0FAE2F8436EB00F2B29A /* Color.cpp */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -2435,8 +2441,8 @@ F99D341D2F736AA100DC153E /* HttpClient.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HttpClient.h; path = ../../src/platform/HttpClient.h; sourceTree = ""; }; F99D341E2F736AA100DC153E /* HttpClient.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = HttpClient.cpp; path = ../../src/platform/HttpClient.cpp; sourceTree = ""; }; F99D34212F736AD400DC153E /* TextOption.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TextOption.h; path = ../../src/client/gui/components/TextOption.h; sourceTree = ""; }; - F99D34222F736AD400DC153E /* TextOption.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = TextOption.cpp; path = ../../src/client/gui/components/TextOption.cpp; }; - F99D34252F736AFB00DC153E /* OptionsFile.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OptionsFile.h; path = ../../src/client/OptionsFile.h; sourceTree = ""; sourceTree = ""; }; + F99D34222F736AD400DC153E /* TextOption.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = TextOption.cpp; path = ../../src/client/gui/components/TextOption.cpp; sourceTree = ""; }; + F99D34252F736AFB00DC153E /* OptionsFile.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OptionsFile.h; path = ../../src/client/OptionsFile.h; sourceTree = ""; }; F99D34262F736AFB00DC153E /* OptionsFile.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = OptionsFile.cpp; path = ../../src/client/OptionsFile.cpp; sourceTree = ""; }; F99D34292F736B6F00DC153E /* OptionsItem.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OptionsItem.h; path = ../../src/client/gui/components/OptionsItem.h; sourceTree = ""; }; F99D342A2F736B6F00DC153E /* OptionsItem.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = OptionsItem.cpp; path = ../../src/client/gui/components/OptionsItem.cpp; sourceTree = ""; }; @@ -2457,6 +2463,9 @@ F99D34492F7370CF00DC153E /* Slider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Slider.h; path = ../../src/client/gui/components/Slider.h; sourceTree = ""; }; F99D344A2F7370CF00DC153E /* Slider.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Slider.cpp; path = ../../src/client/gui/components/Slider.cpp; sourceTree = ""; }; F99D344D2F7372A100DC153E /* Launch Screen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = "Launch Screen.storyboard"; sourceTree = ""; }; + F99F0FA82F84369F00F2B29A /* GrassColor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GrassColor.cpp; sourceTree = ""; }; + F99F0FAB2F8436CE00F2B29A /* FoliageColor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = FoliageColor.cpp; sourceTree = ""; }; + F99F0FAE2F8436EB00F2B29A /* Color.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Color.cpp; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -3761,6 +3770,7 @@ D5B50E6914CFF66F005F7284 /* StringUtils.cpp */, D5B50E6A14CFF66F005F7284 /* StringUtils.h */, D5B50E6B14CFF66F005F7284 /* WeighedRandom.h */, + F99F0FAE2F8436EB00F2B29A /* Color.cpp */, ); path = util; sourceTree = ""; @@ -4025,6 +4035,8 @@ D5B50F3714CFF66F005F7284 /* TickNextTickData.h */, D5B50F3814CFF66F005F7284 /* tile */, D5B50F6814CFF66F005F7284 /* TilePos.h */, + F99F0FA82F84369F00F2B29A /* GrassColor.cpp */, + F99F0FAB2F8436CE00F2B29A /* FoliageColor.cpp */, ); path = level; sourceTree = ""; @@ -5194,6 +5206,7 @@ D5B5111014CFF670005F7284 /* Mth.cpp in Sources */, D5B5111214CFF670005F7284 /* PerfRenderer.cpp in Sources */, D5B5111414CFF670005F7284 /* PerfTimer.cpp in Sources */, + F99F0FA92F84369F00F2B29A /* GrassColor.cpp in Sources */, D5B5111614CFF670005F7284 /* StringUtils.cpp in Sources */, D5B5111814CFF670005F7284 /* Direction.cpp in Sources */, D5B5111A14CFF670005F7284 /* Animal.cpp in Sources */, @@ -5214,12 +5227,14 @@ D5B5113814CFF670005F7284 /* PathFinderMob.cpp in Sources */, D5B5113A14CFF670005F7284 /* Inventory.cpp in Sources */, D5B5113C14CFF670005F7284 /* Player.cpp in Sources */, + F99F0FB02F8436EB00F2B29A /* Color.cpp in Sources */, D5B5113E14CFF670005F7284 /* Arrow.cpp in Sources */, D5B5114014CFF670005F7284 /* Recipes.cpp in Sources */, D5B5114214CFF670005F7284 /* ToolRecipes.cpp in Sources */, D5B5114414CFF670005F7284 /* WeaponRecipes.cpp in Sources */, D5B5114614CFF670005F7284 /* HatchetItem.cpp in Sources */, D5B5114814CFF670005F7284 /* Item.cpp in Sources */, + F99F0FAC2F8436CE00F2B29A /* FoliageColor.cpp in Sources */, D5B5114A14CFF670005F7284 /* ItemInstance.cpp in Sources */, D5B5114C14CFF670005F7284 /* PickaxeItem.cpp in Sources */, F99D344B2F7370CF00DC153E /* Slider.cpp in Sources */, @@ -5528,6 +5543,7 @@ D5B5102F14CFF670005F7284 /* main.cpp in Sources */, D5B5103514CFF670005F7284 /* Tag.cpp in Sources */, D5B5103714CFF670005F7284 /* ClientSideNetworkHandler.cpp in Sources */, + F99F0FAF2F8436EB00F2B29A /* Color.cpp in Sources */, D5B5103914CFF670005F7284 /* NetEventCallback.cpp in Sources */, D5B5103B14CFF670005F7284 /* Packet.cpp in Sources */, D5B5103D14CFF670005F7284 /* RakNetInstance.cpp in Sources */, @@ -5548,6 +5564,7 @@ D5B5111514CFF670005F7284 /* StringUtils.cpp in Sources */, D5B5111714CFF670005F7284 /* Direction.cpp in Sources */, D5B5111914CFF670005F7284 /* Animal.cpp in Sources */, + F99F0FAD2F8436CE00F2B29A /* FoliageColor.cpp in Sources */, D5B5111B14CFF670005F7284 /* Chicken.cpp in Sources */, D5B5111D14CFF670005F7284 /* Cow.cpp in Sources */, D5B5111F14CFF670005F7284 /* Pig.cpp in Sources */, @@ -5598,6 +5615,7 @@ D5B5117714CFF670005F7284 /* ExternalFileLevelStorageSource.cpp in Sources */, D5B5117914CFF670005F7284 /* RegionFile.cpp in Sources */, D5B5117B14CFF670005F7284 /* TickNextTickData.cpp in Sources */, + F99F0FAA2F84369F00F2B29A /* GrassColor.cpp in Sources */, D5B5117D14CFF670005F7284 /* DoorTile.cpp in Sources */, D5B5118114CFF670005F7284 /* StoneSlabTile.cpp in Sources */, D5B5118314CFF670005F7284 /* Tile.cpp in Sources */, @@ -5853,7 +5871,7 @@ GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src"; - IPHONEOS_DEPLOYMENT_TARGET = 14; + IPHONEOS_DEPLOYMENT_TARGET = 12; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; "PROVISIONING_PROFILE[sdk=iphoneos*]" = "C93D3524-5C6F-466E-B12B-833663B7EAE0"; @@ -5884,7 +5902,7 @@ ); INFOPLIST_FILE = "minecraftpe/minecraftpe-Info.plist"; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; - IPHONEOS_DEPLOYMENT_TARGET = 14; + IPHONEOS_DEPLOYMENT_TARGET = 12; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = "com.mojang.mcpe-arm64"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -5978,7 +5996,7 @@ GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src"; - IPHONEOS_DEPLOYMENT_TARGET = 14; + IPHONEOS_DEPLOYMENT_TARGET = 12; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; "PROVISIONING_PROFILE[sdk=iphoneos*]" = "64BA8967-1A9A-4980-972C-42E75AD5E023"; @@ -6010,7 +6028,7 @@ ); INFOPLIST_FILE = "minecraftpe/minecraftpe-Info.plist"; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; - IPHONEOS_DEPLOYMENT_TARGET = 14; + IPHONEOS_DEPLOYMENT_TARGET = 12; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = ( "-DNS_BLOCK_ASSERTIONS=1", @@ -6076,7 +6094,7 @@ GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src"; - IPHONEOS_DEPLOYMENT_TARGET = 14; + IPHONEOS_DEPLOYMENT_TARGET = 12; ONLY_ACTIVE_ARCH = YES; RUN_CLANG_STATIC_ANALYZER = NO; SDKROOT = iphoneos; @@ -6104,7 +6122,7 @@ GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src"; - IPHONEOS_DEPLOYMENT_TARGET = 14; + IPHONEOS_DEPLOYMENT_TARGET = 12; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; RUN_CLANG_STATIC_ANALYZER = NO; @@ -6137,7 +6155,7 @@ ); INFOPLIST_FILE = "minecraftpe/minecraftpe-Info.plist"; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; - IPHONEOS_DEPLOYMENT_TARGET = 14; + IPHONEOS_DEPLOYMENT_TARGET = 12; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = "com.mojang.mcpe-arm64"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -6172,7 +6190,7 @@ ); INFOPLIST_FILE = "minecraftpe/minecraftpe-Info.plist"; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; - IPHONEOS_DEPLOYMENT_TARGET = 14; + IPHONEOS_DEPLOYMENT_TARGET = 12; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = "com.mojang.mcpe-arm64"; PRODUCT_NAME = "$(TARGET_NAME)"; From fe73853a640883d671a69b3ab829b31de6e652fe Mon Sep 17 00:00:00 2001 From: Kolyah35 Date: Mon, 6 Apr 2026 22:49:54 +0300 Subject: [PATCH 21/21] defined() would be better ig --- src/client/Minecraft.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/client/Minecraft.cpp b/src/client/Minecraft.cpp index ae8ba6b0..9146abe1 100755 --- a/src/client/Minecraft.cpp +++ b/src/client/Minecraft.cpp @@ -1106,9 +1106,9 @@ void Minecraft::releaseMouse() } bool Minecraft::useTouchscreen() { -#if TARGET_OS_IPHONE +#if defined(TARGET_OS_IPHONE) return true; -#elif RPI +#elif defined(RPI) return false; #endif return options.getBooleanValue(OPTIONS_USE_TOUCHSCREEN) && !_supportsNonTouchscreen; @@ -1149,8 +1149,8 @@ void Minecraft::init() int* grassPixels = textures->loadTexturePixels(grassId, "misc/foliagecolor.png"); GrassColor::init(grassPixels); - bool tint = options.getBooleanValue(OPTIONS_FOLIAGE_TINT); // finally, toggleable foliage color - FoliageColor::setUseTint(tint); + bool tint = options.getBooleanValue(OPTIONS_FOLIAGE_TINT); // finally, toggleable foliage color + FoliageColor::setUseTint(tint); GrassColor::setUseTint(tint); // Platform specific initialization here