_runtimePath_ "../runtime" _runtimeStart_ &h7FFF _codeRomType_ ROMv3 'defines the amount of contiguous RAM needed for sprite stripes, (in this case 40*6 + 1) _spriteStripeChunks_ 40, &h0200, descending mode 2 set FGBG_COLOUR, &h3F00 cls 'first load allocates memory, further loads of the same filename are instanced but have different stripe destination offsets load sprite, ../../res/image/Turrican.tga, 0 'normal orientation load sprite, ../../res/image/Turrican.tga, 1, FlipX 'x flipped orientation load sprite, ../../res/image/Turrican.tga, 2, FlipY 'y flipped orientation load sprite, ../../res/image/Turrican.tga, 3, FlipXY 'xy flipped orientation 'first load allocates memory, second is instanced but has different stripe destination offsets load sprite, ../../res/image/Bullet.tga, 4 'normal orientation load sprite, ../../res/image/Bullet.tga, 5, FlipX 'x flipped orientation loop: x0 = 28 x1 = 120 for x=0 to 130 wait sprite noFlip, 0, x, 15 sprite flipX, 1, 130-x, 65 gosub bullets0 next x x1 = 28 x0 = 120 for x=129 downto 1 wait sprite flipX, 1, x, 15 sprite noFlip, 0, 130-x, 65 gosub bullets1 next x goto loop bullets0: sprite flipX, 5, x0, 24 x0 = x0 + 2 if x0 &&> 159 then x0 = x + 28 sprite noFlip, 4, x1, 74 x1 = x1 - 2 if x1 &&< -12 then x1 = 120-x return bullets1: sprite noFlip, 4, x0, 24 x0 = x0 - 2 if x0 &&< -12 then x0 = x - 10 sprite flipX, 5, x1, 74 x1 = x1 + 2 if x1 &&> 159 then x1 = 158-x return