mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-02-06 14:30:18 +00:00
ootw: more work on cage end scene
This commit is contained in:
parent
3381971db9
commit
3bad7ffb44
@ -15,18 +15,6 @@ ootw_c2:
|
||||
sta GAME_OVER
|
||||
sta PHYSICIST_STATE
|
||||
sta ON_ELEVATOR
|
||||
sta CITY_MOVIE_SEEN
|
||||
sta CART_OUT
|
||||
sta DUDE_OUT
|
||||
|
||||
lda #39
|
||||
sta DUDE_X
|
||||
|
||||
lda #$FA
|
||||
sta CART_X
|
||||
|
||||
lda #1
|
||||
sta JAIL_POWER_ON
|
||||
|
||||
lda #22
|
||||
sta PHYSICIST_Y
|
||||
|
@ -26,12 +26,6 @@ ootw_cage:
|
||||
lda #$c ; load image off-screen $c00
|
||||
jsr load_rle_gr
|
||||
|
||||
;=================================
|
||||
; copy to screen
|
||||
|
||||
jsr gr_copy_to_current
|
||||
jsr page_flip
|
||||
|
||||
;=================================
|
||||
; setup vars
|
||||
|
||||
@ -124,43 +118,7 @@ done_drawing_cage:
|
||||
; draw laser
|
||||
;======================
|
||||
|
||||
lda SHOOTING_BOTTOM
|
||||
beq done_draw_laser
|
||||
|
||||
; 30 - 27, 30-24, 30-21
|
||||
|
||||
lda #$11
|
||||
sta COLOR
|
||||
|
||||
ldx SHOOTING_BOTTOM
|
||||
stx V2
|
||||
|
||||
ldx SHOOTING_TOP
|
||||
|
||||
ldy #21 ; X location
|
||||
jsr vlin
|
||||
|
||||
; if shooting top < 10, decrement Y2
|
||||
lda SHOOTING_TOP
|
||||
cmp #10
|
||||
bcs shoot_up_noadj ; bge
|
||||
|
||||
dec SHOOTING_BOTTOM
|
||||
dec SHOOTING_BOTTOM
|
||||
dec SHOOTING_BOTTOM
|
||||
dec SHOOTING_BOTTOM
|
||||
shoot_up_noadj:
|
||||
|
||||
|
||||
lda SHOOTING_TOP
|
||||
beq done_draw_laser
|
||||
|
||||
dec SHOOTING_TOP
|
||||
dec SHOOTING_TOP
|
||||
dec SHOOTING_TOP
|
||||
dec SHOOTING_TOP
|
||||
|
||||
done_draw_laser:
|
||||
jsr draw_laser
|
||||
|
||||
;======================
|
||||
; draw guard
|
||||
@ -292,11 +250,9 @@ check_amp4:
|
||||
|
||||
|
||||
;===========================
|
||||
; Done with cage, enter jail
|
||||
; Done with cage, run ending sequence
|
||||
|
||||
|
||||
bit KEYRESET ; clear keyboard
|
||||
rts
|
||||
jmp cage_ending
|
||||
|
||||
cage_continue:
|
||||
bit KEYRESET ; clear keyboard
|
||||
@ -397,6 +353,50 @@ done_cage:
|
||||
rts
|
||||
|
||||
|
||||
;======================
|
||||
; Draw Laser
|
||||
;======================
|
||||
|
||||
draw_laser:
|
||||
lda SHOOTING_BOTTOM
|
||||
beq done_draw_laser
|
||||
|
||||
; 30 - 27, 30-24, 30-21
|
||||
|
||||
lda #$11
|
||||
sta COLOR
|
||||
|
||||
ldx SHOOTING_BOTTOM
|
||||
stx V2
|
||||
|
||||
ldx SHOOTING_TOP
|
||||
|
||||
ldy #21 ; X location
|
||||
jsr vlin
|
||||
|
||||
; if shooting top < 10, decrement Y2
|
||||
lda SHOOTING_TOP
|
||||
cmp #10
|
||||
bcs shoot_up_noadj ; bge
|
||||
|
||||
dec SHOOTING_BOTTOM
|
||||
dec SHOOTING_BOTTOM
|
||||
dec SHOOTING_BOTTOM
|
||||
dec SHOOTING_BOTTOM
|
||||
shoot_up_noadj:
|
||||
|
||||
|
||||
lda SHOOTING_TOP
|
||||
beq done_draw_laser
|
||||
|
||||
dec SHOOTING_TOP
|
||||
dec SHOOTING_TOP
|
||||
dec SHOOTING_TOP
|
||||
dec SHOOTING_TOP
|
||||
|
||||
done_draw_laser:
|
||||
rts
|
||||
|
||||
cage_amp1_sprites:
|
||||
.word cage_center_sprite
|
||||
.word cage_right1_sprite
|
||||
@ -709,3 +709,87 @@ little_guy_out2_sprite:
|
||||
.byte $AA,$AA,$A7,$A7
|
||||
.byte $AA,$AA,$AA,$AA
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;============================
|
||||
; Cage Ending
|
||||
;============================
|
||||
cage_ending:
|
||||
|
||||
;================================
|
||||
; copy background to current page
|
||||
;================================
|
||||
|
||||
jsr gr_copy_to_current
|
||||
|
||||
|
||||
;=======================
|
||||
; draw miners mining
|
||||
;=======================
|
||||
|
||||
jsr ootw_draw_miners
|
||||
|
||||
;==========================
|
||||
; draw cage (if applicable)
|
||||
;==========================
|
||||
|
||||
lda #11
|
||||
sta XPOS
|
||||
lda #0
|
||||
sta YPOS
|
||||
|
||||
lda #<cage_center_sprite
|
||||
sta INL
|
||||
lda #>cage_center_sprite
|
||||
sta INH
|
||||
|
||||
jsr put_sprite_crop
|
||||
|
||||
;======================
|
||||
; draw laser
|
||||
;======================
|
||||
|
||||
jsr draw_laser
|
||||
|
||||
;===========================
|
||||
; draw guard (if applicable)
|
||||
;===========================
|
||||
|
||||
lda #34
|
||||
sta XPOS
|
||||
lda #28
|
||||
sta YPOS
|
||||
|
||||
lda changing_guard_sprites,Y
|
||||
sta INL
|
||||
lda changing_guard_sprites+1,Y
|
||||
sta INH
|
||||
|
||||
jsr put_sprite_crop
|
||||
|
||||
|
||||
;===============
|
||||
; page flip
|
||||
|
||||
jsr page_flip
|
||||
|
||||
;================
|
||||
; inc frame count
|
||||
|
||||
inc FRAMEL
|
||||
bne end_cage_frame_no_oflo
|
||||
inc FRAMEH
|
||||
|
||||
end_cage_frame_no_oflo:
|
||||
|
||||
|
||||
|
||||
done_cage_end:
|
||||
|
||||
bit KEYRESET ; clear keyboard
|
||||
rts
|
||||
|
||||
|
@ -8,6 +8,20 @@ ootw_jail:
|
||||
lda #0
|
||||
sta ON_ELEVATOR
|
||||
sta TELEPORTING
|
||||
sta CITY_MOVIE_SEEN
|
||||
sta CART_OUT
|
||||
sta DUDE_OUT
|
||||
sta friend_direction
|
||||
|
||||
lda #1
|
||||
sta JAIL_POWER_ON
|
||||
sta GUN_OUT
|
||||
sta friend_out
|
||||
|
||||
lda #39
|
||||
sta DUDE_X
|
||||
lda #$FA
|
||||
sta CART_X
|
||||
|
||||
;==============================
|
||||
; setup per-room variables
|
||||
|
@ -124,12 +124,13 @@ LEFT_LIMIT = $E0 ; ALL
|
||||
RIGHT_LIMIT = $E1 ; ALL
|
||||
|
||||
WHICH_SLUG = $E2 ; C1
|
||||
TELEPORTING = $E2 ; C2
|
||||
TELEPORTING = $E2 ; C2 jail
|
||||
|
||||
WHICH_CAVE = $E3 ; C1
|
||||
WHICH_JAIL = $E3 ; C2
|
||||
|
||||
BEAST_OUT = $E4 ; C1
|
||||
GUN_OUT = $E4 ; C2 jail
|
||||
|
||||
GAME_OVER = $E5 ; ALL
|
||||
DNA_OUT = $E5 ; INTRO
|
||||
|
Loading…
x
Reference in New Issue
Block a user