2.4.0
This commit is contained in:
parent
c4e26c5be2
commit
ed9bef8492
|
@ -2,6 +2,11 @@
|
|||
|
||||
## Launch Sequence
|
||||
|
||||
### Common
|
||||
1. The launcher forks itself
|
||||
1. The child process continues the launch sequence.
|
||||
2. The original process monitors the child process for crashes.
|
||||
|
||||
### Client
|
||||
1. The launcher is started by the user
|
||||
1. The launcher starts several Zenity dialogs to configure MCPI-Reborn
|
||||
|
@ -34,12 +39,11 @@ The Media Layer handles MCPI's graphics calls and user input. It replaces MCPI's
|
|||
This sub-component re-implements a subset of SDL 1.2 calls with GLFW. It also provides a few utility functions that are used internally by MCPI-Reborn.
|
||||
|
||||
The utility functions include:
|
||||
* Taking Screenshots
|
||||
* Fullscreen
|
||||
* Audio
|
||||
* Etc
|
||||
|
||||
This is always compiled for the host system's architecture.
|
||||
This is always compiled for the host system's architecture unless the Media Layer Proxy is disabled.
|
||||
|
||||
This was created because SDL 1.2 has numerous bugs and is in-general unsupported.
|
||||
|
||||
|
@ -60,21 +64,13 @@ It is made of two parts:
|
|||
|
||||
While proxying all Media Layer Core API calls across UNIX pipes does hurt performance, it is better than emulating the entire graphics stack.
|
||||
|
||||
Using this in server-mode is redundant (and disallowed).
|
||||
Using this in server-mode is redundant.
|
||||
|
||||
#### Extras
|
||||
This sub-component contains code that must always be linked directly to MCPI.
|
||||
|
||||
This is always compiled for ARM.
|
||||
|
||||
#### Stubs
|
||||
This sub-component implements stubs for various redundant libraries used by MCPI to silence linker errors.
|
||||
|
||||
This is always compiled for ARM.
|
||||
|
||||
##### What To Stub And What To Patch?
|
||||
Most libraries (like ``bcm_host``) can just be replaced with stubs, because they don't need to do anything and aren't used by anything else. However, some libraries (like EGL and X11) might be used by some of MCPI-Reborn's dependencies (like GLFW) so instead of being replaced by a stub, each call is manually patched out from MCPI. A stub is still generated just in case that library isn't present on the system to silence linker errors, but it is only loaded if no other version is available.
|
||||
|
||||
#### Headers
|
||||
This sub-component includes headers for SDL, GLES, and EGL allowing easy (cross-)compilation.
|
||||
|
||||
|
|
|
@ -1,21 +1,11 @@
|
|||
# Building
|
||||
|
||||
## Build Dependencies
|
||||
* Common
|
||||
* ARM Compiler
|
||||
* Host Compiler
|
||||
* CMake
|
||||
* Host Architecture Dependencies
|
||||
* Client Mode Only
|
||||
* OpenAL
|
||||
## Dependencies
|
||||
|
||||
## Runtime Dependencies
|
||||
* Non-ARM Host Architectures
|
||||
* QEMU User-Mode
|
||||
* Host Architecture Dependencies
|
||||
* Client Mode Only
|
||||
* OpenGL ES 2.0
|
||||
* OpenAL
|
||||
### Debian/Ubuntu
|
||||
```sh
|
||||
./scripts/install-dependencies.sh
|
||||
```
|
||||
|
||||
## Instructions
|
||||
```sh
|
||||
|
@ -29,4 +19,4 @@
|
|||
```
|
||||
|
||||
### Environment Variables
|
||||
- ``MCPI_TOOLCHAIN_USE_DEFAULT_SEARCH_PATHS``: Use Default CMake Search Paths Rather Than Guessing
|
||||
* ``MCPI_TOOLCHAIN_USE_DEFAULT_SEARCH_PATHS``: Use Default CMake Search Paths Rather Than Guessing
|
||||
|
|
|
@ -1,5 +1,20 @@
|
|||
# Changelog
|
||||
|
||||
**2.4.0**
|
||||
* [Modding SDK](../example-mods/README.md)
|
||||
* Cache Blacklist/Whitelist
|
||||
* More Reliable AppImages
|
||||
* CMake Refactors
|
||||
* Disable Broken Touchscreen-Specific Block Outline Behavior
|
||||
* Add ``Remove Forced GUI Lag (Can Break Joining Servers)`` Feature Flag (Disabled By Default)
|
||||
* Add ``Add Buckets`` Feature Flag (Enabled By Default)
|
||||
* Add ``Classic HUD`` Feature Flag (Enabled By Default)
|
||||
* Add ``Translucent Toolbar`` Feature Flag (Enabled By Default)
|
||||
* Fix Sound Pitch/Volume/Attenuation
|
||||
* Fix Holding Left-Click When Attacking
|
||||
* Don't Force EGL (Should Fix Some NVIDIA Systems)
|
||||
* Performance Fixes
|
||||
|
||||
**2.3.13**
|
||||
* Fix Texture Bug
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# Dedicated Server
|
||||
The dedicated server is a version of Minecraft: Pi Edition modified to run in a headless environment. It loads settings from a ``server.properties`` file.
|
||||
|
||||
This server is also compatible with MCPE Alpha v0.6.1.
|
||||
This server is also compatible with MCPE Alpha v0.6.1[^1].
|
||||
|
||||
## Setup
|
||||
|
||||
|
@ -15,3 +15,5 @@ An official Docker image is also provided: [thebrokenrail/minecraft-pi-reborn-se
|
|||
* Player data is not saved because of limitations with MCPE LAN worlds
|
||||
* An easy workaround is to place your inventory in a chest before logging off
|
||||
* Survival Mode servers are incompatible with unmodded MCPI
|
||||
|
||||
[^1]: The exception to this is buckets, those will crash MCPE players.
|
||||
|
|
|
@ -3,25 +3,23 @@
|
|||
## AppImage
|
||||
Download packages [here](https://jenkins.thebrokenrail.com/job/minecraft-pi-reborn/job/master/lastSuccessfulBuild/artifact/out/).
|
||||
|
||||
### System Requirements
|
||||
* Debian Buster/Ubuntu 18.04 Or Higher
|
||||
* QEMU User-Mode
|
||||
* Debian/Ubuntu: ``sudo apt install qemu-user``
|
||||
* Arch: ``sudo pacman -Sy qemu-user``
|
||||
* Client-Only Dependencies
|
||||
* Graphics Drivers
|
||||
* GTK+ 3
|
||||
* Debian/Ubuntu: ``sudo apt install libgtk-3-0``
|
||||
* Arch: ``sudo pacman -Sy gtk3``
|
||||
* OpenAL
|
||||
* Debian/Ubuntu: ``sudo apt install libopenal1``
|
||||
* Arch: ``sudo pacman -Sy openal``
|
||||
|
||||
### Running
|
||||
Follow [these](https://docs.appimage.org/introduction/quickstart.html#how-to-run-an-appimage) instructions.
|
||||
|
||||
### Picking A Package
|
||||
|
||||
#### Name Format
|
||||
```
|
||||
minecraft-pi-reborn-<Variant>_X.Y.Z_<Architecture>
|
||||
```
|
||||
|
||||
#### Picking A Variant
|
||||
* ``client``: Client mode, use this if you want to play MCPI.
|
||||
* ``server``: Server mode, use this if you want to host a dedicated MCPI server.
|
||||
|
||||
#### Picking An Architecture
|
||||
* ``amd64``: x86_64, use this if you are using a device with an AMD or Intel processor.
|
||||
* ``armhf``: ARM 32-Bit, use this if you are using an ARM device (like a Raspberry Pi).
|
||||
* ``arm64``: ARM 64-Bit, ``armhf`` but for 64-bit devices.
|
||||
|
||||
## Flatpak
|
||||
<a href="https://flathub.org/apps/details/com.thebrokenrail.MCPIReborn"><img width="240" alt="Download On Flathub" src="https://flathub.org/assets/badges/flathub-badge-en.svg" /></a>
|
||||
|
||||
|
|
BIN
images/start.png
BIN
images/start.png
Binary file not shown.
Before Width: | Height: | Size: 154 KiB After Width: | Height: | Size: 156 KiB |
|
@ -1 +1 @@
|
|||
Subproject commit 6dd526fb1a9c16c3170a0ebd2b5c73e4a2719245
|
||||
Subproject commit c50d53160fa9b579dda0d0a4f9a7c2512940df8e
|
|
@ -88,7 +88,7 @@ void init_touch() {
|
|||
unsigned char outline_patch[4] = {(unsigned char) (block_outlines ? !touch_gui : touch_gui), 0x00, 0x50, 0xe3}; // "cmp r0, #0x1" or "cmp r0, #0x0"
|
||||
patch((void *) 0x4a210, outline_patch);
|
||||
if (block_outlines) {
|
||||
// Diable Broken Touchscreen-Specific Block Outline Behavior
|
||||
// Disable Broken Touchscreen-Specific Block Outline Behavior
|
||||
unsigned char block_highlight_patch[4] = {0x03, 0x00, 0x53, 0xe1}; // "cmp r3, r3"
|
||||
patch((void *) 0x494b4, block_highlight_patch);
|
||||
}
|
||||
|
|
|
@ -1,43 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
if [ ! -z "${MCPI_CUSTOM_APT_REPO}" ]; then
|
||||
echo "${MCPI_CUSTOM_APT_REPO}"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
ID="$(sed -n -e 's/^ID=//p' /etc/os-release)"
|
||||
ID_LIKE="$(sed -n -e 's/^ID_LIKE=//p' /etc/os-release)"
|
||||
VERSION_CODENAME="$(sed -n -e 's/^VERSION_CODENAME=//p' /etc/os-release)"
|
||||
|
||||
OUT=""
|
||||
get_apt_sources() {
|
||||
if [ "${1}" = "ubuntu" ]; then
|
||||
OUT="deb [arch=i386,amd64] http://archive.ubuntu.com/ubuntu/ ${VERSION_CODENAME} main restricted
|
||||
deb [arch=i386,amd64] http://archive.ubuntu.com/ubuntu/ ${VERSION_CODENAME}-updates main restricted
|
||||
deb [arch=i386,amd64] http://archive.ubuntu.com/ubuntu/ ${VERSION_CODENAME} universe
|
||||
deb [arch=i386,amd64] http://archive.ubuntu.com/ubuntu/ ${VERSION_CODENAME}-updates universe
|
||||
deb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports/ ${VERSION_CODENAME} main restricted
|
||||
deb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports/ ${VERSION_CODENAME}-updates main restricted
|
||||
deb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports/ ${VERSION_CODENAME} universe
|
||||
deb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports/ ${VERSION_CODENAME}-updates universe"
|
||||
elif [ "${1}" = "debian" ]; then
|
||||
OUT="deb https://deb.debian.org/debian/ ${VERSION_CODENAME} main"
|
||||
if [ "${VERSION_CODENAME}" != "sid" ] && [ "${VERSION_CODENAME}" != "unstable" ] && [ "${VERSION_CODENAME}" != "experimental" ]; then
|
||||
OUT="${OUT}
|
||||
deb https://deb.debian.org/debian/ ${VERSION_CODENAME}-updates main"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
get_apt_sources "${ID}"
|
||||
if [ -z "${OUT}" ]; then
|
||||
get_apt_sources "${ID_LIKE}"
|
||||
fi
|
||||
|
||||
if [ ! -z "${OUT}" ]; then
|
||||
echo "${OUT}"
|
||||
else
|
||||
echo "Unsupported Distribution: ${ID}" 1>&2
|
||||
exit 1
|
||||
fi
|
Loading…
Reference in New Issue
Block a user