Sonic Jam
From Sonic Retro
SCHG: Sonic Jam |
---|
Main Article |
Sonic World |
This is the Sonic Community Hacking Guide for Sonic Jam.
Contributors
(In alphabetical order; if you are a contributor and have worked on a specific part of the guide, feel free to note that.)
Miscellaneous
Pieces of the guide not big enough for their own page should be left here.
3D Vectors
3D Vectors consist of 3 longwords. The upper word of each long can be seen as the integer value of the component; $0001 is 1 unit. The lower word is fractional, out of 65536; $8000 becomes 0.5 units (32768 / 65536 = 0.5). In essence, it's like there's a decimal point after the first word.
This is a bit different for negative values. Like all negative numbers, you're counting downwards, so to convert to decimal, you add 1 to the upper word unless the lower word is $0000, and you subtract 65536 from the lower word before dividing. For example, $FFFF0000 is -1.0, but $FFFFC000 is -0.25 (65536 - 49152 = 16384; 16384 / 65536 = 0.25).
Euler Rotation
An Euler Rotation consists of 3 words. Each word rotates around one axis: X, Y, and Z in order (though the three don't always point how you'd expect). $0000 is 0 degrees of rotation, $8000 is 180 degrees of rotation.
I've yet to confirm if all Euler Rotations have the same handedness.
External Links
References