New Features/Changes:

  • Added support for custom functions to the Bauxite scripting language (see "Script Syntax" docs for syntax and example function)
  • Added support for multiple textures per model frame in the Voxel Editor (add/switch textures from the Model Tools panel)
  • Added "Set Entity Texture" scripting function for changing an entity's texture (e.g. set_entity_texture(player, "Pajamas"))
  • Added ability to set the initial texture of an entity's model after placed into a map (via the Entity Properties panel)
  • Added built-in "textures" entity property for getting an array of all texture names (as strings) defined for an entity (e.g. entity["xyz"].textures)
  • Added "Request Entity" scripting function that prompts the player for an entity (e.g. $selected = request_entity("validate_entity") - visual node coming soon)
  • Added "Request Coordinate" scripting function that prompts the player for a tile coordinate (e.g. $selected = request_coordinate(0, -64, 64, 16, "validate_coord") - visual node coming soon)
  • Added "Set Entity Scale" scripting function for setting the X/Y/Z scale of an object or character (with optional duration, e.g. set_entity_scale(player, 1.5, 1.5, 1.5, 2) - visual node coming soon)
  • Added "scale" entity property to get or set the scale of an object or character from a script (via number or array, e.g. player.scale = 1.5 or player.scale = array[1, 1, 1.5])
  • Added "scale_x", "scale_y", and "scale_z" entity properties to get or set the scale of an object or character from a script (e.g. player.scale_z = 0.5)
  • Added ability to define terrain types for pushable objects in the Map Editor (similar to vehicle terrain types)
  • Added "Set Terrain Types" scripting function to change the terrain types of characters/vehicles/pushable objects (e.g. set_terrain_types(entity["xyz"], PROHIBIT_FROM, array["water"]) - visual node coming soon)
  • Added ALL, PROHIBIT_FROM, RESTRICT_TO constants to the Bauxite scripting language for use with the "Set Terrain Types" function
  • Added in-game free camera mode for debugging and other purposes (toggled via "noclip" command from the debug console)
  • Added absolute value, floor, and ceiling math functions to the Bauxite language (e.g. abs($num), floor($num), ceil($num))
  • Added ability to get and set the cost of an item in a widget's shop item slot using the ".cost" syntax (e.g. widget["my_shop"].element["0001"].cost)
  • Added ability to get the cost of an item (as defined in the Item Editor) from a script using the ".cost" syntax (e.g. item["ITEM_0001"].cost)
  • Added ability to hide/show widget elements using a new "visible" property (e.g. widget["my_widget"].element["0001"].visible = false)
  • Added "Missing Dependencies" check to the Map Editor when saving maps in order to prevent them from becoming corrupted in cases where models they used were renamed or deleted
  • Added buttons to the About dialog for Reddit and YouTube that link to the official subreddit and YouTube channel for RPG in a Box
  • Added button to the About Dialog for viewing the license text of SFXR (on which the Sound FX Generator is based) in a popup box
  • Added "Connect with RPG in a Box" section at bottom of Game Manager with links for social media and other related sites
  • Updated pushing functionality to also allowing pulling by directing the player character away from the object being pushed
  • Updated color palette in the Voxel Editor and Image Editor to support up to 256 colors instead of only 64
  • Updated "Predefined Animation Names" dialog in the Voxel Editor to include "push" and "pull" for character models (triggered when pushing/pulling objects)
  • Updated "Set Entity Tooltip" scripting function to support a third optional Boolean parameter to indicate whether or not the tooltip should always show
  • Updated editor to prevent deletion of models that are currently open in the Voxel Editor or that are used in any maps currently open
  • Updated Patreon credits in the About dialog to reflect the up-to-date levels for each patron based on the number of months pledged at each tier
  • Updated About dialog to include Oryx Design Lab credit for the Tiny Dungeon tileset (on which the Dungeon in my Pocket assets are based)

Bug Fixes:

  • Fixed issue where the player would move in unexpected directions when using the standard camera with "relative to camera" movement and the camera was at a 45-degree increment
  • Fixed issue where the movement control type setting for projects would incorrectly default to "Tank" instead of "Relative to Camera" in certain scenarios
  • Fixed issue with Global Illumination in the Map Editor not recalculating map boundaries until toggled off then back on again (now only a "Bake" is required)
  • Fixed issue with data being null when using the "Load Data" function to load a JSON file that was previously stored without a password using the "Save Data" function
  • Fixed issue with "Set Entity Tooltip" not immediately updating the tooltip text when the entity's tooltip was currently being displayed
  • Fixed issue with visual scripts where nodes would display above the darkened overlay after moving them and then editing the source code
  • Fixed error that would occur in the Script Editor when the "Put Player" function was used without explicitly including the "Player Direction" argument (after applying the source code)

Documentation:

  • Updated "Script Syntax" built-in docs to include info about custom functions along with some example code
  • Updated "Script Syntax" built-in docs to include info about math functions ("round", "mod", "pow", "sqrt", "abs", "floor", and "ceil")
  • Updated "Scripting Reference" built-in docs to include function signatures for "Request Coordinate", "Request Entity", "Set Entity Scale", "Set Entity Texture", and "Set Terrain Types"