4cade/res/notes/transitions/shr_radial.py
2021-12-16 22:07:35 -05:00

33 lines
718 B
Python
Executable File

#!/usr/bin/env python3
import math
import util
radius_x = 160//2
radius_y = 100//2
def f(x,r=36.3):
try:
return math.sqrt(r*r*(1.0-(x*x/(r*r*0.6))))
except:
return -1
coords = []
for i in range(30000, 0, -1):
a = float(i)/1000.0
b = f(a)
for x in range(80, 0, -1):
y = round(float(x)*b/a)
if x < 1 or x > radius_x or y < 1 or y > radius_y:
continue
for m in range(1, y+1):
coords.append((2*(radius_y - m), radius_x - x))
unique_coords = util.unique(coords)
util.write("../../../src/fx/fx.shr.radial.data.a", unique_coords, header="""!cpu 6502
!to "build/FX/SHR.RADIAL.DATA",plain
*=$9F00
""", footer=""" !byte 128
""")