mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-01-14 13:33:48 +00:00
ootw: l2: more fine tuning, fixing some bugs
doesn't crash when you shoot aliens anymore
This commit is contained in:
parent
a87138cb0e
commit
4174221b4e
22
ootw/TODO
22
ootw/TODO
@ -1,6 +1,20 @@
|
|||||||
TODO Before release:
|
TODO Before release:
|
||||||
====================
|
====================
|
||||||
|
|
||||||
|
l2 -- picking up gun collision box isn't quite right
|
||||||
|
when coming in from the right
|
||||||
|
|
||||||
|
l2 -- fix collision with alien on same level
|
||||||
|
l2 -- adjust door trigger in break room
|
||||||
|
l2 -- move doors to final behavior (break room one needs to
|
||||||
|
be locked)
|
||||||
|
|
||||||
|
l2/l4 -- have aliens shoot
|
||||||
|
|
||||||
|
L2 vent -- we fall behind the vent
|
||||||
|
No easy way to fix that unless we split if off from
|
||||||
|
the friend drawing code, or change the Z order of the friend
|
||||||
|
|
||||||
|
|
||||||
l2 -- alien behavior
|
l2 -- alien behavior
|
||||||
|
|
||||||
@ -14,13 +28,6 @@ TODO Before release:
|
|||||||
|
|
||||||
L2 -- disable door/powerline by shooting wall
|
L2 -- disable door/powerline by shooting wall
|
||||||
L2 -- add aliens
|
L2 -- add aliens
|
||||||
L2 -- add minimal friend AI
|
|
||||||
-- on cart screen, cart is still there at edge of screen?
|
|
||||||
|
|
||||||
L5 -- add ending scenes?
|
|
||||||
Show some pictures
|
|
||||||
Do ending
|
|
||||||
Play music?
|
|
||||||
|
|
||||||
intro -- add music?
|
intro -- add music?
|
||||||
|
|
||||||
@ -48,6 +55,7 @@ BEHAVIOR DIFFERENCES:
|
|||||||
|
|
||||||
* alien guard behavior:
|
* alien guard behavior:
|
||||||
- will punch you if you get too close
|
- will punch you if you get too close
|
||||||
|
- become alert if they hear an explosion
|
||||||
- l4, if you draw gun (but not fire) guard won't shoot you,
|
- l4, if you draw gun (but not fire) guard won't shoot you,
|
||||||
but instead will yell at you a bit
|
but instead will yell at you a bit
|
||||||
|
|
||||||
|
40
ootw/alien.s
40
ootw/alien.s
@ -59,6 +59,7 @@ move_alien:
|
|||||||
; FIXME: loop through all alieans
|
; FIXME: loop through all alieans
|
||||||
ldx #0
|
ldx #0
|
||||||
|
|
||||||
|
move_alien_loop:
|
||||||
lda alien_room,X
|
lda alien_room,X
|
||||||
cmp WHICH_ROOM
|
cmp WHICH_ROOM
|
||||||
bne done_move_alien
|
bne done_move_alien
|
||||||
@ -73,14 +74,20 @@ move_alien:
|
|||||||
beq move_alien_yelling
|
beq move_alien_yelling
|
||||||
cmp #A_SHOOTING_UP
|
cmp #A_SHOOTING_UP
|
||||||
beq move_alien_yelling
|
beq move_alien_yelling
|
||||||
|
|
||||||
done_move_alien:
|
done_move_alien:
|
||||||
|
|
||||||
|
inx
|
||||||
|
cpx #MAX_ALIENS
|
||||||
|
bne move_alien_loop
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
;======================
|
;======================
|
||||||
; yelling
|
; yelling
|
||||||
move_alien_yelling:
|
move_alien_yelling:
|
||||||
inc alien_gait,X ; cycle through animation
|
inc alien_gait,X ; cycle through animation
|
||||||
rts
|
jmp done_move_alien
|
||||||
|
|
||||||
;======================
|
;======================
|
||||||
; walking
|
; walking
|
||||||
@ -97,11 +104,11 @@ move_alien_walking:
|
|||||||
beq a_walk_left
|
beq a_walk_left
|
||||||
|
|
||||||
inc alien_x,X ; walk right
|
inc alien_x,X ; walk right
|
||||||
rts
|
jmp done_move_alien
|
||||||
a_walk_left:
|
a_walk_left:
|
||||||
dec alien_x,X ; walk left
|
dec alien_x,X ; walk left
|
||||||
alien_no_move_walk:
|
alien_no_move_walk:
|
||||||
rts
|
jmp done_move_alien
|
||||||
|
|
||||||
;======================
|
;======================
|
||||||
; running
|
; running
|
||||||
@ -117,11 +124,11 @@ move_alien_running:
|
|||||||
beq a_run_left
|
beq a_run_left
|
||||||
|
|
||||||
inc alien_x,X ; run right
|
inc alien_x,X ; run right
|
||||||
rts
|
jmp done_move_alien
|
||||||
a_run_left:
|
a_run_left:
|
||||||
dec alien_x,X ; run left
|
dec alien_x,X ; run left
|
||||||
alien_no_move_run:
|
alien_no_move_run:
|
||||||
rts
|
jmp done_move_alien
|
||||||
|
|
||||||
;======================
|
;======================
|
||||||
; standing
|
; standing
|
||||||
@ -169,13 +176,16 @@ ajump:
|
|||||||
;======================================
|
;======================================
|
||||||
|
|
||||||
draw_alien:
|
draw_alien:
|
||||||
; FIXME
|
|
||||||
ldx #0
|
|
||||||
|
|
||||||
|
ldx #0
|
||||||
|
draw_alien_loop:
|
||||||
lda alien_room,X
|
lda alien_room,X
|
||||||
cmp WHICH_ROOM
|
cmp WHICH_ROOM
|
||||||
bne no_alien
|
bne no_alien
|
||||||
|
|
||||||
|
txa
|
||||||
|
pha
|
||||||
|
|
||||||
lda alien_state,X
|
lda alien_state,X
|
||||||
tay
|
tay
|
||||||
lda astate_table_lo,y
|
lda astate_table_lo,y
|
||||||
@ -183,8 +193,15 @@ draw_alien:
|
|||||||
lda astate_table_hi,y
|
lda astate_table_hi,y
|
||||||
sta ajump+1
|
sta ajump+1
|
||||||
jmp (ajump)
|
jmp (ajump)
|
||||||
|
done_draw_alien_loop:
|
||||||
|
pla
|
||||||
|
tax
|
||||||
|
|
||||||
no_alien:
|
no_alien:
|
||||||
|
inx
|
||||||
|
cpx #MAX_ALIENS
|
||||||
|
bne draw_alien_loop
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
;==================================
|
;==================================
|
||||||
@ -367,7 +384,7 @@ alien_disintegrating:
|
|||||||
|
|
||||||
dec ALIEN_OUT
|
dec ALIEN_OUT
|
||||||
|
|
||||||
rts
|
jmp done_draw_alien_loop
|
||||||
|
|
||||||
alien_keep_disintegrating:
|
alien_keep_disintegrating:
|
||||||
|
|
||||||
@ -449,11 +466,12 @@ finally_draw_alien:
|
|||||||
bne alien_facing_right
|
bne alien_facing_right
|
||||||
|
|
||||||
alien_facing_left:
|
alien_facing_left:
|
||||||
jmp put_sprite_crop
|
jsr put_sprite_crop
|
||||||
|
jmp done_draw_alien_loop
|
||||||
|
|
||||||
alien_facing_right:
|
alien_facing_right:
|
||||||
jmp put_sprite_flipped_crop
|
jsr put_sprite_flipped_crop
|
||||||
|
jmp done_draw_alien_loop
|
||||||
|
|
||||||
;==================
|
;==================
|
||||||
;==================
|
;==================
|
||||||
|
@ -87,9 +87,9 @@ ootw_jail_init:
|
|||||||
|
|
||||||
lda #4
|
lda #4
|
||||||
sta alien2_room
|
sta alien2_room
|
||||||
lda #20
|
lda #25
|
||||||
sta alien2_x
|
sta alien2_x
|
||||||
lda #20
|
lda #30
|
||||||
sta alien2_y
|
sta alien2_y
|
||||||
lda #A_STANDING
|
lda #A_STANDING
|
||||||
sta alien2_state
|
sta alien2_state
|
||||||
@ -288,7 +288,7 @@ jail4:
|
|||||||
jail4_bottom:
|
jail4_bottom:
|
||||||
lda #(-4+128)
|
lda #(-4+128)
|
||||||
sta LEFT_LIMIT
|
sta LEFT_LIMIT
|
||||||
lda #(28+128)
|
lda #(30+128)
|
||||||
sta RIGHT_LIMIT
|
sta RIGHT_LIMIT
|
||||||
|
|
||||||
jmp jail4_ok
|
jmp jail4_ok
|
||||||
@ -315,7 +315,7 @@ jail4_ok:
|
|||||||
lda #(-4+128)
|
lda #(-4+128)
|
||||||
sta td_left_smc1+1
|
sta td_left_smc1+1
|
||||||
|
|
||||||
lda #(28+128)
|
lda #(30+128)
|
||||||
sta td_right_smc1+1
|
sta td_right_smc1+1
|
||||||
|
|
||||||
lda #(10+128)
|
lda #(10+128)
|
||||||
@ -593,9 +593,9 @@ c2_done_draw_friend:
|
|||||||
; draw alien
|
; draw alien
|
||||||
;===============
|
;===============
|
||||||
|
|
||||||
lda ALIEN_OUT
|
lda ALIEN_OUT
|
||||||
beq no_draw_alien
|
beq no_draw_alien
|
||||||
jsr draw_alien
|
jsr draw_alien
|
||||||
no_draw_alien:
|
no_draw_alien:
|
||||||
|
|
||||||
;================
|
;================
|
||||||
@ -1247,8 +1247,8 @@ door_c2_r4_y:
|
|||||||
|
|
||||||
door_c2_r4_xmin:
|
door_c2_r4_xmin:
|
||||||
c2_r4_door0_xmin: .byte 9 ; 18-4-5
|
c2_r4_door0_xmin: .byte 9 ; 18-4-5
|
||||||
c2_r4_door1_xmin: .byte 11 ; 20-4-5
|
c2_r4_door1_xmin: .byte 9 ; 20-4-5
|
||||||
c2_r4_door2_xmin: .byte 13 ; 22-4-5
|
c2_r4_door2_xmin: .byte 9 ; 22-4-5
|
||||||
c2_r4_door3_xmin: .byte 23 ; 32-4-5
|
c2_r4_door3_xmin: .byte 23 ; 32-4-5
|
||||||
|
|
||||||
door_c2_r4_xmax:
|
door_c2_r4_xmax:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user