peasant: split off the trogdor part

This commit is contained in:
Vince Weaver 2021-09-10 00:46:25 -04:00
parent 645f486c91
commit d30919ba16
9 changed files with 230 additions and 49 deletions

View File

@ -9,7 +9,7 @@ EMPTY_DISK = ../../empty_disk
all: peasant.dsk peasant_side2.dsk
peasant.dsk: QBOOT QLOAD VID_LOGO TITLE INTRO COPY_CHECK \
PEASANT1 PEASANT2 PEASANT3 PEASANT4 ENDING
PEASANT1 PEASANT2 PEASANT3 PEASANT4 ENDING TROGDOR
cp $(EMPTY_DISK)/empty.dsk peasant.dsk
# $(DOS33) -y peasant.dsk BSAVE -a 0x6000 INTRO
$(DOS33_RAW) peasant.dsk 0 0 QBOOT 0 1
@ -22,13 +22,15 @@ peasant.dsk: QBOOT QLOAD VID_LOGO TITLE INTRO COPY_CHECK \
$(DOS33_RAW) peasant.dsk 12 0 COPY_CHECK 0 0
$(DOS33_RAW) peasant.dsk 14 0 PEASANT1 0 0
# $(DOS33_RAW) peasant.dsk 19 0 PEASANT2 0 0
$(DOS33_RAW) peasant.dsk 19 0 ENDING 0 0
$(DOS33_RAW) peasant.dsk 24 0 PEASANT3 0 0
$(DOS33_RAW) peasant.dsk 19 0 TROGDOR 0 0
# $(DOS33_RAW) peasant.dsk 24 0 PEASANT3 0 0
$(DOS33_RAW) peasant.dsk 24 0 ENDING 0 0
$(DOS33_RAW) peasant.dsk 29 0 PEASANT4 0 0
peasant_side2.dsk: ENDING
peasant_side2.dsk: TROGDOR ENDING
cp $(EMPTY_DISK)/empty.dsk peasant_side2.dsk
$(DOS33_RAW) peasant.dsk 14 0 ENDING 0 0
$(DOS33_RAW) peasant.dsk 19 0 TROGDOR 0 0
$(DOS33_RAW) peasant.dsk 24 0 ENDING 0 0
###
@ -154,6 +156,22 @@ peasant4.o: peasant4.s zp.inc \
###
TROGDOR: trogdor.o
ld65 -o TROGDOR trogdor.o -C $(LINKER_SCRIPTS)/apple2_6000.inc
trogdor.o: trogdor.s zp.inc \
graphics_trogdor/trogdor_graphics.inc sprites/peasant_sprite.inc \
sprites/inventory_sprites.inc \
draw_box.s hgr_rectangle.s hgr_font.s hgr_input.s \
hgr_7x28_sprite_mask.s hgr_1x5_sprite.s hgr_save_restore.s \
wait_a_bit.s draw_peasant.s hgr_text_box.s \
keyboard.s parse_input.s new_map_location.s \
peasant_move.s score.s inventory.s
ca65 -o trogdor.o trogdor.s -l trogdor.lst
###
ENDING: ending.o
ld65 -o ENDING ending.o -C $(LINKER_SCRIPTS)/apple2_6000.inc
@ -205,6 +223,9 @@ graphics/graphics_peasant1.inc:
graphics_copy/copy_graphics.inc:
cd graphics_copy && make
graphics_trogdor/trogdor_graphics.inc:
cd graphics_trogdor && make
graphics_end/ending_graphics.inc:
cd graphics_end && make
@ -217,5 +238,5 @@ sprites/inventory_sprites.inc:
clean:
rm -f *~ *.o *.lst HELLO VID_LOGO TITLE INTRO COPY_CHECK \
PEASANT1 PEASANT2 PEASANT3 PEASANT4 \
ENDING
TROGDOR ENDING

View File

@ -29,19 +29,6 @@ ending:
; start music?
trogdor_cave:
lda #<trogdor_cave_lzsa
sta getsrc_smc+1
lda #>trogdor_cave_lzsa
sta getsrc_smc+2
lda #$40
jsr decompress_lzsa2_fast
jsr wait_until_keypress
boat:
lda #<lake_e_boat_lzsa
@ -114,7 +101,7 @@ game_over:
; jsr game_over
jsr trogdor_cave
jsr boat
peasant_text:
@ -149,22 +136,6 @@ peasant_text:
.include "graphics_end/ending_graphics.inc"
trogdor_string:
.byte 34,"I can honestly say it'll",13
.byte "be a pleasure and an honor",13
.byte "to burninate you, Rather",13
.byte "Dashing.",0
trogdor_string2:
.byte "Aw that sure was nice of",13
.byte "him!",0
trogdor_string3:
.byte "Congratulations! You've",13
.byte "won! No one can kill",13
.byte "Trogdor but you came closer",13
.byte "than anybody ever! Way to",13
.byte "go!",0
boat_string:
.byte " Peasant's Quest",13

View File

@ -9,28 +9,17 @@ all: ending_graphics.inc
ending_graphics.inc: \
trogdor_cave.lzsa \
lake_e_boat.lzsa \
waterfall.lzsa \
jhonka.lzsa \
cottage.lzsa \
the_end.lzsa
echo "trogdor_cave_lzsa: .incbin \"trogdor_cave.lzsa\"" > ending_graphics.inc
echo "lake_e_boat_lzsa: .incbin \"lake_e_boat.lzsa\"" >> ending_graphics.inc
echo "lake_e_boat_lzsa: .incbin \"lake_e_boat.lzsa\"" > ending_graphics.inc
echo "waterfall_lzsa: .incbin \"waterfall.lzsa\"" >> ending_graphics.inc
echo "jhonka_lzsa: .incbin \"jhonka.lzsa\"" >> ending_graphics.inc
echo "cottage_lzsa: .incbin \"cottage.lzsa\"" >> ending_graphics.inc
echo "the_end_lzsa: .incbin \"the_end.lzsa\"" >> ending_graphics.inc
###
trogdor_cave.lzsa: trogdor_cave.hgr
$(LZSA) -r -f2 trogdor_cave.hgr trogdor_cave.lzsa
trogdor_cave.hgr: trogdor_cave.png
$(PNG2HGR) trogdor_cave.png > trogdor_cave.hgr
###
lake_e_boat.lzsa: lake_e_boat.hgr
@ -79,5 +68,5 @@ the_end.hgr: the_end.png
clean:
rm -f *~ copy_graphics.inc *.lzsa *.gr *.hgr
rm -f *~ ending_graphics.inc *.lzsa *.gr *.hgr

View File

@ -0,0 +1,59 @@
PNG2RLE = ../../../utils/gr-utils/png2rle
PNG2GR = ../../../utils/gr-utils/png2gr
PNG2HGR = ../../../utils/hgr-utils/png2hgr
LZSA = ~/research/lzsa/lzsa/lzsa
B2D = ../../../utils/bmp2dhr/b2d
all: trogdor_graphics.inc
trogdor_graphics.inc: \
trogdor_cave.lzsa \
trogdor_open.lzsa \
trogdor_flame1.lzsa \
trogdor_flame2.lzsa
echo "trogdor_cave_lzsa: .incbin \"trogdor_cave.lzsa\"" > trogdor_graphics.inc
echo "trogdor_open_lzsa: .incbin \"trogdor_open.lzsa\"" >> trogdor_graphics.inc
echo "trogdor_flame1_lzsa: .incbin \"trogdor_flame1.lzsa\"" >> trogdor_graphics.inc
echo "trogdor_flame2_lzsa: .incbin \"trogdor_flame2.lzsa\"" >> trogdor_graphics.inc
###
trogdor_cave.lzsa: trogdor_cave.hgr
$(LZSA) -r -f2 trogdor_cave.hgr trogdor_cave.lzsa
trogdor_cave.hgr: trogdor_cave.png
$(PNG2HGR) trogdor_cave.png > trogdor_cave.hgr
###
trogdor_open.lzsa: trogdor_open.hgr
$(LZSA) -r -f2 trogdor_open.hgr trogdor_open.lzsa
trogdor_open.hgr: trogdor_open.png
$(PNG2HGR) trogdor_open.png > trogdor_open.hgr
###
trogdor_flame1.lzsa: trogdor_flame1.hgr
$(LZSA) -r -f2 trogdor_flame1.hgr trogdor_flame1.lzsa
trogdor_flame1.hgr: trogdor_flame1.png
$(PNG2HGR) trogdor_flame1.png > trogdor_flame1.hgr
###
trogdor_flame2.lzsa: trogdor_flame2.hgr
$(LZSA) -r -f2 trogdor_flame2.hgr trogdor_flame2.lzsa
trogdor_flame2.hgr: trogdor_flame2.png
$(PNG2HGR) trogdor_flame2.png > trogdor_flame2.hgr
###
clean:
rm -f *~ trogdor_graphics.inc *.lzsa *.gr *.hgr

View File

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

141
games/peasant/trogdor.s Normal file
View File

@ -0,0 +1,141 @@
; Peasant's Quest Ending
; From when the sword hits Trogdor on
; by Vince `deater` Weaver vince@deater.net
.include "hardware.inc"
.include "zp.inc"
.include "qload.inc"
trogdor:
lda #0
sta GAME_OVER
jsr hgr_make_tables
jsr HGR2 ; Hi-res graphics, no text at bottom
; Y=0, A=0 after this called
lda #0
sta FRAME
; update score
jsr update_score
; start music?
trogdor_cave:
lda #<trogdor_cave_lzsa
sta getsrc_smc+1
lda #>trogdor_cave_lzsa
sta getsrc_smc+2
lda #$40
jsr decompress_lzsa2_fast
jsr wait_until_keypress
trogdor_open:
lda #<trogdor_open_lzsa
sta getsrc_smc+1
lda #>trogdor_open_lzsa
sta getsrc_smc+2
lda #$40
jsr decompress_lzsa2_fast
jsr wait_until_keypress
trogdor_flame1:
lda #<trogdor_flame1_lzsa
sta getsrc_smc+1
lda #>trogdor_flame1_lzsa
sta getsrc_smc+2
lda #$40
jsr decompress_lzsa2_fast
jsr wait_until_keypress
trogdor_flame2:
lda #<trogdor_flame2_lzsa
sta getsrc_smc+1
lda #>trogdor_flame2_lzsa
sta getsrc_smc+2
lda #$40
jsr decompress_lzsa2_fast
jsr wait_until_keypress
game_over:
; jsr game_over
jsr trogdor_cave
peasant_text:
.byte 25,2,"Peasant's Quest",0
.include "decompress_fast_v2.s"
.include "wait_keypress.s"
;.include "draw_peasant.s"
.include "hgr_font.s"
.include "draw_box.s"
.include "hgr_rectangle.s"
;.include "hgr_7x28_sprite_mask.s"
.include "hgr_1x5_sprite.s"
;.include "hgr_save_restore.s"
.include "hgr_partial_save.s"
.include "hgr_input.s"
.include "hgr_tables.s"
.include "hgr_text_box.s"
.include "clear_bottom.s"
.include "gr_offsets.s"
.include "gr_copy.s"
.include "score.s"
.include "wait_a_bit.s"
.include "version.inc"
.include "graphics_trogdor/trogdor_graphics.inc"
trogdor_string:
.byte 34,"I can honestly say it'll",13
.byte "be a pleasure and an honor",13
.byte "to burninate you, Rather",13
.byte "Dashing.",0
trogdor_string2:
.byte "Aw that sure was nice of",13
.byte "him!",0
trogdor_string3:
.byte "Congratulations! You've",13
.byte "won! No one can kill",13
.byte "Trogdor but you came closer",13
.byte "than anybody ever! Way to",13
.byte "go!",0