My purpose is to share every step made to learn how to code edit. After i learn C++ and reverse engineering ill start to write guides. Im sharing my weekly progress (Updated day by day.) on this blog. Maybe if someone wants to learn how to code edit, he or she(!?) can clearly see what it takes to achieve that.I have been modding Diablo II for a long time. But everytime i had an idea, something was stopping me, limiting me. That was because of something called "hardcoding". Almost everything is possible with it, if you know C++, ASM and reverse engineering/DLL injecting-hooking techniques you are good to go. The problem is, i dont have any experience on one of these. I also even didnt had the time to learn them. So my years past being jelous about code editor members of the keep (d2mods.info). I looked at the things they have done while being extremely jelous at the same time.
After a long time, i finally graduated from high-school and going to a collage after a stressful exam period. Now, i have free time. This means im gonna bite the bullet and start learning hardcoding. Im gonna start by a book i borrowed from my cousin, it is called "DEITEL - C++ HOW TO PROGRAM (Sixth Edition)". I thinks its a good place to start, why not?
I suck at maths and suck at programmin languages but still, there is a little hope. If you really want something, you can achieve it. So i decided to make this blog. Maybe years later someone will read this and share the same steps with me. Im gonna try to share every thing i learn reguraly. They wont be detailed. Im just gonna write the topics. When i start hardcoding Diablo (One day...) ill make detailed tutorials hopefully and they will be beginner friendly. Anyways enough about dreaming, lets do this. Stay with me on this journey.
Click here for the blog.
UPDATE: New website, WIP File Center and %99 uptime 3 years of premium host. Thanks for the messages!
Things I Have Learned So Far (From my blog):
Code: Select all
DAY 1
+ Language types (Machine, Assembly and High-Level)
+ C++ Development Environment (Editor -> Preprocessor -> Compiler -> Linker -> Loader -> CPU)
+ Software Technologies (MySQL, PHP, Ruby etc.)
+ Boost Libraries
+ Object Techology and UML
+ Microsoft Security Development Lifecycle (SDL)
+ Pre-compiled Headers (stdafx.h)
+ Tracker (tlog files), cleaning & rebuilding solutions.
+ SDKDDKVer.h & WinSDKVer.h (What version of Windows to build the application.)
+ External Dependencies
+ C Standard Input and Output Library (cstdio / stdio.h)
+ Generic-Text Mapping (tchar.h)
+ Input/Output Stream Header File (iostream) for C++ style
+ #pragma once (preprocessor directive). Causes the current source file to be included only once in a single compilation.
+ Comments and white spaces.
+ Functions, the body of the functions and the statements.
+ Standart output stream object (std::cout), stream insertion operator (<<), input stream object (std::cin), stream extraction operator (>>), stream manipulator (std::endl)
+ Escape sequences (\n, \t, \r, \a, \\, \', \").
+ Return statement and exiting a function (return 0;).
+ Declaring variables.
+ Arithmetic operators (+, - , *, /, %),Relational operators ( >, <, >=, <=, ==, !=)
+ If statement.
+ Defining a class.
+ public: Access-specifier
+ void return type. It wont return any data.
+ C++ Standart String Class <string>
+ Using getline function.
+ Parameters, arguments.
+ Data hiding (private:)
+ Get and Set functions.
+ Constructors
DAY 2
+ Creating Header files for classes and including them to source codes.
+ .length and .substr.
+ Algorihms basics and pseudocode.
+ Booleans.
+ Conditional operator (?:), if ... else, nested if ... else, dangling if ... else, while.
+ Null statement.
+ Sentinel value.
+ Top down & stepwise refinement.
+ Float, double.
+ <iomanip> parametric manipulators, std::setprecision
+ Unary cast operator ( static_cast< type > )..
+ Parameterized stream manipulator (setprecision), fixed, showpoint.
+ Assignment operator +=, -=, *=, /=, %=.
+ Increment/decrement operators a++/++a & a--/--a.
+ Further knowledge of UML.
DAY 3
+ Essentials of counter-controlled repetition (while, for, do ... while, switch).
+ std::setw (set field width).
+ Standart C++ math library <cmath>.
+ std::pow & pow
+ Usage of cin.get();
+ EOF (<iostream>).
+ Short (-32,768 to 32,767) & long (-2,147,483,648 to 2,147,483,647) & char.
+ Break and continue (-> for skipping).
+ Logical operators && (AND), || (OR), ! (NOT).
+ Boolalpha & noboolalpha (True & 1).
+ == VS. =.
+ sqrt(x), celi(x), cos(x), log(x), log10(x), sin(x), tan(x).
+ Multiple arguments & return expressions.
+ Function signatures, argument coercion, argument promotion rules.
+ Signed int and unsigned/unsigned long int.
+ <cstdlib>, rand();, std::rand, std::srand, srand(seed);.
+ Shifting & scaling integers -> 1 + rand() % 6 etc..
+ Time(0) -> Clock as second, <ctime>
+ Enumeration (enum).
+ Storage classes (Auto, register, static).
+ Scope rules.
+ Function call stack & activation records.
+ Functions with empty paramet lists.
+ References & references as alias.
+ Default arguments.
+ Unary scope resolution operator (::)
+ Function overloading.
+ Function templates.
+ Recursion VS. iteration.
+ Further knowledge of UML.