File Name: | Solid Shatter Blocks |
---|---|
Submitted: | by Maw |
Authors: | Maw |
Act As: | 130 |
Includes GFX: | Yes |
Description: | This solid block can only be shattered by a kicked sprite. This package contains -A 16x16,16x32 and a 16x48 shatter block |
Tags: | lorom, sa-1, shatter block, solid |
Screenshots: |
When a kicked sprite collides with these blocks in an ExLevel, the colliding sprite disappears as the block is shattered, more than likely teleporting to another screen. I suspect the culprit is scratch RAM $0F - this address goes on to be used by the sprite after GPS code is done, but it likely gets clobbered by one of the GPS subroutines you're calling.
While not as much of a concern, the tall versions of these blocks don't work properly in vertical levels or when placed on Layer 2.
ExLevel issues aside, these blocks are dangerously close to rejection by way of inefficiency. There are far more push/pull pairs than are needed, which are all repeated as they're placed in a loop. In the case of the 16x32 version there's no need for a loop at all, since your block erase offset is guaranteed to be redundant for one of the two passes. A 16-bit Y is invoked for your loop counter but your loop only runs twice, etc. If you decide to resubmit this block - and I hope you do, as the idea behind it is solid - I would encourage you to reach out for some help with testing and optimization to better ensure it gets approved next time.
Tested with Asar 1.81, Lunar Magic 3.33, SA-1 1.40, Snes9x 1.59.2, BSNES Accuracy 0.7.1, GPS 1.4.4.