diff --git a/games/peasant/Makefile b/games/peasant/Makefile index 1d46f5db..f44aca7d 100644 --- a/games/peasant/Makefile +++ b/games/peasant/Makefile @@ -56,7 +56,9 @@ PEASANT: peasant.o ld65 -o PEASANT peasant.o -C $(LINKER_SCRIPTS)/apple2_6000.inc peasant.o: peasant.s graphics/graphics.inc \ - directions.s cottage.s lake_w.s lake_e.s river.s knight.s + title.s directions.s \ + cottage.s lake_w.s lake_e.s river.s knight.s \ + ending.s ca65 -o peasant.o peasant.s -l peasant.lst ### diff --git a/games/peasant/cottage.s b/games/peasant/cottage.s index 48807572..272779cb 100644 --- a/games/peasant/cottage.s +++ b/games/peasant/cottage.s @@ -27,5 +27,42 @@ cottage: rts + peasant_text: .byte 25,2,"Peasant's Quest",0 + + +cottage_text1: + .byte 0,0,"YOU are Rather Dashing, a",0 + .byte 0,0,"humble peasant living in",0 + .byte 0,0,"the peasant kingdom of",0 + .byte 0,0,"Peasantry.",0 + +; wait a few seconds + +cottage_text2: + .byte 0,0,"You return home from a",0 + .byte 0,0,"vacation on Scalding Lake",0 + .byte 0,0,"only to find that TROGDOR",0 + .byte 0,0,"THE BURNINATOR has",0 + .byte 0,0,"burninated your thatched",0 + .byte 0,0,"roof cottage along with all",0 + .byte 0,0,"your goods and services.",0 + +; wait a few seconds, then start walking toward cottage + +cottage_text3: + .byte 0,0,"With nothing left to lose,",0 + .byte 0,0,"you swear to get revenge on",0 + .byte 0,0,"the Wingaling Dragon in the",0 + .byte 0,0,"name of burninated peasants",0 + .byte 0,0,"everywhere.",0 + +; Walk to edge of screen + + + + + + + diff --git a/games/peasant/ending.s b/games/peasant/ending.s new file mode 100644 index 00000000..941f848b --- /dev/null +++ b/games/peasant/ending.s @@ -0,0 +1,50 @@ +; o/~ Bread is a good time for me o/~ + + ;************************ + ; Ending + ;************************ +ending: + lda #<(trogdor_lzsa) + sta getsrc_smc+1 + lda #>(trogdor_lzsa) + sta getsrc_smc+2 + + lda #$40 + + jsr decompress_lzsa2_fast + + lda #peasant_text + sta OUTH + + jsr hgr_put_string + + + jsr wait_until_keypress + + lda #<(game_over_lzsa) + sta getsrc_smc+1 + lda #>(game_over_lzsa) + sta getsrc_smc+2 + + lda #$40 + + jsr decompress_lzsa2_fast + + lda #peasant_text + sta OUTH + + jsr hgr_put_string + + + jsr wait_until_keypress + + + rts + + + + diff --git a/games/peasant/graphics/Makefile b/games/peasant/graphics/Makefile index 9ad49892..424a8bd1 100644 --- a/games/peasant/graphics/Makefile +++ b/games/peasant/graphics/Makefile @@ -15,7 +15,9 @@ graphics.inc: \ lake_e.lzsa \ lake_w.lzsa \ river.lzsa \ - knight.lzsa + knight.lzsa \ + trogdor.lzsa \ + game_over.lzsa echo "title_lzsa: .incbin \"peasant_title.lzsa\"" > graphics.inc echo "tips_lzsa: .incbin \"tips.lzsa\"" >> graphics.inc echo "cottage_lzsa: .incbin \"cottage.lzsa\"" >> graphics.inc @@ -23,6 +25,8 @@ graphics.inc: \ echo "lake_e_lzsa: .incbin \"lake_e.lzsa\"" >> graphics.inc echo "river_lzsa: .incbin \"river.lzsa\"" >> graphics.inc echo "knight_lzsa: .incbin \"knight.lzsa\"" >> graphics.inc + echo "trogdor_lzsa: .incbin \"trogdor.lzsa\"" >> graphics.inc + echo "game_over_lzsa: .incbin \"game_over.lzsa\"" >> graphics.inc ### @@ -89,6 +93,23 @@ knight.lzsa: knight.hgr knight.hgr: knight.png $(PNG2HGR) knight.png > knight.hgr +### + +trogdor.lzsa: trogdor.hgr + $(LZSA) -r -f2 trogdor.hgr trogdor.lzsa + +trogdor.hgr: trogdor.png + $(PNG2HGR) trogdor.png > trogdor.hgr + +### + +game_over.lzsa: game_over.hgr + $(LZSA) -r -f2 game_over.hgr game_over.lzsa + +game_over.hgr: game_over.png + $(PNG2HGR) game_over.png > game_over.hgr + + ### diff --git a/games/peasant/graphics/game_over.png b/games/peasant/graphics/game_over.png new file mode 100644 index 00000000..bff7c1e2 Binary files /dev/null and b/games/peasant/graphics/game_over.png differ diff --git a/games/peasant/graphics/trogdor.png b/games/peasant/graphics/trogdor.png new file mode 100644 index 00000000..b1a4c40e Binary files /dev/null and b/games/peasant/graphics/trogdor.png differ diff --git a/games/peasant/knight.s b/games/peasant/knight.s index adc18ea0..941c469b 100644 --- a/games/peasant/knight.s +++ b/games/peasant/knight.s @@ -24,3 +24,13 @@ knight: jsr wait_until_keypress rts + + +; continues displaying previous message + +; stops as approach knight + +knight_message1: + .byte 0,0,"OK go for it.",0 + + diff --git a/games/peasant/lake_e.s b/games/peasant/lake_e.s index 8e369770..f0ac97be 100644 --- a/games/peasant/lake_e.s +++ b/games/peasant/lake_e.s @@ -24,3 +24,13 @@ lake_east: jsr wait_until_keypress rts + + + +; walk sideways, near corner + +lake_e_message1: + .byte 0,0,"That's a nice looking lake.",0 + +; nearly hit head on sign, it goes away, walk off screen + diff --git a/games/peasant/lake_w.s b/games/peasant/lake_w.s index a0397fd6..6a279b94 100644 --- a/games/peasant/lake_w.s +++ b/games/peasant/lake_w.s @@ -24,3 +24,13 @@ lake_west: jsr wait_until_keypress rts + +; same message as end of cottage + +; walk halfway across the screen + +lake_w_message1: + .byte 0,0,"You head east toward the",0 + .byte 0,0,"mountain atop which TROGDOR lives.",0 + +; walk to edge diff --git a/games/peasant/peasant.s b/games/peasant/peasant.s index d73d343a..c50abf8d 100644 --- a/games/peasant/peasant.s +++ b/games/peasant/peasant.s @@ -34,16 +34,7 @@ hgr_display: ; Title ;************************ - lda #<(title_lzsa) - sta getsrc_smc+1 - lda #>(title_lzsa) - sta getsrc_smc+2 - - lda #$40 - - jsr decompress_lzsa2_fast - - jsr wait_until_keypress + jsr title ;************************ @@ -83,6 +74,13 @@ hgr_display: jsr knight + ;************************ + ; Ending + ;************************ + + jsr ending + + forever: jmp forever @@ -90,12 +88,14 @@ forever: .include "decompress_fast_v2.s" .include "wait_keypress.s" +.include "title.s" .include "directions.s" .include "cottage.s" .include "lake_w.s" .include "lake_e.s" .include "river.s" .include "knight.s" +.include "ending.s" .include "hgr_font.s" diff --git a/games/peasant/river.s b/games/peasant/river.s index c357b782..3928b704 100644 --- a/games/peasant/river.s +++ b/games/peasant/river.s @@ -24,3 +24,12 @@ river: jsr wait_until_keypress rts + + +; walk up a bit + +river_message1: + .byte 0,0,"You can start playing in a",0 + .byte 0,0,"second here.",0 + +; walks behind tree diff --git a/games/peasant/title.s b/games/peasant/title.s new file mode 100644 index 00000000..ad41bada --- /dev/null +++ b/games/peasant/title.s @@ -0,0 +1,19 @@ +; o/~ Burnintating the Peasants o/~ + + + ;************************ + ; Title + ;************************ +title: + lda #<(title_lzsa) + sta getsrc_smc+1 + lda #>(title_lzsa) + sta getsrc_smc+2 + + lda #$40 + + jsr decompress_lzsa2_fast + + jsr wait_until_keypress + + rts