Language…
11 users online:  AmperSam, Dan2point5, fsvgm777, Gasterus155, JPhanto, kirsvantas, nonamelol1, reevebarusadar8, signature_steve, Sokobansolver, tOaO - Guests: 251 - Bots: 324
Users: 64,795 (2,377 active)
Latest user: mathew

VWF Dialogues Patch by Check manual for full list, RPG Hacker

File Name: VWF Dialogues Patch v1.2
Submitted: by RPG Hacker
Obsoletes: VWF Dialogues Patch v1.01
Authors: Check Readme for full list, RPG Hacker
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 readme 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 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
  • The patch now uses a coding style that's more in-line with my other patches - most configurable settings are now in vwf_dialogues.cfg


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.
Screenshots:
While mostly everything works well, some issues that warrant removal were found (some even left over from the previous version currently hosted in the site). All issues happen in both normal and SA-1 ROMs, in all major emulators.

> Main removal reason: option cursor doesn't disappear when changing options. Weirdly enough this issue doesn't happen in version 1.01, the one currently hosted.

> Special character function ($F4) doesn't work properly when trying to display character $FF (or $FFFF in 16-bit mode, but that's a silly value as no one would have 256 fonts anyways) - $FF always causes the dialogue to end. Either fix this or state in the Readme that $FF won't work despite using the command. Currently it says it does, and that's not true. This is left over from the older version.

> Instance of wrong pointer in 'vwfmessagepointers.txt':

Code
dl Message00CD,Message00CE,Message00DF,Message00D0,Message00D1


This causes message $00CF to never be prompted, instead reading $00DF's table when calling $00CF. This is left over from the older version. (I noticed this one year ago by chance while developing MKUCS lol).

> Lastly, there's this which happens only in translucent level modes or levels that manually use similar setups through ASM. After the dialogue closes, the screen gets filled with zeros. That is because of this table:

Code
Emptytile:
	db $00,$20


Setting the $00 to $FC (blank tile) partially solves the problem. However, when the dialogue window closes (assuming a window is drawn) and graphics are reverted, it doesn't get properly erased. But given how the screen can be filled with blank tiles, I'm sure there is a way to work around this issue. I just didn't manage to find the best spot for that. This is also left over from the older version.

----------

Now let's move to other stuff unrelated to removal reasons but worth revising.

Readme:
> Regarding !bitmode, clarify that instead of 0 or 1, the user can type !8 or !16, as these defines are present in the main ASM file. If the user goes there expecting to see a 0 or an 1, it'll lead to confusion. Same applies to !hijackbox - the user can type !true or !false.

> Warn the user that when using 16-bit mode, commands also need to be 2 bytes long (e.g. db $FA,$FF becomes dw $FFFA,$FFFF), and that plain writing text in quotations as regularly done in 8-bit mode will not work, as they always have to specify the font for each character. This, or maybe provide a 16-bit compatible table for characters and incsrc it depending on !bitmode using an 'if' conditional, also telling the user to use 'dw "text here"' instead of 'db "text here"'.

> Setup Teleport: you can change the 'w' in db %----w-s- to 'm', as it can send the player to the midway entrance when the level is configured to use separate settings for midway entrance, also explaining this behavior. It triggers water level if that's not configured or if warping to a secondary entrance, however.

> Still regarding Setup Teleport: if there are no plans on implementing support for the #$0200+ secondary entrances, please state so as well.

> State that when a text box is cleared, and the text palette (not the color itself) was modified, the default palette is restored. So if the user wants the text to keep using the current palette, the palette command has to be reused. Alternatively, if the user wants the palette to be restored, there's no need to do it manually.

> Warn about compatibility issues with SMB3 Status Bar (gives garbage) and Minimalist Status Bars (flashes the whole screen during dialogue transitions). The patch is, however, compatible with Kaijyuu's Super Status Bar.

> Correct several typos.

Other suggestions:
> Personally, I'd prefer to keep all configurable defines from 'vwf_dialogues.cfg' inside the main ASM file. This way, the user doesn't have to open a different file (extension) in a text editor just to look and edit defines.

> Add defines for what button to press to advance dialogues, and what controller data address to use. I always wondered why this never was a thing when I used it in some projects, and that's relatively easy and simple to do (for us ASMers).

> Add an option for a RAM flag check that, if set, instantly terminates a dialogue if one is active. One can then have a simple uberASM code that determines a button to set this flag, for example. *Maybe* this could also help fix issues related to dying or teleporting while a dialogue is active to some extent. It'd be nicer if a skip dialogue feature was built-in, in fact (e.g. player presses Start and dialogue is terminated if a certain bitflag in the header is set).
MK2TDS
Originally posted by Meirdent
File Name: VWF Dialogues Patch v1.2
Submitted: by Blind Devil
Obsoletes: VWF Dialogues Patch v1.2
Authors: Check manual for full list, RPG Hacker
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.
Screenshots:
A newer version has been submitted (v1.3).
To clear up any confusion, this is an update to the already existing v1.2 that makes the patch compatible with SA-1 Pack 1.30+. v1.3 includes this compatibility as well.

Merged rejection logs.
File Name: VWF Dialogues Patch v1.3
Submitted: by yoshifanatic
Obsoletes: VWF Dialogues Patch v1.2
Authors: Check manual for full list, RPG Hacker
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.

V1.3 was done entirely by yoshifanatic outside of Github.

Version 1.3 changes:
  • Fixed message 7F's pointer so it no longer points to message 8F.
  • Fixed an oversight where various aspects of layer 3 (transparency, priority, main/subscreen status) were not being preserved.
  • Added MessageASM functionality to allow one to run custom code on a per-message basis.
  • Added the ability to modify the text pointer using the start button.
  • Added a text macro system, allowing one to define strings of text/commands to be called at any time in a message.
  • Added an extra step to message initialization that initializes all the VWF variables on message load, not just on title screen load.
  • Added command byte $EB that forces a textbox to freeze until something modifies the text pointer.
  • Added command bytes $E8 and $E7 for the text macro system and that act like a JSR and RTS to the textbox system, respectively.
  • Added several useful routines that can be called from within messages, such as a text buffering routine.
  • Made it so that the textbox will be forced to close when the screen fades out. The fadeout will also be delayed until the textbox closes.
  • Added some functionality that enables the textbox to close if another message is being set to display
  • Changed the hijack location for initializing the VWF RAM on the title screen from $0086E2 to $0096B4, because the former location was very questionable.
  • Fixed the incompatibility with Vitor Vilela's SA-1 Pack Patch V1.30.
  • Changed the %nextbank macro to allow specifying the freespace command to use.
  • Adjusted the $EF command to work with secondary entrances $0200-$1FFF, levels using Lunar Magic 3.00 custom level dimensions, and layer 2 horizontal levels.
  • Added a RAM flag that indicates that the text box has just been cleared.
  • Made the default message display an error message.
  • Cut RAM usage significantly by optimizing how the text tiles are buffered.
  • Several small code optimizations.


Requires Asar v1.50 or newer.

Requires ~20,429 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.

Warning: Currently breaks in BSNES V113.1 and SNES9x 1.60 if using Vitor Vilela's SA-1 Pack!
Screenshots:
Removed on updater/submitter's request due to emulator issues when used with SA-1, and SD2SNES issues when used without.