File Name: | Bouncing Message Block |
Submitted: | by Hayashi Neru |
Authors: | Hayashi Neru |
Act As: | 130 |
Includes GFX: | Yes |
Description: | If you use this block, you need Bounce Block Sprite & Tile Generation Unrestrictor v0.91 patch Don't need credit me Test video |
Screenshots: |
The main rejection reason is that you implement bounce sprite spawning by yourself even though GPS has a shared routine, spawn_bounce_sprite, which can do it for you. This makes the block simpler and smaller, especially when it's inserted multiple times, so please make it use the routine.
The code is not very tidy. For example, Message1.asm (which has a misleading print statement) and Message2.asm could be merged into one file because there's a one-byte difference between them. With a couple of if statements, you could also merge MessageBoxLevel.asm, too, since it differs by a couple of instructions to set the translevel number. The same goes for VWFMessageBox.asm. I wouldn't call this a rejection reason, but it definitely contributed to the decision to reject this.
Everything below is suggestions to make the block better and is not a rejection reason.
A good change for user friendliness would be to use Asar's assert command to prevent someone from inserting the block without having applied the Bounce Block Unrestrictor patch first (assert assert read1($02919F) == $5C, "You must install the Bounce Block Unrestrictor patch before using the Bouncing Message Box!" should do it). It would be nice to do this for the VWF message box, too.
The block is not particularly aesthetically pleasing. With vanilla message boxes, the bounce sprite disappears while the box is closing, though I'm not particularly sure how you'd fix that. The bounce sprite is also horizontally flipped. You set the X bit of its properties (yXppccct) to flip it (the graphics of the message box are flipped).
If you fix all I mentioned here, the block should be way better and easier to use.