WIP Decompilation of Minecraft: Nintendo Switch Edition v1.0.17.
This repository does not contain game assets and cannot be used to play the game.
This project requires a main
dumped from the latest Minecraft: Nintendo Switch Edition update, v1.0.17.
For porting symbols, its strongly recommended to get the Minecraft.Client.rpx
from Minecraft: Wii U Edition Patch 35 (v560). Only basing things off of the base/latest update will hurt you in the long run.
Though 4J/Mojang/Microsoft has never taken action on dumps of the LCE games uploaded online, these executables will never be provided on the repo directly. They have taken down projects that have not been clean-room in their research, though. This includes the official Minecraft: Java Edition mappings, which are licensed by Microsoft, and cannot be used within the scope of this project.
Legacy Console Edition released for the Xbox 360, PS3, PS Vita, Wii U, Xbox One, PS4, and Nintendo Switch.
Wii U Edition is the only edition to contain function symbols. The decomp would work off of that version of the game, if it weren't for the compiler toolchain GHS being abysmal. The chance that we find a matching compiler version is next to none, so our assembly wouldn't be matching either way.
Nintendo Switch Edition on the other hand was compiled with Clang where it's easy enough to find the compiler version just by the release date of the game. The advantage here is that we're able to match the assembly 1:1, but Clang is also much more lenient compared to GHS. LCE used boost
throughout the code pretty heavily, and while its asserts are visible in the Wii U release, they are nonexistent in the Switch release. We can still match the code without using the library's functions, but it wouldn't be a 1:1 match on most other platforms.
Without any symbols at all, this would make the Switch Edition pretty worthless on its own. With both editions of LCE open in IDA/Ghidra though, porting symbols is just a bad chore. Additionally, the Switch Edition does contain typeinfo, so vtables are already located for us.
The Nintendo Switch Edition release only lasted for a year, before being replaced with Minecraft Bedrock. This means that the LCE's life support was cut off early for current-gen users at the time, and did not receive Update Aquatic as other LCE ports did.
While the latest version of Nintendo Switch Edition is v1.0.17, that version only matches up with Wii U Edition's Patch 35 (v560). Wii U Edition would get a further 8 updates (up until v688) before LCE was abandoned for good.
See BUILDING.md.
See CONTRIBUTING.md.
Minecraft LCE Decompilation logo by @break-core
This repository is based on the BOTW decomp (zeldaret/botw)
Building instructions based on the Super Mario Odyssey decomp (MonsterDruide1/OdysseyDecomp).