awarpdash

by furyfulfawful

Game: SMW

Description: player can warp in the direction of the dpad by pressing A

!BelowR = $0f24
!A = #$0a
!exclaim = #$28

lda !A
sta $0f09

lda !exclaim
sta !BelowR	

LDA $100	; \ only run in gamemode 14
	EOR #$14	; |
	ORA $9D		; | and when the game isn't paused
	BEQ +		; |
	RTL		; |
	+		; /
        PHB
	PHK
	PLB		
  
LDA $18
AND #$80   ; A
BEQ +
LDA $15
AND #$0F   ; dpad only

TAX
REP #$20
LDY WARPDASH_DATA_X,X
LDA $0094
-
CPY #$00
BEQ ++
BPL X_ADD
BMI X_MIN
X_ADD:
BEQ ++
DEY
ADC #$0016
BRA -
X_MIN:
INY
SBC #$0016
BRA -
++
STA $0094
LDY WARPDASH_DATA_Y,X
LDA $0096
-
CPY #$00
BEQ ++
BPL Y_ADD
BMI Y_MIN
Y_ADD:
DEY
ADC #$0016
BRA -
Y_MIN:
INY
SBC #$0016
BRA -
++
STA $0096
+

PLB  
RTL

WARPDASH_DATA_X: db $00,$03,$FD,$00,$00,$02,$FE,$00,$00,$02,$FE,$00,$00,$03,$FD,$00

WARPDASH_DATA_Y: db $00,$00,$00,$00,$03,$02,$02,$03,$FD,$FE,$FE,$FD,$00,$00,$00,$00
back to listings