Initial commit version 0.1.0

This commit is contained in:
2025-06-04 22:11:31 -04:00
commit f5fd13eb8a
45 changed files with 2575 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
; RYB Stage 10 DragTargetAngle atan2
; atan2 approximation in radians from https://math.stackexchange.com/a/1105038
if (RYB.dXAbs >= RYB.dYAbs)
set RYB.a to RYB.dYAbs / RYB.dXAbs
else
set RYB.a to RYB.dXAbs / RYB.dYAbs
endif
set RYB.s to RYB.a * RYB.a
set RYB.r to ((-0.0464964749 * RYB.s + 0.15931422) * RYB.s - 0.327622764) * RYB.s * RYB.a + RYB.a
if (RYB.dYAbs > RYB.dXAbs)
set RYB.r to RYB.halfPi - RYB.r
endif
if (RYB.dX < 0)
set RYB.r to RYB.pi - RYB.r
endif
if (RYB.dY < 0)
set RYB.r to -RYB.r
endif
set RYB.DragTargetAngle to RYB.r * RYB.radToDeg ; radians→deg
; convert mathematical angle → Oblivion heading: heading = (90 angle) mod 360
set RYB.DragTargetAngle to 90.0 - RYB.DragTargetAngle
if (RYB.DragTargetAngle < 0)
set RYB.DragTargetAngle to RYB.DragTargetAngle + 360
endif