mirror of
https://gitea.sffempire.ru/Kolyah35/minecraft-pe-0.6.1.git
synced 2026-04-05 23:13:33 +00:00
Compare commits
5 Commits
1158644de7
...
ios-suppor
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
561e8a3691 | ||
|
|
59d4642413 | ||
|
|
3737143842 | ||
|
|
ce52bfd35c | ||
|
|
c70cd428fd |
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
@@ -290,7 +290,7 @@ jobs:
|
|||||||
publish:
|
publish:
|
||||||
name: Publish
|
name: Publish
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: [ build-ios ]
|
needs: [ build-windows, build-ios, build-linux, build-android, build-web ]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|||||||
35
README.md
35
README.md
@@ -198,3 +198,38 @@ cmake --build .
|
|||||||
```
|
```
|
||||||
emrun --port 8080 .
|
emrun --port 8080 .
|
||||||
```
|
```
|
||||||
|
## 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.
|
||||||
|
|||||||
@@ -2435,8 +2435,8 @@
|
|||||||
F99D341D2F736AA100DC153E /* HttpClient.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HttpClient.h; path = ../../src/platform/HttpClient.h; sourceTree = "<group>"; };
|
F99D341D2F736AA100DC153E /* HttpClient.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HttpClient.h; path = ../../src/platform/HttpClient.h; sourceTree = "<group>"; };
|
||||||
F99D341E2F736AA100DC153E /* HttpClient.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = HttpClient.cpp; path = ../../src/platform/HttpClient.cpp; sourceTree = "<group>"; };
|
F99D341E2F736AA100DC153E /* HttpClient.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = HttpClient.cpp; path = ../../src/platform/HttpClient.cpp; sourceTree = "<group>"; };
|
||||||
F99D34212F736AD400DC153E /* TextOption.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TextOption.h; path = ../../src/client/gui/components/TextOption.h; sourceTree = "<group>"; };
|
F99D34212F736AD400DC153E /* TextOption.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TextOption.h; path = ../../src/client/gui/components/TextOption.h; sourceTree = "<group>"; };
|
||||||
F99D34222F736AD400DC153E /* TextOption.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = TextOption.cpp; path = ../../src/client/gui/components/TextOption.cpp; sourceTree = "<unknown>"; };
|
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 = "<group>"; };
|
F99D34252F736AFB00DC153E /* OptionsFile.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OptionsFile.h; path = ../../src/client/OptionsFile.h; sourceTree = "<group>"; sourceTree = "<group>"; };
|
||||||
F99D34262F736AFB00DC153E /* OptionsFile.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = OptionsFile.cpp; path = ../../src/client/OptionsFile.cpp; sourceTree = "<group>"; };
|
F99D34262F736AFB00DC153E /* OptionsFile.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = OptionsFile.cpp; path = ../../src/client/OptionsFile.cpp; sourceTree = "<group>"; };
|
||||||
F99D34292F736B6F00DC153E /* OptionsItem.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OptionsItem.h; path = ../../src/client/gui/components/OptionsItem.h; sourceTree = "<group>"; };
|
F99D34292F736B6F00DC153E /* OptionsItem.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OptionsItem.h; path = ../../src/client/gui/components/OptionsItem.h; sourceTree = "<group>"; };
|
||||||
F99D342A2F736B6F00DC153E /* OptionsItem.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = OptionsItem.cpp; path = ../../src/client/gui/components/OptionsItem.cpp; sourceTree = "<group>"; };
|
F99D342A2F736B6F00DC153E /* OptionsItem.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = OptionsItem.cpp; path = ../../src/client/gui/components/OptionsItem.cpp; sourceTree = "<group>"; };
|
||||||
@@ -5853,7 +5853,7 @@
|
|||||||
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
|
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
|
||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src";
|
HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src";
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 12;
|
IPHONEOS_DEPLOYMENT_TARGET = 14;
|
||||||
ONLY_ACTIVE_ARCH = YES;
|
ONLY_ACTIVE_ARCH = YES;
|
||||||
OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
|
OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
|
||||||
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "C93D3524-5C6F-466E-B12B-833663B7EAE0";
|
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "C93D3524-5C6F-466E-B12B-833663B7EAE0";
|
||||||
@@ -5884,7 +5884,7 @@
|
|||||||
);
|
);
|
||||||
INFOPLIST_FILE = "minecraftpe/minecraftpe-Info.plist";
|
INFOPLIST_FILE = "minecraftpe/minecraftpe-Info.plist";
|
||||||
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games";
|
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games";
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 12;
|
IPHONEOS_DEPLOYMENT_TARGET = 14;
|
||||||
ONLY_ACTIVE_ARCH = YES;
|
ONLY_ACTIVE_ARCH = YES;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = "com.mojang.mcpe-arm64";
|
PRODUCT_BUNDLE_IDENTIFIER = "com.mojang.mcpe-arm64";
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
@@ -5978,7 +5978,7 @@
|
|||||||
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
|
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
|
||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src";
|
HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src";
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 12;
|
IPHONEOS_DEPLOYMENT_TARGET = 14;
|
||||||
ONLY_ACTIVE_ARCH = YES;
|
ONLY_ACTIVE_ARCH = YES;
|
||||||
OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
|
OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
|
||||||
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "64BA8967-1A9A-4980-972C-42E75AD5E023";
|
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "64BA8967-1A9A-4980-972C-42E75AD5E023";
|
||||||
@@ -6010,7 +6010,7 @@
|
|||||||
);
|
);
|
||||||
INFOPLIST_FILE = "minecraftpe/minecraftpe-Info.plist";
|
INFOPLIST_FILE = "minecraftpe/minecraftpe-Info.plist";
|
||||||
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games";
|
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games";
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 12;
|
IPHONEOS_DEPLOYMENT_TARGET = 14;
|
||||||
ONLY_ACTIVE_ARCH = YES;
|
ONLY_ACTIVE_ARCH = YES;
|
||||||
OTHER_CFLAGS = (
|
OTHER_CFLAGS = (
|
||||||
"-DNS_BLOCK_ASSERTIONS=1",
|
"-DNS_BLOCK_ASSERTIONS=1",
|
||||||
@@ -6076,7 +6076,7 @@
|
|||||||
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
|
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
|
||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src";
|
HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src";
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 12;
|
IPHONEOS_DEPLOYMENT_TARGET = 14;
|
||||||
ONLY_ACTIVE_ARCH = YES;
|
ONLY_ACTIVE_ARCH = YES;
|
||||||
RUN_CLANG_STATIC_ANALYZER = NO;
|
RUN_CLANG_STATIC_ANALYZER = NO;
|
||||||
SDKROOT = iphoneos;
|
SDKROOT = iphoneos;
|
||||||
@@ -6104,7 +6104,7 @@
|
|||||||
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
|
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
|
||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src";
|
HEADER_SEARCH_PATHS = "$(SRCROOT)/../../src";
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 12;
|
IPHONEOS_DEPLOYMENT_TARGET = 14;
|
||||||
ONLY_ACTIVE_ARCH = YES;
|
ONLY_ACTIVE_ARCH = YES;
|
||||||
OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
|
OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
|
||||||
RUN_CLANG_STATIC_ANALYZER = NO;
|
RUN_CLANG_STATIC_ANALYZER = NO;
|
||||||
@@ -6137,7 +6137,7 @@
|
|||||||
);
|
);
|
||||||
INFOPLIST_FILE = "minecraftpe/minecraftpe-Info.plist";
|
INFOPLIST_FILE = "minecraftpe/minecraftpe-Info.plist";
|
||||||
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games";
|
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games";
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 12;
|
IPHONEOS_DEPLOYMENT_TARGET = 14;
|
||||||
ONLY_ACTIVE_ARCH = YES;
|
ONLY_ACTIVE_ARCH = YES;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = "com.mojang.mcpe-arm64";
|
PRODUCT_BUNDLE_IDENTIFIER = "com.mojang.mcpe-arm64";
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
@@ -6172,7 +6172,7 @@
|
|||||||
);
|
);
|
||||||
INFOPLIST_FILE = "minecraftpe/minecraftpe-Info.plist";
|
INFOPLIST_FILE = "minecraftpe/minecraftpe-Info.plist";
|
||||||
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games";
|
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games";
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 12;
|
IPHONEOS_DEPLOYMENT_TARGET = 14;
|
||||||
ONLY_ACTIVE_ARCH = YES;
|
ONLY_ACTIVE_ARCH = YES;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = "com.mojang.mcpe-arm64";
|
PRODUCT_BUNDLE_IDENTIFIER = "com.mojang.mcpe-arm64";
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
#include "ImageButton.h"
|
#include "ImageButton.h"
|
||||||
#include "Slider.h"
|
#include "Slider.h"
|
||||||
#include "../../Minecraft.h"
|
#include "../../Minecraft.h"
|
||||||
|
#include "client/Options.h"
|
||||||
|
|
||||||
OptionsPane::OptionsPane() {
|
OptionsPane::OptionsPane() {
|
||||||
|
|
||||||
@@ -28,7 +29,7 @@ OptionsGroup& OptionsPane::createOptionsGroup( std::string label ) {
|
|||||||
return *newGroup;
|
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;
|
if(group > children.size()) return;
|
||||||
ImageDef def;
|
ImageDef def;
|
||||||
def.setSrc(IntRectangle(160, 206, 39, 20));
|
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;
|
def.height = 20 * 0.7f;
|
||||||
OptionButton* element = new OptionButton(option);
|
OptionButton* element = new OptionButton(option);
|
||||||
element->setImageDef(def, true);
|
element->setImageDef(def, true);
|
||||||
OptionsItem* item = new OptionsItem(label, element);
|
OptionsItem* item = new OptionsItem(option, label, element);
|
||||||
((OptionsGroup*)children[group])->addChild(item);
|
((OptionsGroup*)children[group])->addChild(item);
|
||||||
setupPositions();
|
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;
|
if(group > children.size()) return;
|
||||||
Slider* element = new Slider(minecraft, option, progressMin, progressMax);
|
Slider* element = new SliderFloat(minecraft, option);
|
||||||
element->width = 100;
|
element->width = 100;
|
||||||
element->height = 20;
|
element->height = 20;
|
||||||
OptionsItem* item = new OptionsItem(label, element);
|
OptionsItem* item = new OptionsItem(option, label, element);
|
||||||
((OptionsGroup*)children[group])->addChild(item);
|
((OptionsGroup*)children[group])->addChild(item);
|
||||||
setupPositions();
|
setupPositions();
|
||||||
}
|
}
|
||||||
|
|
||||||
void OptionsPane::createStepSlider( Minecraft* minecraft, unsigned int group, std::string label, const Option* option, const std::vector<int>& stepVec ) {
|
void OptionsPane::createStepSlider( Minecraft* minecraft, unsigned int group, std::string label, OptionId option, const std::vector<int>& stepVec ) {
|
||||||
if(group > children.size()) return;
|
if(group > children.size()) return;
|
||||||
Slider* element = new Slider(minecraft, option, stepVec);
|
Slider* element = new SliderInt(minecraft, option);
|
||||||
element->width = 100;
|
element->width = 100;
|
||||||
element->height = 20;
|
element->height = 20;
|
||||||
OptionsItem* item = new OptionsItem(label, element);
|
OptionsItem* item = new OptionsItem(option, label, element);
|
||||||
((OptionsGroup*)children[group])->addChild(item);
|
((OptionsGroup*)children[group])->addChild(item);
|
||||||
setupPositions();
|
setupPositions();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,9 +21,9 @@ class OptionsPane: public GuiElementContainer
|
|||||||
public:
|
public:
|
||||||
OptionsPane();
|
OptionsPane();
|
||||||
OptionsGroup& createOptionsGroup( std::string label );
|
OptionsGroup& createOptionsGroup( std::string label );
|
||||||
void createToggle( unsigned int group, std::string label, const Option* option );
|
void createToggle( unsigned int group, std::string label, OptionId option );
|
||||||
void createProgressSlider(Minecraft* minecraft, unsigned int group, std::string label, const Option* option, float progressMin=1.0f, float progressMax=1.0f );
|
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, const Option* option, const std::vector<int>& stepVec );
|
void createStepSlider(Minecraft* minecraft, unsigned int group, std::string label, OptionId option, const std::vector<int>& stepVec );
|
||||||
void setupPositions();
|
void setupPositions();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
#include "../Screen.h"
|
#include "../Screen.h"
|
||||||
#include "../components/Button.h"
|
#include "../components/Button.h"
|
||||||
#include "../../Minecraft.h"
|
#include "../../Minecraft.h"
|
||||||
#include "ImageButton.h"
|
#include "../components/ImageButton.h"
|
||||||
#include "TextBox.h"
|
#include "../components/TextBox.h"
|
||||||
|
|
||||||
class JoinByIPScreen: public Screen
|
class JoinByIPScreen: public Screen
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
#include "../../../../world/level/Level.h"
|
#include "../../../../world/level/Level.h"
|
||||||
#include "../../../../world/item/DyePowderItem.h"
|
#include "../../../../world/item/DyePowderItem.h"
|
||||||
#include "../../../../world/item/crafting/Recipe.h"
|
#include "../../../../world/item/crafting/Recipe.h"
|
||||||
#include "Keyboard.h"
|
#include "platform/input/Keyboard.h"
|
||||||
|
|
||||||
static NinePatchLayer* guiPaneFrame = NULL;
|
static NinePatchLayer* guiPaneFrame = NULL;
|
||||||
|
|
||||||
|
|||||||
@@ -17,8 +17,8 @@
|
|||||||
#import <OpenGLES/ES1/gl.h>
|
#import <OpenGLES/ES1/gl.h>
|
||||||
#import <OpenGLES/ES1/glext.h>
|
#import <OpenGLES/ES1/glext.h>
|
||||||
#elif defined(ANDROID) || defined(__EMSCRIPTEN__)
|
#elif defined(ANDROID) || defined(__EMSCRIPTEN__)
|
||||||
#import <OpenGLES/ES1/gl.h>
|
#import <GLES/gl.h>
|
||||||
#import <OpenGLES/ES1/glext.h>
|
#import <GLES/glext.h>
|
||||||
#else
|
#else
|
||||||
#include <glad/glad.h>
|
#include <glad/glad.h>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user