mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-03-02 21:29:24 +00:00
duke: closer to jumping properly
This commit is contained in:
parent
a43662d8f0
commit
f2c53974f3
@ -22,15 +22,28 @@ move_duke:
|
|||||||
|
|
||||||
duke_scroll_right:
|
duke_scroll_right:
|
||||||
|
|
||||||
|
clc
|
||||||
|
lda DUKE_XL
|
||||||
|
adc #$40
|
||||||
|
sta DUKE_XL
|
||||||
|
bcc skip_duke_scroll_right
|
||||||
|
|
||||||
inc TILEMAP_X
|
inc TILEMAP_X
|
||||||
|
|
||||||
jsr copy_tilemap_subset
|
jsr copy_tilemap_subset
|
||||||
|
|
||||||
|
skip_duke_scroll_right:
|
||||||
|
|
||||||
jmp done_move_duke
|
jmp done_move_duke
|
||||||
|
|
||||||
duke_walk_right:
|
duke_walk_right:
|
||||||
|
lda DUKE_XL
|
||||||
|
clc
|
||||||
|
adc #$40
|
||||||
|
sta DUKE_XL
|
||||||
|
bcc dwr_noflo
|
||||||
inc DUKE_X
|
inc DUKE_X
|
||||||
|
dwr_noflo:
|
||||||
jmp done_move_duke
|
jmp done_move_duke
|
||||||
|
|
||||||
move_left:
|
move_left:
|
||||||
@ -41,15 +54,29 @@ move_left:
|
|||||||
|
|
||||||
duke_scroll_left:
|
duke_scroll_left:
|
||||||
|
|
||||||
|
sec
|
||||||
|
lda DUKE_XL
|
||||||
|
sbc #$40
|
||||||
|
sta DUKE_XL
|
||||||
|
bcs skip_duke_scroll_left
|
||||||
|
|
||||||
dec TILEMAP_X
|
dec TILEMAP_X
|
||||||
|
|
||||||
jsr copy_tilemap_subset
|
jsr copy_tilemap_subset
|
||||||
|
|
||||||
|
skip_duke_scroll_left:
|
||||||
|
|
||||||
jmp done_move_duke
|
jmp done_move_duke
|
||||||
|
|
||||||
duke_walk_left:
|
duke_walk_left:
|
||||||
dec DUKE_X
|
|
||||||
|
|
||||||
|
lda DUKE_XL
|
||||||
|
sec
|
||||||
|
sbc #$40
|
||||||
|
sta DUKE_XL
|
||||||
|
bcs dwl_noflo
|
||||||
|
dec DUKE_X
|
||||||
|
dwl_noflo:
|
||||||
jmp done_move_duke
|
jmp done_move_duke
|
||||||
|
|
||||||
done_move_duke:
|
done_move_duke:
|
||||||
@ -164,7 +191,7 @@ check_falling:
|
|||||||
|
|
||||||
lda DUKE_FOOT_OFFSET
|
lda DUKE_FOOT_OFFSET
|
||||||
clc
|
clc
|
||||||
adc #16 ; underfoot is 16 more
|
adc #16 ; underfoot is on next row (+16)
|
||||||
|
|
||||||
tax
|
tax
|
||||||
lda TILEMAP,X
|
lda TILEMAP,X
|
||||||
@ -176,11 +203,11 @@ check_falling:
|
|||||||
;=======================
|
;=======================
|
||||||
; falling
|
; falling
|
||||||
|
|
||||||
; scroll but only if Y=18
|
; scroll but only if Y>=18
|
||||||
|
|
||||||
lda DUKE_Y
|
lda DUKE_Y
|
||||||
cmp #18
|
cmp #18
|
||||||
bne scroll_fall
|
bcs scroll_fall ; bge
|
||||||
|
|
||||||
inc DUKE_Y
|
inc DUKE_Y
|
||||||
inc DUKE_Y
|
inc DUKE_Y
|
||||||
@ -201,7 +228,7 @@ feet_on_ground:
|
|||||||
cmp #18
|
cmp #18
|
||||||
bcs done_check_falling ; bge
|
bcs done_check_falling ; bge
|
||||||
|
|
||||||
; too high up on screen, adjust down ad also adjust tilemap down
|
; too high up on screen, adjust down and also adjust tilemap down
|
||||||
|
|
||||||
inc DUKE_Y
|
inc DUKE_Y
|
||||||
inc DUKE_Y
|
inc DUKE_Y
|
||||||
|
@ -37,6 +37,7 @@ duke_start:
|
|||||||
sta DUKE_JUMPING
|
sta DUKE_JUMPING
|
||||||
sta LEVEL_OVER
|
sta LEVEL_OVER
|
||||||
sta LASER_OUT
|
sta LASER_OUT
|
||||||
|
sta DUKE_XL
|
||||||
|
|
||||||
lda #4
|
lda #4
|
||||||
sta DRAW_PAGE
|
sta DRAW_PAGE
|
||||||
|
@ -78,8 +78,8 @@ PATTERN_H = $7F
|
|||||||
; when loading/storing from disk
|
; when loading/storing from disk
|
||||||
|
|
||||||
WHICH_LOAD = $80 ; which file to load
|
WHICH_LOAD = $80 ; which file to load
|
||||||
;LOCATION = $81 ; location on the map
|
|
||||||
|
|
||||||
|
DUKE_XL = $81
|
||||||
DUKE_X = $82 ; location of protagonist
|
DUKE_X = $82 ; location of protagonist
|
||||||
DUKE_Y = $83
|
DUKE_Y = $83
|
||||||
DUKE_DIRECTION = $84
|
DUKE_DIRECTION = $84
|
||||||
|
Loading…
x
Reference in New Issue
Block a user