mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-12-27 02:31:00 +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:
|
||||
====================
|
||||
|
||||
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
|
||||
|
||||
@ -14,13 +28,6 @@ TODO Before release:
|
||||
|
||||
L2 -- disable door/powerline by shooting wall
|
||||
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?
|
||||
|
||||
@ -48,6 +55,7 @@ BEHAVIOR DIFFERENCES:
|
||||
|
||||
* alien guard behavior:
|
||||
- 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,
|
||||
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
|
||||
ldx #0
|
||||
|
||||
move_alien_loop:
|
||||
lda alien_room,X
|
||||
cmp WHICH_ROOM
|
||||
bne done_move_alien
|
||||
@ -73,14 +74,20 @@ move_alien:
|
||||
beq move_alien_yelling
|
||||
cmp #A_SHOOTING_UP
|
||||
beq move_alien_yelling
|
||||
|
||||
done_move_alien:
|
||||
|
||||
inx
|
||||
cpx #MAX_ALIENS
|
||||
bne move_alien_loop
|
||||
|
||||
rts
|
||||
|
||||
;======================
|
||||
; yelling
|
||||
move_alien_yelling:
|
||||
inc alien_gait,X ; cycle through animation
|
||||
rts
|
||||
jmp done_move_alien
|
||||
|
||||
;======================
|
||||
; walking
|
||||
@ -97,11 +104,11 @@ move_alien_walking:
|
||||
beq a_walk_left
|
||||
|
||||
inc alien_x,X ; walk right
|
||||
rts
|
||||
jmp done_move_alien
|
||||
a_walk_left:
|
||||
dec alien_x,X ; walk left
|
||||
alien_no_move_walk:
|
||||
rts
|
||||
jmp done_move_alien
|
||||
|
||||
;======================
|
||||
; running
|
||||
@ -117,11 +124,11 @@ move_alien_running:
|
||||
beq a_run_left
|
||||
|
||||
inc alien_x,X ; run right
|
||||
rts
|
||||
jmp done_move_alien
|
||||
a_run_left:
|
||||
dec alien_x,X ; run left
|
||||
alien_no_move_run:
|
||||
rts
|
||||
jmp done_move_alien
|
||||
|
||||
;======================
|
||||
; standing
|
||||
@ -169,13 +176,16 @@ ajump:
|
||||
;======================================
|
||||
|
||||
draw_alien:
|
||||
; FIXME
|
||||
ldx #0
|
||||
|
||||
ldx #0
|
||||
draw_alien_loop:
|
||||
lda alien_room,X
|
||||
cmp WHICH_ROOM
|
||||
bne no_alien
|
||||
|
||||
txa
|
||||
pha
|
||||
|
||||
lda alien_state,X
|
||||
tay
|
||||
lda astate_table_lo,y
|
||||
@ -183,8 +193,15 @@ draw_alien:
|
||||
lda astate_table_hi,y
|
||||
sta ajump+1
|
||||
jmp (ajump)
|
||||
done_draw_alien_loop:
|
||||
pla
|
||||
tax
|
||||
|
||||
no_alien:
|
||||
inx
|
||||
cpx #MAX_ALIENS
|
||||
bne draw_alien_loop
|
||||
|
||||
rts
|
||||
|
||||
;==================================
|
||||
@ -367,7 +384,7 @@ alien_disintegrating:
|
||||
|
||||
dec ALIEN_OUT
|
||||
|
||||
rts
|
||||
jmp done_draw_alien_loop
|
||||
|
||||
alien_keep_disintegrating:
|
||||
|
||||
@ -449,11 +466,12 @@ finally_draw_alien:
|
||||
bne alien_facing_right
|
||||
|
||||
alien_facing_left:
|
||||
jmp put_sprite_crop
|
||||
jsr put_sprite_crop
|
||||
jmp done_draw_alien_loop
|
||||
|
||||
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
|
||||
sta alien2_room
|
||||
lda #20
|
||||
lda #25
|
||||
sta alien2_x
|
||||
lda #20
|
||||
lda #30
|
||||
sta alien2_y
|
||||
lda #A_STANDING
|
||||
sta alien2_state
|
||||
@ -288,7 +288,7 @@ jail4:
|
||||
jail4_bottom:
|
||||
lda #(-4+128)
|
||||
sta LEFT_LIMIT
|
||||
lda #(28+128)
|
||||
lda #(30+128)
|
||||
sta RIGHT_LIMIT
|
||||
|
||||
jmp jail4_ok
|
||||
@ -315,7 +315,7 @@ jail4_ok:
|
||||
lda #(-4+128)
|
||||
sta td_left_smc1+1
|
||||
|
||||
lda #(28+128)
|
||||
lda #(30+128)
|
||||
sta td_right_smc1+1
|
||||
|
||||
lda #(10+128)
|
||||
@ -593,9 +593,9 @@ c2_done_draw_friend:
|
||||
; draw alien
|
||||
;===============
|
||||
|
||||
lda ALIEN_OUT
|
||||
beq no_draw_alien
|
||||
jsr draw_alien
|
||||
lda ALIEN_OUT
|
||||
beq no_draw_alien
|
||||
jsr draw_alien
|
||||
no_draw_alien:
|
||||
|
||||
;================
|
||||
@ -1247,8 +1247,8 @@ door_c2_r4_y:
|
||||
|
||||
door_c2_r4_xmin:
|
||||
c2_r4_door0_xmin: .byte 9 ; 18-4-5
|
||||
c2_r4_door1_xmin: .byte 11 ; 20-4-5
|
||||
c2_r4_door2_xmin: .byte 13 ; 22-4-5
|
||||
c2_r4_door1_xmin: .byte 9 ; 20-4-5
|
||||
c2_r4_door2_xmin: .byte 9 ; 22-4-5
|
||||
c2_r4_door3_xmin: .byte 23 ; 32-4-5
|
||||
|
||||
door_c2_r4_xmax:
|
||||
|
Loading…
Reference in New Issue
Block a user