summaryrefslogtreecommitdiff
path: root/Why-should-I-use-this-over-binary-hacking.md
diff options
context:
space:
mode:
Diffstat (limited to 'Why-should-I-use-this-over-binary-hacking.md')
-rw-r--r--Why-should-I-use-this-over-binary-hacking.md12
1 files changed, 12 insertions, 0 deletions
diff --git a/Why-should-I-use-this-over-binary-hacking.md b/Why-should-I-use-this-over-binary-hacking.md
new file mode 100644
index 0000000..75ac552
--- /dev/null
+++ b/Why-should-I-use-this-over-binary-hacking.md
@@ -0,0 +1,12 @@
+Binary hacking is, for the most part, very limited. New features are hard to add without the base functionality being present already and tweaked as a result. On top of that, binary files are not readable by humans, unlike to code. While you may pass modified values to some functions, these values don’t necessarily correspond to a specific action. In addition to that, hurdles of debugging and binary patching are often required to even see something different.
+
+The decompilation, on the other hand, allows for the use of C code, in writing new functions and editing the game mechanics to one’s liking, with more clarity. Some statements in the code are self-explanatory, and unlike binary hacking, modifying the code can serve a person well in real life as it is a valuable skill to use in the industry.
+
+There is also another, if not _the_ most important advantage to using decompilations:
+### **We do not care about offsets.**
+
+Unlike binary hacking, one can easily change the size, locations, even the members of most* variables at their will. The linker (`ld`, in the build process), does the work for you, recalculating and modifying references to variables. Gone are the days of worrying about remaining free space; we just don’t do that here.
+
+*This is due to the incompleteness of the decompilations; for example, SaveBlock2 cannot be modified as of yet since there are many functions that reference it that are not decompiled.
+
+**Before you start hacking, it is recommended that you have some experience in coding in either: C, C#, Java, or any other C-like programming language, if you want to use use the decompilation.** \ No newline at end of file