There's part of this game I'm hacking that uses float as the datatype even though it should be integer, for example with the skill points. The value is always a whole number, so here's my problem.
There aren't a lot of places that access the address, only 2 to be exact. I set an execute breakpoint (to see what else accesses this location) and found out that there's lots of other accessing with other values from this location. If I were to just write a simple code cave as usual, the game will crash. However, I did notice in the FPU that lots of the other values being passed through the location are not whole numbers, meaning they all have some trailing digits other than 0 behind the decimal point.
My question is how can I determine, in ASM, whether a floating-point number contains any non-zero digits in the mantissa or if it's a whole number with no fractional part?