All pastes #497036 Raw Edit

pu7o

public text v1 · immutable
·published 2007-05-19 16:25 UTC
rendered paste body
Sonic_Peelout:
	        cmpi.b			#2,$39(a0)			; are we charging a peelout?
	        beq.w			Sonic_Peelouting			; if so,go to the peelout charge code
	        cmpi.b			#7,$1C(a0)			; are we using animation 7 (looking up)?
	        bne.w			Sonic_NoPeelout			; if not,don't do anything
	        move.b			($FFFFF603).w,d0			; check currently held buttons
	        andi.b			#$70,d0    			; are A,B or C pressed?
	        beq.w 			Sonic_NoPeelout			; if not,don't do anything
	        move.b			#$0B,$1C(a0)			; start using animation 0C (run)
	        move.w			#$D0,d0
			jsr			(sub_135E).l			; play sound D0 (spindash sound)
			move.b			#2,$39(a0)			; set peelout charge flag
			addq.l			#4,sp

Sonic_NoPeelout:
			rts


Sonic_Peelouting:
			        move.b			($FFFFF602).w,d0
			        btst			#0,d0    			; has up been released yet?
     
			       bne.w			Sonic_EndPeelout			; if not,go to charging code
					move.w			#$BC,d0
					jsr			(sub_135E).l 			; play sound BC
			        move.b			#7,$17(a0)			; set width/2 to $7
			        move.b			#$0C,$1C(a0)			; use animation 1 (running)
			        addq.w			#5,$C(a0)			; add 5 to upper byte of playfield Y coordinate (?)
			        move.b			#0,$39(a0)			; unset peelout charge flag
			        move.w			#$ccc,$14(a0)			; set Sonic's speed to $ccc
			        btst			#0,$22(a0)			; which way are we facing?
			        beq.w			Sonic_NoPeelout			; if we're facing left,don't do anything
			        neg.w			$14(a0)    			; set speed in other direction if we're facing right


Sonic_EndPeelout:
			move.w    #$60,($FFFFF73E).w; reset looking up/down
			addq.l    #4,sp			; Don't process any more movements in this frame.
        			rts
; End of function Sonic_Peelout