19 users online:  BeeKaay, Dark Prince, Enderdavid_HD, GarbitheGlitcheress, Gasterus155, Kodak43121,  KungFuFurby, LadiesMan217, LightAligns, Obskyrra, OEO6, Pink Gold Peach,  Ringo,  Saphros, Sparkysie, Super Nikuworld, tired_ideabox, underway, yno14jax - Guests: 340 - Bots: 131
Users: 65,061 (2,328 active)
Latest user: LimeadeGX

VWF Dialogues Patch v1.2

SMW Patches → VWF Dialogues Patch v1.2

Submission Details

Name: VWF Dialogues Patch v1.2
Authors: Check manual for full list, RPG Hacker
Version History: View
Tool: Asar
Requires Free Space: Yes
Bug Fix: No
Featured: Yes
Description: This patch lets you use VWF text boxes like in some old SNES RPGs. So far, it's rather complicated to use because there is no GUI application to set up text, but the manual is pretty detailed, so you should be alright if you read it carefully.

Most of the changes in version 1.2 were contributed by ExE-Boss and randomdude999 via my GitHub.

Version 1.2 changes:
  • This is now an SA-1 hybrid patch
  • Completely overhauled the Readme - it now looks nicer and some of the outdated information in it was updated (it's also called "manual" now)
  • The patch now uses a coding style that's more in-line with my other patches - most configurable settings are now in vwfconfig.cfg
  • A few bug fixes
  • Added a script for generating width tables
  • Some more stuff (see history in manual for details)

Requires Asar v1.50 or newer.

Requires 33,038 bytes of free RAM. By default, they're mapped to SRAM (a SRAM expansion is applied to the ROM automatically). Requires a variable amount of free space, depending on the amount of text and graphics you insert into your ROM with it. Expect around a full bank of free space to be taken at minimum by average use of this patch.

Feel free to contribute to this and other patches via my GitHub repository.
Tags: lorom message box needs remoderation sa-1 vwf
Comments: 43 (jump to comments)
Download 496.45 KiB | 1,652 downloads


View all

Comments (43)

OwenCraft Link
Hi, it's me again. I tried using the $F1 command to execute ASM code, but it crashes my game.

I found it crashes with a clean SA-1 ROM on Snes9x v1.59 and above. I even tried it with earlier SA-1 pack versions, but it ended with the same results. I tested it with other emulators like BizHawk and BSNES and it worked fine.
 RPG Hacker Author Link
Can you copy your message using the F1 command here? Will be difficult to say what's wrong otherwise.
OwenCraft Link
db "Sample Text.",$F9,$20,$F1	; Wait 32 frames, then execute code
dl .testAddress
db $FD,"Some other text.",$FA,$FF

.testAddress	; There's literally no code... other than an RTL.

Even messages with nothing happening in the ASM code crash too.
OwenCraft Link
I found the solution!
I looked at the GitHub page even further and found this:

If you're experiencing trouble with version 1.2 in an SA-1 ROM, go to vwf_dialogues.asm and find these lines:
org remap_rom($008297)
	jml NMIHijack
	nop #$2

Replace it with this:
org remap_rom($008297)
	ldx #$A1
	jml NMIHijack

Next is optional, find the label .SpecialNMI and remove "sta $4200" since SA-1 doesn't need it.
Finally, for every level you intend to use in your hack, enable advanced bypass settings for layer 3, then set the Y and X offset to 12 and 10 respectively.
It worked for me, thankfully, and I sure hope it works for anyone reading this! #smw{^_^}
 RPG Hacker Author Link
Oh yeah, that change looks familiar. I guess I've already fixed that in WIP version 1.3, right?

(Also, I didn't see the replies below until recently - apparently, replies don't trigger notifications?)
OwenCraft Link
I'm trying to apply your patch to my hack, but whenever I go into a level, it's stuck in gamemode 13: Level fade-in.

I applied the patch to a clean ROM and it worked, but when I applied it to an unmodified SA-1 ROM, the same problem happened. Am I missing something I didn't catch? It should work because I've applied this patch on other hack projects before.
 RPG Hacker Author Link
Maybe it's a newer version SA-1 Pack that the patch isn't compatible with yet?

Just taking stabs in the dark here.
OwenCraft Link
I looked at an earlier hack project and saw it worked with the same version I'm using now (v1.40). I redownloaded the VWF patch and applied a clean SA-1 ROM again, but it still didn't work. I might be doing my steps wrong.
OwenCraft Link
Ok, update: I used your WIP 1.3 version and made sure to use SA-1 mapping. I went into a level just fine, but when I interact with an NPC or initiate a message, the game freezes except the music.

Sorry if I keep messaging you about this, I really want to use this patch so bad!
How can I change the background color to black? I tried but I can't. I would appreciate if someone helps me.
 RPG Hacker Author Link
It should be as simple as setting

!bgcolor	= $0000

in vwfconfig.cfg.
WGDast2 Link
Every color is white after a message is done
WGDast2 Link
Seeing people use 1.3 how do you get it?
 RPG Hacker Author Link
1.3 isn't technically released yet. People might have a WIP version from GitHub.
WGDast2 Link
Originally posted by RPG Hacker
1.3 isn't technically released yet. People might have a WIP version from GitHub.

Does it fix the issue i'm having where it basically changes all colors in some palletes to white after you confirm a dialogue in bsnes? it doesn't happen in snes9x and I didn't even bother to try it in zsnes but why does this happen?
Also it shows a broken vwf dialog when I die in retry patch
 RPG Hacker Author Link
It might be fixed there. 1.3 fixes a lot of bugs related to hardware compatibility. But I can't say for sure. My guess is that the "colors going white" thing was a bug related to badly timed VRAM writes.
 Telinc1 Link
If you want to combine this with SRAM Plus, edit sram_plus.asm, find sram_locs (around line 48 in the current version), and change $2002 to $6002. Otherwise, save file B will crash the game.

Alternatively, you can change $702000 to $706000 at the top of vwfconfig.cfg. You'll also need to adjust other resources that use VWF dialogues.
Bartek201002 Link
Good Patch But I Cannot Install Newest Version (v.1.2)
 RPG Hacker Author Link
Use Asar 1.7 for the time being. Asar 1.8 won't work, unfortunately.
MinecraftGamerLR Link
Is there a way to make all of the text appear instantly? And if so, how? There most likely isn't, I believe.
 RPG Hacker Author Link
Nope, that's not possible for technical reasons. The VWF engine is too slow and can't process a full box worth of text in a single frame. In fact, in its current state, a single character per frame is just about as much as it can handle.
HodgerMccodger Link
Originally posted by RPG Hacker
It seems the patch broke at some point with an Asar update. So currently, your best bet is to use an older Asar version for the patch until it's fixed.

Thank you for this, this has worked using version 1.7
 RPG Hacker Author Link
It seems the patch broke at some point with an Asar update. So currently, your best bet is to use an older Asar version for the patch until it's fixed.
HodgerMccodger Link
I'm having trouble with applying this patch. I keep getting an error message that includes
warning (W1026) Function "floor" redefined
and many variations on error (E5053) regarding remap RAM
function remap(X) etc wasn't found

I'm assuming this is a problem with the path- I've tried to paste files from the "shared" and "includes" folders everywhere to avoid this problem, but I'm still getting this error message. I would be very grateful for any help on this.
BlueToad Link
A tool which streamlines the process of inserting this and configuring everything would be highly useful.
 RPG Hacker Author Link
Originally posted by ninj
does this still let you use the normal message boxes?

If you configure it that way, yes.
ninj Link
does this still let you use the normal message boxes?
A-l-e-x-99 Link
A great replacement for Romi's VWF Cutscene Tool, although for me, the text box is glitchy at first blush and can take around two or three dialogues to show up correctly in Higan (and not at all in SNES9x).

I still recommend. 8/10 #smw{:TUP:}
 RPG Hacker Author Link
Cool, that seems like a very practical sheet! Good work! #smw{:TUP:}
Hayashi Neru Link
If you use this, you can easily create headers.
Hayashi Neru Link
16 - bit mode doesn't work.
; Whether to ue 8-bit or 16-bit mode
!bitmode	= !16

db %00001000,%01111011,%00010001,%11000000,$01,%00000000
dw $7FFF,$0000
db %11110100
db %00001111,$13,$13,$23,$29

dw $0001,$0006,$008A,$0009,$FFFA,$FFFF
 MarioFanGamer Link
Bitmode must be either '!8' and '!16'. Simply entering '16' (or likewise '8' for that matter) will just break the code.
 Blind Devil Link
Great update. Much friendlier and cleaner compared to the older versions. I also appreciate the new updates made after some of my suggestions, and the width generator is pretty handy for custom text drawers/rippers. Thanks!

I wrote more stuff here regarding the abort dialogue function for those interested or curious about it.
 RPG Hacker Author Link
Thanks for the hint! Fixed.
ExE Boss Link
  • most configurable settings are now in vwf_dialogues.cfg

Actually, it’s vwfconfig.cfg now.
 RPG Hacker Author Link
Note @Blind Devil: We tried to incorporate most of your feedback given in the previous removal log, but decided against some of it.
  • We didn't bother too much fixing any 16-bit mode stuff and instead decided to deprecate it, since probably noone uses it.
  • I did not get rid of the .cfg file, because it being separate from the .asm was precisely the point. I wanted the end user to not have to open the .asm file at all to customize the patch, unless doing advanced stuff.

We also weren't able to fix some of the bugs yet, but made sure to mention them in the manual.
LDA From older version: VWF Dialogues Patch v1.01 Link
below comment: couldn't reproduce on a clean rom + lm with current version of asar (1.50). added a print pc before incsrc vwfmessages.asm (around line 4513 in vwfdialogues.asm) and it gave the same address ($928015) every it was patched
 Telinc1 From older version: VWF Dialogues Patch v1.01 Link
I'd like to warn everybody using this or thinking of using this: the patch, as it is written currently, leaks freespace badly. In fact, some testing I've done has shown that it doesn't even bother removing the message data when you reapply it. In my hack, for example, I lose about 3 KiB of space every time I patch this.

The way freespace is managed here is beyond my comprehension. Despite that, I have found a temporary fix to it. Every time you want to reapply the patch (yes, every single time), turn the header and the first couple of bytes of your first message into a hex string and look for that in a hex editor. You'll arrive at the start of your message data (if you've reapplied the patch a lot of times, you'll have multiple results the first time you do this, 13 in my case; add one autoclean line for every one of those results). Go back 20 bytes and you should be at the start of the RAT (you should have selected the S in STAR, shown in the text view of the hex editor). Take the offset at which the tag is at, turn it into an SNES address with, e.g., Lunar Address, and make an ASM file with the line "autoclean $xxxxxx" in it (replacing "xxxxxx" with the address you got). Patch that to clean the message data. You'll now only lose 22 bytes when you reapply the main vwfdialogues.asm.

I haven't really tested this technique heavily yet, so please make a backup if you'll be attempting it. Also, only do this if you'll actually be reapplying vwfdialogues.asm, because what you're doing here is destroying the message data.
LMPuny From older version: VWF Dialogues Patch v1.01 Link
I noticed that you can crouch while a VWF message is on the screen, the "moving player setting" is at 0, you're riding Yoshi annd you're above a solid tile (steping on it).
 MarioFanGamer From older version: VWF Dialogues Patch v1.01 Link
Just a note when you use this patch: worldpeace made a small fix for a long time when you teleport or die but it's for the old version so you have to do some tweaks to insert the fix to the newer version and (the more important thing) !varram should be changed to $706000 as one save file on a ROM with SRAMPlus patched uses 8192 (8190 usable bytes and 2 for checking if the save is new) or 0x2000 bytes multiplied by 3 as there are usualky 3 save files it uses total 24576 or 0x6000 bytes and because the default address for VWF dialogues is on $702000 there would be a patch conflict. Just my two (pun unintended) cents.
Vitor Vilela From older version: VWF Dialogues Patch v1.01 Link
They're done using $EE and $F3 commands, see the switch palace message included on original for details.
HammerBrother From older version: VWF Dialogues Patch v1.01 Link
How do I make colored ! blocks on the text boxes?
 Aram From older version: VWF Dialogues Patch v1.01 Link
This may be a hard-to understand patch, but it gives the message boxes a whole new great look. Reccomend this to people who are making big time proyects and such.