Language…
8 users online: Alyssa, howardadam1126, Jamie,  Lazy,  shovda, Spicy Jalapeno, Suru48, WONIU - Guests: 81 - Bots: 238
Users: 65,857 (2,177 active)
Latest user: King Paiden 64

VWF Dialogues v1.4

Waiting SMW Patches → VWF Dialogues v1.4

Submission Details

Name: VWF Dialogues v1.4
Authors: Check manual for full list, RPG Hacker
Submitted: by  RPG Hacker
Obsoletes: VWF Dialogues Patch v1.2
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. They're very flexible and customizable in both appearance and behavior. You can even execute code from a text box for near endless possibilities. There is no GUI application to set up text, but macros aim to make the usage as easy as possible. The manual is pretty detailed, so if you read it carefully, you should be alright.

This upload combines all the changes from version 1.3 (which was never submitted to the Patches section) and the newest version 1.4.

Asar v1.90 or newer is required to use this patch.

Version 1.3 changes:
  • The patch now uses Asar macros to make messages a lot easier to both read and write.
  • Message headers can now have default arguments, so you no longer need to specify every possible setting.
  • The new MessageASM system allows you to continuously execute code while a specific text box is open, similar to UberASM with levels.
  • A new text macro system allows you to reuse pieces of text.
  • A new shared routines system lets you call VWF Dialogues routines from other resources.
  • Added a few new text commands.
  • Fixed many bugs.
  • And much more (see history in manual for full details).


Version 1.4 changes:
  • Improved compatibility with many Status Bar replacement patches.
  • Greatly improved performance in multiple areas, especially V-Blank.
  • Added the ability to customize which buttons the patch uses.
  • Added the ability to override the appearance of a text box via its header.
  • Added the ability to share headers between messages.
  • Fixed many bugs.
  • And much more (see history in manual for full details).


Requires 20,296 bytes of free RAM at default settings (956 bytes to store settings, 16,384 bytes to back up layer 3 graphics and 2,956 bytes as working RAM). By default, all free RAM is mapped to SRAM (there's an option to automatically expand SRAM), except in SA-1 ROMs, where BW-RAM is used instead. 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: 45 (jump to comments)
Download 1.11 MiB | 1,704 downloads

Screenshots

View all

Comments (45)

simon.caio Link
I think this is the wrong version you uploaded, could that be?
 RPG Hacker Author Link
Oh crud, you're right, I forgot to actually update the zip file in the submission! 🤦‍♂️

And the new one is too large due to the manual including a video, so I'll have to submit this file with the manual for the time being, until I can get the video hosted somewhere.

In the meantime, the manual can be read online here: https://rpghacker.github.io/SMW-Workspace/vwf/manual/

EDIT: It's fixed!
OwenCraft From older version: VWF Dialogues Patch v1.2 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 From older version: VWF Dialogues Patch v1.2 Link
Can you copy your message using the F1 command here? Will be difficult to say what's wrong otherwise.
OwenCraft From older version: VWF Dialogues Patch v1.2 Link
Code
.body
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.
rtl

Even messages with nothing happening in the ASM code crash too.
OwenCraft From older version: VWF Dialogues Patch v1.2 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:
Code
org remap_rom($008297)
	jml NMIHijack
	nop #$2

Replace it with this:
Code
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 From older version: VWF Dialogues Patch v1.2 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 From older version: VWF Dialogues Patch v1.2 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 From older version: VWF Dialogues Patch v1.2 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 From older version: VWF Dialogues Patch v1.2 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 From older version: VWF Dialogues Patch v1.2 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!
ELKIRA From older version: VWF Dialogues Patch v1.2 Link
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 From older version: VWF Dialogues Patch v1.2 Link
It should be as simple as setting

Code
!bgcolor	= $0000


in vwfconfig.cfg.
WGDast2 From older version: VWF Dialogues Patch v1.2 Link
Every color is white after a message is done
WGDast2 From older version: VWF Dialogues Patch v1.2 Link
Seeing people use 1.3 how do you get it?
 RPG Hacker Author From older version: VWF Dialogues Patch v1.2 Link
1.3 isn't technically released yet. People might have a WIP version from GitHub.
WGDast2 From older version: VWF Dialogues Patch v1.2 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 From older version: VWF Dialogues Patch v1.2 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 From older version: VWF Dialogues Patch v1.2 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 From older version: VWF Dialogues Patch v1.2 Link
Good Patch But I Cannot Install Newest Version (v.1.2)
 RPG Hacker Author From older version: VWF Dialogues Patch v1.2 Link
Use Asar 1.7 for the time being. Asar 1.8 won't work, unfortunately.
MinecraftGamerLR From older version: VWF Dialogues Patch v1.2 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 From older version: VWF Dialogues Patch v1.2 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 From older version: VWF Dialogues Patch v1.2 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 From older version: VWF Dialogues Patch v1.2 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 From older version: VWF Dialogues Patch v1.2 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 From older version: VWF Dialogues Patch v1.2 Link
A tool which streamlines the process of inserting this and configuring everything would be highly useful.
 RPG Hacker Author From older version: VWF Dialogues Patch v1.2 Link
Originally posted by ninj
does this still let you use the normal message boxes?


If you configure it that way, yes.
ninj From older version: VWF Dialogues Patch v1.2 Link
does this still let you use the normal message boxes?
A-l-e-x-99 From older version: VWF Dialogues Patch v1.2 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 From older version: VWF Dialogues Patch v1.2 Link
Cool, that seems like a very practical sheet! Good work! #smw{:TUP:}
Hayashi Neru From older version: VWF Dialogues Patch v1.2 Link
https://bin.smwcentral.net/u/31439/VWFdialoguesHeader.xlsx
If you use this, you can easily create headers.
Hayashi Neru From older version: VWF Dialogues Patch v1.2 Link
16 - bit mode doesn't work.
Code
; Whether to ue 8-bit or 16-bit mode
!bitmode	= !16

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

.body
dw $0001,$0006,$008A,$0009,$FFFA,$FFFF
 MarioFanGamer From older version: VWF Dialogues Patch v1.2 Link
Bitmode must be either '!8' and '!16'. Simply entering '16' (or likewise '8' for that matter) will just break the code.
 Blind Devil From older version: VWF Dialogues Patch v1.2 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 From older version: VWF Dialogues Patch v1.2 Link
Thanks for the hint! Fixed.
ExE Boss From older version: VWF Dialogues Patch v1.2 Link
Quote
  • most configurable settings are now in vwf_dialogues.cfg

Actually, it’s vwfconfig.cfg now.
 RPG Hacker Author From older version: VWF Dialogues Patch v1.2 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.