View Single Post
August 7th, 2010, 01:24 PM
Join Date: Mar 2009
Originally Posted by
Sorry for the delay. The game uses a very long and inefficient way to perform the modulo operation and it does it about 6 times before it actually starts to edit anything. D:
Well from what I can tell, the game is editing the last byte of the
. There is no documentation on that piece of data which means that is possible that it controls obedience. The guy who wrote that article seems to think that it's a halfword (16-bit) but the game reads from it using
so I'm guessing that it is actually two bytes. The 'setobedience' command takes whatever value is stored there, '
's it with '0x7F' (i.e., clears the most significant bit), '
's that with some other value (it was '0x80' for me) and then stores the final result back in the Growth substructure. I'll look more into it later but right now I have to go run a few errands. If anyone's interested, the routine that does what I mentioned above is located at '0x08040A82'.
That's interesting, thanks. Don't worry about delays, take your time. I appreciate the effort.
Oh, and I thought that ldrb was for reading one byte, and that two bytes = 16 bits. So if the game uses ldrb, it's only loading one byte?
Last edited by metapod23; August 7th, 2010 at
View Public Profile
Send a private message to metapod23
Find all posts by metapod23
Find threads started by metapod23
Ignore Posts by metapod23