5 ms·
Decompilation of Minecraft: Legacy Console Edition
- tallytarik 2y agoI remember scoring an early key for the Xbox 360 edition by solving a puzzle tweeted out by one of the developers. I was thrilled… my friends weren’t!
- gjsman-1000 2y agoAppears to already be mostly abandoned with the last activity being four months old - but I was very surprised to see there's a decomp project of Super Mario Odyssey, with commits from just 21 minutes ago. Less than 10% complete though (and, legally, I wouldn't touch it with a 9 1/2 foot pole - Nintendo could argue that the only way the assembly code was even obtainable was through DMCA violations and TOS violations). https://github.com/MonsterDruide1/OdysseyDecomp https://github.com/MonsterDruide1/OdysseyDecomp
- apetresc 2y agoI don’t know about the actual laws on the books, but practically speaking decomps have been a thing for a while now and don’t seem to have gotten any pushback from Nintendo. There’s an entire community of development tools and rpm hacks built around Pokémon Emerald and FireRed for years now, for example. There are ports and enhancements of SM64 to everything now that are based on a decomp. If this was going to be in their crosshairs I think we would have gotten at least a warning shot by now.
- throwaway48476 2y agoRockstar DMCAd the gta 3 decomp before launching their awful remaster.
- granimated 2y agoOdyssey is just a more fun project! We have an entire function map over there so its an easier process. MinecraftLCE will have some steam rolling again once I finish automating porting vtable symbols, but I haven’t touched my code for that in a month.
- nu11ptr 2y agoI recall Minecraft was initially written in Java back in the day, however, I see this decompilation is in C++. I see several files with class names like "BufferedOutputStream" and several others with Java stdlib names. Did MS do a rewrite in C++ but then convert some of the used Java stdlib classes 1:1 into C++?
- gjsman-1000 2y agoMinecraft Java was the first version, and is still around today. Later, Mojang hired 4J to make the console versions. Java on consoles was a bad combination, so they started writing their ports fresh from C++, but heavily derived from the Java upstream as point of reference. Meanwhile, Mojang was developing their own, separate C++ rewrite in house for the pocket edition. This “Bedrock” edition later expanded into the Windows 10 edition, caught up to Java for almost all functionality, and around Update Aquatic replaced the old 4J version on consoles. This particular project is a decompilation of the discontinued 4J line. As to why Bedrock / PE beat 4J, it’s not completely clear, but there is some well founded speculation. Most likely, when pocket edition was started and 4J was hired (~2011), the idea phones and consoles could run the same version was far away, Mojang didn’t want to worry about consoles, and may not have believed feature parity between platforms to be possible. As phones became more powerful, and as the pocket edition became feature complete after over half a decade, Microsoft decided they only needed one. A shame really because 4J’s version was, in some ways, still a better console experience.
- apatheticonion 2y agoI miss the modding from the original Java version - specifically the technology packs. Microcontrollers you can program to create farming robots, electricity, electric tools, solar, oil, those were the good days! Bedrock performs fantastically and can be played in VR - but sadly lacks the things about Java that I actually liked.
- gjsman-1000 2y agoThose are still around - look into Fabric or Forge. Bedrock… mixed feelings on it myself. I don’t think I’m alone - you can find no shortage of videos saying 4J did a better job on consoles than Microsoft’s glorified mobile game.
- zamadatix 2y agoDecomplation _project_. The title change had me excited this was anywhere near complete.
- aninteger 2y ago> If you are on Ubuntu 18.04... Probably best to use a slightly newer Ubuntu.
- Jotalea 2y agoHaven't looked at the code nor tried it yet, but my guess is that the old code requires old base software.