I still cannot figure out how to actually DO something
Sure, I totally forgot to instruct you on this.
The difficulty of implementations ranges from extra hard to simple. I'll give you an example with a simple change. Simple change is a numerical value change of some part of the game
Let's take the general USO detection % in TFTD, and see the change, step by step.
1. you get a Hex editor. Some are better, some worse, some are freeware, some not. You search, you read reccomendations, you choose a good one (important). I use Winhex (great, not freeware, it has quick hexadecimal converter tool).
2. You open the exe you're working on (I usually create a copy so I can fiddle with it without corrupting the program).
3. You go to IDA, find the UpdateUFoVisibilityAndActivity fonction.
4. Now, look at the bottom frame. There is a hex address, the fonction starts at 0x61C20 (0x is a common convention to display hex adresses)
5. You find the random detection factor at address 0x61DCC. It reads: push 64h, call GetRandom_0_n. 64h = 100 (use Win scientific calculator to convert hexadecimal numbers if necessary). 100 stands for 100%, if the game rolls % over the max radar %, the UFO remains undetected.
6. You go to Hex editor. You go to the adress 61DCC (every solid hexeditor has a Go to function). You see "6A 64", which means "push 64". Let's say we want the USOs to be twice as hard to detect. We overwrite "6A 64" (100%) with "6A C8" (200%).
7. Save the exe.
8. ====> Every USO is now twice as hard to detect with radars.
9. You probably rename your exe to something like 200detectUSO.exe and store it somewhere. You may create diff files as well, that store the changes (not my way, but it is a good thing).
10. You make another conversion of another game thing.
38. You combine all your exe changes with a hexeditor into one file (If you need some info on this later, just ask).
You may want to use harder changes. For this, you need a very good skill in reading the code AND making small changes first.
Edited by kyrub, 23 May 2011 - 09:41 AM.