ootw: laser

This commit is contained in:
Vince Weaver 2019-07-18 21:01:54 -04:00
parent 8f38e37de0
commit 39719bb33b
12 changed files with 63 additions and 43 deletions

View File

@ -61,7 +61,7 @@ ootw_c2.o: ootw_c2.s \
ootw_graphics/sprites/sprites_physicist.inc \
ootw_graphics/sprites/sprites_alien.inc \
ootw_c2_cage.s ootw_c2_jail.s ootw_c2_elevator.s ootw_c2_intro.s \
ootw_graphics/cage/ootw_c2_cage.inc \
ootw_graphics/l2cage/ootw_c2_cage.inc \
ootw_graphics/l2intro/ootw_l2intro.inc
ca65 -o ootw_c2.o ootw_c2.s -l ootw_c2.lst

View File

@ -359,11 +359,13 @@ alien_shooting_up:
cpy #0
lda alien_state+ALIEN_GAIT,X
and #$3f
; and #$ff
bne finally_draw_alien
lda #30
sta SHOOTING
lda #32
sta SHOOTING_BOTTOM
lda #28
sta SHOOTING_TOP
; bne finally_draw_alien ; bra

View File

@ -3,6 +3,7 @@
; vlin
;=========================================
; X, V2 at Y
; from x=top, v2=bottom
vlin:
sty TEMPY ; save Y (x location)

View File

@ -1,5 +1,5 @@
5 HOME
10 PRINT "OOTW PROOF-OF-CONCEPT V2.0 BY DEATER"
10 PRINT "OOTW PROOF-OF-CONCEPT V2.1 BY DEATER"
20 PRINT " DISK,LZ4 BY QKUMBA"
25 PRINT " ,"
30 PRINT "ORIGINAL BY ERIC CHAHI"

View File

@ -158,7 +158,7 @@ end_message:
.include "ootw_c2_miners.s"
; room backgrounds
.include "ootw_graphics/cage/ootw_c2_cage.inc"
.include "ootw_graphics/l2cage/ootw_c2_cage.inc"
.include "ootw_graphics/l2jail/ootw_c2_jail.inc"
; sprites
.include "ootw_graphics/sprites/sprites_physicist.inc"

View File

@ -40,7 +40,8 @@ ootw_cage:
sta CAGE_AMPLITUDE
sta CAGE_OFFSET
sta CAGE_GUARD
sta SHOOTING
sta SHOOTING_BOTTOM
sta SHOOTING_TOP
bit KEYRESET ; clear keypress
@ -123,27 +124,41 @@ done_drawing_cage:
; draw laser
;======================
lda SHOOTING
lda SHOOTING_BOTTOM
beq done_draw_laser
; 30 - 27, 30-24, 30-21
lda #$11
sta COLOR
ldx SHOOTING
ldx SHOOTING_BOTTOM
stx V2
lda SHOOTING
sec
sbc #20
bpl laser_not_offscreen
lda #0
laser_not_offscreen:
tax
ldy #21
ldx SHOOTING_TOP
ldy #21 ; X location
jsr vlin
dec SHOOTING
dec SHOOTING
dec SHOOTING
; 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:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

View File

@ -32,22 +32,23 @@ cage_rle: .byte $28 ; ysize=48
.byte $20, $00,$00, $55, $22, $66,$66, $A7,$88, $A9,$00
.byte $22,$22, $A3,$00, $A3,$22, $00,$00, $02, $66, $62
.byte $66, $00,$00, $22, $66, $00,$00, $55, $22
.byte $66,$66, $A7,$88, $A9,$00, $02,$02, $AA,$00, $02, $22
.byte $A3,$00, $02, $00,$00, $55, $22, $66,$66, $A7,$88
.byte $AB,$00, $20, $00,$00, $62, $66, $AD,$00, $55
.byte $22, $66,$66, $A7,$88, $A7,$00, $20,$20, $22, $00
.byte $22,$22, $20, $66,$66, $22,$22, $20, $AA,$00, $55
.byte $22, $66,$66, $A7,$88, $A7,$00, $22, $66, $26
.byte $00, $22, $26, $22, $26, $A4,$22, $AA,$00
.byte $55, $22, $66,$66, $A7,$88, $A7,$00, $22, $66,$66
.byte $00, $02, $62, $66,$66, $26, $22,$22, $AB,$00
.byte $55, $22, $66,$66, $A7,$88, $A5,$00, $22, $00
.byte $02,$02, $06, $00, $22,$22, $26,$26, $22, $02
.byte $AC,$00, $55, $22, $66,$66, $A7,$88, $AB,$00, $22
.byte $02, $A0,$10,$00, $55, $22, $66,$66, $A7,$88, $A0,$19,$00
.byte $A3,$26, $A3,$25, $66,$66, $A7,$88, $60,$60, $A0,$10,$00, $A7,$60
.byte $A6,$62, $66,$66, $A7,$68, $26, $A0,$11,$00, $06, $56
.byte $06, $56, $06, $56, $26, $56, $06
.byte $56, $26, $56, $06, $56, $06, $56
.byte $06, $56, $06, $56, $06, $56
.byte $66,$66, $88, $C8, $88, $C8, $88, $18
.byte $88, $A9,$00, $02,$02, $AA,$00, $02, $22, $A3,$00
.byte $02, $00,$00, $55, $22, $66,$66, $A7,$88, $AB,$00
.byte $20, $00,$00, $62, $66, $AD,$00, $55, $22
.byte $66,$66, $A7,$88, $A7,$00, $20,$20, $22, $00, $22,$22
.byte $20, $66,$66, $22,$22, $20, $AA,$00, $55, $22
.byte $66,$66, $A7,$88, $A7,$00, $22, $66, $26, $00
.byte $22, $26, $22, $26, $A4,$22, $AA,$00, $55
.byte $22, $66,$66, $A7,$88, $A7,$00, $22, $66,$66, $00
.byte $02, $62, $66,$66, $26, $22,$22, $AB,$00, $55
.byte $22, $66,$66, $A7,$88, $A5,$00, $22, $00, $02,$02
.byte $06, $00, $22,$22, $26,$26, $22, $02, $AC,$00
.byte $55, $22, $66,$66, $A7,$88, $AB,$00, $22, $02
.byte $A0,$10,$00, $55, $22, $66,$66, $A7,$88, $A0,$19,$00, $A3,$26
.byte $A3,$25, $66,$66, $A7,$88, $60,$60, $A0,$10,$00, $A7,$60, $A6,$62
.byte $66,$66, $A7,$68, $26, $A0,$11,$00, $06, $56, $06
.byte $56, $06, $56, $26, $56, $06, $56
.byte $26, $56, $06, $56, $06, $56, $06
.byte $56, $06, $56, $06, $56
.byte $A1

View File

Before

Width:  |  Height:  |  Size: 532 B

After

Width:  |  Height:  |  Size: 532 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

View File

@ -151,7 +151,8 @@ BOULDER_X = $E8 ; C1
CART_X = $E8 ; C2
BOULDER_Y = $E9 ; C1
DUDE_X = $E9 ; C2
SHOOTING_TOP = $E9 ; C1 cage
DUDE_X = $E9 ; C2 jail
PHYSICIST_STATE = $EA
P_STANDING = $00
@ -168,7 +169,7 @@ PHYSICIST_STATE = $EA
BEFORE_SWING = $EB ; C1
SHOOTING = $EB ; C2 cage
SHOOTING_BOTTOM = $EB ; C2 cage
CART_OUT = $EB ; C2 jail
CUTFRAME = $EC
@ -182,9 +183,9 @@ PHYSICIST_X = $F0 ; ALL
INTRO_LOOPH = $F1 ; INTRO
PHYSICIST_Y = $F1 ; ALL
SPRITETEMP = $F2
XPOS = $F3
YPOS = $F4
SPRITETEMP = $F2 ; ALL
XPOS = $F3 ; ALL
YPOS = $F4 ; ALL
DIRECTION = $F5 ; ALL
GAIT = $F6 ; ALL