mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-12-27 17:29:49 +00:00
peasant: more fine tuning of the inventory
This commit is contained in:
parent
1dfae1f4d3
commit
5845a0a3b8
@ -120,29 +120,34 @@ escape_handler:
|
|||||||
sta PEASANT_XADD
|
sta PEASANT_XADD
|
||||||
sta PEASANT_YADD
|
sta PEASANT_YADD
|
||||||
|
|
||||||
|
lda #1
|
||||||
sta SCORE_HUNDREDS
|
sta SCORE_HUNDREDS
|
||||||
sta SCORE_TENS
|
|
||||||
sta SCORE_ONES
|
lda #$33
|
||||||
|
sta SCORE_TENSONES
|
||||||
|
|
||||||
lda #4
|
lda #4
|
||||||
sta MAP_X
|
sta MAP_X
|
||||||
lda #1
|
lda #1
|
||||||
sta MAP_Y
|
sta MAP_Y
|
||||||
|
|
||||||
lda #$AA
|
|
||||||
sta INVENTORY_1
|
|
||||||
|
|
||||||
lda #$FF
|
lda #$FF
|
||||||
|
sta INVENTORY_1
|
||||||
sta INVENTORY_2
|
sta INVENTORY_2
|
||||||
|
|
||||||
lda #INV3_SHIRT
|
lda #INV3_SHIRT
|
||||||
sta INVENTORY_3
|
sta INVENTORY_3
|
||||||
|
|
||||||
lda #0
|
; 1100 1011
|
||||||
|
lda #$CB
|
||||||
sta INVENTORY_1_GONE
|
sta INVENTORY_1_GONE
|
||||||
sta INVENTORY_3_GONE
|
; 0001 1101
|
||||||
lda #$AA
|
lda #$1d
|
||||||
sta INVENTORY_2_GONE
|
sta INVENTORY_2_GONE
|
||||||
|
;
|
||||||
|
lda #$0
|
||||||
|
sta INVENTORY_3_GONE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
@ -139,6 +139,50 @@ inv_cursory_good:
|
|||||||
;=================
|
;=================
|
||||||
; draw strikeouts
|
; draw strikeouts
|
||||||
;=================
|
;=================
|
||||||
|
draw_strikeouts:
|
||||||
|
|
||||||
|
ldy #0
|
||||||
|
draw_strikeouts_loop:
|
||||||
|
|
||||||
|
tya
|
||||||
|
pha
|
||||||
|
|
||||||
|
jsr lost_item_y
|
||||||
|
|
||||||
|
pla
|
||||||
|
tay
|
||||||
|
|
||||||
|
bcs draw_strikeouts_continue
|
||||||
|
|
||||||
|
|
||||||
|
; actually strike it out
|
||||||
|
tya
|
||||||
|
pha
|
||||||
|
|
||||||
|
lda #$7f
|
||||||
|
sta overwrite_char_smc+1
|
||||||
|
|
||||||
|
lda invert_smc1+1
|
||||||
|
eor #$7f
|
||||||
|
sta invert_smc1+1
|
||||||
|
|
||||||
|
jsr overwrite_entry
|
||||||
|
|
||||||
|
lda invert_smc1+1
|
||||||
|
eor #$7f
|
||||||
|
sta invert_smc1+1
|
||||||
|
|
||||||
|
lda #$20
|
||||||
|
sta overwrite_char_smc+1
|
||||||
|
|
||||||
|
pla
|
||||||
|
tay
|
||||||
|
|
||||||
|
draw_strikeouts_continue:
|
||||||
|
iny
|
||||||
|
cpy #18
|
||||||
|
bne draw_strikeouts_loop
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;=======================
|
;=======================
|
||||||
@ -310,6 +354,41 @@ have_item_y:
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
;==================
|
||||||
|
; lost_item
|
||||||
|
;==================
|
||||||
|
; do we no longer have Inventory Y
|
||||||
|
; CC if no
|
||||||
|
; CS if yes
|
||||||
|
lost_item:
|
||||||
|
ldy INVENTORY_Y
|
||||||
|
lost_item_y:
|
||||||
|
tya
|
||||||
|
and #$7
|
||||||
|
tax
|
||||||
|
lda masks,X
|
||||||
|
sta INVENTORY_MASK
|
||||||
|
|
||||||
|
tya
|
||||||
|
|
||||||
|
lsr
|
||||||
|
lsr
|
||||||
|
lsr ; Y/8
|
||||||
|
tax
|
||||||
|
|
||||||
|
lda INVENTORY_1_GONE,X
|
||||||
|
and INVENTORY_MASK
|
||||||
|
beq really_gone
|
||||||
|
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
really_gone:
|
||||||
|
sec
|
||||||
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;=======================
|
;=======================
|
||||||
; draw inventory sprite
|
; draw inventory sprite
|
||||||
;=======================
|
;=======================
|
||||||
@ -394,9 +473,27 @@ show_item:
|
|||||||
|
|
||||||
jsr disp_put_string_cursor
|
jsr disp_put_string_cursor
|
||||||
|
|
||||||
|
;==========================
|
||||||
|
; print no longer message
|
||||||
|
|
||||||
|
jsr lost_item
|
||||||
|
bcs skip_no_longer
|
||||||
|
|
||||||
|
lda #<no_longer_message
|
||||||
|
sta OUTL
|
||||||
|
lda #>no_longer_message
|
||||||
|
sta OUTH
|
||||||
|
jsr disp_put_string
|
||||||
|
|
||||||
|
skip_no_longer:
|
||||||
|
|
||||||
|
;=======================
|
||||||
|
; display sprite
|
||||||
|
|
||||||
jsr draw_inv_sprite
|
jsr draw_inv_sprite
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
handle_item_keypress:
|
handle_item_keypress:
|
||||||
|
|
||||||
lda KEYPRESS
|
lda KEYPRESS
|
||||||
@ -416,7 +513,7 @@ handle_item_keypress:
|
|||||||
|
|
||||||
; printed after description
|
; printed after description
|
||||||
no_longer_message:
|
no_longer_message:
|
||||||
.byte 4,90,"You no longer has this item.",0
|
.byte 4,86,"You no longer has this item.",0
|
||||||
|
|
||||||
item_message:
|
item_message:
|
||||||
.byte 5,106,"Hit RETURN to go back to list",0
|
.byte 5,106,"Hit RETURN to go back to list",0
|
||||||
@ -687,15 +784,14 @@ tshirt_description:
|
|||||||
|
|
||||||
overwrite_entry:
|
overwrite_entry:
|
||||||
|
|
||||||
lda #$7f
|
; lda #$7f
|
||||||
|
; sta invert_smc1+1
|
||||||
|
|
||||||
|
lda invert_smc1+1
|
||||||
|
eor #$7f
|
||||||
sta invert_smc1+1
|
sta invert_smc1+1
|
||||||
|
|
||||||
overwrite_set_mask:
|
overwrite_set_mask:
|
||||||
tya
|
|
||||||
and #$7
|
|
||||||
tax
|
|
||||||
lda masks,X
|
|
||||||
sta INVENTORY_MASK
|
|
||||||
|
|
||||||
;==============
|
;==============
|
||||||
; set X
|
; set X
|
||||||
@ -731,17 +827,11 @@ overwrite_done_column:
|
|||||||
sta CURSOR_Y
|
sta CURSOR_Y
|
||||||
|
|
||||||
tya
|
tya
|
||||||
; pha
|
|
||||||
|
|
||||||
|
;===================
|
||||||
|
; check if have item
|
||||||
|
|
||||||
lsr
|
jsr have_item_y
|
||||||
lsr
|
|
||||||
lsr ; Y/8
|
|
||||||
tax
|
|
||||||
|
|
||||||
lda INVENTORY_1,X
|
|
||||||
|
|
||||||
and INVENTORY_MASK
|
|
||||||
|
|
||||||
beq overwrite_not_have
|
beq overwrite_not_have
|
||||||
|
|
||||||
@ -755,7 +845,7 @@ overwrite_not_have:
|
|||||||
overwrite_have_loop:
|
overwrite_have_loop:
|
||||||
txa
|
txa
|
||||||
pha
|
pha
|
||||||
overwite_char_smc:
|
overwrite_char_smc:
|
||||||
lda #$20
|
lda #$20
|
||||||
jsr hgr_put_char_cursor
|
jsr hgr_put_char_cursor
|
||||||
inc CURSOR_X
|
inc CURSOR_X
|
||||||
@ -765,7 +855,11 @@ overwite_char_smc:
|
|||||||
bne overwrite_have_loop
|
bne overwrite_have_loop
|
||||||
|
|
||||||
|
|
||||||
lda #$00
|
; lda #$00
|
||||||
|
; sta invert_smc1+1
|
||||||
|
|
||||||
|
lda invert_smc1+1
|
||||||
|
eor #$7f
|
||||||
sta invert_smc1+1
|
sta invert_smc1+1
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
@ -30,7 +30,11 @@ update_hundreds:
|
|||||||
inx
|
inx
|
||||||
|
|
||||||
update_tens:
|
update_tens:
|
||||||
lda SCORE_TENS
|
lda SCORE_TENSONES
|
||||||
|
lsr
|
||||||
|
lsr
|
||||||
|
lsr
|
||||||
|
lsr
|
||||||
beq update_ones
|
beq update_ones
|
||||||
clc
|
clc
|
||||||
adc #'0'
|
adc #'0'
|
||||||
@ -38,7 +42,8 @@ update_tens:
|
|||||||
inx
|
inx
|
||||||
|
|
||||||
update_ones:
|
update_ones:
|
||||||
lda SCORE_ONES
|
lda SCORE_TENSONES
|
||||||
|
and #$f
|
||||||
clc
|
clc
|
||||||
adc #'0'
|
adc #'0'
|
||||||
sta score_text,X
|
sta score_text,X
|
||||||
|
@ -121,8 +121,7 @@ KERREK_STATE = $9B
|
|||||||
ARROW_SCORE = $9C ; bottom=score, top=random num needed 3-5?
|
ARROW_SCORE = $9C ; bottom=score, top=random num needed 3-5?
|
||||||
|
|
||||||
SCORE_HUNDREDS = $9D
|
SCORE_HUNDREDS = $9D
|
||||||
SCORE_TENS = $9E
|
SCORE_TENSONES = $9E
|
||||||
SCORE_ONES = $9F
|
|
||||||
|
|
||||||
|
|
||||||
INVENTORY_1 = $A0
|
INVENTORY_1 = $A0
|
||||||
|
Loading…
Reference in New Issue
Block a user