From a304a4b61406dc7f9e116753a83358eca012d053 Mon Sep 17 00:00:00 2001 From: alpine9000 Date: Fri, 6 May 2016 19:10:20 +1000 Subject: [PATCH] 2xcoin+arrow items --- 028.bs/assets/items.png | Bin 4147 -> 4377 bytes 028.bs/assets/palette.pal | 25 -------- 028.bs/constants.i | 5 +- 028.bs/foreground.tmx | 2 +- 028.bs/items.s | 121 ++++++++++++++++++++++++-------------- 028.bs/macros.i | 4 +- 028.bs/player.s | 21 ++++--- 7 files changed, 95 insertions(+), 83 deletions(-) delete mode 100644 028.bs/assets/palette.pal diff --git a/028.bs/assets/items.png b/028.bs/assets/items.png index cbf1f42f9f488bec4cc07e63461d3ca9fa9d1ab7..6120ce2831518043bc8f34d5ab9c467116727f5e 100644 GIT binary patch delta 2074 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/pAFXaFj74skv2PISKXnGlQi1vjQqDwcjALkdGYMAqWUQcpy4kREWhPT40Th8SYm/wRLXpMaROxXV+w+SMBgFowAAAWIMrg== + eJxjYBgFgxk4MRJW40iEGlLNRFbnRaL5ww2AwhdfGDszoqolx3xnEvR5D+H4IDbt4QOwMCYmrJHjzgWHeh8c4rjUE6t/pAFXaFj7AnEojjDBlpdIyTOuRKj1pVF5OBgByO3IGARILYOQ48SNjLAgpMePxuFLSvwNlrgmNY7cqajef5CEwSgYBQB8ggzC diff --git a/028.bs/items.s b/028.bs/items.s index 118dfde..edbb5fd 100644 --- a/028.bs/items.s +++ b/028.bs/items.s @@ -104,7 +104,24 @@ SwitchItemSpriteBuffers: dbra d1,.loop rts -SetupItemSpriteData: + +SetupItemSpriteData: + cmp.l #0,itemSpritesEnabled + bne .enableSprites + move.l #deadSprite,SPR2PTH(a6) + move.l #deadSprite,SPR3PTH(a6) + move.l #deadSprite,SPR4PTH(a6) + rts + +.enableSprites: + move.l #ITEM_NUM_SLOTS,d0 +.loop: + bsr _SetupItemSpriteData + dbra d0,.loop + rts + + +_SetupItemSpriteData: ;; d0 - item slot move.l d0,-(sp) move.l d0,d4 ; save item slot @@ -113,15 +130,15 @@ SetupItemSpriteData: lea item1,a1 add.l d0,a1 + cmpi.w #0,ITEM_SPRITE_ENABLED(a1) + beq .spriteIsNotEnabled - move.w ITEM_Y(a1),d2 - ;; move.l #5,d2 - + move.w ITEM_Y(a1),d2 move.l ITEM_SPRITE_ADDRESS(a1),a0 - + cmp.w #(ITEM_NUM_COIN_ANIMS-1)<<3,ITEM_INDEX(a1) ble .dontResetIndex - move.l #0,ITEM_INDEX(a1) + move.w #0,ITEM_INDEX(a1) .dontResetIndex: cmp.l #deadSprite,a0 bne .setupSprite @@ -137,12 +154,11 @@ SetupItemSpriteData: mulu.w #ITEM_SPRITE_VERTICAL_BYTES,d2 add.l d2,a0 - move.w ITEM_LAGX(a1),d0 + move.w ITEM_X(a1),d0 + ;; move.w ITEM_LAGX(a1),d0 lsr.w #FOREGROUND_SCROLL_SHIFT_CONVERT,d0 ; convert to pixels ;; move.w ITEM_X(a1),ITEM_LAGX(a1) - cmp.l #0,itemSpritesEnabled - beq .dontEnable add.w #ITEM_SPRITE_HORIZONTAL_START_PIXELS,d0 move.w d0,d1 @@ -153,23 +169,23 @@ SetupItemSpriteData: .c1: sub.l d2,a0 ;#1*ITEM_SPRITE_VERTICAL_BYTES,a0 - cmp.b #8,d4 + cmp.b #ITEM_SPRITE_ARROW_INDEX,d4 bge .arrowSprite + cmp.b #ITEM_SPRITE_COINB_INDEX,d4 + bge .coinBSprite +.coinASprite: move.l a0,SPR2PTH(a6) bra .done +.coinBSprite: + move.l a0,SPR3PTH(a6) + bra .done .arrowSprite: move.l a0,SPR4PTH(a6) bra .done -.dontEnable: - cmp.b #8,d4 - bge .dontEnableArrowSprite - move.l #deadSprite,SPR2PTH(a6) - bra .done -.dontEnableArrowSprite: - move.l #deadSprite,SPR4PTH(a6) .done: add.w #1,ITEM_INDEX(a1) +.spriteIsNotEnabled: move.l (sp)+,d0 rts @@ -196,7 +212,6 @@ GetSpriteSlot: lea item1,a1 add.l d0,a1 - ;; move.l #deadSprite,ITEM_SPRITE_ADDRESS(a1) move.w #336<