aboutsummaryrefslogtreecommitdiff
path: root/tools/lsrc/junko.lsr
diff options
context:
space:
mode:
Diffstat (limited to 'tools/lsrc/junko.lsr')
-rw-r--r--tools/lsrc/junko.lsr287
1 files changed, 287 insertions, 0 deletions
diff --git a/tools/lsrc/junko.lsr b/tools/lsrc/junko.lsr
new file mode 100644
index 0000000..df0f3ce
--- /dev/null
+++ b/tools/lsrc/junko.lsr
@@ -0,0 +1,287 @@
+.init ;junko's final spell card...
+mov i00 0 ;i00: stage counter
+mov i01 0 ;st1 circle counter, st1: red*28, 16, fair
+mov i02 0 ;st2 circle counter, st2: purple*10, 32, fair
+mov i03 0 ;st3 circle counter, st3: blue*60, 64, faster, random
+mov i04 0 ;st4 circle counter, st4: cyan*25, 8, fastest, fixed
+,
+
+.update
+add i00 1 ;++i00
+mov i05 i00 ;if(i00<=2560)
+sub i05 2560
+elz i05
+jnz i05 40 ;do not enter st4========================
+add i04 1 ;++i04
+mov i05 i04 ;if(i04<8)
+sub i05 8
+ltz i05
+jnz i05 40 ;do not shoot st4 bullets================
+mov i04 0
+mov i06 0 ;for(i06=0;i06<25;++i06)
+mov i07 i06
+sub i07 25
+ltz i07
+jez i07 40 ;========================================
+mov r00 i06
+mul r00 0.251327412
+add r00 1.570796327
+push r00
+push 4.0
+push 200.0
+push 400.0
+call createBullet
+push 1
+push 3
+push irt
+call setBulletPropi
+add i06 1
+jmp 22 ;========================================
+nop ;end of loop
+mov i05 i00 ;if(i00<=1536)
+sub i05 1536
+elz i05
+jnz i05 138 ;do not enter st3========================
+add i03 1 ;++i03
+mov i05 i03 ;if(i03<64)
+sub i05 64
+ltz i05
+jnz i05 138 ;do not shoot st3 bullets================
+mov i03 0
+push 250.0 ;get random source1
+push 150.0
+call randr
+mov r01 rrt
+push 250.0
+push 150.0
+call randr
+mov r02 rrt
+push 6.28
+push 0.0
+call randr
+mov r03 rrt
+mov i06 0 ;for(i06=0;i06<60;++i06)
+mov i07 i06
+sub i07 60
+ltz i07
+jez i07 94 ;========================================
+mov r00 i06
+mul r00 0.104719755
+sub r00 r03
+mov r04 r02 ;r02-=30*sin(r00)
+push r00
+call sin
+mov r06 rrt
+mul r06 30
+sub r04 r06
+mov r05 r01 ;r01-=30*cos(r00)
+push r00
+call cos
+mov r06 rrt
+mul r06 30
+sub r05 r06
+push r00
+push 2.5
+push r04
+push r05
+call createBullet
+push 6
+push 3
+push irt
+call setBulletPropi
+add i06 1
+jmp 64 ;========================================
+nop ;end of loop1
+push 650.0 ;get random source2
+push 550.0
+call randr
+mov r01 rrt
+push 250.0
+push 150.0
+call randr
+mov r02 rrt
+push 6.28
+push 0.0
+call randr
+mov r03 rrt
+mov i06 0 ;for(i06=0;i06<60;++i06)
+mov i07 i06
+sub i07 60
+ltz i07
+jez i07 138 ;========================================
+mov r00 i06
+mul r00 0.104719755
+sub r00 r03
+mov r04 r02 ;r02-=30*sin(r00)
+push r00
+call sin
+mov r06 rrt
+mul r06 30
+sub r04 r06
+mov r05 r01 ;r01-=30*cos(r00)
+push r00
+call cos
+mov r06 rrt
+mul r06 30
+sub r05 r06
+push r00
+push 2.5
+push r04
+push r05
+call createBullet
+push 6
+push 3
+push irt
+call setBulletPropi
+add i06 1
+jmp 108 ;========================================
+nop ;end of loop2
+mov i05 i00 ;if(i00<=512)
+sub i05 512
+elz i05
+jnz i05 236 ;do not enter st2========================
+add i02 1 ;++i02
+mov i05 i02 ;if(i02<32)
+sub i05 32
+ltz i05
+jnz i05 236 ;do not shoot st2 bullets================
+mov i02 0
+push 250.0 ;get random source1
+push 150.0
+call randr
+mov r01 rrt
+push 250.0
+push 150.0
+call randr
+mov r02 rrt
+push 6.28
+push 0.0
+call randr
+mov r03 rrt
+mov i06 0 ;for(i06=0;i06<10;++i06)
+mov i07 i06
+sub i07 10
+ltz i07
+jez i07 192 ;========================================
+mov r00 i06
+mul r00 0.628318531
+sub r00 r03
+mov r04 r02 ;r02-=25*sin(r00)
+push r00
+call sin
+mov r06 rrt
+mul r06 25
+sub r04 r06
+mov r05 r01 ;r01-=25*cos(r00)
+push r00
+call cos
+mov r06 rrt
+mul r06 25
+sub r05 r06
+push r00
+push 2.5
+push r04
+push r05
+call createBullet
+push 3
+push 3
+push irt
+call setBulletPropi
+add i06 1
+jmp 162 ;========================================
+nop ;end of loop1
+push 650.0 ;get random source2
+push 550.0
+call randr
+mov r01 rrt
+push 220.0
+push 180.0
+call randr
+mov r02 rrt
+push 6.28
+push 0.0
+call randr
+mov r03 rrt
+mov i06 0 ;for(i06=0;i06<10;++i06)
+mov i07 i06
+sub i07 10
+ltz i07
+jez i07 236 ;========================================
+mov r00 i06
+mul r00 0.628318531
+sub r00 r03
+mov r04 r02 ;r02-=25*sin(r00)
+push r00
+call sin
+mov r06 rrt
+mul r06 25
+sub r04 r06
+mov r05 r01 ;r01-=25*cos(r00)
+push r00
+call cos
+mov r06 rrt
+mul r06 25
+sub r05 r06
+push r00
+push 2.5
+push r04
+push r05
+call createBullet
+push 3
+push 3
+push irt
+call setBulletPropi
+add i06 1
+jmp 206 ;========================================
+nop ;end of loop2
+add i01 1 ;++i01,stage 1
+mov i05 i01 ;if(i01<16)
+sub i05 16
+ltz i05
+jnz i05 286 ;do not shoot st1 bullets================
+mov i01 0
+push 450.0 ;get random source1
+push 350.0
+call randr
+mov r01 rrt
+push 250.0
+push 150.0
+call randr
+mov r02 rrt
+push 6.28
+push 0.0
+call randr
+mov r03 rrt
+mov i06 0 ;for(i06=0;i06<28;++i06)
+mov i07 i06
+sub i07 28
+ltz i07
+jez i07 286 ;========================================
+mov r00 i06
+mul r00 0.224399475
+sub r00 r03
+mov r04 r02 ;r02-=40*sin(r00)
+push r00
+call sin
+mov r06 rrt
+mul r06 40
+sub r04 r06
+mov r05 r01 ;r01-=40*cos(r00)
+push r00
+call cos
+mov r06 rrt
+mul r06 40
+sub r05 r06
+push r00
+push 2.5
+push r04
+push r05
+call createBullet
+push 4
+push 3
+push irt
+call setBulletPropi
+add i06 1
+jmp 256 ;========================================
+nop ;end of loop
+, \ No newline at end of file