Quote:
Originally Posted by Histerius
All functions that deal with locations have parameters defined as integers, from getElementAt() to nextLocation() and everything inbetween. So, it shouldn't be a problem: the definition should be changed to float, a bit of rounding, a bit of recompiling and that's it. Not that I promise I'll do that  I'm programming 20 hours a day for the last three days and I barely see anything, but it should be easy.
|
Actually, that's exactly the hard part. First of all, all kindle source is obfuscated at the bytecode level. AKA, you don't know the names of any of the methods, variables, classes, etc. It's most likely found somewhere like com.amazon.impl.framework.Ba.C.a in a method called J(S.d a, K.r b). You'll have a hell of a time decompressing, decompiling, modifying, recompiling, recompressing, uploading, restarting and seeing if you made the right change.
Now, IF you found where the page percentage is stored, the first thing you need to do is change to a float or double, like you said. Now, Java bytecode does this crazy thing where each primitive value uses a different set of commands. Now you need to change all the "iload"s to "fload" "iadd" to "fadd" etc. (Assuming you know where ALL the obfuscated occurrences of the page percentage is found at). Now you need to go to every place that references "Package com.amazon.d, Class C.a, variable h" or something, change all the references from int to double/float (to avoid crashes). There are over 2000 classes to search through, so good luck.
I'm not purposely trying to discourage you (ok, maybe I am), but the reason why there isn't any "hacks" in the kindle framework (all the "hacks" are in the linux backend) is because of the amount of difficulty it takes to do so.