Qhimm.com Forums
Miscellaneous Forums => Scripting and Reverse Engineering => Topic started by: DLPB_ on 2013-04-17 03:15:15
-
I have been busy with the trainer. One thing I have already added is the ability to increase the speed much further than usual. The default speed values are 1 2 3 4. However, with simple hex change, this can be made up to 7F (although there is no speed increase beyond a much lower value for some reason). The speed doesn't work as I expected though. 1 2 3 4 all have distinct speed ups. But later on, there is a higher ump at around 1A. The comparison to change is at 005FE608.
Anyone shed light on how this value decides game speed? I will add this tweak to my trainer, but knowing how it all works properly would help also. I am a little busy to go into it in detail.
-
I suspect the problem is in a different place. Then again, I don't really know how any of it works at all. I did find an interesting snippet that might help.
Starting at 0x5F8C1B it checks the value you mentioned. It will do three things that are dependent on the value of 0xC752B4 (the address checked at the location you mentioned). It will either write a 0 or a 2 to three addresses.
Value 0xC736F0 0xC73718 0xC73740
< 2 2 2 2
2 0 2 2
3 0 0 2
>=4 0 0 0
The problem I see is that it doesn't care how high above 4 it goes, it will still set these the same. I don't know what these addresses do, but they're part of a larger multi-dimensional array that is at least 60 x 40 bytes.
I also don't know what magic apparently happens with 1A.
-
The main place where the value is used seems to be 0x5FF576 with regards to speed. It is obv more complicated than increase byte = increase speed, although there is definitely a correlation.