# 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 by the lower word, and divide by that. 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.