New Features/Changes:
- Added Marching Cubes as a mesh option to the Voxel Editor (group areas of voxels to mesh them separately from others, uncheck "Apply at grid boundaries" to not apply smoothing at grid boundaries)
- Added ability to define terrain types for tiles (e.g. "water", set from the Model Properties panel in the Voxel Editor)
- Added ability to define terrain types for characters (options of "All", "Prohibited From", and "Restricted To", set from the Model Properties panel in the Voxel Editor)
- Added initial functionality for vehicles (select an object in the Map Editor and toggle the "Vehicle" button from its properties - includes options for speed, terrain types, and disembark script)
- Added game controls for disembarking from a vehicle (Ctrl + Left Click on an adjacent tile, or Ctrl + Arrow Key in the direction of the tile)
- Added initial functionality for attach points (to add an attach point for a frame, use the new tool with the "link" icon and click a voxel - position/rotation can be adjusted from the Model Properties panel)
- Added new default editor theme (Obsidian) and ability to change themes from the editor settings (with original Godot theme as an option)
- Added support for groups to the Voxel Editor, select voxels and press "G" to add to a group (currently only used with Marching Cubes option to allow for separate meshing of voxel groups)
- Added camera projection option to the Gameplay settings for choosing between perspective and orthogonal when using the standard camera
- Added new scripting function "Attach Object" for attaching an object to an entity's attach point (e.g. attach_object("axe", player, "right_hand") or attach_object("torch", entity["wall_01"], "decoration"))
- Added new scripting function "Detach Object" for detaching an object from an entity's attach point (e.g. detach_object(player, "right_hand") or detach_object(entity["wall_01"], "decoration"))
- Added new scripting function "Reset Map" for resetting a map to its original state
- Added new scripting function "Create Platform" for configuring a tile as a moving platform and assigning its speed (e.g. create_platform(tile_entity, 20))
- Added new scripting function "Add Waypoint" for adding a waypoint to a platform tile (e.g. add_waypoint(tile_entity, "waypoint_01", coord[1, 2, 3]))
- Added function to scripting language for converting a value to a string, for example to append a numeric value to some text (e.g. "123" + str(2 * 2) will return the string "1234")
- Added function to scripting language for converting a value to a number (e.g. num("17") will return 17 as a numeric value)
- Added "round" math function to the scripting language for rounding numeric values (e.g. round(16.8) will return 17)
- Added "mod" math function to the scripting language for performing modulo operations (e.g. mod(8, 3) will return 2)
- Added "pow" math function to the scripting language for performing "power of" operations (e.g. pow(2, 5) will return 32)
- Added "sqrt" math function to the scripting language for calculating square roots (e.g. sqrt(16) will return 4)
- Added ability to change an entity's interaction cursor via scripts using the syntax .interact_cursor (e.g. entity["dungeon_entrance"].interact_cursor = "stairs")
- Added ability to set a value within an array by index using assignment statements (e.g. my_array[0] = 10 will set the first value in the array to 10)
- Added grouping functionality to the Voxel Editor for defining groups of voxels for each frame (select voxels and press "G", defined groups are displayed on the Model Tools panel)
- Added button at bottom of the Tiles/Objects/Characters model tabs for quickly adding a new resource of that type
- Added button to grid height control panel in the Map Editor for locking the tile placement grid at its current height
- Added language dropdown to the built-in documentation viewer to select from the available translations for the current tab
- Added toolbar button to the Voxel Editor for toggling display of ambient occlusion in the 3D viewport
- Added size info to the Image Editor when editing UI images (displays the actual pixel dimensions of the file generated when saved)
- Added startup tip about configuring model animations to play in reverse frame order
- Added startup tip about importing custom palettes from Lospec.com (PNG Image or Hex File)
- Added startup tip about the "Apply Palette" tool in the Voxel Editor for fitting a model's colors to a specific palette
- Added startup tip about the "Preview Game Mesh" button on the Voxel Editor toolbar
- Added support for the isometric camera to the "Camera Orientation" map setting to indicate its initial direction
- Added "Widgets" tab to the UI Editor in preparation for future functionality (only for display purposes at this time, specifically to view the built-in inventory and item container windows)
- Added dropdown to the Item Properties section of the Item Editor for assigning an object model to an item (used for equipment attach points and other future functionality)
- Updated pathfinding logic to consider terrain types of tiles and the character's allowed terrain types
- Updated Dialogue Editor to use font and font size from the theme that's currently set as default for text in the NPC, Player, and Message nodes
- Updated "data" scripting syntax to allow reading of external JSON files within the game folder (via a relative path, e.g. "files/my_file.json")
- Updated Voxel Editor to allow a maximum of 999 frames per voxel model instead of 99
- Changed lower limit of the standard camera's pitch to zero in the Game Configuration's gameplay settings
- Changed icon for button that opens the online wiki version of a documentation page
- Updated documentation for scripting functions to not use syntax highlighting in the "Signature" code block
- Tweaked color of "Voxel Outlines" and "Surface Edges" buttons on the Voxel Editor toolbar to stand out more from some of the other icons
- Title of currently opened game project is now displayed in the application window's titlebar
Bug Fixes:
- Fixed pathfinding issue where the Z value of tile coordinates was being used in the cost calculations, which would cause some tiles to be improperly avoided in certain scenarios
- Fixed some issues that could occur in the Voxel Editor when selecting voxels in a frame with others in another frame still selected
- Fixed issue where the collision override setting for tiles was not overriding the collision area for mouse detection (only the terrain height values)
- Fixed issue where tile size warning icons were not being refreshed after replacing a map's missing dependencies
- Fixed issue where using "Save As" to save a 32x32 object as a tile would improperly offset and crop the model
- Fixed issue that could occur in-game when loading a map having a player override of the same model as the current character
- Fixed issue with the "Camera Orientation" map setting not working when camera rotation was disabled in the gameplay settings
- Fixed issue where code blocks within documentation pages could be typed into if focused via the Tab key
- Fixed error that would occur when an NPC was set to seek out the player and was standing on the same tile as the player
- Fixed navigation issue that could occur when clicking to interact with an item container while standing on the same tile as the container
- Fixed issue where the isometric camera override option was not using the proper angle when the game's default camera was set to standard with rotation disabled
- Fixed camera clipping that would sometimes occur on high/distant objects when using the isometric camera
- Fixed "remove_from_group" errors that could occur in certain scenarios when loading a map
- Fixed issue where scripts could become stuck when using the "Hide Group" function to hide a group that was already hidden
- Fixed issue with the Theme Editor not remembering the currently selected theme when returning to the tab
- Fixed issue where theme changes were sometimes being lost after switching to another tab and then back to the Theme Editor or after saving and restarting
- Fixed issue where the "When Next To" settings weren't being checked if an NPC's behavior was changed while next to the player
- Fixed issue where double quotes in an item's name or description were not being escaped and would prevent the item database from loading
- Fixed character interaction errors that would sometimes display after calling the "Show Credits" function
Documentation:
- Updated images and linked various text for "Quick Script", "Quick Script Builder", "Replace Navigation", "Remove Entity", "Recent Files", and "Random Number" built-in docs
- Added built-in docs for the new "Reset Map" scripting function
- Added Japanese translations for "Add Character" and "Map" documentation
- Added French translations for "Add Character", "Add Item To Container", "Add Object", "Add Party Member", and "Add Tile" documentation
- Added Russian translations for "Add Character", "Add Item To Container", "Add Object", "Add Party Member", and "Add Tile" documentation