diff --git a/res/ARTWORK.SHR.SCORES/ALIEN.AMBUSH b/res/ARTWORK.SHR.SCORES/ALIEN.AMBUSH index 4941a28e1..74d357563 100644 --- a/res/ARTWORK.SHR.SCORES/ALIEN.AMBUSH +++ b/res/ARTWORK.SHR.SCORES/ALIEN.AMBUSH @@ -1 +1 @@ - 366.6186156999756 + 360.76131384665905 diff --git a/res/ARTWORK.SHR.SCORES/ALIEN.MUNCHIES b/res/ARTWORK.SHR.SCORES/ALIEN.MUNCHIES index df37146e3..aaeb469e3 100644 --- a/res/ARTWORK.SHR.SCORES/ALIEN.MUNCHIES +++ b/res/ARTWORK.SHR.SCORES/ALIEN.MUNCHIES @@ -1 +1 @@ - 428.2243931616122 + 414.42902539011936 diff --git a/res/ARTWORK.SHR.UNCOMPRESSED/ALIEN.AMBUSH b/res/ARTWORK.SHR.UNCOMPRESSED/ALIEN.AMBUSH index 490fb93c2..632cdfd75 100644 Binary files a/res/ARTWORK.SHR.UNCOMPRESSED/ALIEN.AMBUSH and b/res/ARTWORK.SHR.UNCOMPRESSED/ALIEN.AMBUSH differ diff --git a/res/ARTWORK.SHR.UNCOMPRESSED/ALIEN.MUNCHIES b/res/ARTWORK.SHR.UNCOMPRESSED/ALIEN.MUNCHIES index 69012ae91..994d7dd46 100644 Binary files a/res/ARTWORK.SHR.UNCOMPRESSED/ALIEN.MUNCHIES and b/res/ARTWORK.SHR.UNCOMPRESSED/ALIEN.MUNCHIES differ diff --git a/res/ARTWORK.SHR/ALIEN.AMBUSH b/res/ARTWORK.SHR/ALIEN.AMBUSH index a377565bb..b6c696275 100644 Binary files a/res/ARTWORK.SHR/ALIEN.AMBUSH and b/res/ARTWORK.SHR/ALIEN.AMBUSH differ diff --git a/res/ARTWORK.SHR/ALIEN.MUNCHIES b/res/ARTWORK.SHR/ALIEN.MUNCHIES index 9aef13c52..ad6444d3e 100644 Binary files a/res/ARTWORK.SHR/ALIEN.MUNCHIES and b/res/ARTWORK.SHR/ALIEN.MUNCHIES differ diff --git a/res/SFX.CONF b/res/SFX.CONF index ac3129e55..32c5290a6 100644 --- a/res/SFX.CONF +++ b/res/SFX.CONF @@ -46,6 +46,7 @@ SHR.80BOXES SHR.FIZZLE SHR.RIPPLE SHR.TWOPASS.LR +SHR.RADIAL SHR.80.SNAKE SHR.DIAGONAL SHR.80.DOWN diff --git a/res/notes/transitions/shr_radial.py b/res/notes/transitions/shr_radial.py new file mode 100755 index 000000000..81c5f40c8 --- /dev/null +++ b/res/notes/transitions/shr_radial.py @@ -0,0 +1,32 @@ +#!/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 +""") diff --git a/src/fx/fx.shr.precomputed.a b/src/fx/fx.shr.precomputed.a index 9d97c9e5f..396026504 100644 --- a/src/fx/fx.shr.precomputed.a +++ b/src/fx/fx.shr.precomputed.a @@ -66,15 +66,14 @@ stage2 inx bne - +READ_RAM1_WRITE_RAM1 + rts startzp !pseudopc 0 { -exit rts ; also terminates stage2 code InputLoop - ldy #0 -input ldx coords, y ; first value: SHR row (only 0..99 will be in input array) +input ldx coords ; first value: SHR row (only 0..99 will be in input array) bmi exit ; if > 127 then we're done - inc