These are done trivially, using diffs and [https://github.com/CadixDev/gitpatcher gitpatcher].
These are done trivially, using diffs and [https://github.com/CadixDev/gitpatcher gitpatcher].
−
===Clean-up===
+
=== Clean-up ===
Because of the way Proguard (or whatever obfuscator) and ForgeFlower mangle the source code, we need to take some steps to clean it up before we can proceed.
Because of the way Proguard (or whatever obfuscator) and ForgeFlower mangle the source code, we need to take some steps to clean it up before we can proceed.
Line 160:
Line 160:
* removing comments that include the phrase <code>GL_[^*]+</code>
* removing comments that include the phrase <code>GL_[^*]+</code>
* replacing [[Toolchain:Magic Constants|magic constants]] with their code substitutions
* replacing [[Toolchain:Magic Constants|magic constants]] with their code substitutions
−
* replacing <code>Character.valueOf(<character>)</code> with <code><character></code>
+
* replacing <code>Character.valueOf(<character>)</code> with <code><character></code>
* replacing OpenGL integer constants with their code representation
* replacing OpenGL integer constants with their code representation
* converting unicode character constants back into integer representation
* converting unicode character constants back into integer representation
Line 166:
Line 166:
It also adjusts abstract functions in some way - after running the program on a jar, the parameters of a default abstract function get renamed, but it is unclear exactly what part of the source code does this.
It also adjusts abstract functions in some way - after running the program on a jar, the parameters of a default abstract function get renamed, but it is unclear exactly what part of the source code does this.