Improve Comments
This commit is contained in:
parent
465f3cce81
commit
19e2ded9bf
@ -1,7 +1,9 @@
|
|||||||
.git
|
/.git
|
||||||
.gitignore
|
/.gitignore
|
||||||
Dockerfile
|
/Dockerfile*
|
||||||
README.md
|
/Jenkinsfile
|
||||||
data
|
/out
|
||||||
install.sh
|
/LICENSE
|
||||||
build.sh
|
*.md
|
||||||
|
/debian
|
||||||
|
/scripts
|
||||||
|
@ -7,6 +7,9 @@ Minecraft: Pi Edition has no symbols so you must patch the hex address of an ins
|
|||||||
## Loading Directories
|
## Loading Directories
|
||||||
``minecraft-pi-docker`` loads mods from two locations, ``/app/minecraft-pi/mods``, and ``~/.minecraft/mods``. The first location only exists in the Docker container and is immutable, so you should place your mods in ``~/.minecraft/mods`` which is mounted on the host as ``~/.minecraft-pi/mods``.
|
``minecraft-pi-docker`` loads mods from two locations, ``/app/minecraft-pi/mods``, and ``~/.minecraft/mods``. The first location only exists in the Docker container and is immutable, so you should place your mods in ``~/.minecraft/mods`` which is mounted on the host as ``~/.minecraft-pi/mods``.
|
||||||
|
|
||||||
|
## C++ Strings
|
||||||
|
Minecraft: Pi Edition was compiled with an old version of GCC, so when interacting with C++ strings, make sure you set ``-D_GLIBCXX_USE_CXX11_ABI=0``.
|
||||||
|
|
||||||
## ``libcore.so`` API
|
## ``libcore.so`` API
|
||||||
Header files and the shared library can be download from [Jenkins](https://jenkins.thebrokenrail.com/job/minecraft-pi-docker/job/master/lastSuccessfulBuild/artifact/out/lib).
|
Header files and the shared library can be download from [Jenkins](https://jenkins.thebrokenrail.com/job/minecraft-pi-docker/job/master/lastSuccessfulBuild/artifact/out/lib).
|
||||||
|
|
||||||
|
@ -4,5 +4,12 @@ This is a project allowing Minecraft: Pi Edition to be run without a Raspberry P
|
|||||||
## Setup
|
## Setup
|
||||||
[View Binaries](https://jenkins.thebrokenrail.com/job/minecraft-pi-docker/job/master/lastSuccessfulBuild/artifact/out/)
|
[View Binaries](https://jenkins.thebrokenrail.com/job/minecraft-pi-docker/job/master/lastSuccessfulBuild/artifact/out/)
|
||||||
|
|
||||||
|
### Packages
|
||||||
|
| Package | Description |
|
||||||
|
| --- | --- |
|
||||||
|
| ``minecraft-pi-server`` | Dedicated Server |
|
||||||
|
| ``minecraft-pi-virgl`` | Minecraft Pi Edition Using VirGL For Hardware Acceleration (Recommended For Desktop) |
|
||||||
|
| ``minecraft-pi-native`` | Minecraft: Pi Edition Using Docker Device Mounting For GPU Acceleration (Recommended For Raspberry Pi) |
|
||||||
|
|
||||||
## Modding
|
## Modding
|
||||||
[View Modding](MODDING.md)
|
[View Modding](MODDING.md)
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
cmake_minimum_required(VERSION 3.1.0)
|
cmake_minimum_required(VERSION 3.13.0)
|
||||||
|
|
||||||
project(mods)
|
project(mods)
|
||||||
|
|
||||||
add_compile_options(-Wall -Wextra -Werror)
|
add_compile_options(-Wall -Wextra -Werror)
|
||||||
|
add_link_options(-Wl,--no-undefined)
|
||||||
add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0)
|
add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0)
|
||||||
|
|
||||||
add_subdirectory(../core core)
|
add_subdirectory(../core core)
|
||||||
|
@ -27,6 +27,9 @@ extern "C" {
|
|||||||
\
|
\
|
||||||
__attribute__((__used__)) return_type name args
|
__attribute__((__used__)) return_type name args
|
||||||
|
|
||||||
|
#define INFO(msg, ...) fprintf(stderr, "[INFO]: " msg "\n", __VA_ARGS__);
|
||||||
|
#define ERR(msg, ...) fprintf(stderr, "[ERR]: " msg "\n", __VA_ARGS__); exit(1);
|
||||||
|
|
||||||
void *_overwrite(const char *file, int line, void *start, void *target);
|
void *_overwrite(const char *file, int line, void *start, void *target);
|
||||||
#define overwrite(start, target) _overwrite(__FILE__, __LINE__, start, target);
|
#define overwrite(start, target) _overwrite(__FILE__, __LINE__, start, target);
|
||||||
|
|
||||||
|
@ -41,8 +41,7 @@ static void store_x11_window() {
|
|||||||
|
|
||||||
// Handle GLFW Error
|
// Handle GLFW Error
|
||||||
static void glfw_error(__attribute__((unused)) int error, const char *description) {
|
static void glfw_error(__attribute__((unused)) int error, const char *description) {
|
||||||
fprintf(stderr, "[ERR] GLFW Error: %s\n", description);
|
ERR("GLFW Error: %s", description);
|
||||||
exit(1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert GLFW Key To SDL Key
|
// Convert GLFW Key To SDL Key
|
||||||
|
@ -70,6 +70,7 @@ void _patch(const char *file, int line, void *start, unsigned char patch[]) {
|
|||||||
|
|
||||||
mprotect((void *) page_start, end - page_start, PROT_READ | PROT_EXEC);
|
mprotect((void *) page_start, end - page_start, PROT_READ | PROT_EXEC);
|
||||||
|
|
||||||
|
// Clear ARM Instruction Cache
|
||||||
__clear_cache(start, (void *) end);
|
__clear_cache(start, (void *) end);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -163,8 +163,7 @@ int extra_get_mode() {
|
|||||||
} else if (strcmp("server", mode) == 0) {
|
} else if (strcmp("server", mode) == 0) {
|
||||||
return 2;
|
return 2;
|
||||||
} else {
|
} else {
|
||||||
fprintf(stderr, "[ERR] Inavlid MCPI_MODE: %s\n", mode);
|
ERR("Inavlid MCPI_MODE: %s", mode);
|
||||||
exit(1);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -249,7 +248,11 @@ __attribute__((constructor)) static void init() {
|
|||||||
username = get_username();
|
username = get_username();
|
||||||
fprintf(stderr, "Setting Username: %s\n", username);
|
fprintf(stderr, "Setting Username: %s\n", username);
|
||||||
}
|
}
|
||||||
patch_address((void *) 0x18fd4, (void *) username);
|
char **default_username = (char **) 0x18fd4;
|
||||||
|
if (strcmp(*default_username, "StevePi") != 0) {
|
||||||
|
ERR("%s", "Default Username Is Invalid");
|
||||||
|
}
|
||||||
|
patch_address((void *) default_username, (void *) username);
|
||||||
|
|
||||||
if (extra_has_feature("Disable Autojump By Default")) {
|
if (extra_has_feature("Disable Autojump By Default")) {
|
||||||
// Disable Autojump By Default
|
// Disable Autojump By Default
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
|
|
||||||
#include <libcore/libcore.h>
|
#include <libcore/libcore.h>
|
||||||
|
|
||||||
|
// Minecraft: Pi Edition Was Not Compiled With 64-Bit Filesystem Support, So This Shims readdir() To Read Directories Properly
|
||||||
|
|
||||||
#define FILENAME_SIZE 256
|
#define FILENAME_SIZE 256
|
||||||
|
|
||||||
HOOK(readdir, struct dirent *, (DIR *dirp)) {
|
HOOK(readdir, struct dirent *, (DIR *dirp)) {
|
||||||
|
@ -35,8 +35,6 @@ static ProgressScreen_t ProgressScreen = (ProgressScreen_t) 0x37044;
|
|||||||
typedef void (*Minecraft_setScreen_t)(unsigned char *minecraft, unsigned char *screen);
|
typedef void (*Minecraft_setScreen_t)(unsigned char *minecraft, unsigned char *screen);
|
||||||
static Minecraft_setScreen_t Minecraft_setScreen = (Minecraft_setScreen_t) 0x15d6c;
|
static Minecraft_setScreen_t Minecraft_setScreen = (Minecraft_setScreen_t) 0x15d6c;
|
||||||
|
|
||||||
#define INFO(msg, ...) fprintf(stderr, "[INFO]: " msg "\n", __VA_ARGS__);
|
|
||||||
|
|
||||||
// Store Minecraft For Exit
|
// Store Minecraft For Exit
|
||||||
static unsigned char *stored_minecraft = NULL;
|
static unsigned char *stored_minecraft = NULL;
|
||||||
|
|
||||||
@ -233,8 +231,7 @@ void server_init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!properties_file.is_open()) {
|
if (!properties_file.is_open()) {
|
||||||
fprintf(stderr, "[ERR]: Unable To Open server.properties\n");
|
ERR("%s", "Unable To Open server.properties");
|
||||||
exit(1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load Properties
|
// Load Properties
|
||||||
|
Loading…
Reference in New Issue
Block a user