aboutsummaryrefslogblamecommitdiff
path: root/tools/lsrc/junko.lsr
blob: e66f4b32dc18962113d0a6cc4b499472c348417f (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13












                                                                                             
                                                                                         



                                                          
                                                                                         




                                                                        
                                                                                         












                                           
                                                                                         



                                                              
                                                                                         



                                                           
                                                                                         
















                                                                        
                                                                                         
























                                                                 
                                                                                         
















                                                                        
                                                                                         
























                                                                 
                                                                                         



                                                             
                                                                                         



                                                           
                                                                                         
















                                                                        
                                                                                         
























                                                                 
                                                                                         
















                                                                        
                                                                                         
























                                                                 
                                                                                         




                                                              
                                                                                         
















                                                                        
                                                                                         
























                                                                 
                                                                                         

                                                            
.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		+26		;do not enter st4========================
add		i04		1		;++i04
mov		i05		i04		;if(i04<8)
sub		i05		8
ltz		i05
jnz		i05		+21		;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		+15		;========================================
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		-17				;========================================
nop						;end of loop
mov		i05		i00		;if(i00<=1536)
sub		i05		1536
elz		i05
jnz		i05		+94		;do not enter st3========================
add		i03		1		;++i03
mov		i05		i03		;if(i03<64)
sub		i05		64
ltz		i05
jnz		i05		+89		;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		+27		;========================================
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		-29				;========================================
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		+27		;========================================
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		-29				;========================================
nop						;end of loop2
mov		i05		i00		;if(i00<=512)
sub		i05		512
elz		i05
jnz		i05		+94		;do not enter st2========================
add		i02		1		;++i02
mov		i05		i02		;if(i02<32)
sub		i05		32
ltz		i05
jnz		i05		+89		;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		+27		;========================================
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		-29				;========================================
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		+27		;========================================
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		-29				;========================================
nop						;end of loop2
add		i01		1		;++i01,stage 1
mov		i05		i01		;if(i01<16)
sub		i05		16
ltz		i05
jnz		i05		+45		;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		+27		;========================================
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		-29				;========================================
nop						;end of loop
,