Language…
22 users online:  Ahrion, CalHal, Cat person, Chuycraft, Cliff_Spab, CookedBits, Dagobert, Ennui Goldfeld,  Erik, ForthRightMC, Golden Yoshi, Hamilton64, Hot Sauce, KaidenThelens,  Kevin, Knight of Time, mason, Mega X, MrNapkino,  Ringo, Snowfool948, Theopold - Guests: 221 - Bots: 123
Users: 68,884 (2,338 active)
Latest user: Smwreverse

b4vwf - BG4 Variable-Width-Font Text Boxes

SMW Patches → b4vwf - BG4 Variable-Width-Font Text Boxes

Submission Details

Name: b4vwf - BG4 Variable-Width-Font Text Boxes
Author: Katrina
Added:
Version History: View
Tool: Asar
Requires Free Space: Yes
Bug Fix: No
Featured: No
Description: This patch replaces SMW's text box system with a fancier one with that displays text on BG4.

The default text boxes work with common types of HDMA (like color gradients and parallax), and any layer 3 background that doesn't use the graphics file in slot LG3, which includes every vanilla layer 3 background except tides.

The patch optionally supports using variable-width text for level names on the overworld, so it can replace long level name patches as well.

The text boxes have some formatting options so you can customize their look on a global or per-text-box basis.

Updated 2023-08-16: fixed a crash that happened on SA-1 ROMs if the player tried to scroll the overworld while a level name was updating.
Tags: level names lorom message box overworld overworld border sa-1 vwf
Comments: 29 (jump to comments)
Download 36.09 KiB | 882 downloads

Screenshots

View all

Comments (29)

 Anorakun Link
Would it be possible to add an option to use the START button to interrupt / close the dialogue box? Similar to how the vwf patch does it?

Example here of the feature I mentioned.

This is a hack made by Daizo and some folks that use a vwf patch, I think it's the one by yoshifanatic. As soon as I press the START button, the dialogue box is closed.

Thanks for the patch, btw, it has been extremely useful for my upcoming hack.
Heitor Porfirio Link
If someone uses this patch with Asar v1.91, the patch will not be inserted because of the new defaults in the latest version of Asar.
To resolve this, go to the b4vwf.asm file, and on line 21, change it to:

Code
while !WINDOW_BYTE&1 != 1
	!WINDOW_BYTE #= !WINDOW_BYTE>>1
	!WINDOW_CHANNEL #= !WINDOW_CHANNEL+1
endwhile

And on line 223, change it to:

Code
if !DYNAMIC_PALETTE
	paletteVals:
		incbin "b4vwf/palette.mw3":$f8..$100
endif

Where it is in bold is where it needs to be changed.
Wavee Link
Hey, for some reason layer 3 still disappears for me,. Could it be due to a conflict with the DKC Status Bar?

e: it turns out !HAS_STATUS_BAR = 0 does this. it works fine set to 1
Heitor Porfirio Link
I did a quick test of this patch with FastROM only, and this isn't gamebreaking, but a little oversight I've heard about. Look at the screenshot below:



This flash with these garbled tiles happens when a message is being opened for the first time. After that, there is just a black rectangle out of position.
But as I said, this is just a flash, after that the message works as intended.
RunninPigeon Link
is there compatibility for free_7E04A0?
Katrina Author Link
definitely not (I use weird addressing modes to access the windowing table), but only a couple routines touch it so if you or someone you know can do any ASM it shouldn't be too difficult to make it compatible.

(I would be willing to make a compatible version for you but as a procrastinator I highly recommend you don't ask me to do anything)
 Maarfy Link
Note for the sake of transparency that this update was verified to consist of a single line added to just one of the included files, in a region of code that only runs on SA-1 ROMs, whose prior absence seemed like it should've caused bugs but apparently didn't. Testing of this update was comparatively very light.

Note further that the bug mentioned in another comment was confirmed, switching from Mario to Luigi or vice versa in a 2-player game when both players are on the same map will cause a freeze on SA-1 ROMs. This update is still being accepted as this bug is present in the original accepted submission.

Bug aside, though, this patch is still really, really cool.

Tested with Asar 1.81, Lunar Magic 3.40, SA-1 1.40, Snes9x 1.62.3, BSNES Accuracy 0.7.1.
Heitor Porfirio Link
I don't know if this is related to this patch or if it's something else, but when I'm playing with two players, when I transition to playing with Luigi in the Overworld while the level name is being written, the game gets a black screen and with the music still playing.

I'm not using SA-1 or anything like that, but I was playing a hack that has SA-1 and this patch.
 Maarfy Link
Good catch, that is indeed a bug with this patch. See the moderation notes for details.
GatoSlashFish From older version: b4vwf - BG4 Variable-Width-Font Text Boxes Link
Just a heads up, I believe I may have found an issue with using overworld names via this patch. If you attempt to scroll the map on the main overworld while the text is still writing itself, it will cause your game to crash. Not sure if it's just something with any patches I have installed currently, but it's a problem I've run into even with just SA-1 and the UberASM Retry patch.
Katrina Author From older version: b4vwf - BG4 Variable-Width-Font Text Boxes Link
I looked into this bug for just a moment and it didn't happen on my test ROM, so it seems like a patch conflict, but I don't know which patch (the test ROM is not SA-1). I'll try to look into it again soon, but I recently changed setups and it's not convenient for me to try out combinations of patches right now.
Katrina Author From older version: b4vwf - BG4 Variable-Width-Font Text Boxes Link
This crash totally happens with just b4vwf and the SA-1 pack. Thanks for the bug report. I haven't looked into how it happens so it might be a while before I get a fix done
Heitor Porfirio From older version: b4vwf - BG4 Variable-Width-Font Text Boxes Link
Is this patch compatible with these patches, if using the OW Level Names option?

- Overworld Indicators
- Widescreen Overworld
 Anorakun From older version: b4vwf - BG4 Variable-Width-Font Text Boxes Link
Yes, it is. I'm using both of them in my hack.
Apple Boy From older version: b4vwf - BG4 Variable-Width-Font Text Boxes Link
Is this compatible with the DKCR Status Bar
Katrina Author From older version: b4vwf - BG4 Variable-Width-Font Text Boxes Link
In b4vwf/settings.asm, set:
!HAS_STATUS_BAR = 0

and in status_bar_config.asm, set:
!UseVWFDialogues = 1
!VWFState = $1426|!base

It's dorky but seems to work. Also, apologies if this reply is unwelcome after the extremely long delay.
 Anorakun From older version: b4vwf - BG4 Variable-Width-Font Text Boxes Link
Originally posted by Rykon-V73
Shame this doesn't use SA-1. It's a good candidate for my hack.


It does work with SA-1. I'm using in my latest hack.
Rykon-V73 From older version: b4vwf - BG4 Variable-Width-Font Text Boxes Link
Shame this doesn't use SA-1. It's a good candidate for my hack.
 Anorakun From older version: b4vwf - BG4 Variable-Width-Font Text Boxes Link
Originally posted by Hayashi Neru
※ Do not use in Mode 0 level. If using in mode 0, Layer 4 background is gone.


Well, that's an expected behavior, since it uses BG4.
Hayashi Neru From older version: b4vwf - BG4 Variable-Width-Font Text Boxes Link
※ Do not use in Mode 0 level. If using in mode 0, Layer 4 background is gone.
Soul From older version: b4vwf - BG4 Variable-Width-Font Text Boxes Link
"This isn't a house Yoshi, These are trees." Gives this a 6/5 rating
Vitor Vilela From older version: b4vwf - BG4 Variable-Width-Font Text Boxes Link
Moderation comments - an excellent and well-written patch. The readme and instructions made the process easier to understand and this patch is one that you don't need to be afraid to use if you are looking to a more flexible text box system with different kind of fonts.

It's hard to test with all combinations, but I believe the critical sections of the patch have been verified and it should be safe to use.

Keeping in mind naturally given the complexity and scope of the patch, it may not compatible with the following patches due of hijack conflicts found:
- Inline Layer 3 Messages v1.0.1
- Automatic Intro Message Dismiss
- Extended "Extended OW Level Names" (if using the overworld hijack option)
- Yoshi Player Patch v1.13 (if using the overworld hijack option)

Vitor Vilela From older version: b4vwf - BG4 Variable-Width-Font Text Boxes Link
Interesting patch, very creative way to use BG4
Hayashi Neru From older version: b4vwf - BG4 Variable-Width-Font Text Boxes Link
If I put more than 9 font files in this patch, I get the following error:

error message:
Code
/b4vwf/font.asm:311: error: (E5032): A bank border was crossed, SNES address $5010800. [incbin "gfx/Uni4100.bin"]



If using Japanese, Chinese, or Korean fonts, there are need to use a lot of glyphs. Of course, Japanese can only use hiragana and katakana, but Chinese and Korean do not.

How can I solve this problem?


Solved
Rykon-V73 From older version: b4vwf - BG4 Variable-Width-Font Text Boxes Link
I see. Thanks and as for that error, I think my emulator is bugged in a weird way.
Katrina Author From older version: b4vwf - BG4 Variable-Width-Font Text Boxes Link
Rykon,

I'm not getting disappearing layer 3. If you found a bug I missed, I will need more information to find out what is causing it. Submission comments aren't great for this, so I would appreciate if you could send me a PM or contact me on Discord with some information about your setup.

As for level names: the patch is set up for two-line level names by default. If you look in levelnames.asm, you will see that all of SMW's level names have an empty line on top to put them on the second line:
Code
name104:
	db "", $0a
	db "YOSHI'S HOUSE", $00


To recreate the text in the upload screenshots, you can replace that with:
Code
name104:
	db "This isn't a house, Yoshi.", $0a
	db "These are trees.", $00
Rykon-V73 From older version: b4vwf - BG4 Variable-Width-Font Text Boxes Link
Great patch. I did find a bug. Even if you trigger the layer 4 message box, layer 3 still vanishes.
Also, how do you add longer level names on the OW. A screenshot told me you can insert 2 lines of text there.
Black Goku From older version: b4vwf - BG4 Variable-Width-Font Text Boxes Link
Forgot Sa-1 tag
Vivian Darkbloom From older version: b4vwf - BG4 Variable-Width-Font Text Boxes Link
This is so cool and so useful. I'm glad it exists, I was waiting for it for over a year.