diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 00000000..6b3efcf1 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,14 @@ +## Description + + +## Changes + +### Decompilation + + +### Code Liberties/AI Disclosure + + +## Change Link + +- Implements [Feature ID] \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..a7f07d38 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,20 @@ +# Scope of project + +This project does NOT aim at decompiling and **MATCHING** the binary with Minecraft: Wii-U Edition, rather, we want to reach feature parity via decompilation. + +To clarify this vague terminology, the goal is obtaining the same functionality by studying the modifications done by 4J in later versions of the game, we use the Wii-U Edition specifically since this contains function symbols which heavily help figuring out modifications. + +# Scope of PRs + +Every PR should be backed up by a Title Update change and should document the disassembly and decompilation, they're also only allowed to be within 5 Title Updates from the current project parity, as to not overlap with other Title Update changes. + +# Guidelines + +- **No AI generated code!** We do not want LLM infested code in this codebase! Reverse engineering requires you to understand core parts of the code being decompiled to create a faithful representation, please do not use AI to create code or analyze code (unless it's STL/Boost boilerplate). +- **No Code Liberties for non platform specific code!** It is utterly disallowed to take your own code liberties for changes, as in, you cannot make up implementations or assume their function, all your modifications have to be backed up by disassembly. Platform specific code is an exception to this rule. +- **Must follow the commit style to keep track of changes!** We want to keep track of every feature added and modified by Title Updates so other projects can depend on our changes for their forks, not following convention would make this much harder for other people and this project too! +- **We do not need Quality Of Life changes.** Please keep this repository as vanilla as possible, adding new features or fixing other existing ones without being backed up by a Title Update change does not adhere within the project scope, as mentioned before, please don't take code liberties. +- **Keep PRs and commits individual to their Title Update changes!** Do not add multiple Title Update changes in a singular commit or PR, if it's needed, create another branch in your fork and then PR your specific Feature ID changes to the main repository. + +## Credits +- [Minecraft Console's Contribution Guide](https://github.com/smartcmd/MinecraftConsoles/blob/main/CONTRIBUTING.md) \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 00000000..7f898b4b --- /dev/null +++ b/README.md @@ -0,0 +1,17 @@ +# LCE Renewed + +A fork of the December PSVita leaked source code of *Minecraft: Legacy Console Edition* by 4J-Studios which aims at backporting updates from later versions of the game via decompilation. + +# How do I contribute? + +For people who want to contribute or check our guidelines, please check out the [Contribution Guide](CONTRIBUTING.md). + +# How can I start decompiling? + +You can get your hands on the IDA Database used by our team [here](tools/disassembly), for any major changes to it (like implementing types, which should not be necessary) there will be updates as we progress, if you want to contribute project files for other tools (Ghidra, Binja), please contact us. + +# How do I know what is done and what isnt? + +We use the [Minecraft Wiki](https://minecraft.wiki/w/Legacy_Console_Edition_version_history) to track title updates (for now, we focus on Xbox 360 updates, as they're the easiest to take care of), every commit related to decompilation progress contains a *Feature ID*, this is a way to keep track of changes throughout Title Updates from our spreadsheet. + +You are able to do any changes between the title updates listed above. diff --git a/tools/disassembly/Minecraft.Client.rpx.i64 b/tools/disassembly/Minecraft.Client.rpx.i64 new file mode 100644 index 00000000..2c731fc8 Binary files /dev/null and b/tools/disassembly/Minecraft.Client.rpx.i64 differ diff --git a/tools/disassembly/README.md b/tools/disassembly/README.md new file mode 100644 index 00000000..f7b95230 --- /dev/null +++ b/tools/disassembly/README.md @@ -0,0 +1,7 @@ +# Disassembly resources + +Here we host the disassembly resources used for the LCE Renewed project. + +## IDA Database + +This IDA Database is compatible with IDA 9.2+, using it on older versions will not work and newer versions require an upgrade. \ No newline at end of file