mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-08-15 08:27:41 +00:00
ootw: c5: walking in cave looks nice
This commit is contained in:
34
ootw/TODO
34
ootw/TODO
@@ -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
|
||||||
|
@@ -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
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user