Language…
10 users online: Danik2343, DinoMom, Firstnamebutt, masl, Odinstafel, pnaha, qantuum,  Ringo, Saibot1997, Zavok - Guests: 229 - Bots: 346
Users: 64,795 (2,380 active)
Latest user: mathew

VWF Dialogues v1.4

Patch

VWF Dialogues

Original C3 Release Thread

This patch let's you use VWF text boxes like in some old SNES RPGs in your game. Using it is quite complex, so make sure to read the Manual carefully.


Download


Last update (27 February 2024):
Version 1.4 released during Winter C3 2024.
Feel free to visit my website/blog - it's updated rarely, but it looks pretty cool!
(Ha, I'm the first one to reply again. ;) )

As I said at some other places before, this is one of the most awesome and useful tools/patches I've ever seen. It's really amazing how flexible it seems to be, and it's sure gonna be a blast to work with once released (which I hope will be soon). Thanks a lot for making this, since this is just what I needed. :D


 
You are god. Or something rather close.

This is a HUGE improvement over Romi's VWF tool! I think you did an absolutely AMAZING job on this. I commend your efforts.
Now with extra girl and extra hacker
Never played Secret of Mana, but I like accidentally all over the place right now. This looks epic, and I love all the features you've implemented (and might implement). I'm glad you were able to complete this.

Looking forward for its release ;)
Thanks, everyone! :)
I fixed another glitch seen in the video that cut off some letter on the right. With that fixed the color function also seems to work better. As long as you always put a space before a color change and as long as your spaces are wide enough (mine are at 7 pixels right now, but with 8 pixels you're on the safe side since that is a full tile) everything should work fine. Right now I'm working on Auto line breaks and they don't seem to be as hard as I thought to implement.
Feel free to visit my website/blog - it's updated rarely, but it looks pretty cool!
Wow. This is very, very nice. And as Noobish said, it seems significantly better than Romi's VWF tool. I hope you fix the bugs soon, that's all I can say...it looks awesome.

----------------

I'm working on a hack! Check it out here. Progress: 64/95 levels.
I can send you the Japanese SMW text stuff Japanese users always use, just pm me.

Also I noticed in one of the video's you kept hitting boxes with random designs (mushrooms/capes/otherstuff) that did absolutely nothing other than bouncing like normal message boxes, except they did nothing and you were hitting them for the rest of the video. What the heck was the point of that stuff?
I own a community of TF2 servers!

ASMT - A new revolutionary ASM system, aka 65c816 ASseMbly Thing
SMWCP - SMW Central Presents a Product- tion long name

frog

http://esolangs.org/wiki/MarioLANG
Originally posted by Fakescaper
I can send you the Japanese SMW text stuff Japanese users always use, just pm me.

Also I noticed in one of the video's you kept hitting boxes with random designs (mushrooms/capes/otherstuff) that did absolutely nothing other than bouncing like normal message boxes, except they did nothing and you were hitting them for the rest of the video. What the heck was the point of that stuff?

There are mouse-over captions on those blocks. When the video pauses, hover over the blocks with faint outlines around them.
Now with extra girl and extra hacker
Originally posted by Fakescaper
I can send you the Japanese SMW text stuff Japanese users always use, just pm me.


Nah, thanks. As far as I know those are 8x8 characters, right? This patch is designed for characters of 16 pixels of heigth and up to 16 pixels of width. Also Ice Man said he'd rip the SD2 font for me, so I'm fine on this one.

Originally posted by Fakescaper
Also I noticed in one of the video's you kept hitting boxes with random designs (mushrooms/capes/otherstuff) that did absolutely nothing other than bouncing like normal message boxes, except they did nothing and you were hitting them for the rest of the video. What the heck was the point of that stuff?


Yeah, it's as Noobish said. Those are to demonstrate how easy it is to customize the textbox' style. The apple box changes the way the textbox appears (like making it appear instantly or expand starting in the middle like in Secret of Mana). They key box is a box that sets the textbox' position to X0/Y0 and sets it to maximum size. I was too lazy to make more boxes for textbox size and position since it was just for demonstration anyways, so I just made a single box to set it to maximum size. The next two boxes change the frame of the textbox. I had several frames in the game. The left box goes one up, the right box one done. The next two boxes change the background pattern. Again I had several graphics in the game and the left block goes one up, while the right block goes one done. The next six boxes are for changing the textbox' background color. First pair is for the R value, second pair for the G value and last pair for the B value. If you look at the status bar you actually see those changes represented on the timer. That is not done by my patch, I just included it in the box sprites to see the current color setting without making any complicated code. That's about it!

Going to add some screenshots in a few minutes.
Feel free to visit my website/blog - it's updated rarely, but it looks pretty cool!
Eh well, I think it'd be best to have all that stuff done in the patch manually instead of having the player hit a bunch of boxes. To be honest it's completely confusing.
I own a community of TF2 servers!

ASMT - A new revolutionary ASM system, aka 65c816 ASseMbly Thing
SMWCP - SMW Central Presents a Product- tion long name

frog

http://esolangs.org/wiki/MarioLANG
Woah! This looks really great RPG Hacker! I can already think of tons of uses for this.
Hoooly shit! O_O This is extreme and awesome. Can't wait to see this released, seriously! Daamn, I really need this for my hack, I hope you release this soon, RPG hacker!
Thanks! :)

Originally posted by Fakescaper
Eh well, I think it'd be best to have all that stuff done in the patch manually instead of having the player hit a bunch of boxes. To be honest it's completely confusing.


Nope, it's better that way, because including that in the patch means more hijacking and more hijacking means higher incompatibility. Right now I have 8 hijacks in the entire patch, which is already a lot, but I tried to only hijack at places that I believed noone else has hijacked at in their patches. Just look at the HP Counter I made years ago. That patch has, like, 1000 hijacks and has a really high incompatibility with other patches.

On top of that you do not need those boxes. Most of those boxes - like the boxes for graphics and colors - are just optional. If you want your textbox customizable ingame, then you can easily make a patch, like patching the start menu or something like that to let you customize those settings (like that extra menu in Secret of Mana). Those boxes aren't actually part of the patch, they were just there for me to test if everything works fine. The only things you really have to touch are the addresse for size and position. Those can easily be set inside an NPC sprite, though. I think I'll include an NPC sprite edit with this patch as an example.
Feel free to visit my website/blog - it's updated rarely, but it looks pretty cool!
Originally posted by RPG Hacker's demonstration
Also, I WILL release this tool. I won't keep it for myself.

You are my hero.

Seriously, this is one of the most impressive things I've seen in a long time. I can't wait to get the chance to play with it.

I'm kicking myself, too, because when I first saw the thread title, I thought it was some random question about Romi's VWF Tool.


[?] Miscellaneous Helpful Hints
If I moderated your hack, there was apparently a 90 percent chance it was rejected.
Originally posted by andy_k_250
Originally posted by RPG Hacker's demonstration
Also, I WILL release this tool. I won't keep it for myself.

You are my hero.

Seriously, this is one of the most impressive things I've seen in a long time. I can't wait to get the chance to play with it.


Glad you like it. Yeah, it's very important for me to help other people with my work. We all just profit from making patches like that public since other people can make there patches better.

Originally posted by andy_k_250
I'm kicking myself, too, because when I first saw the thread title, I thought it was some random question about Romi's VWF Tool.


At first this thread was actually called "Secret of Mana Text Editor" because I am evil and like to trick people. Hahaha! #w{>=)}

Finished another function: Displaying the content of RAM addresses. This, for example, makes it possible to display numbers from 0 to F. It is quite easy to display the current timer time that way. With some effort it's even possible to make a custom naming function for your character and then display the name in my dialogues using this new function. All it takes is a bunch of RAM addresses.

Next I'll do a function to display not the character, but the actual value of a RAM address. So if a RAM address has the value $2A, then 2A will be displayed.
Feel free to visit my website/blog - it's updated rarely, but it looks pretty cool!
Originally posted by RPG Hacker
Thanks! :)

Originally posted by Fakescaper
Eh well, I think it'd be best to have all that stuff done in the patch manually instead of having the player hit a bunch of boxes. To be honest it's completely confusing.


Nope, it's better that way, because including that in the patch means more hijacking and more hijacking means higher incompatibility. Right now I have 8 hijacks in the entire patch, which is already a lot, but I tried to only hijack at places that I believed noone else has hijacked at in their patches. Just look at the HP Counter I made years ago. That patch has, like, 1000 hijacks and has a really high incompatibility with other patches.

On top of that you do not need those boxes. Most of those boxes - like the boxes for graphics and colors - are just optional. If you want your textbox customizable ingame, then you can easily make a patch, like patching the start menu or something like that to let you customize those settings (like that extra menu in Secret of Mana). Those boxes aren't actually part of the patch, they were just there for me to test if everything works fine. The only things you really have to touch are the addresse for size and position. Those can easily be set inside an NPC sprite, though. I think I'll include an NPC sprite edit with this patch as an example.


I dunno why you'd need to make more hijacks, I thought you'd only need to make more defines for stuff. Although are the boxes really just for people to adjust colors and stuff ingame? Shouldn't it already be preset stuff (probably on a per level basis or something). Either way nice work.
I own a community of TF2 servers!

ASMT - A new revolutionary ASM system, aka 65c816 ASseMbly Thing
SMWCP - SMW Central Presents a Product- tion long name

frog

http://esolangs.org/wiki/MarioLANG
It's nice to see progress on this... I was fiddling around with VWF Tool myself, attempting to expand it to allow layer 1/2 bgs... and I sorta had some success, mostly fiddling around with where it put things in vram and such, but I couldn't for the life of me understand how it actually drew anything, so I wasn't really able to do much.

My main question for this is in regards to the script format. VWF Tool had a very impressive script format with a lot of options that was somewhat expendable in theory, if kind of annoying to do in practice. How does the script format in this work? I also wonder if it's better to do external compiled scripts like VWF Tool, or internally compiled scripts using xkas's built in tables and macros for special commands.

Also on a related note, I have done some simple experiments with spiting layer 3 into 2 or 3 parts with IRQ allowing layer 3 BGs and text displays to be on the screen at the same time... in fact, It's probably possible to do use 2 or more layer text boxes as long as nothing shows underneath. I think ff6 and such did that trick. To be honest, I never liked SOM's text boxes in that regard anyway. The background patterns on the text were rather silly, and I always just turned them off if I could :P

Anyway, since most layer 3 stuff just uses the lower half of the tile map (as to not mess with the status bar) you could effectively split it into two vertically mirrored tilemaps and set the start address via irq. You could further split the upper half into two single screen maps and use one for statusbar/layer 3 letters and one for layer 2 if you want. Also I wonder if you can just turn HDMA off via IRQ and on again...

Anyway smw's IRQ is sorta picky and buggy which is why it messes up in snes9x and bsnes if you make small changes... plus you effectively need to watch how much stuff you do per scanline in it.

Well anyway this is neato. :3
Your layout has been removed.
Originally posted by Fakescaper
I dunno why you'd need to make more hijacks, I thought you'd only need to make more defines for stuff. Although are the boxes really just for people to adjust colors and stuff ingame? Shouldn't it already be preset stuff (probably on a per level basis or something). Either way nice work.


Well, let me explain the system I used in more detail: I do have default values to setup in my patch. You can use default values for about everything there is. As long as you don't touch anything those default values will be loaded. So without needing any custom sprites, custom blocks etc. you can display textboxes with the preset default values. If, however, you DO want to make it so that you can change the textbox settings ingame, then that is possible by simply modifying some RAM addresse, as the boxes seen in the video do. It doesn't even take any complicated ASM. It's literally just:

lda #$XX
sta $XXXXXX

One good example for that is Secret of Mana. You had a menu where you could customize textbox frame, background and color. That's also where I got the idea from and I liked it. This is also what I meant by "hijacks". I could make those things easily customizable with a patch. Like, I could make a patch that changes the pause screen so that you could change those settings on it. But that would pretty much FORCE any user of this patch to use this option and, well, it would (defenitly) mean more hijacks. Anyone who really wants that option in the game could do it himself or ask someone else to do it for him. Same with a SRAM routine. I didn't include a SRAM routine for the textbox settings. Doing so would mean more hijacks. If, however, someone really needed the settings of his dialogues to be saved to SRAM he could simply make a SRAM routine himself. If I did it that once again would mean more hijacking points. And those functions are really just "extra" functions, not mandatory for the actual dialogues. I wanted to include only really mandatory stuff to keep compatibility as high as possible.

As for the "on level basis" idea: I think it wouldn't be too great for this patch. Just imagine you want to use multiple NPCs in the same level. You would be forced to use the exact same settings for each of them. However, since any NPC needs to be an individual sprite anyways it doesn't hurt to include any ASM code you need in the sprite itself rather then having it not changable, does it? ;)

Anyways thanks for pointing your ideas out to me. I'm thankful for any critics I get on my work. I'll put another video up those days.

Originally posted by KilloZapit
My main question for this is in regards to the script format. VWF Tool had a very impressive script format with a lot of options that was somewhat expendable in theory, if kind of annoying to do in practice. How does the script format in this work? I also wonder if it's better to do external compiled scripts like VWF Tool, or internally compiled scripts using xkas's built in tables and macros for special commands.


Well, that's why I said I'd love to make a GUI for this. Right now it's so that you have to enter the complete messsages as HEX or (depending on the font file you use) ASCII characters. $00 to $EE are regular characters, while $EF to $FF are special characters. However, you can still have up to $FF characters in a font file and use all of them since one of my special commands - man, I'm a genius! - is "draw character $XX". Therefore you can easily draw any character from $00 to $FF by just using that special command or from $0000 to $FFFF if in 16-Bit-Mode, which is also supported (but not tested much so far). Anyways, detailed information on this will be given whenever I release something.

Originally posted by KilloZapit
I never liked SOM's text boxes in that regard anyway. The background patterns on the text were rather silly, and I always just turned them off if I could :P


The backgrounds patterns are easily editable, so it's no problem using a background without any pattern. However, you can only use one color for the background. At least I've only designed it for one color. Don't know if it would work corretly for more then one.

Originally posted by KilloZapit
Anyway, since most layer 3 stuff just uses the lower half of the tile map (as to not mess with the status bar) you could effectively split it into two vertically mirrored tilemaps and set the start address via irq. You could further split the upper half into two single screen maps and use one for statusbar/layer 3 letters and one for layer 2 if you want. Also I wonder if you can just turn HDMA off via IRQ and on again...


That's not possible due to my patch overwriting layer 3 graphics in VRAM completely. The space from the original graphics + the first three tilemaps are used for the actual graphics, while only the last tilemap is actually used as a tilemap. That's also why the Status Bar is always disabled during dialogues. You don't want to see messed up graphics in it, do you?

[EDIT]Here's a picture of VRAM with a screen-sized textbox full of Ws[/EDIT]

Originally posted by KilloZapit
Anyway smw's IRQ is sorta picky and buggy which is why it messes up in snes9x and bsnes if you make small changes... plus you effectively need to watch how much stuff you do per scanline in it.3


That is true cause I actually hijacked SMW's IRQ in my patch. What I did is expanding the scanline count during dialogues and altering layer 3 position of IRQ (to show only the last tilemap). And yeah, when I used $DD as a canline count it showed absolutely nothing in SNES9X and BSNES while it worked fine in ZSNES. Lowered that number by one and it worked fine in all three emulators.
A few if those things don't quite require special hijacks (ok only the SRAM thing, which is just either a simple routine + JSL) but I see what you mean now.
I own a community of TF2 servers!

ASMT - A new revolutionary ASM system, aka 65c816 ASseMbly Thing
SMWCP - SMW Central Presents a Product- tion long name

frog

http://esolangs.org/wiki/MarioLANG

Patch