Language…
6 users online: anoMaly666, anonimzwx, Gamet2004, Neuromancer, Saela, Tomi P - Guests: 276 - Bots: 360
Users: 64,795 (2,378 active)
Latest user: mathew

Better Lava tile by Thiago678

File Name: Better Lava tile
Submitted: by Thiago678
Authors: Thiago678
Act As: 0
Includes GFX: Yes
Description: This is a block that kills the player when touched and kills sprites too.Make it act 0 to support podoboos.
Screenshots:
There are a few issues with this block which unfortunately make it worse than the vanilla lava tile.
The first issue is that there's no vertical position check, so Mario is killed as soon as his hitbox overlap's with the block's and makes it seem like he dies above the lava rather than in it.
The second issue is the way some sprites interact with the block. Kicked shells disappear completely without sinking into the lava. Also, some carryable sprites such as Baby Yoshi, Keys and Springboards show glitched graphics when sinking. This is because these sprites were never supposed to be in the "killed by lava" state, and the block does no checks to accommodate for this. A clip of the issue is shown here.

Finally, as per block submission rule 6, blocks made with blockreator need to be optimized, which this block isn't. There's a lot of duplicate code, and labels/branches which are completely unnecessary. One instance is here:

Code
Label_0000:
LDA !9E,x
CMP #$33
BNE Label_0001
Label_0001:
RTL


What is the purpose of BNE Label_0001 here? Label_0001 is directly underneath that branch, so the code will always go to there regardless of if the BNE condition is met or not. Also, there's no code under Label_0001 anyway, so in both cases there will be no effect.

If you are new to ASM then I recommend Ersanio's Assembly for SMW tutorial and lion's Custom Block programming tutorial, they cover the basics and should give you an idea of how to code simple blocks from scratch.

Tested with:

• Lunar Magic 3.11
• SA-1 Pack v1.32
• GPS V1.4.1
• Snes9x v1.60