* Make the end-user extract assets from v0.1.3 instead of mcpe01_canada.apk.

This allows for less breakage from ignorance or other reasons, because the following things will now work by default:
- Touch controls
- Clouds
- update_game blocks
- The iOS port can use default8.png directly
This commit is contained in:
iProgramInCpp
2023-12-10 12:55:11 +02:00
parent 1be6479e57
commit db4543fa67
3 changed files with 51 additions and 39 deletions

19
.gitignore vendored
View File

@@ -131,16 +131,32 @@ xcuserdata/
#-- The 'game' directory is the default working directory for Minecraft PE if running from VS directly.
# Ignore original Minecraft PE assets.
/game/assets/environment/clouds.png
/game/assets/font/default.png
/game/assets/font/default8.png
/game/assets/gui/feedback.png
/game/assets/gui/feedback_fill.png
/game/assets/gui/feedback_outer.png
/game/assets/gui/background.png
/game/assets/gui/buynow.png
/game/assets/gui/default_world.png
/game/assets/gui/gui.png
/game/assets/gui/gui_blocks.png
/game/assets/gui/icons.png
/game/assets/gui/itemframe.png
/game/assets/gui/items.png
/game/assets/gui/menubuttons.png
/game/assets/gui/plusknapp.png
/game/assets/gui/raknet.png
/game/assets/gui/title.png
/game/assets/gui/touchgui.png
/game/assets/gui/controls/dpad.png
/game/assets/gui/controls/dpad_jump.png
/game/assets/gui/controls/dpadbutton.png
/game/assets/gui/selectworld/add.png
/game/assets/gui/startmenu/sm_multi.png
/game/assets/gui/startmenu/sm_options.png
/game/assets/gui/startmenu/sm_play.png
/game/assets/item/camera.png
/game/assets/misc/foliagecolor.png
/game/assets/misc/grasscolor.png
@@ -156,9 +172,6 @@ xcuserdata/
/game/assets/gui/background/panorama_4.png
/game/assets/gui/background/panorama_5.png
# Ignore the clouds texture. Adding them yourself will make the game use them.
/game/assets/environment/clouds.png
# Avoid including Minecraft Classic assets from Mojang, for now.
/game/assets/patches/*.png
/game/assets/patches/classic/*.png

View File

@@ -1,7 +1,7 @@
# ReMinecraftPE
This project aims to create a custom Minecraft experience based on Minecraft: Pocket Edition as of 2011. It's
based on the mcpe01_canada.apk build of the game.
based on Minecraft PE v0.1.3.
**Its goals are:**
* To add Quality-of-Life features to Minecraft: Pocket Edition, such as a brighter color gamut, an in-game
@@ -29,8 +29,7 @@ based on the mcpe01_canada.apk build of the game.
will be supported for as long as possible)
* Modify the project structure
Note: While the original mcpe01_canada.apk does not work on anything that isn't the Xperia Play, ReMinecraftPE works on most
Android devices.
Note: While the original Minecraft PE v0.1.3 may not work on newer devices, ReMinecraftPE works on all Android devices.
### This is the main modded version. For the original decompilation, see [ReMinecraftPE/mcped](https://github.com/ReMinecraftPE/mcped)
@@ -50,8 +49,8 @@ Want to help this project? [Here's a list of things left to do.](TODO.md)
## DISCLAIMER
This project **requires** you to have a copy of the `mcpe01_canada.apk` (sha256 of the `libminecraftpe.so`
inside: `74b1d3b51a174c4dcaaa58d2bbdf7a4f4c9cfe5f2aeec4844427c2b8f1124343`), before you can build.
This project **requires** you to have a copy of the Minecraft PE v0.1.3 apk (sha256 of the `libminecraftpe.so`
inside: `157af341d13a54cc935bbe24c5e1cf3d02d7e40ec20f9859b9853c2e996ebd81`), before you can build.
## Setup
@@ -70,9 +69,9 @@ This fetches the three dependencies we have:
2. Load the sound assets into the `sound_data/` folder in the root of the project
by **running the following command**:
* `tools/grabsounds.py /path/to/the/mcpe01_canada/lib/armeabi-v7a/libminecraftpe.so`.
* `tools/grabsounds.py /path/to/the/apk/lib/armeabi-v7a/libminecraftpe.so`.
After that, **prepare the assets folder** from mcpe01_canada.apk. You will need it for the platform specific
After that, **prepare the assets folder** from the apk. You will need it for the platform specific
build.
## Building

View File

@@ -17,39 +17,39 @@ except NameError:
# defines
pcm_addresses = [
('PCM_cloth1', 0x0014CFE8),
('PCM_cloth2', 0x00151614),
('PCM_cloth3', 0x00155C40),
('PCM_cloth4', 0x0015A26C),
('PCM_grass1', 0x0015E898),
('PCM_grass2', 0x001694EC),
('PCM_grass3', 0x00174140),
('PCM_grass4', 0x0017ED94),
('PCM_gravel1', 0x001899E8),
('PCM_gravel2', 0x0019463C),
('PCM_gravel3', 0x0019F290),
('PCM_gravel4', 0x001A9EE4),
('PCM_sand1', 0x001B4B38),
('PCM_sand2', 0x001BB6F4),
('PCM_sand3', 0x001C22B0),
('PCM_sand4', 0x001C8E6C),
('PCM_stone1', 0x001CFA28),
('PCM_stone2', 0x001DA67C),
('PCM_stone3', 0x001E52D0),
('PCM_stone4', 0x001EFF24),
('PCM_wood1', 0x001FAB78),
('PCM_wood2', 0x002057CC),
('PCM_wood3', 0x00210420),
('PCM_wood4', 0x0021B074),
('PCM_click', 0x00225CC8),
('PCM_explode', 0x00231D88),
('PCM_splash', 0x00243F18)
('PCM_cloth1', 0x00112B08),
('PCM_cloth2', 0x00117134),
('PCM_cloth3', 0x0011B760),
('PCM_cloth4', 0x0011FD8C),
('PCM_grass1', 0x001243B8),
('PCM_grass2', 0x0012F00C),
('PCM_grass3', 0x00139C60),
('PCM_grass4', 0x001448B4),
('PCM_gravel1', 0x0014F508),
('PCM_gravel2', 0x0015A15C),
('PCM_gravel3', 0x00164DB0),
('PCM_gravel4', 0x0016FA04),
('PCM_sand1', 0x0017A658),
('PCM_sand2', 0x00181214),
('PCM_sand3', 0x00187DD0),
('PCM_sand4', 0x0018E98C),
('PCM_stone1', 0x00195548),
('PCM_stone2', 0x001A019C),
('PCM_stone3', 0x001AADF0),
('PCM_stone4', 0x001B5A44),
('PCM_wood1', 0x001C0698),
('PCM_wood2', 0x001CB2EC),
('PCM_wood3', 0x001D5F40),
('PCM_wood4', 0x001E0B94),
('PCM_click', 0x001EB7E8),
('PCM_explode', 0x001F78A8),
('PCM_splash', 0x00209A38)
]
so_file_sha256 = '74b1d3b51a174c4dcaaa58d2bbdf7a4f4c9cfe5f2aeec4844427c2b8f1124343'
so_file_sha256 = '157af341d13a54cc935bbe24c5e1cf3d02d7e40ec20f9859b9853c2e996ebd81'
header_1 = '// Minecraft Pocket Edition Reverse Engineering Project\n// Copyright (C) 2011 Mojang Specifications.\n'
header_2 = '// Data extracted from libminecraftpe.so (mcpe01_canada.apk).\n\n'
header_2 = '// Data extracted from libminecraftpe.so (Minecraft PE v0.1.3.apk).\n\n'
def read_int_from_bytes(arr_bytes, offset):
return arr_bytes[offset] | arr_bytes[offset + 1] << 8 | arr_bytes[offset + 2] << 16 | arr_bytes[offset + 3] << 24