dos33fsprogs/monkey/monkey_map.s

88 lines
984 B
ArmAsm
Raw Normal View History

2020-09-19 01:36:48 -04:00
map_check_exit:
lda GUYBRUSH_X
cmp #11
bne map_no_exit
2020-09-19 01:36:48 -04:00
lda GUYBRUSH_Y
cmp #22
bne map_no_exit
map_to_lookout:
lda #MONKEY_LOOKOUT
2020-09-19 01:36:48 -04:00
sta LOCATION
lda #30
2020-09-19 01:36:48 -04:00
sta GUYBRUSH_X
sta DESTINATION_X
lda #14
2020-09-19 01:36:48 -04:00
sta GUYBRUSH_Y
lda #22
2020-09-19 01:36:48 -04:00
sta DESTINATION_Y
lda #DIR_DOWN
sta GUYBRUSH_DIRECTION
2020-09-19 01:36:48 -04:00
jsr change_location
map_no_exit:
rts
map_adjust_destination:
; x between 6 and 30
; y between 2 and 32
2020-09-19 01:36:48 -04:00
mp_check_x:
lda DESTINATION_X
cmp #6
bcc mp_too_left
2020-09-19 01:36:48 -04:00
cmp #30
bcc mp_check_y
2020-09-19 01:36:48 -04:00
lda #30
sta DESTINATION_X
jmp mp_check_y
mp_too_left:
lda #6
sta DESTINATION_X
mp_check_y:
2020-09-19 01:36:48 -04:00
lda DESTINATION_Y
cmp #2
bcc mp_too_up
cmp #32
bcc done_mp_adjust
lda #32
2020-09-19 01:36:48 -04:00
sta DESTINATION_Y
jmp done_mp_adjust
mp_too_up:
lda #2
sta DESTINATION_Y
2020-09-19 01:36:48 -04:00
done_mp_adjust:
rts
;draw_map_door:
;
; lda BAR_DOOR_OPEN
; beq done_draw_map_door
; lda #<door_sprite
; sta INL
; lda #>door_sprite
; sta INH
; lda #11
; sta XPOS
; lda #22
; sta YPOS
; jsr put_sprite_crop
;done_draw_map_door:
; rts