aboutsummaryrefslogblamecommitdiff
path: root/tools/lsrc/junko.lsr
blob: df0f3ce18d13f44d47bc87368a9a7042133eab01 (plain) (tree)






























































































































































































































































































                                                                                             
.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
,