mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-09-27 11:55:20 +00:00
peasant: more work on inventory
This commit is contained in:
parent
c0d3a6d6b2
commit
1dfae1f4d3
@ -87,19 +87,11 @@ done_column:
|
|||||||
tya
|
tya
|
||||||
pha
|
pha
|
||||||
|
|
||||||
|
jsr have_item_y
|
||||||
lsr
|
|
||||||
lsr
|
|
||||||
lsr ; Y/8
|
|
||||||
tax
|
|
||||||
|
|
||||||
lda INVENTORY_1,X
|
|
||||||
|
|
||||||
and INVENTORY_MASK
|
|
||||||
|
|
||||||
beq questionmarks
|
beq questionmarks
|
||||||
|
|
||||||
have_item:
|
we_have_item:
|
||||||
clc
|
clc
|
||||||
lda item_offsets,Y
|
lda item_offsets,Y
|
||||||
adc #<item_strings
|
adc #<item_strings
|
||||||
@ -162,6 +154,11 @@ inv_cursory_good:
|
|||||||
|
|
||||||
handle_inv_keypress:
|
handle_inv_keypress:
|
||||||
|
|
||||||
|
;================
|
||||||
|
; draw item
|
||||||
|
|
||||||
|
jsr draw_inv_sprite
|
||||||
|
|
||||||
lda KEYPRESS
|
lda KEYPRESS
|
||||||
bpl handle_inv_keypress ; no keypress
|
bpl handle_inv_keypress ; no keypress
|
||||||
|
|
||||||
@ -262,6 +259,9 @@ inv_lr_good:
|
|||||||
jmp inv_done_moving
|
jmp inv_done_moving
|
||||||
|
|
||||||
inv_check_return:
|
inv_check_return:
|
||||||
|
jsr have_item
|
||||||
|
beq inv_done_moving
|
||||||
|
|
||||||
jsr show_item
|
jsr show_item
|
||||||
jmp draw_inv_box
|
jmp draw_inv_box
|
||||||
|
|
||||||
@ -273,13 +273,63 @@ inv_done_moving:
|
|||||||
jsr overwrite_entry
|
jsr overwrite_entry
|
||||||
|
|
||||||
;================
|
;================
|
||||||
; draw item
|
; repeat
|
||||||
|
|
||||||
|
jmp handle_inv_keypress
|
||||||
|
|
||||||
|
done_inv_keypress:
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
;==================
|
||||||
|
; have_item
|
||||||
|
;==================
|
||||||
|
; do we have Inventory Y
|
||||||
|
; ZERO if no
|
||||||
|
; not zero if yes
|
||||||
|
have_item:
|
||||||
ldy INVENTORY_Y
|
ldy INVENTORY_Y
|
||||||
|
have_item_y:
|
||||||
|
tya
|
||||||
|
and #$3
|
||||||
|
tax
|
||||||
|
lda masks,X
|
||||||
|
sta INVENTORY_MASK
|
||||||
|
|
||||||
|
tya
|
||||||
|
|
||||||
|
lsr
|
||||||
|
lsr
|
||||||
|
lsr ; Y/8
|
||||||
|
tax
|
||||||
|
|
||||||
|
lda INVENTORY_1,X
|
||||||
|
and INVENTORY_MASK
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
;=======================
|
||||||
|
; draw inventory sprite
|
||||||
|
;=======================
|
||||||
|
draw_inv_sprite:
|
||||||
|
|
||||||
|
jsr have_item
|
||||||
|
|
||||||
|
bne do_draw_inv_sprite
|
||||||
|
|
||||||
|
no_draw_inv_sprite:
|
||||||
|
lda #<no_sprite
|
||||||
|
sta INL
|
||||||
|
lda #>no_sprite
|
||||||
|
jmp done_draw_inv_sprite
|
||||||
|
|
||||||
|
do_draw_inv_sprite:
|
||||||
lda inv_sprite_table_low,Y
|
lda inv_sprite_table_low,Y
|
||||||
sta INL
|
sta INL
|
||||||
lda inv_sprite_table_high,Y
|
lda inv_sprite_table_high,Y
|
||||||
|
done_draw_inv_sprite:
|
||||||
sta INH
|
sta INH
|
||||||
|
|
||||||
lda #18
|
lda #18
|
||||||
@ -289,14 +339,6 @@ inv_done_moving:
|
|||||||
|
|
||||||
jsr hgr_draw_sprite_2x16
|
jsr hgr_draw_sprite_2x16
|
||||||
|
|
||||||
|
|
||||||
;================
|
|
||||||
; repeat
|
|
||||||
|
|
||||||
jmp handle_inv_keypress
|
|
||||||
|
|
||||||
done_inv_keypress:
|
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
@ -352,8 +394,7 @@ show_item:
|
|||||||
|
|
||||||
jsr disp_put_string_cursor
|
jsr disp_put_string_cursor
|
||||||
|
|
||||||
|
jsr draw_inv_sprite
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
handle_item_keypress:
|
handle_item_keypress:
|
||||||
|
Loading…
Reference in New Issue
Block a user