1. RPG in a Box
  2. News

RPG in a Box News

Release Notes for v0.6.1.0

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

Release Notes for v0.6.0.5

  • Added test widget to the Widget Editor with the ability to adjust the number of columns and rows (this widget is only for testing purposes currently)
  • Added toolbar button to the Widget Editor for toggling display of the grid lines (only applicable to the test widget for now)
  • Added Widget Tools panel to the Widget Editor for dragging and dropping elements onto the test widget
  • Added usage information and a list of available commands to the in-game debug console (displayed in the console at startup)
  • Added "help" command to the in-game debug console for displaying the usage information and command list at any time
  • Added "Scale Factor" to the attach point settings in the Voxel Editor for defining how much to scale the attached object by
  • Changed "Detach Object" scripting function to not stop the script if an object couldn't be detached and instead log an error message
  • Updated Voxel Editor to automatically select newly added attach points in the Model Properties panel
  • Updated font used by the default UI theme (PixelMplus) to include Polish diacritic characters (ĄĆĘŁŃÓŚŹŻąćęłńóśźż)
  • Fixed issue where local variables within scripts were not being properly restored when loading a saved game
  • Fixed issue with "for" loops and "while" loops within scripts not resuming properly when loading a saved game
  • Fixed issue with the way entities were being stored in variables and properties, which could cause problems when using "Set Entity Model" or loading a saved game
  • Fixed issue with script parser not allowing the global property syntax where entities are expected (e.g. remove_entity(global.property["x"])
  • Fixed issue with script parser not allowing $my_variable.coord syntax to get an entity's coordinate when the entity is stored in a local variable
  • Fixed issue where deleting the first node in a visual script then undoing the deletion will not update the source code
  • Fixed issue where attach points in a model would sometimes move after opening another model of the same type
  • Fixed issue with script trigger type being lost after changing a tile's model via the "Set Entity Model" function
  • Fixed issue where printing or displaying an array containing entities would inadvertently replace the entity references with their display string
  • Fixed issue with entities not being converted properly for display as a string when inside nested arrays
  • Fixed issue with mouse input in certain editors when the "Item Container" widget was currently selected in the Widget Editor
  • Fixed issue where the Dialogue Editor was not being marked as having changes when dropping new nodes onto placeholders or adding multiple player choices
  • Fixed issue where the "Move Up" arrow button would not work properly for the last node in a series of player choices when its branch was at the bottom of the dialogue
  • Fixed issue with the "Move Up" and "Move Down" arrow buttons not appearing for new player choice nodes until the dialogue was re-opened
  • Fixed issue with the "Move Up" and "Move Down" arrow buttons getting stuck with a "pressed" appearance after being used to move a player choice within a dialogue
  • Fixed caret position error when using the up/down arrows keys to navigate through the command history of the in-game debug console

Release Notes for v0.6.0.4

  • Added placeholder for the upcoming quickslot bar to the dropdown on the UI Properties panel of the Widgets Editor
  • Added "Code Highlighting" section to the Editor Settings for changing the syntax colors of code displayed in the Script Editor, Quick Script Builder, and other editor text fields
  • Added debug console message that will display when the game attempts to execute a script that doesn't exist (e.g. a tile/object script that has been deleted)
  • Added startup tip about double-clicking within the source code area of the Script Editor to unlock it for editing
  • Added startup tip about changing navigation between two tiles using the "Navigation/Interaction" submenu on the right-click context menu while in "Edit" mode
  • Added syntax highlighting to the command line of the in-game debug console (for coloring of script code manually entered into the text field)
  • Added "BLK NEO" 46-color palette (created by BlackedIRL) to the Voxel Editor's built-in set of palettes
  • Changed default syntax highlighting colors for code displayed in the Script Editor, Quick Script Builder, and other editor text fields
  • Changed font for Script Editor and Quick Script Builder to use a better monospaced version of Noto Sans
  • Fixed issue with collision detection on attached objects not working properly (will now detect mouse input and pass it to the parent entity)
  • Fixed issue where model changes (and potentially other properties) were being lost after using "Set Entity Model", then saving a game, loading, and saving again
  • Fixed issue where specifying the target entity by just its ID as a standalone string was not working properly for the "Attach Object" or "Detach Object" scripting functions
  • Fixed several display issues that would occur in the Map Editor when deleting a script that was currently assigned to an entity in the map
  • Fixed issue with undoing deletion of frames in the Voxel Editor where the old current frame was not being hidden and could cause frames to appear overlapped
  • Fixed issue with vehicle settings incorrectly displaying for tiles and characters in the Map Editor (instead of only for objects)
  • Fixed issue with terrain type of "All" not working properly when selected for a vehicle in the Map Editor
  • Fixed issue with parsing of conditional expressions when combining a "contains" expression with another Boolean expression via "and"/"or"
  • Fixed issue with the "Assign Value" template code not including the "$" prefix on "my_variable" when added to a script
  • Fixed issue with the minimum value of the "Z Offset" slider being too low for attach points in the Voxel Editor
  • Fixed issue with some Polish characters not displaying when typed into text fields in the editor
  • Fixed issue with Russian localization for in-game text missing the translations for "Yes" and "No"
  • Fixed issue with incorrect Obsidian theme colors for the Behavior Settings header of the Entity Properties panel in the Map Editor
  • Fixed issue in the Widget Editor where the inventory/item container window textures would not be pixel perfect at certain application window sizes
  • Documentation: Updated "Script Syntax" built-in docs to use the new "$" prefix syntax for variable names
  • Documentation: Updated images and linked various text for "Override Animation", "Play Sound", "Play Animation", "Play Group Animation", "Put Entity", and "Put Player" built-in docs
  • Localization: Added Russian translations for "Add To Group", "Ambient Light", "Animation", and "Animation Types" documentation
  • Localization: Added French translations for "Add To Group" documentation

Release Notes for v0.6.0.3

  • Added ability to rename attach points in the Voxel Editor (either for all frames of the model or for the current frame only)
  • Fixed issue where the terrain type property was not carrying over to tiles already placed within existing maps (tiles will need to be saved again in the Voxel Editor)
  • Fixed issue with evaluation of coordinates in scripts not properly catching null/invalid X, Y, and Z values, error is now logged to the in-game debug console
  • Fixed issue with evaluation of colors in scripts not properly catching null/invalid hex codes, error is now logged to the in-game debug console
  • Fixed issue with "Add Object" scripting function not properly catching null value for tile ID/coordinate, error is now logged to the in-game debug console

Release Notes for v0.6.0.2

Hi everyone! Release v0.6.0.2 contains mostly bug fixes, but there is a change relating to the syntax of local variables that I wanted to call out specifically: going forward, local variable names must now begin with a dollar sign ($). This is to help distinguish variables in scripts and to prevent their names from conflicting with reserved words. Scripts that are already parsed will not be affected, however if you edit a script or create a new one, the parser will give an error when a variable name is missing the "$" prefix. As I understand it may be tedious to fix existing scripts, I am more than happy to help update them for anyone if you have large scripts using a lot of local variables (or even many small ones).​

  • Changed syntax for local variables to require a dollar sign ($) prefix in front of the variable name (e.g. $my_var = 10), updated parser to display appropriate error message
  • Added "duplicate" function for duplicating an array or JSON data (e.g. $array_copy = duplicate($my_array) or $data_copy = duplicate(data["my_file"]))
  • Added "break" keyword to the scripting language for breaking out of either a "for" loop or a "while" loop
  • Added startup tip about holding the right mouse button down to look around freely while in first-person games
  • Added ability to drag and drop script functions into the source code area of the Script Editor (similar to Quick Script Builder)
  • Added error popup that displays when attempting to save a visual script containing variables without the "$" prefix (editor will also revalidate all visual node fields)
  • Updated drag and drop of script functions to insert the source code after the line over which the function is dropped (instead of always at the end of the script)
  • Updated expression builder dialogs in the Script Editor to display error message about the "$" variable name prefix for the exclamation icon's tooltip
  • Updated direct entry fields on visual script nodes to display error message about the "$" variable name prefix for the exclamation icon's tooltip
  • Updated "Attach Object" scripting function to support an additional parameter so the target entity's attach point ID can be different than that of the object's (e.g. attach_object("sword", player, "handle", "right_hand"))
  • Fixed issue with attach points where attaching an object to an attach point was not first removing the existing object on that same attach point
  • Fixed issue with the Dialogue Editor where dialogue text would sometimes be missing when using the default built-in RPG in a Box theme
  • Fixed issue where built-in translations for the game UI would not display when specifying a default locale other than "en"
  • Fixed issue with the game configuration setting for fallback locale not working properly in-game
  • Fixed camera clipping issue that could occur when using orthogonal projection for the default type then loading a map after the previous one used a "Standard" override
  • Fixed issue where using "Reset Camera" functions after the camera was locked and another map had been loaded could result in unexpected behavior (may need to add a "Lock Camera" to some existing scripts)
  • Fixed issue with the "null" keyword not being included in the syntax highlighting logic for scripts
  • Fixed issue with variable name validation on "For Loop" and "Assign Value" visual script nodes where the name would remain invalid when erasing and then re-entering the same text
  • Fixed issue with dialogue/battle marker icons not displaying in the Map Editor when an NPC had the "When Next to Player" behavior setting assigned
  • Fixed error that displays in the console window when capturing a thumbnail for a model in the Voxel Editor
  • Fixed issue where the movement interval values for NPC behavior settings were not being applied properly and would not trigger a change
  • Fixed issue with the "Add Waypoint" function not applying properly in the visual script when manually entered into a script's source code
  • Fixed issue with scripts not parsing correctly when using a local variable for the left operand of a "contains" conditional expression
  • Fixed issue with incorrect line being marked by the script parser when there were syntax errors with "elseif" conditions
  • Fixed error that would occur when manually entering an "elseif" block without any statements into the Script Editor
  • Fixed issue with incorrect Obsidian theme colors for the wizard info box on builder dialogs in the Script Editor (Conditional Expression Builder, etc.)
  • Fixed "is_vehicle" error that would occur when the player clicked on a non-adjacent character to interact (error was displayed upon interaction)
  • Fixed "move_interval" error that would occur in certain scenarios while an NPC's movement behavior was being processed
  • Fixed "marching_cubes" function error that would sometimes display in the console window when saving a model in the Voxel Editor