RPG in a Box - Ol' Smaug
New Features/Changes:
  • Added initial implementation of ranged weapons (with settings for range, projectile speed, and consumption types for unlimited use, single use, and requiring ammo items by ID or tag)
  • Added "Weapon" setting to the Item Editor for indicating that an equippable item should behave as a weapon (with options for "Melee" and "Ranged" and an attack animation override)
  • Added ability to preview objects on attach points in the Voxel Editor (via buttons on main toolbar and next to attach point list on the Model Properties panel)
  • Added button to the Voxel Editor toolbar for toggling the visibility of objects currently attached to the model's attach points
  • Added ability to specify that an object attached to a model's attach point in the Voxel Editor should also be automatically attached in-game
  • Added ability to define mesh type overrides for voxel groups in the Voxel Editor (e.g. to force a group to use the classic mesh type when the base type is set to Marching Cubes)
  • Added button to the Model Tools panel for adding selected voxels to a group as an alternative to using the "G" shortcut key
  • Added "Display Choices" scripting function that presents a set of choices to the player in a dialogue box and returns the resulting choice for storing/evaluating
  • Added optional second parameter to the "Display Message" scripting function for specifying a speaker entity (e.g. display_message("Hello, I'm the player!", player))
  • Added shortcut key ("Y") for toggling the "Random Rotation" option on and off when using the Map Editor's placement tool
  • Added shortcut key ("U") for toggling the "Auto-Connect Navigation" option on and off when using the Map Editor's placement tool
  • Added "Run Script" option to the "Interaction by Player" and "Next to Player" NPC behavior settings on the Entity Properties panel in the Map Editor
  • Added "On Death" option to the NPC behavior settings in the Map Editor for triggering a script after the NPC is killed
  • Added initial implementation of menu-driven combat (available as a new battle type named "Menu-Driven Turn-Based" in the Combat Editor)
  • Added battle settings to the Combat Editor for defining scripts to trigger based on the battle's outcome (i.e. victory or defeat)
  • Added ability to adjust the Bauxite code's font size in the Script Editor and Quick Script Builder using Ctrl + Scroll Wheel
  • Added ability to resize the Quick Script Builder by clicking and dragging the sides or corners of the dialog box
  • Added "Array" as an option for the Variable Expression Builder dialog for easily setting up an array from a list of values
  • Added "Variable" as left and right operand options for the Conditional Expression Builder dialog and as an option for the Variable Expression Builder dialog
  • Added "Recent" tab for quickly accessing recently opened files (alongside the "Game Explorer" and "Favorites" tabs)
  • Added button to the Game Explorer and Favorites toolbar for quickly accessing the Game Configuration dialog (as an alternative to double-clicking the Game Explorer list item)
  • Added option to the Editor Settings dialog for choosing which file tab to show by default upon startup of the application (Game Explorer, Favorites, or Recent)
  • Added ability to change the data type of existing custom properties on the Model Properties and Entity Properties panels (by clicking icon that displays the current type)
  • Added ability to change the data type of existing properties on the Global Properties tab of the Game Configuration dialog (by clicking icon or text that displays the current type)
  • Added ability to set custom images (normal and hover) for the management screen's close button from the properties panel of the Screen Editor
  • Added ability to specify a custom widget to use for a character's equipment on the Model Properties tab (to override the built-in "equipment" widget)
  • Added buttons to the properties panel of the Screen Editor for hiding/showing the inventory and equipment toolbar buttons on the management screen
  • Added informational area to source code section's header in the Script Editor to display item info or function's signature and help button based on the cursor's current location or selection
  • Added ability to auto-fill parameter hints for scripting functions in the in-game debug console by entering a function name then pressing the Tab key
  • Added informational popup that displays when attempting to rename a platform waypoint to a name that already exists
  • Added background panel to tool buttons (zoom in/out, etc.) in the Script Editor viewport to match the style of other editor panels
  • Added shortcut key (F8 or 8) to the Voxel Editor for switching to the "Create Attach Point" tool (for adding attach point locations to a model)
  • Updated type dropdown of "Custom Properties" section on the Model Properties and Entity Properties panels to include icons for each data type (i.e. String, Number, and Boolean)
  • Updated script syntax to support coordinate x/y/z values on the left side of assignments when the coordinate is stored in a local variable (e.g. $my_coord.x += 1)
  • Updated "contains" scripting syntax to support references to character inventories other than the primary player character (e.g. if party.member["Sarah"].inventory contains "ITEM_0001" then)
  • Updated "contains" scripting syntax to support strings (for example, to check if a string contains one or more occurrences of another string)
  • Updated "Display Message" visual script node to include a field for specifying an optional speaker entity to speak the message
  • Updated vehicle functionality to trigger the vehicle's "attack" animation and face towards the target when attacking from a vehicle
  • Updated "Predefined Animation Names" dialog in the Voxel Editor to include "attack" for object models (triggered when fighting from an object used as a vehicle)
  • Updated platform waypoint list on the Entity Properties panel to allow renaming or removal of the platform's "Default" waypoint
  • Updated Variable Expression Builder dialog to ensure that the currently selected type in the list is visible when first opening the dialog
  • Updated consumable item functionality to store the consumed item's ID into a local variable ($item_id) for its assigned script to reference
  • Updated maximum value for item cost in the Item Editor to 1 billion instead of the previous limit of 1 million
  • Updated "Recent Items" section (shown in the center of applicable editors when no files are opened) to include an hourglass icon next to the header text
  • Updated "Remove Item" scripting function to also consider items in the character's equipment slots instead of only storage slots
  • Updated "Give Item" and "Remove Item" scripting functions to support an optional third parameter to specify the target character (defaults to current player character)
  • Changed "Give Item" and "Remove Item" scripting functions to affect the active party member during turn-based battles instead of always the primary player character
  • Updated "Equip Item" scripting function to now require the target character to first have the item before equipping it
  • Updated "Equip Item" and "Unequip Item" scripting functions to also equip/unequip the item into/from equipment slots in applicable widgets
  • Changed "self" keyword in widget button scripts to reference the button element itself instead of the parent widget ($widget variable can be used to get the parent widget)
  • Changed wording of default mesh type on the Model Tools panel in the Voxel Editor from "Default" to "Classic"
  • Changed ordering of "Add to Favorites" button on the Game Explorer toolbar to be positioned before the "Delete Resource" button
  • Moved "Management Screen Widgets" setting from the Game Configuration dialog to the management screen's properties panel in the Screen Editor
Bug Fixes:
  • Fixed issue with "Override Animation" scripting function not working properly in some cases when triggered for the same animation multiple times in a row
  • Fixed issue where references to properties of widget elements (i.e. text, image, script, item) was not being accepted as valid syntax when the element was stored in a variable
  • Fixed issue where the "Passable" character property was not being considered when using keyboard controls to move (preventing the player from moving through NPCs set as passable)
  • Fixed issue where the "Custom Properties" list in the Voxel Editor was not being refreshed when opening an object or character
  • Fixed issue where properties for entities in the "Custom Properties" list could lose their values after being renamed more than once
  • Fixed issue where using Ctrl+D to duplicate a frame in the Voxel Editor was sometimes handled by the most recently opened model tab instead of the currently visible one
  • Fixed issue where the player character's attachments were not being updated in "3D Model" widget elements when objects were attached/detached via a script
  • Fixed issue where the camera type would revert to "Standard" after choosing "First-Person" and then returning to the Game Configuration dialog
  • Fixed issue where changing a character's health in the Voxel Editor was not being propagated to characters already placed into a map
  • Fixed issue where a waypoint could be added to a platform tile at a coordinate with a waypoint already defined
  • Fixed issue where a widget wouldn't be hidden when returning to the game if it was hidden via the "Hide Widget" function while the management screen was open
  • Fixed issue where the pause menu wouldn't open (or the inventory/item container widget wouldn't close) when ESC was pressed with the management screen disabled
  • Fixed issue where cursor image wasn't displaying the item count when picking up an item stack from an equipment slot
  • Fixed issue where the Item Editor would sometimes display translation IDs instead of the translated item names when localization was enabled
  • Fixed issue with "For Loop" and "Assign Value" visual script nodes where a variable name was being accepted as valid in some cases where it shouldn't be
  • Fixed issue with "Add Tile" scripting function incorrectly allowing tiles of the wrong dimensions to be added to a map
  • Fixed issue where the player would start strafing in first-person mode when holding the turn left/right key and then letting go of the forward key or running into an obstacle
  • Fixed issue where player's movement direction wasn't changing in first-person mode when holding down the forward key and then using mouselook to change the view direction while walking
  • Fixed several inventory/equipment widget issues when using the management screen for a party member during turn-based combat
  • Fixed several debug console error messages for the "Equip Item" and "Unequip Item" functions to properly show the required data type when an incorrect type was used
  • Fixed some in-game crashes that could occur when modifying a widget's text label or when a widget was refreshed after a property's value had changed
  • Fixed console error that could occur when toggling the "Stackable" property for a newly created item in the Item Editor
  • Fixed item related errors that would sometimes display in the console when exiting to the Game Manager
Documentation:
  • Added initial version of built-in docs for the new "Display Choices" scripting function
  • Updated built-in docs for "Script Syntax" to include additional "For Loop" example showing how to iterate over an entire array
  • Updated built-in docs for "Scripting Reference" to add some missing optional parameters and a note about optional parameters being marked with an asterisk
  • Updated built-in docs for "Entity" to include note about the "player" keyword returning the active or most recently active party member during turn-based battles
  • Updated built-in docs for "Entity" to include note about using "player" as a party member ID to get the primary player character (i.e. party.member["player"])
  • Updated built-in docs for "Button" to include note about "self" keyword referencing the button element and the $widget variable referencing the parent widget
  • Updated built-in docs for "Display Message" to include info about the optional "speaker" parameter and to fix a formatting issue with the "Visual Demo" header
  • Updated built-in docs for "Equipment Slot" to correct some info about tag requirements for items equipped to equipment slots
RPG in a Box - Ol' Smaug
Check out a Beginner's Guide to RPG in a Box, the first video in an official tutorial series being created by my wife, Sarah! Thanks so much from the both of us for your support! :)

May 22, 2021
RPG in a Box - Ol' Smaug
In the next update, you'll be able to mix Marching Cubes and the classic mesh option together in one model by setting overrides per voxel group! This should allow for even more detail and uniqueness in your models.

As an example, the bench in the image below is set to use the classic mesh type, but the cushion and back are each grouped and configured to use Marching Cubes as an override for their mesh type.



For the bed shown below, it's set to use Marching Cubes (with the pillow, blanket, headboard, and footboard each in their own group), but the posts and bottom are configured to use the classic type as an override.

RPG in a Box - Ol' Smaug
A very early, work-in-progress look at ranged combat. There's still a lot left to implement, but it's a step in the right direction!

May 8, 2021
RPG in a Box - Ol' Smaug
Attachment previewing in the Voxel Editor will be coming with the next release! This will allow you to attach objects to attach points in the editor so you can see how they'll appear in-game.

RPG in a Box - Ol' Smaug
New Features/Changes:
  • Added initial implementation of climbable tiles and related functionality (see "Climbing" documentation for more details)
  • Added ability to assign scripts to objects in the Map Editor that are triggered by tool items (similar to tiles)
  • Added placeholder UI for tool item selection in-game (enable "Tool Item UI" in Game Configuration's experimental section, click button to cycle through any tool items in your inventory)
  • Added "Interaction Range" setting for items defined as tools in the Item Editor ("adjacent" or "unlimited", with unlimited indicating that the entity can be anywhere in the map)
  • Added ability to set up default custom properties for models in the Voxel Editor which will be automatically assigned when the tile/object/character is placed into a map
  • Added rotation type dropdown for the orthogonal camera to the Gameplay settings (locked at 90-degree intervals, locked at 45-degree intervals, free rotation)
  • Added checkbox to the Gameplay settings for starting the camera with a 45-degree offset (only applicable to the "locked at 45/90-degree intervals" options)
  • Added button next to the "Camera Pitch" field in the Gameplay settings to set the angle value to default (55 degrees)
  • Added button next to the "Camera Pitch" field in the Gameplay settings to set the angle value to isometric (only applicable to orthogonal)
  • Added visual script node for the "break" command (for breaking out of while loops and for loops) to the Script Editor
  • Added "Item Icon Popups" setting to the Game Configuration's experimental section for showing icon popups when the player receives an item via "Give Item"
  • Added setting to the Combat Editor for indicating whether or not enemies should be removed from the map upon being defeated
  • Added "Global Illumination" setting to the Map Properties panel in the Map Editor (see "Global Illumination" documentation for more details)
  • Added "Used in Baked Light" setting to the Entity Properties panel in the Map Editor for indicating whether or not the entity should be included in global illumination
  • Added new Steam achievement "Hi, I'm Justin!" for dragging and dropping the Justin guide 10 times
  • Added new Steam achievement "Game Exporter" for using the "Export Game" feature to export your project to a standalone game
  • Updated the built-in example game to include many of the new features and functionality that have been added since its original release (more details to be announced separately)
  • Updated the "Camera Pitch" field in the Gameplay settings to allow up to two decimal places in the angle value
  • Updated Entity Properties panel to automatically choose the first trigger event with a script assigned, if applicable, when an entity is initially selected in the Map Editor
  • Updated "Justin guide" to open the "Vehicles" documentation when dropped onto the "Vehicle" settings on the Entity Properties panel for objects
  • Updated "Justin guide" to open the "Climbing" documentation when dropped onto the "Climbable" setting on the Entity Properties panel for tiles
  • Updated "Justin guide" to open the "Marching Cubes" documentation when dropped onto the "Mesh" components of the Model Tools panel
  • Updated "Justin guide" to open the "Global Illumination" documentation when dropped onto the "Global Illumination" settings on the Map Properties panel
  • Updated the About box to include palette credits for the editor icons (AAP-64 by Adigun A. Polack), Bauxite coloring (BLK NEO by BlackedIRL), and visual script nodes (Journey by PineTreePizza)
  • Updated the About box to include a link button for opening RPG in a Box's Patreon page in a web browser
  • Changed "Enemy Turn X/X" and "End Turn" text displayed during combat to use the game's default dialogue font to allow better language support
  • Changed background color of the editor startup splash to better match the editor's default theme colors
Bug Fixes:
  • Fixed issue with the Ctrl+V shortcut to paste voxels in the Voxel Editor not working properly in certain scenarios
  • Fixed issue where the Voxel Editor was not ensuring that at least one voxel was selected before allowing a copy to be performed
  • Fixed issue where the action system would revert to real-time when using roguelike mode and the "Restart Game" function was triggered
  • Fixed issue where the message log area (for "Log Message" function) would be inadvertently cleared out when starting a dialogue
  • Fixed issue where dialogues would get stuck when reaching a comment node until the player pressed Space or left-clicked to continue
  • Fixed issue where an entity's "direction" value was not being set when rotated in the Map Editor (a particular entity may need rotated again in the Map Editor if the initial value is referenced in a script)
  • Fixed issue where the speed multiplier setting for tiles was not being applied and would therefore not affect a character's speed
  • Fixed issue where the "passable" property for characters was not being updated for characters already placed into a map when changed in the Voxel Editor
  • Fixed issue where the player was not able to attack enemies and enemies would not properly wait to attack when using the roguelike action system
  • Fixed issue where the damage sound effect could break if the Combat Editor was saved after opening a project without a "combat.json" file
  • Fixed issue where pressing certain keyboard controls could cause the player to move even when movement had been locked
  • Fixed issue where using keyboard controls while on a moving platform could result in unexpected behavior
  • Fixed issue with hiding extras (`/~ key) in the Voxel Editor while an animation was playing (only attach points markers for the current frame were being hidden)
  • Fixed issue with "$variable.<property>" syntax failing to parse properly when used on the left side of a "contains" conditional expression (e.g. $tile1.tags contains "grass")
  • Fixed issue with "$variable.x", "$variable.y", and "$variable.z" syntax failing to parse properly when getting the x, y, or z value of a coordinate stored in a variable
  • Fixed issue with Ctrl+S in the Map Editor causing the map to be saved even if there weren't any changes at the time
  • Fixed issue with "Create Door" functionality in the Map Editor not working properly in certain scenarios
  • Fixed issue with "Show Credits" scripting function not working (error would display in the console window and the credits would fail to start)
  • Fixed issue with "str" scripting function not working properly to convert a coordinate value into a string value (e.g. str(coord[1, 2, 3]))
  • Fixed issue with "initiator" syntax not working properly when used in a consumable item's script (should now reference the player character)
  • Fixed issue with style of "Scripts" header on Entity Properties panel not updating when the editor theme was changed
  • Fixed issue with "Random (Forced)" option for NPC movement not working consistently when their movement was restricted to an area
  • Fixed issue with container name not displaying in the titlebar of the item container widget when one was assigned
  • Fixed pathfinding error that would display in the console during turn-based battles when the cursor was moved over an enemy while a player character's attack animation was playing
  • Fixed some issues that could cause navigation path inconsistencies when replacing existing tiles with impassable tiles in the Map Editor
  • Fixed "signal is already connected" console errors that would display when opening the Game Configuration dialog more than once
  • Fixed console error that would occur when the "Move Camera at Speed" function was triggered and the calculated distance to move was zero
  • Fixed console error that would occur when a moving platform without an entity ID assigned reached a waypoint
  • Fixed console error that would occur in certain scenarios in the Script Editor when a "Move Platform" function was used without the "pause" parameter explicitly set
  • Fixed error that could occur when using "Save As" in the Voxel Editor to save a character as a tile or object
  • Fixed issue where certain rooms in the example game's dungeon map were not being hidden initially due to missing global properties
Documentation:
  • Added initial version of built-in docs for "Climbing", "Marching Cubes", and "Global Illumination"
  • Updated built-in docs for "Voxel Editor" to include info about adding to/subtracting from the current selection and "G" hotkey for adding voxels to a group
  • Updated built-in docs for "Tile" to include a list of properties that can be accessed from scripts
  • Updated built-in docs for "Script Syntax" to include info about the "str" and "num" functions for converting between strings and numbers
  • Updated built-in docs for "Script Syntax" to include a note about the "Array" documentation now containing info regarding array manipulation functions
  • Updated built-in docs for "Placeholder Expression" to include an informational note about using them sparingly in scripts
  • Updated built-in docs for "Script Syntax" (and various others with Bauxite examples) to include semicolons at line endings to minimize issues when copying code
  • Updated built-in docs for "Data Files" to include the dollar sign prefix for variable names in the Bauxite examples
RPG in a Box - Ol' Smaug
Hey everyone, I'm happy to announce that I now have a Patreon available for anyone interested in supporting the development of RPG in a Box! I really appreciate all of the kindness, support, patience, and encouragement the community has shown so far as I continue to fulfill the vision that I have for it.

Check out my page here for more details: https://www.patreon.com/rpginabox

Thank you so much! <3
RPG in a Box - Ol' Smaug
New Features/Changes:
  • Added support for multiple scripts per tile (scripts can now be assigned for each trigger event instead of being limited to just one)
  • Updated script section of properties panel for objects to include "Trigger Event" dropdown (with only the existing "Character interacts" option for now)
  • Updated "Add Object" and "Add Character" scripting functions to support a direct tile reference for the target instead of requiring its ID or coordinate
  • Updated error handling for the "Add Object" scripting function to properly catch invalid types passed as parameters
  • Updated error handling for the "Set Entity Script" scripting function to properly catch invalid trigger type values for tile scripts
  • Updated style of the Ambient Light and Directional Light sections of the Map Properties panel to match other settings sections
Bug Fixes:
  • Fixed issue where attach points couldn't be moved after being renamed in the Voxel Editor (until the model was re-opened)
  • Fixed issue where dialogue marker icons were not being removed when placing a character with a default dialogue in the Map Editor then undoing the action
  • Fixed issue where the states of widget elements (items in slots, text within fields, toggle button states, etc.) were not being stored when saving a game
  • Fixed issue where equipped items were not being stored when saving a game (causing "Unequip Item" attempts to fail after loading the saved game)
  • Fixed issue where a character's currency amount was not being stored when saving a game and therefore not being restored after loading the saved game
  • Fixed issue with "Add Object" scripting function where objects could be placed onto tiles already occupied by an object or NPC
  • Fixed issue with "Add Tile", "Add Object", and "Add Character" scripting functions not properly validating the entity ID when provided
  • Fixed issue where platforms would not resume their movement upon returning to a map when the player left the map while the platform was still moving
  • Fixed issue with global properties not being reset after a game was restarted (after the player is defeated or via the "Restart Game" function)
  • Fixed issue with references to party members (i.e. party.member["member_id"]) stored in variables or properties not working correctly when later referenced
  • Fixed issue with widgets not being visible after a game was restarted (after the player is defeated or via the "Restart Game" function)
  • Fixed issue with widget text fields sometimes reverting to their original text value (e.g. when modifying the text of another element)
  • Fixed issue where the states of widget elements were not being properly reset when a game was restarted
  • Fixed issue with the widget toolbar not displaying on the management screen when an item container was opened without having first opened the management screen
  • Fixed issue with item tooltips not being hidden when the widget containing the corresponding item slot was hidden with the "Hide Widget" function
  • Fixed issue with entity tooltips not being hidden after the corresponding entity was removed from the scene
RPG in a Box - Ol' Smaug
New Features/Changes:
  • Added initial functionality for dropping items (left click anywhere in the game world to drop the item currently being held with the cursor)
  • Added "Can Be Dropped" setting to the Item Editor for specifying whether or not an item can be dropped (enabled by default)
  • Added "Tool Item" setting to the Item Editor for indicating that an item is a tool (in preparation for future functionality)
  • Added options to the Game Configuration's Sound Effects section for "Item Grab" and "Item Drop" (played when grabbing/dropping items within widgets or from/onto the ground)
  • Added console command to enable a new debug mode ("debug on" and "debug off" to enable/disable), with initial functionality of displaying IDs in item tooltips
  • Updated usage text for the debug console to include the new debug mode command and to combine the "nav on"/"nav off" usage info into one line
  • Updated wording of the labels for the toolbar icon fields on the Widget Properties panel to be more descriptive (i.e. "Toolbar Icon" instead of "Image")
Bug Fixes:
  • Fixed issue where using Shift + Left Click to transfer items between the player's inventory and containers wasn't checking to ensure an open slot existed
  • Fixed issue where the item container screen would be empty when opening a container after having previously displayed a message via "Display Message"
  • Fixed issue where defeated real-time enemies were not being removed from the map when damage shake/flash was disabled
  • Fixed issue where the player could exit a vehicle via Ctrl + Left Click while the vehicle was still moving
  • Fixed issue with the fill tool in the Map Editor causing a crash when used with the contiguous option on certain map layouts
  • Fixed issue with the inventory widget not reappearing after a dialogue/message if it had been opened prior to the start of the dialogue/message
  • Fixed issue with mouse input that would sometimes occur when closing an inventory widget then reopening the management screen and the widget
  • Fixed release date year for the v0.6.3.0 change log from 2020 to 2021
RPG in a Box - Ol' Smaug
New Features/Changes:
  • Added the ability to copy and paste voxels in the Voxel Editor (via Ctrl+C and Ctrl+V or the "Copy" and "Paste" buttons on the Model Tools panel)
  • Added ability to combine items into a stack and to split item stacks by holding Ctrl key to grab one at a time
  • Added "Inventory Widget" property in the Voxel Editor for specifying a custom widget to use for the character's inventory
  • Added "Container Widget" property in the Map Editor for specifying a custom widget to use for an object configured as an item container
  • Added gameplay mechanic setting to the Game Configuration dialog for adjusting the fog of war distance
  • Added setting to widgets for displaying an "X" close button in the titlebar (configurable from the Widget Properties panel when the titlebar is enabled)
  • Added tooltip and hover graphics functionality for widget item slots (storage slots, equipment slots, and crafting input slots)
  • Added preliminary built-in widget for Equipment with a player model element and slots for the default slot IDs of "head", "left_hand", and "right_hand"
  • Added "Capture Image to File" functionality to the Map Editor for capturing a region of the viewport to a PNG file (similar to Voxel Editor)
  • Added "Embark Script" option for objects configured as vehicles in the Map Editor (triggers when the player character enters the vehicle)
  • Added lock icons next to the built-in widgets in the Widget Editor toolbar dropdown to indicate that they can't be edited
  • Added option to the Main Main Editor for specifying whether or not NPCs are allowed to move around when the Main Menu uses a background map
  • Added Steam rich presence value for "Game Configuration" that will display while in the game config dialog
  • Added "General" section to the Combat Editor with initial options for changing the default damage sound effect and toggling the damage shake/flash effect
  • Added editor setting for selection color to the Voxel Editor section and changed the default color to #DFFF00
  • Added placeholder "Screens" tab to the UI Editor in preparation for future functionality (currently this tab only displays a preview of the management screen)
  • Converted the built-in inventory and item container windows over to the new widget system to allow for easier customization in the future
  • Improved keyboard and gamepad movement to be more fluid when controlling the player character (should require less releasing/pressing to continue moving)
  • Changed item quick slot controls to use left-clicking for item usage and right-clicking for clearing the quick slot
  • Updated Widget Editor to allow built-in widgets (inventory, item container, and quick slot bar) to be duplicated into a custom widget
  • Updated item quick slots to display hover graphics and hand interaction cursor when appropriate
  • Updated shop item slots to show an item tooltip upon hovering (including the cost of the item set in the Item Editor)
  • Updated in-game cursor to display how many of an item is currently being held when transferring stacked items
  • Updated "Show Toolbar" and "Hide Toolbar" scripting functions to only work when the Management Screen is enabled
  • Updated turn-based battles to display a health bar over the main player character instead of only over the other party members
  • Updated health bar in the lower left corner to display the active party member's health during turn-based battles (and to be hidden during an enemy's turn)
  • Updated turn-based battle interface to hide the "End Turn" text while the Management Screen is open
  • Updated vehicle interaction to require the "Walk and Interact" path type between the player character's tile and the vehicle's tile
  • Updated Management Screen in-game to remember any custom widgets that were opened when closing then re-opening the Management Screen
  • Moved "Management Screen" options to the "User Interface" section of the Game Configuration dialog (which is now enabled by default)
  • Moved script settings for "Trigger When" and "Triggerable by NPCs" below the source code area on the Entity Properties panel of the Map Editor
  • Enabled caret blinking functionality for various text fields throughout the editor interface
  • Changed default cursor color to #A040FF and default surface edge color to #FF0080 in the Voxel Editor

Bug Fixes:
  • Fixed issue where "Craft Item by ID" widget buttons were not working properly when a recipe required more than one of a particular item
  • Fixed widget element errors that would fill the console when changing the player character's model using the "Set Entity Model" function
  • Fixed issue with 3D model widget elements not being updated when the player character's model was changed
  • Fixed issue with the player's minimap position not being updated in widgets after the player's character model was changed
  • Fixed issue with the indicator for the player's position displaying in the incorrect location in minimap widget elements
  • Fixed issue where items equipped to the player via scripts would not be reflected in 3D model widget elements (when configured with attach points)
  • Fixed issue with item tooltips not being hidden when using the "I" key to close the inventory
  • Fixed issue with entity tooltips not being hidden when using the "I" key to open the inventory
  • Fixed issue with item slot hover graphic not being cleared when using the "I" key to close the inventory
  • Fixed issue where the game cursor and entity tooltip were not being properly cleared when the mouse cursor moved into a widget
  • Fixed issue with positioning of fixed (i.e. non-draggable) widgets when the game was fullscreen or using a window size greater than 1280x720
  • Fixed issue with dialogues failing to start when they were triggered from a button's script within a widget
  • Fixed issue with the frame image not showing properly for newly created widgets (showed as solid blue background instead of the default graphics with rounded borders)
  • Fixed issue with moving an element onto an invalid position in the Widget Editor (element will now revert to its original position instead of being removed)
  • Fixed issue where a element's type icon would inadvertently reappear after moving the element when type icons were disabled on the Widget Editor toolbar
  • Fixed issue where a newly duplicated widget sometimes couldn't be selected from the dropdown in the Widget Editor until re-opening the project
  • Fixed issue with entity references in scripts not being properly converted to strings before being concatenated with another value and displayed
  • Fixed some cases where a script or dialogue could fail when the built-in "self" variable referenced an entity that was previously removed from the scene
  • Fixed issue where items couldn't be equipped to equipment slots if the project did not yet have a "stats.json" file
  • Fixed issue where the matrix dropdown was not being hidden when first importing a QB model into the Voxel Editor and then selecting a VOX file to import
  • Fixed issue where the maximum value for "Initial Frame" was not being properly set in the Map Editor based on the selected entity
  • Fixed issue where "Initial Frame" was not being applied to the model in the Map Editor until focusing another field or selecting another entity
  • Fixed error that occurred in the Map Editor when selecting an item container containing an item that no longer exists
  • Fixed issue where item containers would display with an empty slot in-game when an item in the container had been removed from the item database
  • Fixed surface edge issues that could occur when importing a VOX model with multiple frames into the Voxel Editor
  • Fixed issue where pressing the Enter key in direct entry fields of visual script nodes would insert a line break
  • Fixed issue where the properties tab would incorrectly display Widget Properties when a project was first opened
  • Fixed issue with changes to item costs not working properly in the Item Editor and costs inadvertently defaulting to 15 in-game
  • Fixed wording on "Terrain Types" dialog when setting the terrain types for a vehicle in the Map Editor (changed "character" to "vehicle")

Documentation:
  • Added initial version of built-in docs for "Vehicles" and "Terrain Types"
...