mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-06-05 09:29:32 +00:00
peasant: hook up the hay bale messages
This commit is contained in:
parent
f3790bd38c
commit
f3cbd83581
|
@ -317,7 +317,7 @@ peasant1.o: peasant1.s zp.inc inventory.inc \
|
||||||
parse_input.inc \
|
parse_input.inc \
|
||||||
peasant1_actions.s DIALOG_PEASANT1.LZSA dialog_peasant1.inc \
|
peasant1_actions.s DIALOG_PEASANT1.LZSA dialog_peasant1.inc \
|
||||||
text/peasant1.inc text/kerrek.inc \
|
text/peasant1.inc text/kerrek.inc \
|
||||||
kerrek_actions.s \
|
kerrek_actions.s peasant_common.s \
|
||||||
sprites/peasant_sprites.inc sprites/inventory_sprites.inc \
|
sprites/peasant_sprites.inc sprites/inventory_sprites.inc \
|
||||||
graphics_peasantry/graphics_peasant1.inc \
|
graphics_peasantry/graphics_peasant1.inc \
|
||||||
graphics_peasantry/priority_peasant1.inc \
|
graphics_peasantry/priority_peasant1.inc \
|
||||||
|
@ -339,6 +339,7 @@ peasant2.o: peasant2.s zp.inc inventory.inc \
|
||||||
graphics_peasantry/graphics_peasant2.inc sprites/peasant_sprites.inc \
|
graphics_peasantry/graphics_peasant2.inc sprites/peasant_sprites.inc \
|
||||||
graphics_peasantry/priority_peasant2.inc \
|
graphics_peasantry/priority_peasant2.inc \
|
||||||
sprites/inventory_sprites.inc \
|
sprites/inventory_sprites.inc \
|
||||||
|
peasant_common.s \
|
||||||
draw_box.s hgr_rectangle.s hgr_font.s hgr_input.s \
|
draw_box.s hgr_rectangle.s hgr_font.s hgr_input.s \
|
||||||
hgr_1x28_sprite_mask.s hgr_1x5_sprite.s hgr_save_restore.s \
|
hgr_1x28_sprite_mask.s hgr_1x5_sprite.s hgr_save_restore.s \
|
||||||
wait_a_bit.s draw_peasant.s hgr_text_box.s \
|
wait_a_bit.s draw_peasant.s hgr_text_box.s \
|
||||||
|
@ -356,6 +357,7 @@ peasant3.o: peasant3.s zp.inc inventory.inc \
|
||||||
peasant3_actions.s DIALOG_PEASANT3.LZSA dialog_peasant3.inc \
|
peasant3_actions.s DIALOG_PEASANT3.LZSA dialog_peasant3.inc \
|
||||||
graphics_peasantry/graphics_peasant3.inc sprites/peasant_sprites.inc \
|
graphics_peasantry/graphics_peasant3.inc sprites/peasant_sprites.inc \
|
||||||
graphics_peasantry/priority_peasant3.inc \
|
graphics_peasantry/priority_peasant3.inc \
|
||||||
|
peasant_common.s \
|
||||||
draw_box.s hgr_rectangle.s hgr_font.s hgr_input.s \
|
draw_box.s hgr_rectangle.s hgr_font.s hgr_input.s \
|
||||||
hgr_1x28_sprite_mask.s hgr_1x5_sprite.s hgr_save_restore.s \
|
hgr_1x28_sprite_mask.s hgr_1x5_sprite.s hgr_save_restore.s \
|
||||||
wait_a_bit.s draw_peasant.s hgr_text_box.s \
|
wait_a_bit.s draw_peasant.s hgr_text_box.s \
|
||||||
|
@ -372,7 +374,7 @@ peasant4.o: peasant4.s zp.inc inventory.inc \
|
||||||
parse_input.inc \
|
parse_input.inc \
|
||||||
sprites/ned_sprites.inc \
|
sprites/ned_sprites.inc \
|
||||||
peasant4_actions.s DIALOG_PEASANT4.LZSA dialog_peasant4.inc \
|
peasant4_actions.s DIALOG_PEASANT4.LZSA dialog_peasant4.inc \
|
||||||
kerrek_actions.s \
|
kerrek_actions.s peasant_common.s \
|
||||||
text/peasant4.inc text/kerrek.inc \
|
text/peasant4.inc text/kerrek.inc \
|
||||||
graphics_peasantry/graphics_peasant4.inc sprites/peasant_sprites.inc \
|
graphics_peasantry/graphics_peasant4.inc sprites/peasant_sprites.inc \
|
||||||
graphics_peasantry/priority_peasant4.inc \
|
graphics_peasantry/priority_peasant4.inc \
|
||||||
|
@ -511,6 +513,7 @@ parse_input.inc: generate_common parse_input
|
||||||
./generate_common -a 0xee00 -s parse_common_save parse_input.lst >> parse_input.inc
|
./generate_common -a 0xee00 -s parse_common_save parse_input.lst >> parse_input.inc
|
||||||
./generate_common -a 0xee00 -s get_noun_again parse_input.lst >> parse_input.inc
|
./generate_common -a 0xee00 -s get_noun_again parse_input.lst >> parse_input.inc
|
||||||
./generate_common -a 0xee00 -s parse_input_smc parse_input.lst >> parse_input.inc
|
./generate_common -a 0xee00 -s parse_input_smc parse_input.lst >> parse_input.inc
|
||||||
|
./generate_common -a 0xee00 -s hay_blown_away_message parse_input.lst >> parse_input.inc
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|
|
@ -7,6 +7,8 @@
|
||||||
|
|
||||||
.include "tokens.inc"
|
.include "tokens.inc"
|
||||||
|
|
||||||
|
parse_input_file_begin:
|
||||||
|
|
||||||
|
|
||||||
;==========================
|
;==========================
|
||||||
; parse input
|
; parse input
|
||||||
|
@ -1299,3 +1301,10 @@ common_verb_table:
|
||||||
.byte VERB_WHY
|
.byte VERB_WHY
|
||||||
.word parse_common_why-1
|
.word parse_common_why-1
|
||||||
.byte 0
|
.byte 0
|
||||||
|
|
||||||
|
parse_input_file_end:
|
||||||
|
|
||||||
|
; make sure smaller than 4.5k
|
||||||
|
|
||||||
|
.assert (>parse_input_file_end - >parse_input_file_begin) < 18 , error, "peasant1 dialog too big"
|
||||||
|
|
||||||
|
|
|
@ -123,6 +123,7 @@ new_location:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;====================
|
;====================
|
||||||
; handle kerrek
|
; handle kerrek
|
||||||
|
|
||||||
|
@ -150,6 +151,12 @@ not_kerrek:
|
||||||
|
|
||||||
jsr draw_peasant
|
jsr draw_peasant
|
||||||
|
|
||||||
|
;===================
|
||||||
|
; check hay
|
||||||
|
|
||||||
|
jsr check_haystack_exit
|
||||||
|
|
||||||
|
|
||||||
game_loop:
|
game_loop:
|
||||||
|
|
||||||
jsr move_peasant
|
jsr move_peasant
|
||||||
|
@ -213,7 +220,7 @@ game_over:
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
.include "peasant_common.s"
|
||||||
|
|
||||||
;.include "inventory.s"
|
;.include "inventory.s"
|
||||||
|
|
||||||
|
|
|
@ -146,6 +146,11 @@ new_location:
|
||||||
|
|
||||||
jsr draw_peasant
|
jsr draw_peasant
|
||||||
|
|
||||||
|
;======================
|
||||||
|
; check if in hay
|
||||||
|
|
||||||
|
jsr check_haystack_exit
|
||||||
|
|
||||||
|
|
||||||
;=====================
|
;=====================
|
||||||
; special archery
|
; special archery
|
||||||
|
@ -340,6 +345,8 @@ to_left:
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
.include "peasant_common.s"
|
||||||
|
|
||||||
.include "draw_peasant.s"
|
.include "draw_peasant.s"
|
||||||
|
|
||||||
.include "gr_copy.s"
|
.include "gr_copy.s"
|
||||||
|
|
|
@ -53,7 +53,17 @@ hay_get_hay:
|
||||||
;=================
|
;=================
|
||||||
|
|
||||||
hay_bale_look:
|
hay_bale_look:
|
||||||
|
; first check if in hay
|
||||||
|
|
||||||
|
lda GAME_STATE_1
|
||||||
|
and #IN_HAY_BALE
|
||||||
|
beq not_in_hay_bale
|
||||||
|
|
||||||
|
ldx #<hay_look_while_in_hay_message
|
||||||
|
ldy #>hay_look_while_in_hay_message
|
||||||
|
jmp finish_parse_message
|
||||||
|
|
||||||
|
not_in_hay_bale:
|
||||||
lda CURRENT_NOUN
|
lda CURRENT_NOUN
|
||||||
|
|
||||||
cmp #NOUN_HAY
|
cmp #NOUN_HAY
|
||||||
|
|
|
@ -140,6 +140,11 @@ new_location:
|
||||||
|
|
||||||
jsr draw_peasant
|
jsr draw_peasant
|
||||||
|
|
||||||
|
;=======================
|
||||||
|
; check if in hay
|
||||||
|
|
||||||
|
jsr check_haystack_exit
|
||||||
|
|
||||||
|
|
||||||
;=======================
|
;=======================
|
||||||
; before game text
|
; before game text
|
||||||
|
@ -226,7 +231,7 @@ game_over:
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
.include "peasant_common.s"
|
||||||
|
|
||||||
.include "draw_peasant.s"
|
.include "draw_peasant.s"
|
||||||
|
|
||||||
|
|
|
@ -98,6 +98,11 @@ jhonka_get_kerrek_dead:
|
||||||
; else "probably wish" message
|
; else "probably wish" message
|
||||||
jmp parse_common_get
|
jmp parse_common_get
|
||||||
|
|
||||||
|
jhonka_get_club:
|
||||||
|
ldx #<jhonka_get_club_message
|
||||||
|
ldy #>jhonka_get_club_message
|
||||||
|
jmp finish_parse_message
|
||||||
|
|
||||||
jhonka_get_riches:
|
jhonka_get_riches:
|
||||||
|
|
||||||
lda GAME_STATE_1
|
lda GAME_STATE_1
|
||||||
|
@ -115,6 +120,15 @@ jhonka_get_riches_in_hay:
|
||||||
ldy #>jhonka_steal_riches_message
|
ldy #>jhonka_steal_riches_message
|
||||||
jsr partial_message_step
|
jsr partial_message_step
|
||||||
|
|
||||||
|
; exit hay bale
|
||||||
|
lda GAME_STATE_1
|
||||||
|
and #<(~IN_HAY_BALE)
|
||||||
|
sta GAME_STATE_1
|
||||||
|
; no longer muddy
|
||||||
|
lda GAME_STATE_2
|
||||||
|
and #<(~COVERED_IN_MUD)
|
||||||
|
sta GAME_STATE_2
|
||||||
|
|
||||||
jhonka_wait_for_answer:
|
jhonka_wait_for_answer:
|
||||||
jsr clear_bottom
|
jsr clear_bottom
|
||||||
jsr hgr_input
|
jsr hgr_input
|
||||||
|
@ -181,10 +195,7 @@ jhonka_verb_yes:
|
||||||
jmp finish_parse_message
|
jmp finish_parse_message
|
||||||
|
|
||||||
|
|
||||||
jhonka_get_club:
|
|
||||||
ldx #<jhonka_get_club_message
|
|
||||||
ldy #>jhonka_get_club_message
|
|
||||||
jmp finish_parse_message
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -197,6 +208,18 @@ jhonka_get_club:
|
||||||
|
|
||||||
jhonka_look:
|
jhonka_look:
|
||||||
|
|
||||||
|
; first check if in hay
|
||||||
|
|
||||||
|
lda GAME_STATE_1
|
||||||
|
and #IN_HAY_BALE
|
||||||
|
beq not_in_hay_bale
|
||||||
|
|
||||||
|
ldx #<hay_look_while_in_hay_message
|
||||||
|
ldy #>hay_look_while_in_hay_message
|
||||||
|
jmp finish_parse_message
|
||||||
|
|
||||||
|
not_in_hay_bale:
|
||||||
|
|
||||||
; check if kerrek alive
|
; check if kerrek alive
|
||||||
lda KERREK_STATE
|
lda KERREK_STATE
|
||||||
and #$f
|
and #$f
|
||||||
|
|
|
@ -188,6 +188,13 @@ not_kerrek:
|
||||||
|
|
||||||
jsr draw_peasant
|
jsr draw_peasant
|
||||||
|
|
||||||
|
|
||||||
|
;======================
|
||||||
|
; check if in haystack
|
||||||
|
|
||||||
|
jsr check_haystack_exit
|
||||||
|
|
||||||
|
|
||||||
game_loop:
|
game_loop:
|
||||||
|
|
||||||
jsr move_peasant
|
jsr move_peasant
|
||||||
|
@ -322,7 +329,7 @@ game_over:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.include "peasant_common.s"
|
||||||
|
|
||||||
.include "draw_peasant.s"
|
.include "draw_peasant.s"
|
||||||
|
|
||||||
|
|
53
games/peasant/peasant_common.s
Normal file
53
games/peasant/peasant_common.s
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
; some common actions that are needed in all the peasantry levels
|
||||||
|
|
||||||
|
; + exiting hastack
|
||||||
|
; + kerrek body countdown
|
||||||
|
; + night-time count down
|
||||||
|
; + rain-storm count down
|
||||||
|
|
||||||
|
|
||||||
|
;======================================================
|
||||||
|
; if start level and not in JHONKA_CAVE or HAY_BALE
|
||||||
|
; then exit the hay bale, print message, do animation
|
||||||
|
|
||||||
|
check_haystack_exit:
|
||||||
|
|
||||||
|
; fist see if in hay bale
|
||||||
|
|
||||||
|
lda GAME_STATE_1
|
||||||
|
and #IN_HAY_BALE
|
||||||
|
beq hay_bale_good
|
||||||
|
|
||||||
|
lda MAP_LOCATION
|
||||||
|
cmp #LOCATION_JHONKA_CAVE
|
||||||
|
beq hay_bale_good
|
||||||
|
cmp #LOCATION_HAY_BALE
|
||||||
|
bne must_exit_hay
|
||||||
|
|
||||||
|
hay_bale_good:
|
||||||
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
must_exit_hay:
|
||||||
|
|
||||||
|
; exit hay bale
|
||||||
|
|
||||||
|
lda GAME_STATE_1
|
||||||
|
and #<(~IN_HAY_BALE)
|
||||||
|
sta GAME_STATE_1
|
||||||
|
|
||||||
|
; no longer muddy
|
||||||
|
lda GAME_STATE_2
|
||||||
|
and #<(~COVERED_IN_MUD)
|
||||||
|
sta GAME_STATE_2
|
||||||
|
|
||||||
|
; print message
|
||||||
|
ldx #<hay_blown_away_message
|
||||||
|
ldy #>hay_blown_away_message
|
||||||
|
jsr partial_message_step
|
||||||
|
|
||||||
|
; TODO: show animation
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
|
|
|
@ -8,9 +8,10 @@ inside_inn_pot_on_head_message:
|
||||||
.byte "there before that smelly",13
|
.byte "there before that smelly",13
|
||||||
.byte "octogenarian gets back.",0
|
.byte "octogenarian gets back.",0
|
||||||
|
|
||||||
; TODO
|
|
||||||
; After jumping in the haystack, go to any screen except Jhonka
|
; After jumping in the haystack, go to any screen except Jhonka
|
||||||
; both hay and mud go away
|
; both hay and mud go away
|
||||||
|
hay_blown_away_message:
|
||||||
.byte "Drat. The winds are heavy",13
|
.byte "Drat. The winds are heavy",13
|
||||||
.byte "on all but a couple of key",13
|
.byte "on all but a couple of key",13
|
||||||
.byte "screens... looks like",13
|
.byte "screens... looks like",13
|
||||||
|
@ -226,14 +227,17 @@ look_irrelevant_message:
|
||||||
.byte "You don't need to look at",13
|
.byte "You don't need to look at",13
|
||||||
.byte "that.",0
|
.byte "that.",0
|
||||||
|
|
||||||
; + look (at anything, while hiding inside the bale of hay)
|
|
||||||
.byte "Right now, you see a bunch of hay.",0
|
|
||||||
|
|
||||||
; + look (at something previously in your inventory but now gone)
|
; + look (at something previously in your inventory but now gone)
|
||||||
.byte "You used to have one, before the great item blight of 402. Check your INVENTORY to read about it.",0
|
.byte "You used to have one,",13
|
||||||
|
.byte "before the great item",13
|
||||||
|
.byte "blight of 402. Check your",13
|
||||||
|
.byte "INVENTORY to read about it.",0
|
||||||
|
|
||||||
; + look (at something currently in your inventory)
|
; + look (at something currently in your inventory)
|
||||||
.byte "You've totally got one of those! Check your INVENTORY to give'r a serious looksee.",0
|
.byte "You've totally got one of",13
|
||||||
|
.byte "those! Check your",13
|
||||||
|
.byte "INVENTORY to give'r a",13
|
||||||
|
.byte "serious looksee.",0
|
||||||
|
|
||||||
; + load
|
; + load
|
||||||
; + save
|
; + save
|
||||||
|
|
|
@ -4,6 +4,11 @@ peasant2_dialog_start:
|
||||||
; That Hay Bale
|
; That Hay Bale
|
||||||
;===============
|
;===============
|
||||||
|
|
||||||
|
; + look (at anything, while hiding inside the bale of hay)
|
||||||
|
hay_look_while_in_hay_message:
|
||||||
|
.byte "Right now, you see a bunch",13
|
||||||
|
.byte "of hay.",0
|
||||||
|
|
||||||
; + look
|
; + look
|
||||||
hay_look_message:
|
hay_look_message:
|
||||||
.byte "Well, there's that big bale",13
|
.byte "Well, there's that big bale",13
|
||||||
|
|
|
@ -4,6 +4,11 @@ peasant3_dialog_start:
|
||||||
; Jhonka cave
|
; Jhonka cave
|
||||||
;=============
|
;=============
|
||||||
|
|
||||||
|
; + look (at anything, while hiding inside the bale of hay)
|
||||||
|
hay_look_while_in_hay_message:
|
||||||
|
.byte "Right now, you see a bunch",13
|
||||||
|
.byte "of hay.",0
|
||||||
|
|
||||||
; + (walk in haystack)
|
; + (walk in haystack)
|
||||||
jhonka_in_hay_message:
|
jhonka_in_hay_message:
|
||||||
.byte "Hey, nice disguise! The",13
|
.byte "Hey, nice disguise! The",13
|
||||||
|
|
Loading…
Reference in New Issue
Block a user