mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-06-20 17:29:28 +00:00
duke: engage shooting sprite
This commit is contained in:
parent
5345f809a0
commit
3235ac7d66
23
duke/TODO
23
duke/TODO
|
@ -7,9 +7,23 @@ fancier PC-style sounds
|
||||||
movement:
|
movement:
|
||||||
~~~~~~~~~
|
~~~~~~~~~
|
||||||
collision detection up (hit head on jump)
|
collision detection up (hit head on jump)
|
||||||
only jump if feet on ground
|
* when land from jump, stop walking
|
||||||
when land from jump, stop walking
|
walking right into objects, stand back one more
|
||||||
jump slightly higher?
|
can keep walking in collision, just don't move
|
||||||
|
shooting animation
|
||||||
|
update clear screen to be black not stripes
|
||||||
|
enemies
|
||||||
|
exit door, blue pillar, red key (all in basement?)
|
||||||
|
|
||||||
|
|
||||||
|
tiles
|
||||||
|
~~~~~
|
||||||
|
animated tiles? alternate frame?
|
||||||
|
|
||||||
|
laser
|
||||||
|
~~~~~
|
||||||
|
hit enemies
|
||||||
|
hit tiles
|
||||||
|
|
||||||
levels:
|
levels:
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
@ -17,11 +31,10 @@ mystery level 2
|
||||||
|
|
||||||
status:
|
status:
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
keep score, proper laser count
|
keep score, inventory
|
||||||
|
|
||||||
sprites:
|
sprites:
|
||||||
~~~~~~~~
|
~~~~~~~~
|
||||||
Different sprites for left, right, shooting
|
|
||||||
When land, kicks up dust
|
When land, kicks up dust
|
||||||
|
|
||||||
enemies:
|
enemies:
|
||||||
|
|
|
@ -39,6 +39,7 @@ check_shooting_right:
|
||||||
draw_shooting_right:
|
draw_shooting_right:
|
||||||
ldx #<duke_sprite_shooting_right
|
ldx #<duke_sprite_shooting_right
|
||||||
lda #>duke_sprite_shooting_right
|
lda #>duke_sprite_shooting_right
|
||||||
|
dec DUKE_SHOOTING
|
||||||
jmp actually_draw_duke
|
jmp actually_draw_duke
|
||||||
|
|
||||||
check_walking_right:
|
check_walking_right:
|
||||||
|
@ -85,6 +86,7 @@ check_shooting_left:
|
||||||
draw_shooting_left:
|
draw_shooting_left:
|
||||||
ldx #<duke_sprite_shooting_left
|
ldx #<duke_sprite_shooting_left
|
||||||
lda #>duke_sprite_shooting_left
|
lda #>duke_sprite_shooting_left
|
||||||
|
dec DUKE_SHOOTING
|
||||||
jmp actually_draw_duke
|
jmp actually_draw_duke
|
||||||
|
|
||||||
check_walking_left:
|
check_walking_left:
|
||||||
|
@ -174,14 +176,14 @@ duke_sprite_falling_left:
|
||||||
duke_sprite_shooting_right:
|
duke_sprite_shooting_right:
|
||||||
.byte 4,4
|
.byte 4,4
|
||||||
.byte $AA,$dd,$bd,$AA
|
.byte $AA,$dd,$bd,$AA
|
||||||
.byte $AA,$d3,$Ab,$AA
|
.byte $AA,$3d,$Ab,$AA
|
||||||
.byte $AA,$b7,$A7,$AA
|
.byte $AA,$b7,$A7,$AA
|
||||||
.byte $AA,$56,$56,$AA
|
.byte $AA,$56,$56,$AA
|
||||||
|
|
||||||
duke_sprite_shooting_left:
|
duke_sprite_shooting_left:
|
||||||
.byte 4,4
|
.byte 4,4
|
||||||
.byte $AA,$bd,$dd,$AA
|
.byte $AA,$bd,$dd,$AA
|
||||||
.byte $AA,$Ab,$d3,$AA
|
.byte $AA,$Ab,$3d,$AA
|
||||||
.byte $AA,$A7,$b7,$AA
|
.byte $AA,$A7,$b7,$AA
|
||||||
.byte $AA,$56,$56,$AA
|
.byte $AA,$56,$56,$AA
|
||||||
|
|
||||||
|
|
|
@ -43,6 +43,7 @@ duke_start:
|
||||||
sta INVENTORY
|
sta INVENTORY
|
||||||
sta DUKE_FALLING
|
sta DUKE_FALLING
|
||||||
sta DUKE_SHOOTING
|
sta DUKE_SHOOTING
|
||||||
|
sta KICK_UP_DUST
|
||||||
|
|
||||||
lda #$10
|
lda #$10
|
||||||
sta SCORE0
|
sta SCORE0
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
JUMP_HEIGHT = 9
|
JUMP_HEIGHT = 8
|
||||||
|
|
||||||
;==============================
|
;==============================
|
||||||
; Handle Keypress
|
; Handle Keypress
|
||||||
|
@ -216,6 +216,9 @@ return_pressed:
|
||||||
lda DUKE_DIRECTION
|
lda DUKE_DIRECTION
|
||||||
sta LASER_DIRECTION
|
sta LASER_DIRECTION
|
||||||
|
|
||||||
|
lda #2
|
||||||
|
sta DUKE_SHOOTING
|
||||||
|
|
||||||
cmp #1
|
cmp #1
|
||||||
beq laser_right
|
beq laser_right
|
||||||
laser_left:
|
laser_left:
|
||||||
|
|
|
@ -273,10 +273,25 @@ scroll_fall:
|
||||||
|
|
||||||
feet_on_ground:
|
feet_on_ground:
|
||||||
|
|
||||||
|
;===========================
|
||||||
|
; if had been falling
|
||||||
|
; kick up dust, make noise
|
||||||
|
; stop walking?
|
||||||
|
|
||||||
|
lda DUKE_FALLING
|
||||||
|
beq was_not_falling
|
||||||
|
|
||||||
; clear falling
|
; clear falling
|
||||||
lda #0
|
lda #0
|
||||||
sta DUKE_FALLING
|
sta DUKE_FALLING
|
||||||
|
|
||||||
|
lda #2
|
||||||
|
sta KICK_UP_DUST
|
||||||
|
|
||||||
|
lda #0
|
||||||
|
sta DUKE_WALKING
|
||||||
|
|
||||||
|
was_not_falling:
|
||||||
; check to see if Y still hi, if so scroll back down
|
; check to see if Y still hi, if so scroll back down
|
||||||
|
|
||||||
lda DUKE_Y
|
lda DUKE_Y
|
||||||
|
|
|
@ -109,6 +109,7 @@ UPDATE_STATUS = $94
|
||||||
|
|
||||||
DUKE_FALLING = $95
|
DUKE_FALLING = $95
|
||||||
DUKE_SHOOTING = $96
|
DUKE_SHOOTING = $96
|
||||||
|
KICK_UP_DUST = $97
|
||||||
|
|
||||||
; done game puzzle state
|
; done game puzzle state
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user