Post subject: Cheat engine: How do I get it to consider signed variables?
sack_bot
He/Him
Player (111)
Joined: 11/27/2011
Posts: 394
Location: Massachusetts
I'm haiving a problem with using cheat engine to ram watch as it doesn't seem to recognize signed ints. What can I do?
Message me here for my discord. Current Project: Psycho Waluigi Project on wait list: None?
Active player (260)
Joined: 8/18/2013
Posts: 145
Location: location, location!
Signed or unsigned isn't a specific property of a byte or any , it's an interpretation. Unsigned -1 is 2^32-1, and stored as that. The bits of signed -1 are the same as the bits of signed 2^31+1, assuming it uses the normal two's complement metthod (http://en.wikipedia.org/wiki/Two%27s_complement). It doesn't make a difference if Cheat Engine is interpreting everything as signed or unsigned, and because it isn't really possible (as far as I know) to tell what a program is interpreting a specific byte as from outside the program (I'm not sure about this, I think it's right, but please correct me if it isn't) it can't just use the program interpretation. So if you're looking for a value you know should be negative, and Cheat Engine is interpreting everything as unsigned, search for greater than or equal to 2^31+1 (2147483649). If Cheat Engine is interpreting everything as signed, search for less than 0.
Current TAS: [SNES] Jelly Boy [NES] Street Fighter 2010
sack_bot
He/Him
Player (111)
Joined: 11/27/2011
Posts: 394
Location: Massachusetts
thelegendarymudkip wrote:
Signed or unsigned isn't a specific property of a byte or any , it's an interpretation. Unsigned -1 is 2^32-1, and stored as that. The bits of signed -1 are the same as the bits of signed 2^31+1, assuming it uses the normal two's complement metthod (http://en.wikipedia.org/wiki/Two%27s_complement). It doesn't make a difference if Cheat Engine is interpreting everything as signed or unsigned, and because it isn't really possible (as far as I know) to tell what a program is interpreting a specific byte as from outside the program (I'm not sure about this, I think it's right, but please correct me if it isn't) it can't just use the program interpretation. So if you're looking for a value you know should be negative, and Cheat Engine is interpreting everything as unsigned, search for greater than or equal to 2^31+1 (2147483649). If Cheat Engine is interpreting everything as signed, search for less than 0.
So I have to use the ranges? Can I display a value as signed while I have it in my ramwatch? That kida sucks that I cant ask cheat engine to consider everything signed
Message me here for my discord. Current Project: Psycho Waluigi Project on wait list: None?
creaothceann
He/Him
Editor
Joined: 4/7/2005
Posts: 1874
Location: Germany
You can use Lua to display values differently.
Masterjun
He/Him
Site Developer, Skilled player (1972)
Joined: 10/12/2010
Posts: 1179
Location: Germany
Or I just don't understand the problem at hand... I mean you can even show signed values in the search list in the settings...
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
sack_bot
He/Him
Player (111)
Joined: 11/27/2011
Posts: 394
Location: Massachusetts
Masterjun wrote:
Or I just don't understand the problem at hand... I mean you can even show signed values in the search list in the settings...
Oh. I'll try that. I didn't find that setting in the settings menu, probably should serch through it again.
Message me here for my discord. Current Project: Psycho Waluigi Project on wait list: None?