mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-12-27 17:29:49 +00:00
ootw: move some files around to make it more consistent
This commit is contained in:
parent
0e2d972716
commit
6b83cd89b1
@ -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
|
||||
|
||||
####
|
||||
|
@ -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:
|
||||
|
11
ootw/ootw.s
11
ootw/ootw.s
@ -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
100
ootw/ootw_cut_beast.s
Normal 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
168
ootw/ootw_cut_slug.s
Normal 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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
@ -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
|
Loading…
Reference in New Issue
Block a user