All pastes #520556 Raw Edit

Upthorn

public text v1 · immutable
#520556 ·published 2007-05-29 23:51 UTC
rendered paste body
loc_1A2B8:
		bsr.w	loc_1AC3E
		bsr.w	loc_1AA38
		bsr.w	loc_1AD96
		bsr.w	loc_1A35A
		bsr.w	loc_1A9D2
		bsr.w	loc_1A974
		bsr.s	ChkWalk
		jsr	sub_163AC
		bsr.w	loc_1E234
		bsr.w	loc_1AE08

locret_1A2DE:
		rts

walk:
		btst	#6,($FFFFF602).w	; check if a is held
		beq.s	nwalk			; branch if not
		tst.b	(Sonic_Walking).w	; is sonic already walking?
		bne.s	walk_return		; branch if he is
		cmpi.w	#0,$14(a0)		; check sonic is moving
		beq.s	walk_return		; branch if not
		move.w	#$400,(Sonic_top_speed).w
		move.w	#$C,(Sonic_acceleration).w
		move.w	#$80,(Sonic_deceleration).w
		move.b	#1,(Sonic_Walking).w	; set the walking flag
		btst	#0,$22(a0) 	; check direction
		bne.s	walkl
		move.w	#$300,$14(a0) 	; right
		rts

walkl:
		move.w	#-$300,$14(a0) 	; left
		rts

nwalk:
		tst.b	(Sonic_Walking).w	;is the sonic walking flag set
		bne.s	run		;then let him run again
walk_return:			;otherwise, do nothing
		rts

run:
		move.w	#$600,(Sonic_top_speed).w
		move.w	#$C,(Sonic_acceleration).w
		move.w	#$80,(Sonic_deceleration).w
		clr.b	(Sonic_Walking).w	; clear the walking flag
		;walkwalkwalk
		rts