mirror of
https://github.com/celisej567/mcpe.git
synced 2026-09-17 20:10:23 +03:00
* 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:
19
.gitignore
vendored
19
.gitignore
vendored
@@ -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
|
||||
|
||||
13
README.md
13
README.md
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user