ootw: move some files around to make it more consistent

This commit is contained in:
Vince Weaver 2019-03-30 22:24:19 -04:00
parent 0e2d972716
commit 6b83cd89b1
8 changed files with 284 additions and 275 deletions

View File

@ -28,7 +28,7 @@ ootw.o: ootw.s \
keyboard.s sluggy.s beast.s \
ootw_rope.s earthquake.s ootw_mesa.s \
ootw_pool.s ootw_cavern.s physicist.s random16.s \
cutscene_slug.s cutscene_beast.s \
ootw_cut_slug.s ootw_cut_beast.s \
ootw_graphics/pool/ootw_pool.inc \
ootw_graphics/underwater/ootw_underwater.inc \
ootw_graphics/caves/ootw_cavern.inc \
@ -40,7 +40,10 @@ ootw.o: ootw.s \
ootw_graphics/sprites/sprites_physicist.inc \
ootw_graphics/sprites/sprites_slugs.inc \
ootw_graphics/sprites/sprites_ootw.inc \
ootw_graphics/sprites/sprites_beast.inc
ootw_graphics/sprites/sprites_beast.inc \
ootw_graphics/end_scenes/ootw_beast_end.inc \
ootw_graphics/end_scenes/ootw_beast_intro.inc \
ootw_graphics/end_scenes/ootw_slug_end.inc
ca65 -o ootw.o ootw.s -l ootw.lst
####

View File

@ -4,7 +4,6 @@ KNOWN BUGS:
TODO:
+ sprites that don't draw off edge of screen
Movement:
+ running: Missing one running frame (?)
@ -40,7 +39,8 @@ underwater:
+ ripples in water
beast:
+ add beast death cutscene
+ hook up beast ending cutscene
+ compress/transparency beast ending cutscene
+ add beast tripping
rope_room:

View File

@ -112,6 +112,10 @@ end_message:
.include "gr_overlay.s"
.include "gr_putsprite_crop.s"
; cutscenes
.include "ootw_cut_slug.s"
.include "ootw_cut_beast.s"
; room backgrounds
.include "ootw_graphics/pool/ootw_pool.inc"
.include "ootw_graphics/caves/ootw_cavern.inc"
@ -125,7 +129,8 @@ end_message:
.include "ootw_graphics/sprites/sprites_physicist.inc"
.include "ootw_graphics/sprites/sprites_slugs.inc"
.include "ootw_graphics/sprites/sprites_beast.inc"
; cutscenes
.include "cutscene_slug.s"
.include "cutscene_beast.s"
; cutscene data
.include "ootw_graphics/endl1/ootw_l1end.inc"
.include "ootw_graphics/end_scenes/ootw_beast_end.inc"
.include "ootw_graphics/end_scenes/ootw_slug_end.inc"
.include "ootw_graphics/end_scenes/ootw_beast_intro.inc"

100
ootw/ootw_cut_beast.s Normal file
View File

@ -0,0 +1,100 @@
beast_cutscene:
;====================
; beast dropping in
lda #$8
sta DRAW_PAGE
jsr clear_top
lda #<beast_background
sta INL
lda #>beast_background
sta INH
lda #15
sta XPOS
lda #10
sta YPOS
jsr put_sprite
lda #$0
sta DRAW_PAGE
jsr gr_copy_to_current
jsr page_flip
jsr gr_copy_to_current
jsr page_flip
ldx #0
stx CUTFRAME
beast_loop:
jsr gr_copy_to_current
ldx CUTFRAME
lda beast_frames,X
sta INL
lda beast_frames+1,X
sta INH
lda #15
sta XPOS
lda #10
sta YPOS
jsr put_sprite
jsr page_flip
ldx #2
beast_long_delay:
lda #250
jsr WAIT
dex
bne beast_long_delay
ldx CUTFRAME
inx
inx
stx CUTFRAME
cpx #28
beq beast_end
jmp beast_loop
beast_end:
;=============================
; Restore background to $c00
lda #>(cavern3_rle)
sta GBASH
lda #<(cavern3_rle)
sta GBASL
lda #$c ; load image off-screen $c00
jmp load_rle_gr
beast_frames:
.word beast_frame1 ; 0
.word beast_frame2 ; 1
.word beast_frame3 ; 2
.word beast_frame4 ; 3
.word beast_frame5 ; 4
.word beast_frame6 ; 5
.word beast_frame7 ; 6
.word beast_frame8 ; 7
.word beast_frame9 ; 8
.word beast_frame10 ; 9
.word beast_frame11 ; 10
.word beast_frame12 ; 11
.word beast_frame8 ; 12
.word beast_frame8 ; 13

168
ootw/ootw_cut_slug.s Normal file
View File

@ -0,0 +1,168 @@
slug_cutscene:
;====================
; First the slug part
lda #$8
sta DRAW_PAGE
jsr clear_top
lda #<slug_background
sta INL
lda #>slug_background
sta INH
lda #15
sta XPOS
lda #10
sta YPOS
jsr put_sprite
lda #$0
sta DRAW_PAGE
jsr gr_copy_to_current
jsr page_flip
jsr gr_copy_to_current
jsr page_flip
ldx #0
stx CUTFRAME
sluggy_loop:
jsr gr_copy_to_current
ldx CUTFRAME
lda slug_frames,X
sta INL
lda slug_frames+1,X
sta INH
lda #15
sta XPOS
lda #18
sta YPOS
jsr put_sprite
jsr page_flip
ldx #2
long_delay:
lda #250
jsr WAIT
dex
bne long_delay
ldx CUTFRAME
inx
inx
stx CUTFRAME
cpx #12
beq sluggy_end
jmp sluggy_loop
sluggy_end:
;====================
; Then the leg part
lda #$8
sta DRAW_PAGE
jsr clear_top
lda #<leg_background
sta INL
lda #>leg_background
sta INH
lda #15
sta XPOS
lda #10
sta YPOS
jsr put_sprite
lda #$0
sta DRAW_PAGE
jsr gr_copy_to_current
jsr page_flip
jsr gr_copy_to_current
jsr page_flip
ldx #0
stx CUTFRAME
leg_loop:
jsr gr_copy_to_current
ldx CUTFRAME
lda leg_frames,X
sta INL
lda leg_frames+1,X
sta INH
lda #18
sta XPOS
lda #18
sta YPOS
jsr put_sprite
jsr page_flip
ldx #4
long_delay2:
lda #250
jsr WAIT
dex
bne long_delay2
ldx CUTFRAME
inx
inx
stx CUTFRAME
cpx #12
beq leg_end
jmp leg_loop
leg_end:
;=============================
; Restore background to $c00
jmp cavern_load_background
; rts ; tail call?
; sluggy freelance
slug_frames:
.word sluggy1
.word sluggy2
.word sluggy3
.word sluggy4
.word sluggy5
.word sluggy6
leg_frames:
.word leg1
.word leg2
.word leg3
.word leg4
.word leg5
.word leg5

View File

@ -32,5 +32,5 @@ ootw_beast_end.inc: $(PNG2RLE) \
#####
clean:
rm -f *~ *.o *.lst *.lzz *.inc
rm -f *~ *.o *.lst *.lzz ootw_beast_end.inc

View File

@ -1,87 +1,4 @@
beast_cutscene:
;====================
; beast dropping in
lda #$8
sta DRAW_PAGE
jsr clear_top
lda #<beast_background
sta INL
lda #>beast_background
sta INH
lda #15
sta XPOS
lda #10
sta YPOS
jsr put_sprite
lda #$0
sta DRAW_PAGE
jsr gr_copy_to_current
jsr page_flip
jsr gr_copy_to_current
jsr page_flip
ldx #0
stx CUTFRAME
beast_loop:
jsr gr_copy_to_current
ldx CUTFRAME
lda beast_frames,X
sta INL
lda beast_frames+1,X
sta INH
lda #15
sta XPOS
lda #10
sta YPOS
jsr put_sprite
jsr page_flip
ldx #2
beast_long_delay:
lda #250
jsr WAIT
dex
bne beast_long_delay
ldx CUTFRAME
inx
inx
stx CUTFRAME
cpx #28
beq beast_end
jmp beast_loop
beast_end:
;=============================
; Restore background to $c00
lda #>(cavern3_rle)
sta GBASH
lda #<(cavern3_rle)
sta GBASL
lda #$c ; load image off-screen $c00
jmp load_rle_gr
beast_background:
.byte 10,10
.byte $22,$82,$55,$66,$66,$66,$66,$55,$55,$88
@ -95,24 +12,6 @@ beast_background:
.byte $28,$22,$22,$28,$28,$28,$28,$28,$22,$22
.byte $22,$22,$22,$22,$22,$22,$22,$22,$22,$22
beast_frames:
.word beast_frame1 ; 0
.word beast_frame2 ; 1
.word beast_frame3 ; 2
.word beast_frame4 ; 3
.word beast_frame5 ; 4
.word beast_frame6 ; 5
.word beast_frame7 ; 6
.word beast_frame8 ; 7
.word beast_frame9 ; 8
.word beast_frame10 ; 9
.word beast_frame11 ; 10
.word beast_frame12 ; 11
.word beast_frame8 ; 12
.word beast_frame8 ; 13
beast_frame1: ; piskel2
.byte 9,2
.byte $AA,$00,$00,$AA,$AA,$AA,$AA,$00,$00

View File

@ -1,154 +1,4 @@
slug_cutscene:
;====================
; First the slug part
lda #$8
sta DRAW_PAGE
jsr clear_top
lda #<slug_background
sta INL
lda #>slug_background
sta INH
lda #15
sta XPOS
lda #10
sta YPOS
jsr put_sprite
lda #$0
sta DRAW_PAGE
jsr gr_copy_to_current
jsr page_flip
jsr gr_copy_to_current
jsr page_flip
ldx #0
stx CUTFRAME
sluggy_loop:
jsr gr_copy_to_current
ldx CUTFRAME
lda slug_frames,X
sta INL
lda slug_frames+1,X
sta INH
lda #15
sta XPOS
lda #18
sta YPOS
jsr put_sprite
jsr page_flip
ldx #2
long_delay:
lda #250
jsr WAIT
dex
bne long_delay
ldx CUTFRAME
inx
inx
stx CUTFRAME
cpx #12
beq sluggy_end
jmp sluggy_loop
sluggy_end:
;====================
; Then the leg part
lda #$8
sta DRAW_PAGE
jsr clear_top
lda #<leg_background
sta INL
lda #>leg_background
sta INH
lda #15
sta XPOS
lda #10
sta YPOS
jsr put_sprite
lda #$0
sta DRAW_PAGE
jsr gr_copy_to_current
jsr page_flip
jsr gr_copy_to_current
jsr page_flip
ldx #0
stx CUTFRAME
leg_loop:
jsr gr_copy_to_current
ldx CUTFRAME
lda leg_frames,X
sta INL
lda leg_frames+1,X
sta INH
lda #18
sta XPOS
lda #18
sta YPOS
jsr put_sprite
jsr page_flip
ldx #4
long_delay2:
lda #250
jsr WAIT
dex
bne long_delay2
ldx CUTFRAME
inx
inx
stx CUTFRAME
cpx #12
beq leg_end
jmp leg_loop
leg_end:
;=============================
; Restore background to $c00
jmp cavern_load_background
; rts ; tail call?
slug_background:
.byte 10,10
.byte $22,$22,$22,$22,$22,$22,$22,$22,$22,$22
@ -165,14 +15,6 @@ slug_background:
; sluggy freelance
slug_frames:
.word sluggy1
.word sluggy2
.word sluggy3
.word sluggy4
.word sluggy5
.word sluggy6
sluggy1:
.byte 10,6
.byte $AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA
@ -241,14 +83,6 @@ leg_background:
.byte $22,$44,$cc,$cc,$c4,$44,$22,$22,$22,$22
.byte $22,$44,$cc,$cc,$cc,$44,$22,$22,$22,$22
leg_frames:
.word leg1
.word leg2
.word leg3
.word leg4
.word leg5
.word leg5
leg1:
.byte $5,$6
.byte $AA,$AA,$AA,$AA,$AA