Language…
15 users online:  AmperSam,  Ayami, Dispace,  Donut, Enan63, Green, Hayashi Neru, Joosh,  MarioFanGamer, Rhubarb44230, ShadowMistressYuko,  shovda, signature_steve, Sweetdude, Tomi P - Guests: 253 - Bots: 330
Users: 64,795 (2,378 active)
Latest user: mathew

Message Box Expansion

SMW Patches → Message Box Expansion

Submission Details

Name: Message Box Expansion
Author: wye
Added:
Version History: View
Tool: Asar
Requires Free Space: Yes
Bug Fix: No
Featured: No
Description: This patch implements a new message box system that allows for messages of 260 characters (almost twice the original length). It also makes it possible to use more than two different messages per (trans)level, giving each screen its own message settings.

README.txt and HOW_TO_USE.txt will probably answer any question you may have, so give it a read.


(July 7, 2018: Made switch palace messages work, tweaked the message system to be more space-efficient, and made other minor improvements.)
(July 7, 2019: Fixed broken SA-1 compatibility and added support for LM 3's new level sizes.)
Tags: lorom message message box sa-1 text
Comments: 41 (jump to comments)
Download 11.71 KiB | 1,170 downloads

Screenshots

View all

Comments (41)

 Kevin Pinned Link
If using SA-1 pack v1.40, change
Code
!HDMAChannel            = 7
to
Code
!HDMAChannel            = 1
to make the messages display properly.
karls_Corinthia Link
At present, the patch that I think is most useful in transmitting information is not difficult to operate, and it will be easy to understand if you use it more.One can't help but think of the patch that extends level name.
Oh,by the way,if the text display of a level is determined by "screen" and "message _ _", then a level can have 1F super-long text, completely exceeding the original limit of two texts.Is there no limit?
Brutapode89 Link
By the way, guys. It's about the 104 level (Yoshi's House), how can I make sure that the second message appears when we ride Yoshi, please?
Brutapode89 Link

Hi guys. I managed to make sure it works in secondary levels thanks to Rykon-V73. After to have selected a level in the Lunar Magic editor, you change in Layer 3 settings. Remember that layer 3 X position must always be set to 00. Also, layer 3 Y position set to D will do the trick.
 Sayuri Link
Originally posted by WhiteYoshiEgg
The name can actually be anything you want as long as it doesn't contain spaces or invalid characters; numbering them is just a suggestion. (I think I mentioned it somewhere in the instructions but it's easy to miss.)


I see! My bad, I just took the readme very literally and assumed it had to be that format. #w{=3} Thanks for clarifying.

Only other thing I wanted to know before trying to actually use this - since this patch rewrites the way messages are handled, how would the existing "display level message" sprite need to be modified so it can display a specific message on a screen number?
wye Author Link
The patch already modifies that sprite so that it shows the message set for that screen (just like a message box would). If you want it to always show one specific message instead, you'll have to change that part of the code or make a new sprite (see section 6b of HOW_TO_USE.txt). Any ASMer should be able to help you there if you need it.
 Sayuri Link
Is the "MessageXX" format in hex or decimal? I assume hex ("Message0C", "MessageB1" etc), but I didn't see this mentioned in the documentation, so hopefully this isn't a silly question. Also, is there a message limit?
wye Author Link
The name can actually be anything you want as long as it doesn't contain spaces or invalid characters; numbering them is just a suggestion. (I think I mentioned it somewhere in the instructions but it's easy to miss.)

Not sure about the limit but it's probably as many as can fit in one bank. If all your messages use the full 10 lines, that'd be around 126 in total.
Brutapode89 Link
Originally posted by Kevin
If using SA-1 pack v1.40, change
Code
!HDMAChannel            = 7
to
Code
!HDMAChannel            = 1
to make the messages display properly.


And about secondary entrances (Without SA-1) like I explained here, please.
Rykon-V73 Link
Here's another issue: after I applied SA-1 MaxTile and then this, the black screen of the message is still there, but I can play the level.
Edit: while the mapper thing is still there, the message boxes now work.
Brutapode89 Link
Another issue.

It's in levels that can be made accessible only by entering in a pipe or by getting through a door (Like levels 1BE, E3, etc...). Levels 101, 103, 105 & 106 works.

Code
;  level   screen   message
dw $0101 : db $07 : dl Message0E
dw $0101 : db $00 : dl Message0D
dw $0103 : db $00 : dl Message09
dw $0103 : db $01 : dl Message09
dw $0103 : db $0A : dl Message0A
dw $0105 : db $0A : dl Message07
dw $0105 : db $0C : dl Message08
dw $0105 : db $0D : dl Message08
dw $0106 : db $03 : dl Message05
dw $0106 : db $04 : dl Message05
dw $0106 : db $09 : dl Message06
dw $01FF : db $00 : dl Message0B
dw $01BE : db $01 : dl Message0C



And it's without use a Hex editor
Brutapode89 Link
Originally posted by WhiteYoshiEgg
I showed you how to do it for the first line as an example. Do the same thing with the other lines. You can add the spaces yourself. Also, make sure every line has 26 characters; if it's too short, add more spaces.

That's about all I can help you with.


I'm happy to say you that I managed anything to avoid issues by using in first the Message Box Expansion patch and after a Hex editor (like Olympus) to add letters with accents!#wario{^_^}

Brutapode89 Link
Code
Message01:
        db "Bienvenue", $35, "Dino-Land", $3B
        db "On dira$39t bien que la   "
        db "Princesse Peach a         "
        db "disparu... Ca doit vouloir"
        db "dire que l'ignoble Bowser "
        db "est de retour$3B          "
        db $FF


Another problem#tb{:(}

And spaces are missing.
wye Author Link
I showed you how to do it for the first line as an example. Do the same thing with the other lines. You can add the spaces yourself. Also, make sure every line has 26 characters; if it's too short, add more spaces.

That's about all I can help you with.
Brutapode89 Link
Code
Message01:
        db "Bienvenue $35 Dino-Land$3B"
        db "On dira$39t bien que la   "
        db "Princesse Peach a         "
        db "disparu... Ca doit vouloir"
        db "dire que l'ignoble Bowser "
        db "est de retour$3B          "
        db $FF


3B tile is this one "!" but more to the right.
wye Author Link
You forgot the quote marks and commas. Instead of this:
Code
db "Bienvenue $35 Dino-Land$3B"

type this:
Code
db "Bienvenue", $35, "Dino-Land", $3B
Brutapode89 Link
It do that#tb{:(}
wye Author Link
What does the message look like in the .asm file, can you show me what you typed? (Click "Reply" on your post to answer, not "Quote" on mine.)
Brutapode89 Link
Originally posted by WhiteYoshiEgg
Maybe, but that would be a different patch and someone else would have to make it.


The next month, I'll ask that here #tb{;)}
Brutapode89 Link
Originally posted by WhiteYoshiEgg
Use the 8x8 tile number instead of typing the character.

For example, if you want to write the word après, and you have è as tile number 38, you write "apr", $38, "s" instead of "après" in messages.asm. (including the quotes.)


O.K. Thanks. I'll try it. By the way, will be it possible a Message Expansion for castle destruction scenes like new .asm?
wye Author Link
Maybe, but that would be a different patch and someone else would have to make it.
Brutapode89 Link
Please. I want replace characters writing "YELLOW" with these letters: "é", "è", "à", "ê" and "â" to write more texts in french for the original Super Mario World ROM but I got some small glitches like Layer 3 pieces 8x8, etc... instead letters I showed you. What must I do?
wye Author Link
Use the 8x8 tile number instead of typing the character.

For example, if you want to write the word après, and you have è as tile number 38, you write "apr", $38, "s" instead of "après" in messages.asm. (including the quotes.)
Nickelony Link
I don't know if this is a known issue, but the message boxes are completely broken in levels which use Layer 3 water.
Another issue I noticed (very rare though) is where the text in the message box is misaligned (usually shifted to the right).
wye Author Link
Unfortunately that's to be expected, because message boxes use layer 3. When you open a message box, the text will override whatever else is on layer 3 (such as water), and it will take on some of its properties (such as its position). The original game's message boxes are also incompatible with layer 3.

If you want message boxes that are compatible with layer 3, you could use this.
GrumpyWalrus Link
Originally posted by KevinM
Yes, this patch and Retry hijack the same spot (message box routine), so you can't use them together without editing the patch.
To avoid doing that, you can try using this instead.


THANK YOU!
 Kevin Link
Originally posted by GrumpyWalrus
EDIT: Retried this on a clean rom with no edits other than expanded rom size, and moved a yoshi coin on level 105 and a sprite on the overworld, and it worked fine. Added the retry patch to it afterwards and the rom crashed. Is there a workaround for fixing this? Or do they occupy the same freespace?

Yes, this patch and Retry hijack the same spot (message box routine), so you can't use them together without editing the patch.
To avoid doing that, you can try using this instead.
GrumpyWalrus Link
I'm not sure what I did wrong, but for some reason when I use this patch, my rom will not launch.
Using LM 3.30, tried with Snes9x v1.42 and BSNES v115.

Patched message_box_expansion with no changes to other files to test and will not open. Other patches have worked fine.

EDIT: Retried this on a clean rom with no edits other than expanded rom size, and moved a yoshi coin on level 105 and a sprite on the overworld, and it worked fine. Added the retry patch to it afterwards and the rom crashed. Is there a workaround for fixing this? Or do they occupy the same freespace?
lx5 Link
requires changes to work with sa-1 pack 1.35+ (dma remap conflict)

smart detection of sa-1 pack is needed to automatically define the hdma channel used, check sa-1's programming.md file in order to know how to detect newer versions of sa-1 (detect v1.40 instead of v1.35 btw)
ninj Link
This is really cool #smw{:TUP:}
savagecabbage Link
how do I make the default message not show up on any already written messages in the overworld with this patch?
Koop the Koopa Link
Wow!
Hayashi Neru Link
It would have been more perfect if could use a generic message box or use multiple palettes.
AuraDee Link
Tested with Asar v1.71, Lunar Magic 3.04, SA-1 Pack v1.32, Snes9x v1.55. Works just fine.
lx5 Link
ayy, it's nice to see this working on latest LM and SA-1

it's a shame that implementing this super cool patch inside the Sprite Message Box patch would be a nightmare (at least for me)
 Erik From older version: Message Box Expansion Link
Tested with: Asar 1.71; SA-1 v1.31; Lunar Magic 3.02; snes9x 1.58
This patch is up to the standards and requires no remoderation.
TheLegendaryOrb From older version: Message Box Expansion Link
Awesome!
Hayashi Neru From older version: Message Box Expansion Link
It would have been more perfect if could use a generic message box or use multiple palettes.
 ItsaMe.64 From older version: Message Box Expansion Link
You, sir, are a saint
 MarioFanGamer From older version: Message Box Expansion Link
Added ascii.txt which was missing in this update, added sa-1 tag and added fastROM addressing for long addresses.

If you always had a problem about SMW's message boxes having to few space, this patch certainly helps you, although if even that is too few space, you might want to use RPG Hacker's VWF Messages.
Keep in mind that any sprite and block which sets a message (e.g. Message Box DX) require some tweaks to make them work with the message system (most notably the message number).
Luigi_master1 From older version: Message Box Expansion Link
Please make the switch palace work!