From 768957fa33b250a1b91fbc48200620364cbea20d Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Tue, 24 Aug 2021 23:48:31 -0400 Subject: [PATCH] peasant: going behind things seems to work --- games/peasant/Makefile | 10 ++- games/peasant/graphics/lady_cottage.png | Bin 2659 -> 15808 bytes .../graphics/lady_cottage_priority.png | Bin 1045 -> 8338 bytes games/peasant/hgr_7x28_sprite_mask.s | 61 ++++++++++++++---- games/peasant/peasant1.s | 2 +- games/peasant/peasant_move.s | 17 ++++- games/peasant/version.inc | 2 +- games/peasant/zp.inc | 1 + 8 files changed, 74 insertions(+), 19 deletions(-) diff --git a/games/peasant/Makefile b/games/peasant/Makefile index a05026dd..347fe48a 100644 --- a/games/peasant/Makefile +++ b/games/peasant/Makefile @@ -91,8 +91,9 @@ PEASANT1: peasant1.o peasant1.o: peasant1.s zp.inc \ graphics/graphics_peasant1.inc sprites/peasant_sprite.inc \ + graphics/priority_peasant1.inc \ draw_box.s hgr_rectangle.s hgr_font.s hgr_input.s \ - hgr_7x28_sprite.s hgr_1x5_sprite.s hgr_save_restore.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 \ keyboard.s parse_input.s new_map_location.s \ peasant_move.s @@ -105,6 +106,7 @@ PEASANT2: peasant2.o peasant2.o: peasant2.s zp.inc \ graphics/graphics_peasant2.inc sprites/peasant_sprite.inc \ + graphics/priority_peasant2.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 \ @@ -120,8 +122,9 @@ PEASANT3: peasant3.o peasant3.o: peasant3.s zp.inc \ graphics/graphics_peasant3.inc sprites/peasant_sprite.inc \ + graphics/priority_peasant3.inc \ draw_box.s hgr_rectangle.s hgr_font.s hgr_input.s \ - hgr_7x28_sprite.s hgr_1x5_sprite.s hgr_save_restore.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 \ keyboard.s parse_input.s new_map_location.s \ peasant_move.s @@ -134,8 +137,9 @@ PEASANT4: peasant4.o peasant4.o: peasant4.s zp.inc \ graphics/graphics_peasant4.inc sprites/peasant_sprite.inc \ + graphics/priority_peasant4.inc \ draw_box.s hgr_rectangle.s hgr_font.s hgr_input.s \ - hgr_7x28_sprite.s hgr_1x5_sprite.s hgr_save_restore.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 \ keyboard.s parse_input.s new_map_location.s \ peasant_move.s diff --git a/games/peasant/graphics/lady_cottage.png b/games/peasant/graphics/lady_cottage.png index 3294865db31609875f900f1c4704e1d2aea10933..ae0c525d29be665939c6adac99f0b8c3763ccb27 100644 GIT binary patch literal 15808 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 AApigX diff --git a/games/peasant/graphics/lady_cottage_priority.png b/games/peasant/graphics/lady_cottage_priority.png index 2660974eb9091e37e10277d6dc03ec916179bd41..808d4f12d740d490ac9ab109a2ee876241e678ca 100644 GIT binary patch literal 8338 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 delta 930 zcmbQ_IF)09ay?^9rn7T^r?ay{K~a8MW=<*tgT}<#iMAex9b}Hi2QPKi;t~@nJP|Ng zr=!a%OSCIM@e0>ks~IuBSbe1?iHN%&-1^|b@uaHGhdT=VVJIvv4l0=_^nbcY z)RC%!JN@O~<;vePEDTGUb=8n9V^^-)V?)Eak)q7&ITp$9{ZOAAl{U>#-IH^RZ2b2R zAHV9I+I(yN@8Xixk==}T6Dy`kF7w^vXtOm_dd~OG!)p{)A9;Rcv0Che9}{199nYWh zS&!SsIA__U&qorI4DTQE;@;e}QqW(>J;Zl;jpEylrz*QQhppOh%=Ra@b7XDm%-1IE z0>_o6DLA$?adl}Nbej@3w_b$X^H%@XkNmspI%BwYb|pNCaFCQrxz7KOegE#QMZ%Bc zf;8Al_F0@eZXj@j^;PKcpLS()esMmiXIuAW+5Q;jG&|4rW?N4PUf9eV6Ju_g%D>|d zBilTln^R&>`UjtQ+VI`@*D{_9<=iD}EBBgyEBwWpd7?Zr+T^Kr8Wjz=e7&r?&B8wRqBz%ClgmL}~2L+%Y zdx@v7EBjLpaZyIDDF^m$nye+SQNPX8#WAGf*4rEByP6FIj(>E>=dKl3+}>1sbMH@+ zru4*vyU$-}yLR`%el<0<$G`s0UH#YK%#pyQtgelW%xpXo1_=im@H5VM8l+|`ab9ka zTwd$SvMlHSr3S&yO!dqI4Id}&nOx5p+{7rnv~oM2=nNT&{0X;$AKgB#^-H30VpHZ_ zX0{&wWtyzM!JCdBd}uJ|K*Aw|tHw$OSFIDyHO<@|s&~d$Xqiy+PhD;agLS+%`5%vH zOzwE@b75h+PW;vFeJvLs&aluvVt-iVqQNsit&*L)YTv{iKXv4QOSH9WVjf$u0G&@(@_ z>a@|a_*M7vMBL9fwSxlf45Pud!26wt*4S)4-|c7E-6rDmu=8f=(u?hf?g%H@eLK@J zdArfH6_+EKj>!h+RHoXqK68&sog(6M3@M~1EATsZ>;Fu=w7eV`vkacDelF{r5}E)q CD4gs7 diff --git a/games/peasant/hgr_7x28_sprite_mask.s b/games/peasant/hgr_7x28_sprite_mask.s index 26fcc491..a2b9c507 100644 --- a/games/peasant/hgr_7x28_sprite_mask.s +++ b/games/peasant/hgr_7x28_sprite_mask.s @@ -169,6 +169,20 @@ restore_yloop: ; updates MASK update_bg_mask: + ; calculate peasant priority + ; based on head + ; FIXME: only do this once at beginning + lda PEASANT_Y + sec + sbc #48 ; Y=48 + lsr ; div by 8 + lsr + lsr + clc + adc #2 + sta PEASANT_PRIORITY + + ; rrrr rtii top 5 bits row, bit 2 top/bottom txa @@ -198,15 +212,24 @@ bg_mask_mask: sta BASH lda (BASL),Y - and MASK - cmp #$30 - beq mask_false ; true if color 3 + ldy MASK + cpy #$f0 + bne mask_bottom +mask_top: + lsr + lsr + lsr + lsr + jmp mask_mask_mask +mask_bottom: + and #$0f +mask_mask_mask: + sta MASK - cmp #$03 - beq mask_false - - ;bne mask_false + cmp PEASANT_PRIORITY + beq mask_false ; branch less than equal + bcc mask_false ; blt mask_true: lda #$ff @@ -219,13 +242,25 @@ mask_false: rts - - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - - - - rts +; priorities +; 0 = collision +; 1 = bg = always draw ; Y-48 +; 2 0-55 +; 3 56-63 ; 8/8+2 = 3 +; 4 64-71 ; 16/8+2 = 4 +; 5 72-79 +; 6 80-87 ; 32/8+2 = 6 +; 7 88-95 +; 8 96-103 +; 9 104-111 +; 10 112-119 +; 11 120-127 +; 12 128-135 ; 8 +; 13 136-143 +; 14 144-151 +; 15 152-159 +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;==================== diff --git a/games/peasant/peasant1.s b/games/peasant/peasant1.s index 405e80fd..754c7944 100644 --- a/games/peasant/peasant1.s +++ b/games/peasant/peasant1.s @@ -167,7 +167,7 @@ score_text: .include "hgr_font.s" .include "draw_box.s" .include "hgr_rectangle.s" -.include "hgr_7x28_sprite.s" +.include "hgr_7x28_sprite_mask.s" .include "hgr_1x5_sprite.s" ;.include "hgr_save_restore.s" .include "hgr_partial_save.s" diff --git a/games/peasant/peasant_move.s b/games/peasant/peasant_move.s index 855adc6f..24145e97 100644 --- a/games/peasant/peasant_move.s +++ b/games/peasant/peasant_move.s @@ -203,8 +203,23 @@ peasant_collide_mask: lda gr_offsets+1,X sta INH - lda (INL),Y + lda (INL),Y ; get value + and MASK + +; ldy MASK +; cpy #$f0 +; beq in_top +;in_bottom: +; and #$0f +; jmp done_feet +;in_top: +; lsr +; lsr +; lsr +; lsr +;done_feet: + beq collide_true ; true if color 0 ;bne collide_false diff --git a/games/peasant/version.inc b/games/peasant/version.inc index 7b802ee7..785a565e 100644 --- a/games/peasant/version.inc +++ b/games/peasant/version.inc @@ -1,4 +1,4 @@ version_message: .byte 0,43,24, 0,253,82 .byte 8,41,"APPLE ][ PEASANT'S QUEST",13 -.byte "version 0.4",0 +.byte "version 0.5",0 diff --git a/games/peasant/zp.inc b/games/peasant/zp.inc index 4632b86d..6f6e402e 100644 --- a/games/peasant/zp.inc +++ b/games/peasant/zp.inc @@ -15,6 +15,7 @@ BASL = $28 BASH = $29 MASK = $2E MASK_COUNTDOWN = $2F +PEASANT_PRIORITY = $30 PEASANT_X = $60 PEASANT_Y = $61