From 1b9c2d36629a7df8671f273c33bd68f33ddfe6e6 Mon Sep 17 00:00:00 2001 From: Clownacy Date: Sun, 25 Oct 2020 11:35:53 +0000 Subject: [PATCH 1/2] Make README explicitly list C++ Cave Story wasn't written in C, only stylised like it. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0f920a46..088dc27a 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ CSE2 is a decompilation of Cave Story. When Pixel made Cave Story, he compiled the original Windows EXE with no optimisations. This left the generated assembly code extremely verbose and easy to read. It also made the code very decompiler-friendly, since the assembly -could be mapped directly back to the original C(++) code. +could be mapped directly back to the original C++ code. Technically, this alone made a decompilation feasible, as was the case for [the Super Mario 64 decompilation project](https://github.com/n64decomp/sm64) - From fe4c14615b3b857e31d18e226a06e36cfc830406 Mon Sep 17 00:00:00 2001 From: Clownacy Date: Sun, 25 Oct 2020 13:34:31 +0000 Subject: [PATCH 2/2] More README cleanup --- README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 088dc27a..1ffc6030 100644 --- a/README.md +++ b/README.md @@ -26,22 +26,22 @@ Technically, this alone made a decompilation feasible, as was the case for [the Super Mario 64 decompilation project](https://github.com/n64decomp/sm64) - however, there was more to be found... -In 2007, a Linux port of Cave Story was made by Peter Mackay and Simon Parzer. +In 2007, a Linux port of Cave Story was made by Simon Parzer and Peter Mackay. Details about it can be found on [Peter's old blog](https://web.archive.org/web/20070911202919/http://aaiiee.wordpress.com:80/). This port received an update in 2011, including two shiny new executables. What -Peter and Simon didn't realise was that they left huge amounts of debugging -information in these executables, including the names of every C++ source file, -as well as the variables, functions, and structs they contained. +they didn't realise was that they left huge amounts of debugging information in +these executables, including the names of every C++ source file, as well as the +variables, functions, and structs they contained. This was a goldmine of information about not just the game's inner-workings, but its _source code._ This is the same lucky-break [the Diablo decompilation project](https://github.com/diasurgical/devilution) -had. With it, much of the game's code was pre-documented and explained _for_ us, -saving us the effort of doing it ourselves. In fact, the combination of +had. With it, much of the game's code was pre-documented and explained, saving +us the effort of doing it ourselves. In fact, the combination of easy-to-decompile code, and a near-full set of function/variable names, reduced much of the decompilation process to mere copy-paste. To top it all off, some of Cave Story's original source code would eventually -see the light of day... +see the light of day: In early 2018, the Organya music engine was [released on GitHub](https://github.com/shbow/organya) by an old friend of Pixel's. On top of providing an insight into Pixel's coding @@ -49,7 +49,7 @@ style, this helped with figuring out one of the most complex parts of Cave Story's codebase. And... that's it! It's not often that a game this decompilable comes along, so -I'm glad that Cave Story was one of them. [Patching a dusty old executable from 2004 has its downsides](https://github.com/Clownacy/Cave-Story-Mod-Loader/blob/master/src/mods/graphics_enhancement/widescreen/patch_camera.c). +I'm glad that Cave Story was one of them. [Patching a dusty old executable from 2005 sucks](https://github.com/Clownacy/Cave-Story-Mod-Loader/blob/master/src/mods/graphics_enhancement/widescreen/patch_camera.c). ## Building