Skip to content

Releases: RPGHacker/SMW-Workspace

VWF Dialogues v1.40

24 Feb 17:16
Compare
Choose a tag to compare
  • Renamed "VWF Dialogues Patch" to just "VWF Dialogues".
  • Fixed a copy-paste error in manual.
  • Fixed: SA-1 ROMs didn't hide reserve item while a dialog was open.
  • Added a tab to vwftable.asm (it maps to the same character as a space).
  • Fixed: Word-wrapping could break when combining text macros with centered text.
  • Fixed: A bug with how the main screen register was being written could lead to (essentially) random layer priorities. The bug was noticed in a level using level mode 0E, but could have affected other modes as well.
  • Added note on another known bug that was recently discovered.
  • Optimized performance of patch in V-Blank to reduce the chance of graphical bugs occurring from the interaction with other patches.
  • Optimized performance of some VWF core functionality, including text generation.
  • Added new !vwf_backup_duration_in_frames setting, which allows reducing the patch's V-Blank duration in the initialization step at the cost of longer start-up times for text boxes.
  • Reduced the amount of time the patch spends in V-Blank for smaller text boxes during the text box animation phase. This is achieved by only copying enough tiles to VRAM to cover the visible area of the text box (previous versions always copied an entire screen worth of tiles).
  • Added new !vwf_clear_screen_duration_in_frames setting, which can reduce the amount of time the patch spends in V-Blank during text box clears at the cost of extending their duration to multiple frames.
  • Fixed: The patch wrote to the color math register mirror in incorrect ways. In levels using transparent layers, this could lead to layers becoming non-transparent and staying that way even after a text box closed. The bug was noticed in a level using level mode 1E, but could have affected other modes as well.
  • Added the %vwf_wait_for_button() and %vwf_wait_for_custom_button() text commands, the VWF_AutoWait.WaitForButton auto-wait mode, as well as the !vwf_default_advance_button_mask, !vwf_select_choice_button_mask and !vwf_skip_message_button_mask settings, which give finer control over which buttons affect the patch. These features replace the %vwf_wait_for_a() text command and the VWF_AutoWait.WaitForA auto-wait mode, which are now deprecated.
  • The maximum value for the VWF_AutoWait.WaitFrames auto-wait mode has been extended from 254 to 255.
  • Simplified many multiplications in the patch. For most of them, this slightly boosts performance. More importantly, this removes any dependency on the mode 7 registers for multiplication, which avoids a potential rare bug that could be caused by HDMA.
  • Text box properties (background pattern, background color and frame) can now be overridden by message headers. This functionality is available via the vwf_text_box_bg_pattern(), vwf_text_box_bg_color() and vwf_text_box_frame() header settings.
  • Added the rgb_15_from_24() and rgb_15_from_f() helper functions.
  • Implemented shared headers, which provide a means of reusing message headers, reducing the size of a message in the process.
  • Added a version of vwfsharedroutines.asm that's compatible with Asar 1.81 and can be used with NPCs v4.3.
  • Improved compatibility with several status bar replacement patches. Super Status Bar and Sprite Status Bar are confirmed to work out of the box. DKCR Styled Sprite Status Bar also works out of the box and no longer requires its VWF Dialogues compatibility mode to be enabled. SMB3 Status Bar and Minimalist Status Bars both work out of the box, but produce some graphical glitches that can be eliminated by tweaking certain settings in vwfconfig.cfg. Remove Status Bar requires a compatibility setting and needs to be patched before VWF Dialogues.