Originally posted by Noobish NoobsicleOriginally posted by UhrixMake a statusbar that only appear when you gain/ collect/ recieve something, I've seen something like that before.
I personaly get the fully feel of a level if I'm not disturbed by a bunch of status that I most of the time doesn't care about.
You mean like this? I'm just going to say right off the bat that that was one the most difficult things I've ever coded, even topping SNES homebrew. I suppose it would be a bit easier if we were to use sprite status bar as a base, but it's still a very hard thing to do.
What exactly made that so hard? I guess I see how in yours it might be (I still can't see it being as hard as snes homebrew, but I haven't tried coding it yet) because you needed to have your deaths and your health come down separately, but I don't think we'd need anything that extreme. I mean, all you would need is a RAM address for new layer 3 position within NMI, and a countdown that get's set whenever someone collects an item (likely by checking if your couns/lives/etc. are different, not within the item collection code itself). Then we could easily edit the sprite status bar to use the exact same address's for those levels that use layer 3 and hide the status bar. To make a terrible joke preying on the naivety of 8th graders, "I'd code dat".
Actually, I just did. I left some debug code in there so you could test it out, see if it's what you are looking for, just press R to bring it down, obviously you are going to want to delete that. Simply put, just store a value to !FreeRAM2 whenever you want to show the status bar (My suggestion is coin/SMWCoin/Live collection, powerdown, death, and level entry, but I'm sure you can decide on design choices), and that will be how long it displays itself. If this is decided to be a good idea, I could edit the sprite status bar to follow the same pattern.
Edit: I should note that everything needs to be restored upon return to the OW and that it doesn't work with SMW's standard message boxes, but there is nothing one can do for that except putting it on the sprite layer so... (I mean, I could just make it so IRQ fires at a different time depending on the position of layer 3 in NMI, but that causes it's own message box problems [Namely that the message boxes store the layer 3 Y position to 00 when they spawn, which makes it so the status bar will appear anyways. I could take apart the message box routine though...])
Edit2: Know what? We'd be better off making the sprite status bar global.
Edit3: Actually, I'm not sure where it went on VWF dialouges, but if you are using that, it should fix everything except the level fadeout, which should be pretty easy to fix anyways.