ThomasSpeedrunner icon

Dynamic Jump Height Calculation System

ThomasSpeedrunner | PRO | 05/26/13 11:34:48 PM UTC | 0 ⭐ | 426 πŸ‘οΈ | Never ⏰ | []
text |

970 B

|

None

|

0 πŸ‘

/

0 πŸ‘Ž

	move.w	#$680,d2		; set stats
	tst.b	(Super_Sonic_flag).w	; Test if super
	beq.s	+			; if not, branch
	move.w	#$880,d2		; set higher jump speed if super
+
	btst	#6,status(a0)		; Test if underwater
	beq.s	+			; if not, branch
	move.w	#$380,d2		; set lower jump speed if underwater
	tst.b	(Super_Sonic_flag).w	; Test if super
	beq.s	+			; if not, branch
	move.w	#$480,d2		; set higher jump speed if super
+
	btst	#3,status_secondary(a0) ; Test if high jump powerup is active
	beq.s	+			; if it isn't, branch
	move.w	#$880,d2		; So it is? Set Sonic's jump height
	tst.b	(Super_Sonic_flag).w	; Test to see if we're in our Super form
	beq.s	+			; if we aren't, branch
	move.w	#$A80,d2		; So we are? Set Sonic's jump height
	btst	#6,status(a0)		; Test if underwater
	beq.s	+			; if not, branch
	move.w	#$480,d2		; set lower jump height if underwater
	tst.b	(Super_Sonic_flag).w	; Test if super
	beq.s	+			; if not, branch
	move.w	#$580,d2		; set higher jump height if super
+

Comments