mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-09-10 08:54:51 +00:00
ootw: c1: more beast fine-tuning
runs slightly faster than physicist now also enters rooms closer if left room closer
This commit is contained in:
parent
f102c687bf
commit
84d470c71b
@ -11,7 +11,6 @@ Before release:
|
||||
when calculating room calcs, take Y position into account
|
||||
|
||||
L1 -- fix beast ending
|
||||
L1 -- have beast death scene
|
||||
L1 -- have beast collapse
|
||||
L1 -- fix slugs
|
||||
|
||||
@ -56,8 +55,10 @@ door behavior:
|
||||
- beast on hill and 2nd screen -- complex, only appears if
|
||||
you happen to leave same time beast does? then movement
|
||||
depends on xposition?
|
||||
- earthquake can happen while on rope?
|
||||
- earthquake should happen while on rope
|
||||
- sometimes falling rocks can follow you to next screen
|
||||
- beast can/should trip and fall if it gets close in the pool
|
||||
room while running?
|
||||
|
||||
+ L2
|
||||
- gun movement: gun is held by head when running
|
||||
|
@ -73,7 +73,9 @@ ootw:
|
||||
; Enter the game
|
||||
;=======================
|
||||
|
||||
jsr ootw_pool
|
||||
; jsr ootw_pool
|
||||
|
||||
jsr ootw_mesa
|
||||
|
||||
|
||||
;===========================
|
||||
|
@ -1,24 +1,32 @@
|
||||
|
||||
; FIXME, if beast close on screen #2, have it fall?
|
||||
|
||||
;=======================================
|
||||
;=======================================
|
||||
; Setup Beast Running -- for each room
|
||||
;=======================================
|
||||
;=======================================
|
||||
|
||||
; FIXME: distance for count should be related
|
||||
; to X distance behind on previous screen
|
||||
|
||||
setup_beast:
|
||||
; only move beast if out
|
||||
|
||||
lda BEAST_OUT
|
||||
beq setup_no_beast
|
||||
|
||||
; have the beast wait standing offscreen a bit??
|
||||
; what were you thinking, 6-months-ago Vince?
|
||||
|
||||
lda #30
|
||||
sta BEAST_COUNT
|
||||
lda #B_STANDING
|
||||
sta BEAST_STATE
|
||||
|
||||
; set Y position
|
||||
lda #26
|
||||
sta BEAST_Y
|
||||
|
||||
|
||||
; what we do is based on direction
|
||||
lda BEAST_DIRECTION
|
||||
beq setup_beast_left
|
||||
|
||||
@ -42,14 +50,30 @@ beast_right_rope:
|
||||
lda #240
|
||||
jmp beast_right_set_x
|
||||
|
||||
; adjust for distance
|
||||
beast_right_set_normal:
|
||||
lda #246 ; -8 = 248
|
||||
sec
|
||||
lda #40
|
||||
sbc BEAST_X
|
||||
lsr
|
||||
lsr
|
||||
adc #240 ;
|
||||
beast_right_set_x:
|
||||
sta BEAST_X
|
||||
jmp setup_no_beast
|
||||
|
||||
;==============================
|
||||
; running left
|
||||
setup_beast_left:
|
||||
lda #41
|
||||
|
||||
; adjust for how far was on last screen
|
||||
; /4
|
||||
lda BEAST_X
|
||||
lsr
|
||||
lsr
|
||||
|
||||
clc
|
||||
adc #40
|
||||
sta BEAST_X
|
||||
|
||||
setup_no_beast:
|
||||
@ -62,6 +86,7 @@ setup_no_beast:
|
||||
;=======================================
|
||||
; stop if catch physicist
|
||||
; also stop if swinging
|
||||
; run just every slightly faster than physicist
|
||||
|
||||
move_beast:
|
||||
lda BEAST_STATE
|
||||
@ -119,10 +144,13 @@ beast_no_stop:
|
||||
inc BEAST_GAIT ; cycle through animation
|
||||
|
||||
lda BEAST_GAIT
|
||||
and #$3
|
||||
cmp #$2 ; only run roughly 1/4 of time
|
||||
and #$7
|
||||
cmp #5
|
||||
beq b_run
|
||||
and #$3 ; only run roughly 3/8 of time
|
||||
bne b_no_move_run
|
||||
|
||||
b_run:
|
||||
lda BEAST_DIRECTION
|
||||
beq b_run_left
|
||||
|
||||
|
@ -1,6 +1,118 @@
|
||||
;=========================
|
||||
;=========================
|
||||
; Beast
|
||||
;=========================
|
||||
;=========================
|
||||
|
||||
; FIXME: add tripping+falling sprites
|
||||
; FIXME: add background beast for first cavern room
|
||||
; FIXME: better running sprites
|
||||
|
||||
|
||||
;=============================
|
||||
; big beast sprites
|
||||
;=============================
|
||||
|
||||
beast_standing:
|
||||
.byte $9,$6
|
||||
.byte $aa,$0a,$00,$00,$0a,$aa,$aa,$aa,$aa
|
||||
.byte $aa,$00,$00,$00,$00,$00,$00,$aa,$aa
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $aa,$aa,$00,$a0,$aa,$a0,$00,$00,$aa
|
||||
.byte $aa,$aa,$00,$aa,$aa,$aa,$00,$aa,$00
|
||||
|
||||
|
||||
beast_run_progression:
|
||||
.word beast_running1
|
||||
.word beast_running2
|
||||
.word beast_running3
|
||||
.word beast_running4
|
||||
.word beast_running5
|
||||
.word beast_running6
|
||||
.word beast_running7
|
||||
.word beast_running8
|
||||
.word beast_standing
|
||||
|
||||
|
||||
beast_running1: ; piskel2
|
||||
.byte $9,$6
|
||||
.byte $aa,$0a,$00,$00,$0a,$aa,$aa,$aa,$aa
|
||||
.byte $0a,$00,$00,$00,$00,$0a,$0a,$aa,$aa
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $a0,$a0,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $aa,$0a,$00,$aa,$aa,$a0,$00,$00,$00
|
||||
.byte $a0,$a0,$aa,$aa,$aa,$aa,$a0,$0a,$00
|
||||
|
||||
beast_running2: ; piskel3
|
||||
.byte $9,$6
|
||||
.byte $aa,$0a,$00,$00,$0a,$aa,$aa,$aa,$aa
|
||||
.byte $00,$00,$00,$00,$00,$00,$0a,$aa,$aa
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $aa,$aa,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $a0,$a0,$a0,$aa,$aa,$a0,$00,$00,$0a
|
||||
.byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$00,$00
|
||||
|
||||
beast_running3: ; piskel4
|
||||
.byte $9,$6
|
||||
.byte $aa,$aa,$0a,$0a,$0a,$aa,$aa,$aa,$aa
|
||||
.byte $0a,$00,$00,$00,$00,$00,$0a,$aa,$aa
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $a0,$00,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $aa,$0a,$00,$aa,$aa,$a0,$a0,$00,$00
|
||||
.byte $a0,$a0,$aa,$aa,$aa,$aa,$aa,$aa,$aa
|
||||
|
||||
beast_running4: ; piskel5
|
||||
.byte $9,$6
|
||||
.byte $aa,$aa,$0a,$0a,$0a,$aa,$aa,$aa,$aa
|
||||
.byte $aa,$00,$00,$00,$00,$00,$00,$aa,$aa
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $aa,$0a,$00,$aa,$aa,$a0,$a0,$00,$0a
|
||||
.byte $aa,$00,$aa,$aa,$aa,$aa,$aa,$a0,$a0
|
||||
|
||||
beast_running5: ; piskel6
|
||||
.byte $9,$6
|
||||
.byte $aa,$aa,$0a,$0a,$aa,$aa,$aa,$aa,$aa
|
||||
.byte $0a,$00,$00,$00,$00,$0a,$0a,$aa,$aa
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $aa,$aa,$00,$aa,$aa,$a0,$00,$00,$aa
|
||||
.byte $aa,$aa,$00,$aa,$aa,$aa,$00,$a0,$00
|
||||
|
||||
beast_running6: ; piskel7
|
||||
.byte $9,$6
|
||||
.byte $aa,$aa,$0a,$0a,$aa,$aa,$aa,$aa,$aa
|
||||
.byte $0a,$00,$00,$00,$00,$0a,$0a,$aa,$aa
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $a0,$00,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $aa,$aa,$00,$0a,$aa,$00,$00,$00,$aa
|
||||
.byte $aa,$aa,$aa,$00,$aa,$00,$a0,$aa,$aa
|
||||
|
||||
beast_running7: ; piskel8
|
||||
.byte $9,$6
|
||||
.byte $aa,$aa,$0a,$0a,$aa,$aa,$aa,$aa,$aa
|
||||
.byte $0a,$00,$00,$00,$00,$0a,$0a,$aa,$aa
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $aa,$a0,$a0,$00,$aa,$00,$00,$a0,$aa
|
||||
.byte $aa,$aa,$aa,$00,$00,$00,$aa,$aa,$aa
|
||||
|
||||
beast_running8: ; piskel9
|
||||
.byte $9,$6
|
||||
.byte $aa,$aa,$0a,$0a,$aa,$aa,$aa,$aa,$aa
|
||||
.byte $0a,$00,$00,$00,$00,$0a,$0a,$aa,$aa
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $aa,$a0,$00,$aa,$aa,$aa,$00,$a0,$aa
|
||||
.byte $aa,$aa,$00,$a0,$aa,$aa,$00,$aa,$aa
|
||||
|
||||
|
||||
;========================
|
||||
;========================
|
||||
; Beast in background
|
||||
;========================
|
||||
;========================
|
||||
|
||||
beast_incoming:
|
||||
.word beast_bg2 ; 2
|
||||
@ -110,99 +222,3 @@ beast_bg13: ; going left
|
||||
.byte $AA,$A0,$AA,$A0,$A0
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
beast_standing:
|
||||
.byte $9,$6
|
||||
.byte $aa,$0a,$00,$00,$0a,$aa,$aa,$aa,$aa
|
||||
.byte $aa,$00,$00,$00,$00,$00,$00,$aa,$aa
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $aa,$aa,$00,$a0,$aa,$a0,$00,$00,$aa
|
||||
.byte $aa,$aa,$00,$aa,$aa,$aa,$00,$aa,$00
|
||||
|
||||
|
||||
beast_run_progression:
|
||||
.word beast_running1
|
||||
.word beast_running2
|
||||
.word beast_running3
|
||||
.word beast_running4
|
||||
.word beast_running5
|
||||
.word beast_running6
|
||||
.word beast_running7
|
||||
.word beast_running8
|
||||
.word beast_standing
|
||||
|
||||
|
||||
beast_running1: ; piskel2
|
||||
.byte $9,$6
|
||||
.byte $aa,$0a,$00,$00,$0a,$aa,$aa,$aa,$aa
|
||||
.byte $0a,$00,$00,$00,$00,$0a,$0a,$aa,$aa
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $a0,$a0,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $aa,$0a,$00,$aa,$aa,$a0,$00,$00,$00
|
||||
.byte $a0,$a0,$aa,$aa,$aa,$aa,$a0,$0a,$00
|
||||
|
||||
beast_running2: ; piskel3
|
||||
.byte $9,$6
|
||||
.byte $aa,$0a,$00,$00,$0a,$aa,$aa,$aa,$aa
|
||||
.byte $00,$00,$00,$00,$00,$00,$0a,$aa,$aa
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $aa,$aa,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $a0,$a0,$a0,$aa,$aa,$a0,$00,$00,$0a
|
||||
.byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$00,$00
|
||||
|
||||
beast_running3: ; piskel4
|
||||
.byte $9,$6
|
||||
.byte $aa,$aa,$0a,$0a,$0a,$aa,$aa,$aa,$aa
|
||||
.byte $0a,$00,$00,$00,$00,$00,$0a,$aa,$aa
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $a0,$00,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $aa,$0a,$00,$aa,$aa,$a0,$a0,$00,$00
|
||||
.byte $a0,$a0,$aa,$aa,$aa,$aa,$aa,$aa,$aa
|
||||
|
||||
beast_running4: ; piskel5
|
||||
.byte $9,$6
|
||||
.byte $aa,$aa,$0a,$0a,$0a,$aa,$aa,$aa,$aa
|
||||
.byte $aa,$00,$00,$00,$00,$00,$00,$aa,$aa
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $aa,$0a,$00,$aa,$aa,$a0,$a0,$00,$0a
|
||||
.byte $aa,$00,$aa,$aa,$aa,$aa,$aa,$a0,$a0
|
||||
|
||||
beast_running5: ; piskel6
|
||||
.byte $9,$6
|
||||
.byte $aa,$aa,$0a,$0a,$aa,$aa,$aa,$aa,$aa
|
||||
.byte $0a,$00,$00,$00,$00,$0a,$0a,$aa,$aa
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $aa,$aa,$00,$aa,$aa,$a0,$00,$00,$aa
|
||||
.byte $aa,$aa,$00,$aa,$aa,$aa,$00,$a0,$00
|
||||
|
||||
beast_running6: ; piskel7
|
||||
.byte $9,$6
|
||||
.byte $aa,$aa,$0a,$0a,$aa,$aa,$aa,$aa,$aa
|
||||
.byte $0a,$00,$00,$00,$00,$0a,$0a,$aa,$aa
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $a0,$00,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $aa,$aa,$00,$0a,$aa,$00,$00,$00,$aa
|
||||
.byte $aa,$aa,$aa,$00,$aa,$00,$a0,$aa,$aa
|
||||
|
||||
beast_running7: ; piskel8
|
||||
.byte $9,$6
|
||||
.byte $aa,$aa,$0a,$0a,$aa,$aa,$aa,$aa,$aa
|
||||
.byte $0a,$00,$00,$00,$00,$0a,$0a,$aa,$aa
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $aa,$a0,$a0,$00,$aa,$00,$00,$a0,$aa
|
||||
.byte $aa,$aa,$aa,$00,$00,$00,$aa,$aa,$aa
|
||||
|
||||
beast_running8: ; piskel9
|
||||
.byte $9,$6
|
||||
.byte $aa,$aa,$0a,$0a,$aa,$aa,$aa,$aa,$aa
|
||||
.byte $0a,$00,$00,$00,$00,$0a,$0a,$aa,$aa
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00,$aa
|
||||
.byte $aa,$a0,$00,$aa,$aa,$aa,$00,$a0,$aa
|
||||
.byte $aa,$aa,$00,$a0,$aa,$aa,$00,$aa,$aa
|
||||
|
Loading…
Reference in New Issue
Block a user