New Features/Changes:

  • Added initial Quick Slot Bar functionality to the game engine (drop an item on a slot to assign it, right-click to use, grab and drop outside of the widget to unassign it)
  • Added setting to the Game Configuration's "User Interface" section for enabling/disabling the quick slot bar (currently disabled by default)
  • Added "Item Quick Slot" as an available element type in the Widget Editor (for use in widgets like the Quick Slot Bar)
  • Added "Image" as an available element type in the Widget Editor (with initial settings for image stretch mode and left, right, top, and bottom margins)
  • Added ability to select and delete elements from a widget in the Widget Editor (left click to select then Delete key to remove)
  • Added ability to move previously placed elements within a widget in the Widget Editor (hold left mouse button and drag to move)
  • Added ability to resize elements within a widget in the Widget Editor (select element then left-click and drag one of the handle squares)
  • Added ability to toggle display of the frame image and titlebar for widgets in the Widget Editor
  • Added ability to set the titlebar text of widgets from the properties panel when the titlebar is enabled
  • Added ability to set the display name of widgets from the properties panel (text displayed in the "Widgets" toolbar dropdown)
  • Added "Element Properties" tab that will display when an element within a widget is selected in the Widget Editor (double-click element to force display of its properties tab)
  • Added save button to the Widget Editor toolbar for saving changes made to custom widgets
  • Added toolbar buttons to the Widget Editor for adding new widgets, duplicating widgets, and deleting widgets
  • Added toolbar button to the Widget Editor for toggling display of element type icons (e.g. potion icon for item quick slots)
  • Added toolbar button to the Widget Editor for opening the project's "widgets" folder in the operating system's file browser
  • Added placeholder list to the Widget Tools panel for elements that will be available in the future but are not yet implemented
  • Added "Create Door" option to the right-click context menu in the Map Editor for quickly generating door scripts (door object and related tiles must first be selected)
  • Added toggle button to the Map Tools panel for disabling auto-connection of navigation paths while in Place mode
  • Added new scripting function "Show Widget" for showing a widget with the specified ID (e.g. show_widget("quick_slot_bar"), visual node to be added in future update)
  • Added new scripting function "Hide Widget" for hiding a widget with the specified ID (e.g. hide_widget("quick_slot_bar"), visual node to be added in future update)
  • Added array function for inserting a value into an array at a specific index/position (e.g. $my_array.insert(1, "A") inserts "A" into the array's second position)
  • Added array function for removing a value from an array at specific index/position (e.g. $my_array.remove(1) removes the value at the second position)
  • Added array functions for clearing an array and for getting the number of elements in the array (e.g. $my_array.clear() and $size = $my_array.size())
  • Added array functions for pushing values onto the beginning or end of an array (e.g. $my_array.push_front("A") and $my_array.push_back("Z"))
  • Added array functions for popping values off the beginning or end of an array (e.g. $first = $my_array.pop_front() and $last = $my_array.pop_back())
  • Added optional fourth parameter to the "Set Entity Script" function for setting tile scripts as triggerable by NPCs (e.g. set_entity_script("my_tile", "spikes", ENTER_TILE, true))
  • Added ability to filter tiles, objects, and characters by name (button next to filter box now lets you switch between "Tag List", "Filter by Tag", and "Filter by Name")
  • Added setting to the in-game options menu for window size (when using "Windowed" display mode), disabled manual window resizing to ensure proper aspect ratio is maintained
  • Added various helpful error messages to the in-game debug console related to invalid array and index references in scripts
  • Moved dropdown for selecting the active widget from the Widget Properties panel to the Widget Editor toolbar
  • Adjusted size of font for the in-game debug console to fix some issues with the vertical alignment of brackets
  • Updated "Duplicate Frame" functionality in the Voxel Editor to carry the frame length multiplier value over to the new frame
  • Updated "Import from External Format" dialog in the Voxel Editor to sort the matrix list alphabetically when importing from a Qubicle file
  • Changed "Random Rotation" setting on the Map Tools panel to an icon toggle button instead of a checkbox

Bug Fixes:

  • Fixed some issues related to changing the initial frame for an entity in the Map Editor when its model contained empty frames
  • Fixed some issues related to the evaluation of conditional expressions when using a relative operator with incompatible operands
  • Fixed some issues related to parsing and order of evaluation when using parentheses in arithmetic and boolean expressions
  • Fixed issue where "Wait" functions in child scripts (via "Execute Script") could inadvertently affect timing of functions in the parent script when running in parallel
  • Fixed issue with entity properties not being accepted in scripting functions where a reference to an entity was expected
  • Fixed issue with variable/group references to moving platform tiles breaking after the tile had been moved to another waypoint
  • Fixed issue with moving platform tiles not properly resuming their movement after loading a saved game
  • Fixed issue with Widget Properties not being hidden when switching to another editor with no properties to display
  • Fixed issue with custom themes not being populated in the Theme Properties panel when the UI Editor was set as the default tab
  • Fixed issue with the script parser breaking when there was an unmatched "end" in a script or the script was empty
  • Fixed issue where party members other than the main player character would sometimes not be able to move during turn-based battles
  • Fixed issue where the player could interact with tiles or objects when an item was currently being transferred with the cursor
  • Fixed issue where the "Replace Navigation" scripting function was no longer working properly with entity groups
  • Fixed issue where objects positioned on platform tiles would remain in place instead of moving along with the tile to its waypoint
  • Fixed issue where using Alt + Left Click in the Map Editor while in single placement mode will inadvertently place a tile
  • Fixed issue with loading a game when the player character was standing on a tile that had its model swapped prior to the game being saved
  • Fixed issue with disabling localization for a dialogue when the game didn't have any translations defined
  • Fixed issue with the credits getting stuck on a black screen, game will now return to the main menu after they have finished
  • Fixed issue where the dialogue window was not being hidden when the last node of the dialogue was a script (until the script had completed)
  • Fixed issue with "\n" not being properly converted to a line break when used with the "Log Message" scripting function
  • Fixed issue where entities within nested arrays would not be displayed properly when logged via the "Log Message" scripting function
  • Fixed issue where the script parser would fail to return a result when a While Loop condition contained a variable name without the dollar sign prefix
  • Fixed "signal is already connected" console errors that would sometimes display when starting a turn-based battle
  • Fixed "set_bg_music" console error when clearing the background music (i.e. setting to "None") in the Credits Editor