9 users online: AldPlayzYT, ASMagician Maks, Emera1ds, Galant1k, playagmes169, Saela, signature_steve, theultimategamer_100, underway - Guests: 52 - Bots: 189
Users: 66,453 (2,346 active)
Latest user: BastarB

Sprite Status Bar v1.1.1

SMW Patches → Sprite Status Bar v1.1.1

Submission Details

Name: Sprite Status Bar v1.1.1
Author: edit1754
Version History: View
Tool: Asar
Requires Free Space: Yes
Bug Fix: No
Featured: Yes
Description: NEW in v1.1.1
- Split up 3-byte table into three different tables, because this makes the data more efficient to access.
- Added a feature to change the IRQ scanline (status bar height) on a per-level basis for levels when SSB is disabled, because the original patch that allowed this shares a hijack with SSB and cannot be used on the same ROM.

To use the sprite course clear text feature, you must have No More Sprite Tile Limits patched to your ROM. You do not have to enable it in your level, but it must be installed.

See this for more info:
Tags: course clear dynamic layer 3 lorom needs remoderation sa-1 sprite status bar
Comments: 13 (jump to comments)
Download 11.40 KiB | 1,804 downloads

Comments (13)

Anas Link
Originally posted by Green
I spoke to those at sneslab one time, and they argued with the DMA part, saying as if much of what was said was inaccurate.

While using DMA would use less OAM, it would not use less VRAM.

DMA is not magic; the tiles still have to go somewhere in VRAM.

Y'know what actually, the patch does use DMA, but the tilemap could be more optimized to get rid of the duplicate blank tiles.
IronFoxGaming Link
I regret to inform that this patch no longer functions. I've patched it to multiple roms, vanilla and SA-1, and the status bar is unchanged in each one, still on layer 3. Either that, or I'm missing something vital...
Murphmario Link
Why the heck has this not been updated to use DMA yet?
Anas Link
Well, yeah, the item box'll work well with custom powerups. Still, beware the bugs I've mentioned down below.
EnzoLipe1 Link
Is it compatible with Lx5's custom powerups?
Anas Link
Just tried this today, and surprisingly, it works totally fine and doesn't crash with LM3! This status bar is indeed very useful for those who like the vanilla status bar but need to use a sprite version.

Of course, there are a few important problems that should be addressed in the remoderation:

#1 - First of all, seconding with Mogu64 and GHB, the sprite status bar should use DMA so it will take up fewer tiles, similar to LX5's dynamic powerup system in his custom powerups patch, which brings me to this; (Edit: I rest my case with this point. A look in BSNES' tile viewer under the debugger shows that it only takes one row in any sprite GFX slot from SP1-4 starting from your starting tile + a few more tiles in the next row.)

#2 - While the patch allows you to change where the entire tilemap for the SSB will start, can't we do much better than that by remapping each individual tile of the status per level? (Edit: Actually, this won't quite matter that much personally because of what I mentioned in the previous point, but if anyone wants to implement this feature in the remoderation, I say let them. However, some sprite GFX are overwritten by a bunch of duplicate blank tiles, wasting some space. That could definitely be optimized if you can do so easily.)

#3 - As mentioned in the patch, most of it is hardcoded and thus doesn't match with edits to the vanilla status bar made with, say, GHB'S score disable or super status bar, or Smallhacker's status bar editor.

#4 - If you update many tiles at once by, say, hitting multiple ?-blocks or collecting multiple coins at once, or have too many animations in the level, the screen will flicker. Sometimes when the screen scrolls up, the screen will randomly flicker. The SSB should really be optimized especially in this regard. (Edit: I believe this couod be because of the new IRQ system in the latest SA-1 Pack? Also, this glitch will happen very easily with SA-1, but not that much with LoROM.)

#5 - The IRQ does not play well in levels using LM3's big horizontal levels feature.

#6 - Of course, this should be made to consume as few sprite slots as possible. (Edit: If it even causes the slightest slowdown in LoROM, I highly suggest that it be fixed.)

#7 - Minor, but the IRQ doesn't apply to the very few top scanlines of the screen. (Edit: this is at least noticeable for Mode 0 levels, see here.)

Well, that's all, folks. Hope the SSB gets tidied up soon.
Green Link
I spoke to those at sneslab one time, and they argued with the DMA part, saying as if much of what was said was inaccurate.

While using DMA would use less OAM, it would not use less VRAM.

DMA is not magic; the tiles still have to go somewhere in VRAM.
Mogu94 Link
I second looking into using DMA for this, updating it to do that.
HammerBrother Link
Can't this use DMA to avoid overwriting sprite tiles?
Vitor Vilela Link
Added proper tags and SA-1 support.

Note that the patch is not optimized for SA-1 speed, so you may have similar slowdown experiences compared to the standard version. Or not.

Also changed the COURSE COURSE CLEAR code to invoke SNES when on SA-1 mode and additionally changed the OAM find routine (which was a hacky call to No More Sprite Tile Limits) to a simpler version, which while it can be slower, it won't have any impact in the game speed since it's only used on course clear moment.
Mogu94 Link
Hmm I see, ok, thank you MarioFanGamer.
 MarioFanGamer Link
@Magu94: Considering that the sprite status bar use... well, sprite tiles, it have to overwrite some sprite tiles (you can't add more space for sprite GFX space, btw). You so need to workaround at your level. It should be also noted that you can change the overwritten tiles at "LevelGraphicsLoc:" and "LevelSBProp:" (by default, it the overwriting starts at tile $80 on the second page). Remember that it's a per level setting so chose the correct level you want to edit.
Mogu94 Link
Is this normal?...

I don't think it is (or at least should be) but just want to make sure. The only other thing patched to the rom is No More Sprite Tile Limits.