adjust kydreeok movement boundaries

This commit is contained in:
scawful
2024-06-07 17:24:57 -04:00
parent d1ba08edb5
commit 7c047621a0

View File

@@ -409,74 +409,73 @@ MoveBody:
StopIfOutOfBounds: StopIfOutOfBounds:
{ {
; Set A to 00 if outside of certain bounds ; Set A to 00 if outside of certain bounds
REP #$20
REP #$20 LDA SprCachedX : CMP.w #$0118 : BCS .not_out_of_bounds_Left
LDA SprCachedX : CMP.w #$0A22 : BCS .notOutOfBoundsLeft
SEP #$20
LDA.w SprXSpeed : CMP.b #$7F : BCC .notOutOfBoundsLeft
LDA.b #-10 : STA.w SprXSpeed : STA SprXRound
LDA $19EA : SEC : SBC #$04 : STA $19EA
LDA $19EC : SEC : SBC #$04 : STA $19EC
LDA $19EE : SEC : SBC #$04 : STA $19EE
LDA $19F0 : SEC : SBC #$04 : STA $19F0
LDA $19F2 : SEC : SBC #$04 : STA $19F2
LDA $19F4 : SEC : SBC #$04 : STA $19F4
.notOutOfBoundsLeft
SEP #$20 SEP #$20
LDA.w SprXSpeed : CMP.b #$7F : BCC .not_out_of_bounds_Left
LDA.b #-10 : STA.w SprXSpeed : STA SprXRound
LDA $19EA : SEC : SBC #$04 : STA $19EA
LDA $19EC : SEC : SBC #$04 : STA $19EC
LDA $19EE : SEC : SBC #$04 : STA $19EE
REP #$20 LDA $19F0 : SEC : SBC #$04 : STA $19F0
LDA SprCachedX : CMP.w #$1B00 : BCC .notOutOfBoundsRight LDA $19F2 : SEC : SBC #$04 : STA $19F2
SEP #$20 LDA $19F4 : SEC : SBC #$04 : STA $19F4
LDA.w SprXSpeed : CMP.b #$80 : BCS .notOutOfBoundsRight
LDA.b #$00 : STA.w SprXSpeed : STA SprXRound
LDA $19EA : CLC : ADC #$04 : STA $19EA
LDA $19EC : CLC : ADC #$04 : STA $19EC
LDA $19EE : CLC : ADC #$04 : STA $19EE
LDA $19F0 : CLC : ADC #$04 : STA $19F0 .not_out_of_bounds_Left
LDA $19F2 : CLC : ADC #$04 : STA $19F2 SEP #$20
LDA $19F4 : CLC : ADC #$04 : STA $19F4
.notOutOfBoundsRight REP #$20
LDA SprCachedX : CMP.w #$01D8 : BCC .not_out_of_bounds_Right
SEP #$20 SEP #$20
LDA.w SprXSpeed : CMP.b #$80 : BCS .not_out_of_bounds_Right
LDA.b #$00 : STA.w SprXSpeed : STA SprXRound
LDA $19EA : CLC : ADC #$04 : STA $19EA
LDA $19EC : CLC : ADC #$04 : STA $19EC
LDA $19EE : CLC : ADC #$04 : STA $19EE
; Upper bound LDA $19F0 : CLC : ADC #$04 : STA $19F0
REP #$20 LDA $19F2 : CLC : ADC #$04 : STA $19F2
LDA SprCachedY : CMP.w #$0150 : BCS .notOutOfBoundsUp LDA $19F4 : CLC : ADC #$04 : STA $19F4
SEP #$20
LDA.w SprYSpeed : CMP.b #$7F : BCC .notOutOfBoundsUp
LDA.b #$00 : STA.w SprYSpeed : STA SprYRound
LDA $19EA : SEC : SBC #$04 : STA $19EA
LDA $19EC : SEC : SBC #$04 : STA $19EC
LDA $19EE : SEC : SBC #$04 : STA $19EE
.notOutOfBoundsUp .not_out_of_bounds_Right
SEP #$20
; Upper bound
REP #$20
LDA SprCachedY : CMP.w #$0020 : BCS .not_out_of_bounds_Up
SEP #$20 SEP #$20
LDA.w SprYSpeed : CMP.b #$7F : BCC .not_out_of_bounds_Up
LDA.b #$00 : STA.w SprYSpeed : STA SprYRound
LDA $19EA : SEC : SBC #$04 : STA $19EA
LDA $19EC : SEC : SBC #$04 : STA $19EC
LDA $19EE : SEC : SBC #$04 : STA $19EE
REP #$20 .not_out_of_bounds_Up
LDA SprCachedY : CMP.w #$01A0 : BCC .notOutOfBoundsDown SEP #$20
SEP #$20
LDA.w SprYSpeed : CMP.b #$80 : BCS .notOutOfBoundsDown
LDA.b #-10 : STA.w SprYSpeed : STA SprYRound ; Reverse the direction
; Modify the neck position REP #$20
; Makes them move away from each other a bit LDA SprCachedY : CMP.w #$00D0 : BCC .not_out_of_bounds_Down
LDA $19EA : SEC : SBC #$04 : STA $19EA
LDA $19EC : SEC : SBC #$04 : STA $19EC
LDA $19EE : SEC : SBC #$04 : STA $19EE
LDA $19F0 : CLC : ADC #$04 : STA $19F0
LDA $19F2 : CLC : ADC #$04 : STA $19F2
LDA $19F4 : CLC : ADC #$04 : STA $19F4
.notOutOfBoundsDown
SEP #$20 SEP #$20
LDA.w SprYSpeed : CMP.b #$80 : BCS .not_out_of_bounds_Down
LDA.b #-10 : STA.w SprYSpeed : STA SprYRound ; Reverse the direction
RTS ; Modify the neck position
; Makes them move away from each other a bit
LDA $19EA : SEC : SBC #$04 : STA $19EA
LDA $19EC : SEC : SBC #$04 : STA $19EC
LDA $19EE : SEC : SBC #$04 : STA $19EE
LDA $19F0 : CLC : ADC #$04 : STA $19F0
LDA $19F2 : CLC : ADC #$04 : STA $19F2
LDA $19F4 : CLC : ADC #$04 : STA $19F4
.not_out_of_bounds_Down
SEP #$20
RTS
} }
; ========================================================= ; =========================================================