From c6d1fd00b221092a981e8aff06b15310ab9e832e Mon Sep 17 00:00:00 2001 From: blondie7575 Date: Wed, 26 Dec 2018 17:29:13 -0700 Subject: [PATCH] Support for custom projectile rendering --- Art/014Stand.gif | Bin 0 -> 135 bytes Art/{013Stand.xcf => 014Stand.xcf} | Bin SpriteBank00.bin | Bin 3649 -> 4032 bytes fan.s | 39 ++++++++++++++++++++++++++++- gscats.2mg | Bin 819264 -> 819264 bytes projectile.s | 9 +++++-- spritebank.s | 8 +++--- 7 files changed, 49 insertions(+), 7 deletions(-) create mode 100644 Art/014Stand.gif rename Art/{013Stand.xcf => 014Stand.xcf} (100%) diff --git a/Art/014Stand.gif b/Art/014Stand.gif new file mode 100644 index 0000000000000000000000000000000000000000..a197f4baf193634378c85fe9e6c0fd8bff196b3f GIT binary patch literal 135 zcmV;20C@jLNk%w1VGsZi0OJn;q~H4hfB*o10ElK0%$YOpyF}e)X8)P0cXxOH006hQ zx82>{0C&5gOr`(;0RR90A^s6Va%Ew3Wn>_CX>@2HM@dak04x9i000mG5C8xKCosuL ps|5IBpn1yQ29BNRd8LV_D%!T}8^hr%&MI!|cWsZq4Nn*W06T*aH%9;f literal 0 HcmV?d00001 diff --git a/Art/013Stand.xcf b/Art/014Stand.xcf similarity index 100% rename from Art/013Stand.xcf rename to Art/014Stand.xcf diff --git a/SpriteBank00.bin b/SpriteBank00.bin index 6b72789b04cf7d751f2efdcf2426cf5f43c7e6c1..b474ceac0d2f637ca10dc0f7126b597e8e8a547d 100644 GIT binary patch delta 402 zcmX>ob3k6*do|ap8cqfVhM&A9JQKJCIj68UvvskqXSu@sn@Nvp0iy_GFM~S6eqi9_oY~A)54L>)#5SNBpk|;oK%*I8nz1>HdI}?8KBbge^5r%do|ap8cqfVhAN(|T!NgF*c;h8Sl6;#V*bgb!!(akh_RbNm0_|Vr|3qT LT=vasoU_;fwgnE; diff --git a/fan.s b/fan.s index 5ae01f2..2778ee6 100644 --- a/fan.s +++ b/fan.s @@ -58,9 +58,46 @@ updateFan: sta projectileData+JD_STATIC,y jsr endProjectile + ; Now set up the stand + lda projectileData+GO_POSX,y + sta standGameObjectData+GO_POSX + lda projectileData+GO_POSY,y + sec + sbc #GAMEOBJECTHEIGHT + sta standGameObjectData+GO_POSY,y + updateFanDone: RESTORE_AXY - rts +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; renderFan +; +; Y = Offset to projectile structure +; +renderFan: + SAVE_AXY + + lda projectileData+JD_STATIC,y + beq renderFanDone ; Don't render the stand until we're static + + ; Render the stand under the fan + lda #standGameObjectData + sta PARAML0 + lda #14 + jsr renderGameObject + +renderFanDone: + RESTORE_AXY + rts + + +; Fake game object for rendering the stand +standGameObjectData: + .word 40 ; X pos in pixels (from right terrain edge) + .word 38 ; Y pos in pixels (from bottom terrain edge) + .word 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Saved background 64 bytes + .word 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + .word 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + .word 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 diff --git a/gscats.2mg b/gscats.2mg index 5cd9fa09bcc13bc50b1caf3bf5476448ff8e40d2..d459b972abb0de687d53a86f83c3fc108ff2aaeb 100644 GIT binary patch delta 3821 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