The hit horizontal angles are based on the stick input direction, the swing type, and the frame of contact. For slaps, only frames 2-10 are used. For charge, frames 3-9 are used.
Frames count down until the ball has passed the batter. Therefore, frame 10 is the earliest swing timing, and frame 2 is the latest swing timing.
These are byte angles, which are out of 4096 instead of 360. To convert from degrees to bytes, just do (desired degrees) * 4096/360. Numbers above 4096 get normailzed to be between 0 and 4096
0 is defined as straight ahead towards the pitchers mound. Positive numbers are on the 3B side, and negative numbers are on the 1B side. Negative numbers are represented by amount below 65536.
For example, -10 is 65526. This is then normalized to 4086, which is 10 below the maximum value of 4096. This angle would be just to the right of 2B.
Frame Lower Bound Angle Upper Bound Angle
Frame 0
Frame 1
Frame 2
Frame 3
Frame 4
Frame 5
Frame 6
Frame 7
Frame 8
Frame 9
Frame 10
Frame 11
Frame 12
Frame 13
Frame 14