1. RPG in a Box
  2. News

RPG in a Box News

Release Notes for v0.5.9

  • Added new scripting functions "Add To Group" and "Remove From Group" for adding an entity to a group or removing it from a group
  • Added new scripting function "Restart Game" for manually restarting the game
  • Added new scripting function "Equip Item" for equipping an item to character's equipment slot (e.g equip_item(player, "right_hand", "ITEM_0001"))
  • Added new scripting function "Unequip Item" for unequipping an item from a character's equipment slot (e.g. unequip_item(player, "right_hand"))
  • Added "Equipment" section to the Stats Editor (currently only displays some basic information about the default equipment slots)
  • Added initial settings to the Item Editor for defining an item as equippable and its associated effect when equipped (only basic stat boost for now)
  • Added button to the Game Configuration dialog's Translations tab for importing data from a CSV file
  • Added support for using the ".direction" syntax in assignment statements to change an entity's direction (e.g. entity["id"].directon = WEST)
  • Added support to scripting language for getting the current map's name (as string) and groups (as array) (using syntax: map.name and map.groups)
  • Added debug console error messages that are displayed for "tile by coordinate" expressions when values for X, Y, and Z are invalid
  • Added option to the Main Menu editor for changing the arrow cursor's color
  • Updated style and color scheme of visual script nodes in the Script Editor
  • Updated top right panel in Map Editor to include buttons for adjusting the tile grid up/down in steps (as an alternative to Ctrl + Scroll Wheel) and to display current grid height
  • Updated Noise Generator dialog to include a help button that opens its built-in documentation
  • Updated Surface Level panel in the Voxel Editor to open its corresponding built-in documentation when dragging-and-dropping the guide icon
  • Updated "Modify Navigation" function to support entity references (self, entity["id"], tile[0, 0, 0], etc.) instead of only IDs
  • Updated "Set Entity Script" function to support optional parameter for specifying when to trigger tile scripts (using a value of ENTER_TILE, STOP_ON_TILE, or EXIT_TILE)
  • Updated "Execute Script" function to support additional optional parameter to indicate whether the current script should pause until the triggered script has completed
  • Changed "Export to CSV File" on Translations tab to use system's desktop location as the default export path instead of installation folder
  • Fixed issue with Shift + Arrow Keys not snapping to 90-degree increments when game camera is in isometric mode
  • Fixed issue where pressing F2 in the Voxel Editor would switch the properties panel to Map Properties in certain cases
  • Fixed issue with "Assign Entity ID" function call no longer working in conditional expressions or as a Boolean value
  • Fixed issue where local variables were not able to be used as conditional expressions (e.g. if my_var then ... end)
  • Fixed issue with Boolean expressions using the "and" or "or" operator were not evaluating properly in some cases
  • Fixed issue with "When Next to Player" behavior setting for NPCs not triggering if the player approached the NPC first
  • Fixed issue where party members weren't getting placed back into the turn order if revived during a turn-based battle
  • Fixed issue where triggering a "Display Message" function from an NPC's "When Next to Player" dialogue would not work properly
  • Fixed issue with using the "Set Entity Model" function to change a character's model during turn-based battles
  • Fixed issue where an array's values were not being deserialized properly when loaded in-game
  • Fixed issue with item dropdowns when item names were localized and an item didn't have an image
  • Fixed issue with "Set Dialogue" scripting function not working properly
  • Fixed issue with Entity Expression Builder where party member ID was not being updated in the expression field, removed "Use ID string only" checkbox for party member option
  • Fixed first-person control issue when moving backward then turning left/right
  • Fixed some timing issues that could occur with functions called from inside "while" loops and "for" loops
  • Localization: Added localization for Spanish (selectable from the general editor settings) and credit in About dialog for Pablo
  • Localization: Added localization for Dutch (selectable from the general editor settings) and credit in About dialog for Ernst
  • Documentation: Added built-in docs for the "Noise Generator" functionality (under "Application Interface" heading)
  • Documentation: Added built-in docs for the "Surface Level" functionality (under "Terminology & Concepts" heading)
  • Documentation: Added built-in docs for the "Execute Script" scripting function to include info about optional "pause" argument
  • Documentation: Updated example image and linked some additional keywords in the "Voxel" built-in docs
  • Documentation: Updated visual node example images for "Start Dialogue" and "Stop Player" scripting functions
  • Documentation: Updated examples for "Boolean" data type's built-in docs

Release Notes for v0.5.8.4

  • Added "range" function to scripting language that generates an array of integers (e.g. to iterate through in a "for" loop, see "Script Syntax" and "Array" documentation for details)
  • Added "null" keyword to scripting language (e.g. to check if a variable hasn't been assigned a value or if an entity with an ID doesn't exist)
  • Added NPC behavior setting for triggering events when next to the player (for example, to start a battle or dialogue)
  • Added "speed" as a stat increase option to the Stats Editor (affects the character's movement speed and relative "walk" animation speed)
  • Added new scripting function "Play Music" which plays a specified music file
  • Added "currency" as a stat increase option to the Stats Editor (currency earned by party members will all be given to the main player character)
  • Updated color value syntax in the scripting language to support hex code strings (e.g. color["0000ff"] for blue)
  • Updated "Move Player" and "Move Character" scripting functions to also support tile coordinate or tile entity reference instead of only entity ID
  • Updated Map Editor to catch error and display an info popup dialog when attempting to open an invalid/corrupted map file
  • Updated Map Properties panel to automatically open the Procedural Sky Settings dialog when first selecting it for background type
  • Updated display of arrays in scripting (via Print, Display Message, etc.) to output descriptive text for any entities in the array
  • Updated resource dropdowns in the editor to display icons for items (e.g. in the "Give Item" visual script node, etc.)
  • Updated entity marker icons to automatically update their positions when an entity is rotated in the Map Editor
  • Updated "Replace Navigation" scripting function to support "group" syntax for the entity parameter (e.g. replace_navigation(group["area01"], PENDING, WALK_AND_INTERACT))
  • Added buttons to the Procedural Sky Settings dialog for resetting to default values and opening the built-in documentation
  • Added appropriate button icons to all popup window dialogs for "OK" buttons, "Cancel" buttons, etc.
  • Added descriptions for "Assign Value" and "For Loop" logic nodes when selected in the Script Tools panel
  • Added "nav remove" debug console command for removing visual navigation lines (to help test performance improvements when modifying many navigations paths at once)
  • Added toolbar button to the Voxel Editor color palette for exporting palettes to PNG or HEX files
  • Changed default movement control type in the gameplay settings to "Relative to Camera" instead of "Tank"
  • Changed icon and tooltip text of button for editing a map's procedural sky settings, added separator lines to corresponding settings dialog
  • Fixed issue in Voxel Editor where animations would break when adding new frames to a model and then enabling animation its light source
  • Fixed issue with localization button on toolbar not being initially disabled in the Dialogue Editor before any tabs have been opened
  • Fixed issue with "Select a Resource" dialog's "OK" button not being initially disabled if no resources are selected
  • Fixed issue where surface level for tiles was not being considered when moving in the Map Editor's first-person mode
  • Fixed issue where first-person controls within turn-based battles stopped working if scripted camera movements had been done at any point before the battle
  • Fixed issue where help buttons on logic nodes in the Script Editor were not properly opening any documentation
  • Fixed issue with entity tooltip text not being translated or evaluating placeholder expressions in-game
  • Fixed some text formatting issues in the in-game debug console when commands entered contained certain sequences of characters
  • Fixed script parser crash that could occur when certain functions had fewer arguments included than required
  • Fixed "handle_entity_input_event" errors that were sometimes displayed when transitioning to a new map
  • Fixed issue where a tile's collision override setting was not being applied when using the "Add Tile" scripting function
  • Fixed script parser so "Give Item", "Remove Item", "Add Item To Container", and "Remove Item From Container" functions will properly return numeric count of items added/removed
  • Fixed some calculation issues related to the positioning of entity marker icons in the Map Editor
  • Documentation: Added built-in docs for "Procedural Sky" and "Fog" functionality and "Remove Item" and "Play Music" scripting functions
  • Documentation: Updated built-in docs for "Conditional Expression" to include info about "and", "or", and "contains[x]" syntax, and additional examples
  • Documentation: Updated built-in docs for "Map Properties" to include a row for the new "Fog" setting
  • Documentation: Updated built-in docs for "Move Character" and "Move Player" to include additional argument types supported for the destination tile
  • Documentation: Updated built-in docs for "Script Syntax" to include info about "null" keyword and "range" function
  • Documentation: Updated built-in docs for "Array" to include examples of the "range" function and user-defined arrays
  • Documentation: Brought the built-in docs for "Ambient Light" up to date
  • Documentation: Brought the built-in docs for "Give Item" scripting function up to date

Release Notes for v0.5.8.3

  • Added support to scripting language for optional "elseif" conditions in "If" statements (e.g. if x > 10 then ... elseif x > 5 then ... else ... end)
  • Added initial support to scripting language for defining and accessing array variables (e.g. my_list = array["A", "B", "C"]; print(my_list[random(0, 2)]))
  • Added Global Event Script option for "Player is Defeated" (script will override default behavior of restarting the game when the player dies)
  • Added new scripting function "Revive Character" which revives a defeated character, bringing them back to life with the specified health (e.g. revive_character(player, player.stat["max_hp"]))
  • Added "inverse" function to scripting language (e.g. inverse(value), where value is a direction, number, boolean, coordinate, color, or navigation type)
  • Added option to the Map Properties panel for setting the initial camera orientation to use when the map is loaded
  • Added ability to get X, Y, or Z value of coordinates stored in variables (e.g. my_var = player.coord; print(my_var.x))
  • Added support to scripting language for using concatenated strings in property names, IDs, etc. (e.g. global.property["prop" + string_var])
  • Updated "entity bounds" indicator in the Map Editor to also show the direction in which the selected entity is rotated (shown as an arrow)
  • Updated "Heal Entity" scripting function to only work on characters who are currently alive
  • Updated help button on the Game Configuration dialog to open the Global Properties and Translations documentation when on those tabs
  • Updated Map Properties UI components to open corresponding built-in documentation when dragging-and-dropping guide icon
  • Changed syntax highlighting for "random" function to match blue color of other scripting functions
  • Changed selection border color of visual script nodes to be more apparent and added shadow outline to nodes
  • Fixed issue where game cursor was still showing interaction icons after the player had been defeated
  • Fixed issue where title text of popup dialogs would display in the system's language instead of the configured one
  • Fixed issue with global event script dropdowns showing as blank instead of "None" for projects that hadn't assigned any scripts yet
  • Fixed issue with incorrect camera angle after using "Put Player" to move the player character to a tile at a different height
  • Fixed issue where group auto-hiding and fog-of-war logic was not being triggered when the player was moved via "Put Player"
  • Fixed issue in the Script Editor where previously saved comment node text would not be populated into the "Edit Text" popup until edited again
  • Fixed issue with scrollbar improperly showing in variable expression fields in visual script nodes
  • Fixed issue where Map Properties tab would be incorrectly displayed in certain cases when clicking on a model button while in an editor other than the Map Editor
  • Fixed Linux crash that could occur when a script was parsed in the Quick Script Builder dialog
  • Documentation: Added built-in documentation for the "Revive Character" scripting function
  • Documentation: Added built-in documentation for the "Execute Script" scripting function
  • Documentation: Added built-in documentation for the "End Battle" scripting function
  • Documentation: Added built-in documentation for "Global Event Scripts" functionality
  • Documentation: Updated built-in docs for "Script Syntax" to include info about the "random" and "inverse" functions, "elseif" functionality, and arrays
  • Documentation: Brought the built-in "Heal Entity" scripting function documentation up to date

Release Notes for v0.5.8.2

  • Added buttons to the Map Editor viewport for raising and lowering the tile placement grid
  • Added ability to trigger a script when the camera's cardinal direction has changed (via "Global Event Scripts" tab in Game Configuration)
  • Added ability to trigger a script when a player character levels up, character entity is passed as "self" (via "Global Event Scripts" tab in Game Configuration)
  • Added ability to reference a character's level (e.g. player.stat["level"])
  • Updated "Assign Value" visual script node to support assignment to entity properties and stats in variable field
  • Update textual display of entities in-game to use entity type instead of just "Entity" (e.g. "[Tile:grass@(3, 2, 0)]")
  • Fixed issue where correct operator for "Assign Value" visual script node was not being selected when generated from source
  • Fixed issue where "Reset Camera At Speed" function would fail if camera had only been rotated and not moved
  • Fixed issue where entity behavior/ID/stat assignments were no longer being parsed properly in scripts
  • Fixed issue where the control variable's value in "For" loops was not being properly passed down into nested "If" statements
  • Fixed issue with opening characters directly from the Favorites list
  • Fixed issue with Script Editor crashing when the last statement in a statement list was followed by a semicolon
  • Fixed issue with "Set Entity Model" function not keeping model override for the player character across maps
  • Fixed some issues related to camera scripting while in the first-person camera view
  • Documentation: Added built-in documentation for the "Add Item To Container" scripting function
  • Documentation: Updated built-in docs for "Script Syntax" to include info about currently available data types
  • Documentation: Updated built-in docs for "Entity" to include additional reference types (Tile by Coordinate, Initiator, and Party Member)
  • Documentation: Updated built-in docs for "Tile" to include info about tiles being restricted to one per XYZ coordinate

Release Notes for v0.5.8.1

  • Added buttons to the built-in documentation pages for opening the online wiki version
  • Updated "Print To Console" visual script node to use syntax highlighting in the data field
  • Updated coord[x, y, z], color[r, g, b], and tile[x, y, z] expressions to support arithmetic expressions for their parameter values
  • Fixed issue with script parser crashing when processing scripts in a thread while running on Linux
  • Fixed issue with search functionality not working properly for built-in documentation
  • Fixed issue with "secret_wall" script in the example content not working properly
  • Fixed issue with not being able to compare two "contains" conditions in scripts (e.g. self contains "ITEM_0001" == self contains "ITEM_0002")
  • Fixed issue with arithmetic expressions not working properly when using coordinates
  • Fixed issue with in-game debug console not properly parsing script commands
  • Documentation: Added initial page to built-in docs for "Array" data type
  • Documentation: Updated built-in docs for "String" data type to include details on string concatenation
  • Documentation: Updated built-in docs for "Script Syntax" to include explanations and examples for assignment statements, "while" loops, and "for" loops
  • Documentation: Brought the "Editor Settings" built-in docs up to date