Language…
24 users online:  AmperSam, crocodileman94, DanMario24YT, Dennsen86, deported, DixyNL, Golden Yoshi, Green, Gurjinter,  idol, Knetog,  Losoall, Maw,  Noivern, Pink Gold Peach, ppp9q, Serena, Silver_Revolver, test212, The_Uber_Camper,  Thomas, tOaO, VSmario90,  yoshi3706 - Guests: 300 - Bots: 327
Users: 64,795 (2,374 active)
Latest user: mathew

Sprite Message Box - Free-up Layer 3

  • Pages:
  • 1
  • 2
This patch allows you to use Layer 3 BGs/Water/etc. and Message Boxes at the same time, in the same level.

Automatically determines which sprite tiles are safe for temporary overwriting:


Link: http://www.smwcentral.net/?p=section&a=details&id=5803
You're god.
I knew this would come sooner or later ^^.
Though from the looks of messages seems to be limited?
Still awesome though
Anime statistic on MyAnimeList:
400 animes completed ✓
6000 episodes completed ✓
100 Days completed ✓
... what even am I doing with my life?
So assuming by the image, Can i place the water's GFX in The text box? I'm honestly confused, But it'll be helpful for others.
You can do that without any patch too.
Just type...
Code
\7D\7E
\8E\8E

...in the editor. I don't know if they'll have the proper palette (and I honestly doubt it) but as for the GFX, you can place most layer 3 stuff in message boxes
Anime statistic on MyAnimeList:
400 animes completed ✓
6000 episodes completed ✓
100 Days completed ✓
... what even am I doing with my life?
This is amazing. Thanks Edit!
Wow... mind blown. Especially for the fact that it detects safe tiles to overwrite, effectively allowing sprites to stay on-screen while that happens.

I'm curious though, what would happen if there weren't enough "unused right now on-screen" tiles to house the message graphics? Would it just overwrite a used one and disable other sprite tiles so it wouldn't show?
This is certainly awesome. Is this compatible with the Sprite Status Bar and the ExGFX Revolution patches by any chance?
Wow, now I wasn't expecting this! And what's even more shocking is that you appeared again out of nowhere with another great patch. It's certainly useful and when I think of it, how many hacks ignored that bug when you couldn't use Message Boxes and Layer 3 stuff at the same time...
I am not really surprised that this was created, what I am more surprised about is that it automatically detects safe parts to overwrite for the message.
What surprises me is that there's apparently no way to have it change only part of the Layer 3 tilemap, like that's a limitation of the SNES...
Let's milk Sunny Milk. Then she'll have enough money to fund Sunny Milk Real Estate.
Everypony's digging with a shovel
Awesome.. something we've wanted for years.
Originally posted by Wiimeiser
What surprises me is that there's apparently no way to have it change only part of the Layer 3 tilemap, like that's a limitation of the SNES...

It is. The layers can, and do, scroll; if layer 3 has an 8x8 tile half outside the screen, the message box contents would also be shifted a few pixels (up to 4, both horizontally and vertically), which looks rather weird if you're alert. (Either that, or layer 3 would need to move while the box is opening, which is even easier to notice.)

The box itself is windowing HDMA and can move independently of the layers, but that doesn't help since the contents would still be L3.
<blm> zsnes users are the flatearthers of emulation
Originally posted by Sakuya Izayoi
I'm curious though, what would happen if there weren't enough "unused right now on-screen" tiles to house the message graphics? Would it just overwrite a used one and disable other sprite tiles so it wouldn't show?

My slot-assignment loop handles that gracefully, but I don't think the actual uploading code does. I do think, though, that it'll be pretty darn difficult to try to get enough sprites onscreen for there to not be enough slots, but I'll look into addressing the problem if it actually becomes an issue.

Originally posted by Alcaro
Originally posted by Wiimeiser
What surprises me is that there's apparently no way to have it change only part of the Layer 3 tilemap, like that's a limitation of the SNES...

It is. The layers can, and do, scroll; if layer 3 has an 8x8 tile half outside the screen, the message box contents would also be shifted a few pixels (up to 4, both horizontally and vertically), which looks rather weird if you're alert. (Either that, or layer 3 would need to move while the box is opening, which is even easier to notice.)

The box itself is windowing HDMA and can move independently of the layers, but that doesn't help since the contents would still be L3.

The way one would handle /that/ would be to have 128 different IRQs. You'd run them at the start of the black box onscreen (for max. 8 pixels) and at 8 pixels from the end of the box onscreen (for 8 pixels) for each scanline that contains text tiles.

On the left-side IRQs, you'd enable FBlank, preserve and alter the scroll registers, probably alter your tilemap address (so you can use a completely different tilemap in VRAM), and then turn FBlank off. On the right-side IRQ's, you'd enable FBlank, restore all of that stuff, and then disable it again. This would account for scrolling both normally and from HDMA.

Haven't actually looked into whether or not there'd be some catches with this, or if you could get the IRQ code to run fast enough, but it's the other idea I've had in my head.
Then have fun being the only one who has used four-byte DMA for a good reason. That's the only way to cram those bytes into the tiny window you have; those borders are thin (eight pixels is four cycles). Forget IRQs, it will take far too long to resynchronize; nothing else runs during message boxes anyways, so the 25% of the frame below the box should be enough.

Have fun figuring out what to tell users who don't use bsnes-accuracy too.
<blm> zsnes users are the flatearthers of emulation
Now what we really need is for it to be compatible with Sprite Status Bar, if it already is, Usage will be king!
Is amazing you did this right after the Expansion of the massages patch was made. Well done!

Also... a question: if layer 3 (like another background) is behind the message box, will it interact somehow?
Applying this patch with Asar gave me this error:

Check that you're using the latest Asar.
<blm> zsnes users are the flatearthers of emulation
I used Asar 1.35.
  • Pages:
  • 1
  • 2