From c0d3a6d6b2697dcb49868b282ade0e246157a628 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Sat, 4 Sep 2021 00:30:47 -0400 Subject: [PATCH] peasant: inventory sprites mostly working --- games/peasant/Makefile | 4 ++ games/peasant/hgr_2x16_sprite.s | 23 ++++++++++- games/peasant/inventory.s | 58 ++++++++++++++++++++++------ games/peasant/sprites/Makefile | 32 +++++++++++++++ games/peasant/sprites/inventory.png | Bin 1360 -> 10481 bytes 5 files changed, 104 insertions(+), 13 deletions(-) create mode 100644 games/peasant/sprites/Makefile diff --git a/games/peasant/Makefile b/games/peasant/Makefile index 7d0d903c..531d45d3 100644 --- a/games/peasant/Makefile +++ b/games/peasant/Makefile @@ -107,6 +107,7 @@ PEASANT2: peasant2.o peasant2.o: peasant2.s zp.inc \ graphics/graphics_peasant2.inc sprites/peasant_sprite.inc \ graphics/priority_peasant2.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 \ @@ -182,6 +183,9 @@ graphics_copy/copy_graphics.inc: cd graphics_copy && make +sprites/inventory_sprites.inc: + cd sprites && make + ### clean: diff --git a/games/peasant/hgr_2x16_sprite.s b/games/peasant/hgr_2x16_sprite.s index 115c99f1..0e9ca717 100644 --- a/games/peasant/hgr_2x16_sprite.s +++ b/games/peasant/hgr_2x16_sprite.s @@ -12,14 +12,26 @@ hgr_draw_sprite_2x16: ; set up pointers lda INL sta hds2_smc1+1 + sta hds2_smc2+1 lda INH sta hds2_smc1+2 + sta hds2_smc2+2 + +; clc +; lda INL +; adc #1 +; sta hds2_smc2+1 +; lda #0 +; adc INH +; sta hds2_smc2+2 ldx #0 hgr_2x16_sprite_yloop: txa pha + lsr + clc adc CURSOR_Y @@ -34,11 +46,18 @@ hgr_2x16_sprite_yloop: ldy CURSOR_X hds2_smc1: - lda $D000 + lda $D000,X sta (GBASL),Y inx - cpx #16 + iny + +hds2_smc2: + lda $D000,X + sta (GBASL),Y + + inx + cpx #32 bne hgr_2x16_sprite_yloop rts diff --git a/games/peasant/inventory.s b/games/peasant/inventory.s index 31ef922d..1347d4b1 100644 --- a/games/peasant/inventory.s +++ b/games/peasant/inventory.s @@ -275,11 +275,11 @@ inv_done_moving: ;================ ; draw item -; ldy INVENTORY_Y + ldy INVENTORY_Y - lda #arrow_sprite + lda inv_sprite_table_high,Y sta INH lda #18 @@ -733,19 +733,55 @@ overwite_char_smc: masks: .byte $01,$02,$04,$08, $10,$20,$40,$80 - - -arrow_sprite: - .byte $00,$00,$00,$00,$00,$00,$00,$00 - .byte $00,$00,$00,$00,$00,$00,$00,$00 - .byte $00,$00,$00,$00,$00,$00,$00,$00 - .byte $00,$00,$00,$00,$00,$00,$00,$00 - no_sprite: .byte $7f,$7f,$7f,$7f,$7f,$7f,$7f,$7f .byte $7f,$7f,$7f,$7f,$7f,$7f,$7f,$7f .byte $7f,$7f,$7f,$7f,$7f,$7f,$7f,$7f .byte $7f,$7f,$7f,$7f,$7f,$7f,$7f,$7f +inv_sprite_table_low: + .byte arrow_sprite + .byte >baby_sprite + .byte >kerrek_belt_sprite + .byte >chicken_feed_sprite + .byte >bow_sprite + .byte >mask_sprite + .byte >pebbles_sprite + .byte >pills_sprite + .byte >riches_sprite + .byte >robe_sprite + .byte >soda_sprite + .byte >sub_sprite + .byte >trinket_sprite + .byte >troghelm_sprite + .byte >trogshield_sprite + .byte >trogsword_sprite + .byte >no_sprite + .byte >tshirt_sprite + + + + +.include "sprites/inventory_sprites.inc" .include "hgr_2x16_sprite.s" diff --git a/games/peasant/sprites/Makefile b/games/peasant/sprites/Makefile new file mode 100644 index 00000000..0744018d --- /dev/null +++ b/games/peasant/sprites/Makefile @@ -0,0 +1,32 @@ +HGR_SPRITE = ../../../utils/hgr-utils/hgr_make_sprite + +all: inventory_sprites.inc + +inventory_sprites.inc: inventory.png + $(HGR_SPRITE) -l arrow_sprite inventory.png 14 3 27 19 > inventory_sprites.inc + $(HGR_SPRITE) -l baby_sprite inventory.png 14 20 27 36 >> inventory_sprites.inc + $(HGR_SPRITE) -l kerrek_belt_sprite inventory.png 14 37 27 53 >> inventory_sprites.inc + $(HGR_SPRITE) -l chicken_feed_sprite inventory.png 14 54 27 70 >> inventory_sprites.inc + $(HGR_SPRITE) -l bow_sprite inventory.png 14 71 27 87 >> inventory_sprites.inc + $(HGR_SPRITE) -l mask_sprite inventory.png 14 88 27 104 >> inventory_sprites.inc + $(HGR_SPRITE) -l pebbles_sprite inventory.png 14 105 27 121 >> inventory_sprites.inc + $(HGR_SPRITE) -l pills_sprite inventory.png 14 122 27 138 >> inventory_sprites.inc + $(HGR_SPRITE) -l riches_sprite inventory.png 14 139 27 155 >> inventory_sprites.inc + $(HGR_SPRITE) -l robe_sprite inventory.png 42 3 55 19 >> inventory_sprites.inc + $(HGR_SPRITE) -l soda_sprite inventory.png 42 20 55 36 >> inventory_sprites.inc + $(HGR_SPRITE) -l sub_sprite inventory.png 42 37 55 53 >> inventory_sprites.inc + $(HGR_SPRITE) -l trinket_sprite inventory.png 42 54 55 70 >> inventory_sprites.inc + $(HGR_SPRITE) -l troghelm_sprite inventory.png 42 71 55 87 >> inventory_sprites.inc + $(HGR_SPRITE) -l trogshield_sprite inventory.png 42 88 55 104 >> inventory_sprites.inc + $(HGR_SPRITE) -l trogsword_sprite inventory.png 42 105 55 121 >> inventory_sprites.inc +# $(HGR_SPRITE) -l no_sprite inventory.png 42 122 55 138 >> inventory_sprites.inc + $(HGR_SPRITE) -l tshirt_sprite inventory.png 42 139 55 155 >> inventory_sprites.inc + + + + + + + +clean: + rm *~ inventory_sprites.inc diff --git a/games/peasant/sprites/inventory.png b/games/peasant/sprites/inventory.png index f56a1d2cbe71440b0f3bcce1de37141a26692a65..8ea3405629cbd411b05d378b950cee7dc66f80bd 100644 GIT binary patch literal 10481 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