ootw: c5: walking in cave looks nice

This commit is contained in:
Vince Weaver
2019-08-08 22:48:12 -04:00
parent 038a7fc033
commit 999ea0b883
2 changed files with 119 additions and 38 deletions

View File

@@ -69,12 +69,13 @@ Level/Checkpoint #2:
* general * general
+ If aliens catch you, they punch you + If aliens catch you, they punch you
+ Shields disappear if you leave the room + Shields disappear if you leave the room
+ Alien AI
+ Gun sprites/action
+ Implement door
+ Implement end scene
+ Shoot the wire in the basement
* cage room: * cage room:
+ Swing in the cage (take into account keyboard input)
+ Ability to pick up gun, with all that entails
+ Animation of friend?
+ 1-bit audio recording of friend talking
+ in game, after some time the guard calms down + in game, after some time the guard calms down
* Jail: * Jail:
@@ -91,10 +92,27 @@ Level/Checkpoint #2:
* View: * View:
+ music play when viewing city? + music play when viewing city?
Level/Checkpoint #3: Level/Checkpoint #3:
+ Implement + smoke
+ Poisoning
+ Falling
+ Only show a window around us rolling
+ End of level
+ Fix animation speed of rolling
Level/Checkpoint #4: Level/Checkpoint #4:
+ Implement + Falling as enter level
+ Implement gun recharger
+ Implement doors
+ Implement guard
+ Add friend/shooting foreground action
+ Allow falling into pit/spike
+ Allow jumping to platform
+ Allow exiting level
Level/Checkpoint #5:
+ Falling as enter level
+ Add rock sprites (so can walk behind them)
+ Allow falling into first pit
+ Detect X and adjust Y so we stay on ground surface

View File

@@ -6,10 +6,12 @@ ootw_cave_init:
lda #0 lda #0
sta PHYSICIST_STATE sta PHYSICIST_STATE
sta WHICH_CAVE sta WHICH_CAVE
; yes you fall in facing left for some reason
sta DIRECTION ; left
lda #1 lda #1
sta HAVE_GUN sta HAVE_GUN
sta DIRECTION ; right
lda #0 lda #0
sta PHYSICIST_X sta PHYSICIST_X
@@ -174,51 +176,84 @@ c5_no_bg_action:
jsr move_physicist jsr move_physicist
;===============================
; move friend
;===============================
; jsr move_friend
;=============== ;===============
; check room limits ; check room limits
jsr check_screen_limit jsr check_screen_limit
;=================
; adjust floor
lda WHICH_CAVE
cmp #0
bne check_floor1
lda #14
sta PHYSICIST_Y
lda PHYSICIST_X
cmp #19
bcc check_floor0_done
lda #12
sta PHYSICIST_Y
lda PHYSICIST_X
cmp #28
bcc check_floor0_done
lda #10
sta PHYSICIST_Y
check_floor0_done:
check_floor1:
;=============== ;===============
; draw physicist ; draw physicist
jsr draw_physicist jsr draw_physicist
;===============
; draw friend
; jsr draw_friend
c5_done_draw_friend:
;======================== ;========================
; draw foreground action ; draw foreground action
; lda WHICH_CAVE lda WHICH_CAVE
; cmp #2 cmp #0
; bne c4_no_fg_action bne c5_no_fg_action
;c2_draw_cart: c5_draw_rocks:
; lda #1
; lda CART_X sta XPOS
; sta XPOS lda #26
; lda #36 sta YPOS
; sta YPOS lda #<small_rock
; lda #<cart_sprite sta INL
; sta INL lda #>small_rock
; lda #>cart_sprite sta INH
; sta INH jsr put_sprite
; jsr put_sprite_crop
; jmp c2_no_fg_action lda #10
sta XPOS
lda #18
sta YPOS
lda #<medium_rock
sta INL
lda #>medium_rock
sta INH
jsr put_sprite
lda #31
sta XPOS
lda #14
sta YPOS
lda #<large_rock
sta INL
lda #>large_rock
sta INH
jsr put_sprite
c5_no_fg_action: c5_no_fg_action:
@@ -321,4 +356,32 @@ done_cave:
rts rts
; at 1,26
small_rock:
.byte 3,3
.byte $0A,$02,$20
.byte $00,$20,$A2
.byte $AA,$A2,$AA
; at 10,18
medium_rock:
.byte 5,6
.byte $AA,$AA,$6A,$AA,$AA
.byte $AA,$00,$00,$66,$AA
.byte $AA,$20,$20,$A6,$AA
.byte $0A,$00,$00,$02,$22
.byte $A0,$00,$00,$00,$22
.byte $2A,$00,$00,$02,$2A
; at 31,14
large_rock:
.byte 7,6
.byte $AA,$0A,$02,$02,$66,$6A,$AA
.byte $AA,$00,$00,$00,$20,$22,$AA
.byte $AA,$AA,$0A,$00,$62,$6A,$AA
.byte $2A,$22,$00,$00,$06,$66,$6A
.byte $00,$00,$00,$00,$22,$A2,$A6
.byte $AA,$A0,$00,$00,$02,$AA,$AA