changelog.rst 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632
  1. Changelog
  2. =========
  3. 0.57.0 --- 13 Jun 2025
  4. ----------------------
  5. **New Features and Improvements**
  6. * Tools: improved the way numerical inputs show decimals.
  7. **Fixes**
  8. * Runtime: Windows: fixed reloading of resources.
  9. * Compiler: fixed lights not generating shadows.
  10. * Compiler: fixed excessive amount of vertex data being generated when compiling meshes.
  11. * Tools: fixed sorting of items in the Level Tree.
  12. * Tools: fixed sprite depth property not being saved when modified in the Inspector.
  13. * Tools: fixed a variety of issues with units-with-children.
  14. * Tools: fixed inability of selecting FBX nodes in the Inspector.
  15. * Tools: fixed misdetected clicks in the Project Browser in some circumnstances.
  16. * Tools: Windows: fixed rendering of selected objects' outlines.
  17. 0.56.0 --- 04 Jun 2025
  18. ----------------------
  19. **New Features and Improvements**
  20. * Runtime: added cascaded shadow mapping.
  21. * Runtime: added sounds streaming and OGG/Vorbis audio files support.
  22. * Runtime: HTML5: added Touch input device support.
  23. * Tools: added the ability to save level units as prefabs.
  24. * Tools: added mouse-only shortcuts (middle-button/wheel) to tumble/dolly the camera.
  25. * Tools: sped up deployers by enabling incremental data compilation.
  26. * Tools: added support to JPEG image format for textures.
  27. * Lua: added ``Gui.text_extents()``.
  28. * Lua: added ``Light.set_cast_shadows()``.
  29. * Lua: added ``Mesh.set_cast_shadows()``.
  30. * Lua: added ``SoundWorld.set_group_volume()`` and a corresponding group parameter to ``World.play_sound()``.
  31. * Lua: added an optional exit_code parameter to ``Device.quit()``.
  32. * Lua: added an optional rays parameter to ``DebugLine.add_cone()``.
  33. * Lua: the color parameter in all ``Gui`` functions is now optional and defaults to ``Color4.white()``.
  34. * Lua: the material_resource parameter in ``Gui.text()`` and ``Gui.text_3d()`` is now optional.
  35. **Fixes**
  36. * Runtime: fixed spurious activations of physics bodies.
  37. * Runtime: HTML5: fixed GL_INVALID_OPERATION (or missing geometry) when rendering untextured meshes.
  38. * Compiler: fixed 'static_compile' being visible to external shader resources.
  39. * Compiler: fixed shaders not including code in some circumnstances.
  40. * Tools: fixed collider generation when importing sprites.
  41. * Tools: fixed missing outlines on invisible objects.
  42. * Tools: fixed importing sounds.
  43. * Tools: fixed drag & drop of sound resources into the Editor View.
  44. * Lua: fixed several issues when calling ``Gui.text*()`` with utf8-encoded strings.
  45. * Lua: fixed start-of-line character placement and some other rendering issues in ``Gui.text*()``.
  46. 0.55.0 --- 03 Apr 2025
  47. ----------------------
  48. **Tools**
  49. * Added the ability to import skeletons and animation clips from FBX files.
  50. * Added the ability to skip creating units when importing FBX files.
  51. * Added the ability to create new materials from the Project Browser.
  52. * Fixed a crash when editing many objects simultaneusly.
  53. * Fixed a crash when trying to load levels with many objects.
  54. * Fixed an issue that prevented undo/redo operations to be executed in bulk.
  55. * Fixed an issue that caused large levels to load slowly.
  56. * Fixed an issue that prevented importing DCC data with funny extensions.
  57. * Fixed revealing resources while the Project Browser was hidden.
  58. * Fixed importing FBX files with references to non-existing textures.
  59. * Fixed an issue that caused level's editor camera to be saved incorrectly in some cases.
  60. * The HTML5 deployer will now use EMSCRIPTEN environment variable to locate emsdk.
  61. * Windows: fixed the Android deployer generating bad native library folder.
  62. **Runtime**
  63. * Added physically-based rendering (PBR) pipeline.
  64. * Added support to shaders and materials hot-reloading.
  65. * Increased the maximum number of lines that can be drawn with DebugLine.
  66. * Increased the maximum number of texture samplers per shader to 16.
  67. * Added tangent/bitangent vertex attributes support in .mesh resources.
  68. * Fixed a crash when moving many objects simultaneusly.
  69. * Fixed a crash when reloading unloaded or unsupported resources.
  70. * Fixed setting kinematic actor's position and rotation.
  71. * Fixed an issue that caused all samplers in a material to be set to the same texture.
  72. * Fixed GL_INVALID_OPERATION on HTML5.
  73. * Data Compiler: 'includes' key in shaders can now be specified as an array to include code from multiple locations.
  74. * Data Compiler: shader #defines are now correctly exposed in vs_input_output and fs_input_output.
  75. * Data Compiler: fixed shader compiler ignoring errors when parsing included files.
  76. * Data Compiler: fixed and issue that caused OOM when compiling levels with many units.
  77. * Lua: fixed max temporaries check failing to trigger in some circumnstances.
  78. * Lua API: fixed ``Math.ray_obb_intersection()`` with scaled OBBs.
  79. * Lua API: added ``Math.obb_merge()``.
  80. * Lua API: added ``SceneGraph.parent()``.
  81. * Lua API: implemented ``PhysicsWorld.actor_{enable,disable}_collision()`` and ``PhysicsWorld.actor_set_collision_filter()``.
  82. 0.54.0 --- 13 Jan 2025
  83. ----------------------
  84. **General**
  85. * Switched to right-handed Z-up coordinate system.
  86. **Tools**
  87. * Items in the Project Browser can now be sorted by name, type, size or last modification time.
  88. * Added a list-view mode to the Project Browser.
  89. * Added a tooltip to the Folder Icon View to show details about the hovered item.
  90. * Added the ability to import scenes from FBX files (meshes, lights, cameras, textures and materials).
  91. * Fixed an issue that caused erratic resources being shown in the Project Brower's folder view.
  92. * Fixed an issue that caused warnings to be printed on the console when a Sound Source was deleted from a level.
  93. * Reduced clutter in the Project Browser by hiding all files with importable extensions.
  94. * Fixed missing/wrong previews and thumbnails in some circumnstances.
  95. * Improved unit previews and thumbnails with better lighting/dimensionality.
  96. * Fixed Project Browser showing stale files in some circumnstances.
  97. * Items in the Level Tree can now be sorted by name or type.
  98. * Fixed an issue in the Project Browser that caused a new Unit to be always created even if the user cancelled the "New Unit..." action.
  99. * Fixed an issue that caused the Level Editor to launch a game with outdated state in some circumnstances.
  100. * Fixed an issue with some core objects not being hidden when spawned in-game.
  101. * Fixed an issue that caused the Project Browser to show deleted content sometimes.
  102. * Fixed several crashes when parsing or writing invalid JSON data.
  103. * The New Project panel will now offer to create the project folder automatically.
  104. **Runtime**
  105. * Lua API: 3D Gui will now place objects on the new XY plane (on the "floor") by default.
  106. * Lua API: added ``SceneGraph.owner()``, ``SceneGraph.first_child()`` and ``SceneGraph.next_sibling()``.
  107. * Data Compiler: .mesh resource can now have shared geometries between nodes.
  108. * Data Compiler: .unit resources have now the ability to add/remove inherited children or to override them by adding, removing or modifying their components.
  109. * Data Compiler: the data compiler will now print an error message instead of crashing when parsing malformed SJSON files.
  110. * Data Compiler: fixed and issue that caused some resources to be always marked as outdated in some circumnstances.
  111. * Fixed destroying units with a script component.
  112. * Added customizable gravity vector in global.physics_config resource.
  113. 0.53.0 --- 30 Nov 2024
  114. ----------------------
  115. **Tools**
  116. * The Sprite Importer now has dedicated "preview" and "slices" tabs, which can now be zoomed. Plus, it received improvements in settings validation and placement and clearer collider outline rendering.
  117. * The Font Importer can now zoom the generated atlas.
  118. * Snap-to-grid when placing objects in the level is now disabled by default.
  119. * Fixed some dialogs retaining old state when switching between projects.
  120. * Fixed the Project Browser not updating when adding/removing files.
  121. * Fixed the Camera Compass and Gizmos not updating immediately in some circumnstances.
  122. * Fixed opening core folders from Favorites.
  123. * Resource importers will now generate textures with appropriate default settings.
  124. * Added thumbnails to the Project Browser's tree view.
  125. **Runtime**
  126. * Fixed an issue that caused the Runtime to stop sending console messages after a while.
  127. * Fixed texture reloading crashing in some circumnstances.
  128. * Lua API: Added ``World.create_world_gui()`` and 3D variants for all Gui functions.
  129. * Data Compiler: render states in .shader files can now have properties set based on conditional expressions evaluated at compile-time.
  130. * Data Compiler: fixed erratic texture compilation when both legacy properties and the new "output" object were specified in the .texture resource.
  131. 0.52.0 --- 11 Nov 2024
  132. ----------------------
  133. **Tools**
  134. * Added the ability to add/remove components from units in the Inspector panel.
  135. * Fixed switching between orthographic and perspective camera modes.
  136. * The Editor will now save and restore the camera state per Level.
  137. * Improved compatibility with Hi-DPI screens.
  138. * The Level Tree will now scroll to the last selected object.
  139. * Added a simple camera compass to the Editor View.
  140. **Runtime**
  141. * Animation state machines can now contain empty animation sets.
  142. * Fixed loading resources from bundles.
  143. * Added texture hot-reloading.
  144. * Data Compiler: fixed bundle generation.
  145. * Lua API: Gui drawing primitives can now specify an optional depth value for sorting.
  146. * Lua API: ``World.camera_screen_to_world()`` and ``World.camera_world_to_screen()`` now use a bottom-left screen-space origin to match the coordinate space used by the Gui subsystem. Additionally, ``World.camera_world_to_screen()`` will now return the point's distance from the camera in world-space.
  147. 0.51.0 --- 28 Oct 2024
  148. ----------------------
  149. **Tools**
  150. * The Editor's main window state (size, maximized, fullscreen etc.) will now be restored across sessions.
  151. * The Inspector is now able to fully edit all the properties of all the components in a Unit.
  152. * Added the ability to add resources to a Favorites list in the Project Browser.
  153. **Runtime**
  154. * Added the ability to set a new (smoothed) timestep policy.
  155. * Improved ``graph`` command with the ability to add multiple fields, customize colors and limit the number of samples shown.
  156. * Lua API: Added ``Device.set_timestep_policy()`` and ``Device.set_timestep_smoothing()``.
  157. * Lua API: Added ``RenderWorld.mesh_set_geometry()``.
  158. * Windows: fixed xinput.dll not found on some systems.
  159. * Windows: fixed console output and absolute paths when launched under MinGW.
  160. 0.50.0 --- 10 Oct 2024
  161. ----------------------
  162. **Tools**
  163. * Added an option to use the debug keystore when deploying APKs for Android.
  164. * Added the ability to copy the path of files in the Project Browser.
  165. * Fixed unit preview in the Resource Chooser.
  166. * The Console will now show a single line with a counter instead of spamming the view with duplicated entries.
  167. * Fixed Console's text color in dark/light mode.
  168. * Fixed mouse click in the Editor View not selecting the correct sprite in some circumnstances.
  169. * Added the ability to drag & drop units from the ProjectBrowser to the EditorView.
  170. * Added thumbnails for .unit, .material, .texture and .sound resources in the Project Browser.
  171. * Fixed importing resources in the source directory's root asking for destination directory.
  172. * Improved revealing a resource in the Project Browser.
  173. * Fixed some dialogs not getting focus when opened after the first time.
  174. **Runtime**
  175. * Fixed intra-frame button press/release detection.
  176. * Added ``--hidden`` CLI option.
  177. * Fixed HashMap and HashSet.
  178. * Packages will now bring resources online in the correct order. This enables runtime optimizations and features previously impossible to have.
  179. * Windows: fixed resolution property from boot.config not being honored.
  180. * Data Compiler: Added per-platform texture output settings.
  181. * Data Compiler: Fixed existence/redefinition checks for samplers.
  182. * Data Compiler: Added the ability to inherit render states via the ``inherit`` property.
  183. * Data Compiler: Windows: Fixed shader compilation.
  184. * Data Compiler: Improved data writing robustness.
  185. * Lua API: Added ``Device.screenshot()`` and ``screenshot()`` callback, see :doc:`lua_api` for details.
  186. * Lua API: Added ``Material.set_texture()``.
  187. * Lua API: Added ``Gui.material()``.
  188. 0.49.0 --- 27 Nov 2023
  189. ----------------------
  190. **Data Compiler**
  191. * Linux: fixed detection of deleted directories in some cases.
  192. **Runtime**
  193. * Fixed a crash when rendering text with a font missing some of the glyphs.
  194. * Fixed pixelation when rendering scaled text.
  195. * Fixed .sprite_animation's compiler and resources.
  196. **Tools**
  197. * Added a TrueType and OpenType Font Importer.
  198. * Added the ability to rename a sprite in the Sprite Importer.
  199. * Added a popup menu to quickly access some resource-related functionalities directly from the Console.
  200. * Fixed initial 'sensitivity' state in some widgets.
  201. * Fixed erratic messages when importing assets and improved import procedure robustness.
  202. * Fixed creating new project from templates.
  203. * The most recent project in the Projects List can now be opened by pressing the 'Enter' key.
  204. 0.48.0 --- *31 Jul 2023*
  205. ------------------------
  206. **Data Compiler**
  207. * Data directories can now be deleted at run-time to force a full data compilation.
  208. * Some dependencies for Lua scripts are now automatically determined by parsing require() calls in the source.
  209. * Add ability to pack compiled data together into "bundles".
  210. * Windows: fixed an issue that prevented the data-compiler to be launched in stand-alone mode when the data-compiler server was running.
  211. **Runtime**
  212. * Added experimental HTML5 target platform.
  213. * Added ``--window-rect``, ``--bundle`` and ``--bundle-dir`` CLI options.
  214. * Fixed a double-free error during shutdown.
  215. * Bumped minimum OpenGL|ES version for Android platform to 3.0.
  216. **Tools**
  217. * Added Deploy dialog to generate packages for all supported platforms.
  218. * Added camera framing of selected objects or whole Level.
  219. * Numeric input fields will now accept simple math expressions.
  220. * Fixed the Editor View struggling to grab keyboard focus sometimes.
  221. * Fixed an issue that caused a project folder to be deleted when the ESC key was pressed in the confirmation dialog.
  222. * Fixed the Editor View's size when Hi-DPI is enabled.
  223. * Fixed minor aesthetic issues.
  224. **Lua API**
  225. * Added ``Matrix4x4.scale()`` and ``Matrix4x4.set_scale()``.
  226. * Added ``Math.obb_vertices()``.
  227. * Fixed ``Touch.axis()`` value not being updated at the start or end of a touch action.
  228. 0.47.0 --- *06 Feb 2023*
  229. ------------------------
  230. **Data Compiler**
  231. * Fixed file changes not detected sometimes.
  232. * Fixed Ctrl+C/SIGTERM/SIGINT not being honored when launched with --server.
  233. * Fixed handling of filenames containing some special characters.
  234. * Fixed a crash when a directory was created and deleted immediately after in a project folder.
  235. **Runtime**
  236. * Windows: reduced CPU usage by polling joypads' status in a background thread.
  237. * Added ``graph`` command to plot profiler data at runtime.
  238. * The ConsoleServer will now report an error when a command is not found.
  239. * Fixed a crash when reloading materials.
  240. * Hot-reloading has been enabled for all resource types.
  241. * Fixed a crash when malformed lua scripts were passed to boot.config or require()-ed from other lua scripts.
  242. **Tools**
  243. * The tools are now licensed under the GNU GPL v3.0 or later.
  244. * Bumped minimum GTK+ version to 3.22 (Ubuntu 18.04+).
  245. * Added the ability to set a limit to the memory used by the undo/redo system.
  246. * The editor now uses an external service to launch subprocesses and clean them up effectively after crashes.
  247. * Fixed crashes in the undo/redo system.
  248. * Fixed minor issues when toggling the Console.
  249. * Fixed the Project Browser not being able to obtain keyboard focus.
  250. * Fixed camera view not being restored.
  251. * Fixed minor aesthetic issues.
  252. * Fixed Console's text not scrolling to bottom.
  253. **Lua API**
  254. * Added ``Input.events()``, see :doc:`lua_api` for details.
  255. **Samples**
  256. * Added 03-joypad sample.
  257. 0.46.0 --- *19 Nov 2021*
  258. ------------------------
  259. **General**
  260. * Updated various external web links to docs, website etc.
  261. * Windows: fixed handling of spaces in filenames when spawning external processes.
  262. **Tools**
  263. * The Console will now use local time for log output.
  264. 0.45.0 --- *30 Jul 2021*
  265. ------------------------
  266. **Data Compiler**
  267. * Fixed standalone compiler never exiting when another compiler instance was running in server mode.
  268. **Tools**
  269. * Fixed opening projects from the menubar when in the welcome panel.
  270. * Fixed projects opened from the menubar not being added to the recent projects list.
  271. * Fixed deploy getting stuck.
  272. * Linux: fixed launching editor under Wayland.
  273. 0.44.0 --- *13 May 2021*
  274. ------------------------
  275. **Data Compiler**
  276. * Fixed undetected file changes in some circumnstances.
  277. **Tools**
  278. * Fixed Engine View not redrawing when a command was sent from the Console.
  279. * Various fixes and improvements to the Console.
  280. * The Editor will now check whether the file being edited is deleted from the Project Browser to ask user for confirmation.
  281. * Added the ability to set in the Preferences the external editors to use when opening Lua and image files. (Currently only available on Linux.)
  282. * Custom theme improvements.
  283. * Fixed duplicated entries in the Resource Chooser.
  284. * Changing the sprite in the Sprite Renderer component is now reflected to the Runtime.
  285. * Added noop resources in ``core/components/noop.*``.
  286. * Changed the fallback shader to output Color4(255, 0, 255, 255).
  287. * Added the ability to spawn empty units.
  288. * Added the ability to choose between "Light" and "Dark" theme for the editor UI.
  289. **Lua API**
  290. * Added ``World.camera_destroy()``.
  291. 0.43.0 --- *17 Apr 2021*
  292. ------------------------
  293. **Data Compiler**
  294. * Windows: fixed garbage data written past EOF in some circumnstances.
  295. * Fixed uniform data compilation in materials.
  296. **Runtime**
  297. * Added --pumped mode to skip rendering of frames unless explicitly requested.
  298. * Fixed the creation of uniforms with ``matrix4x4`` type.
  299. * Fixed crashes when loading shaders in some circumnstances.
  300. **Tools**
  301. * Windows: fixed wrong Editor View window size.
  302. * Added a setting to limit the number of lines displayed by the Console.
  303. * Added hyperlinks to resource paths in the Console.
  304. * Selection is now correctly restored after Editor View restarts.
  305. * Fix Editor window title showing incorrect level-changed state.
  306. * Reduced CPU & GPU usage by launching Editor Views with --pumped runtime.
  307. * Added multi-selection support.
  308. * Improved the rendering of the outlines of selected objects.
  309. **Lua API**
  310. * Added ``Math.obb_intersects_frustum()``
  311. * Removed ``DebugLine.add_unit()``
  312. * Fixed ``World.camera_screen_to_world()`` returning incorrect z-axis values on Windows/D3D.
  313. * ``print()`` will now try to detect the type of the lightuserdata and print it accordingly.
  314. 0.42.0 --- *05 Mar 2021*
  315. ------------------------
  316. **Editor**
  317. * Improved the visibility and picking of the handles of every gizmo.
  318. * Added camera-plane translation to the Move tool.
  319. * Added camera-plane rotation to the Rotate tool.
  320. * Added axis-, plane- and uniform-scaling to the Scale tool.
  321. * Fixed an issue that prevented the Editor View to be restarted in some circumnstances.
  322. * Fixed the translation of multiple unaligned objects when snapping was enabled.
  323. * Added new Crown logo.
  324. * Added icons to the Level Tree View.
  325. * Updated the meshes for Sound, Camera and Light units.
  326. * Added a button to the Resource Chooser to "reveal" the selected resource in the Project Browser.
  327. * Fixed placement of objects when snap-to-grid was enabled.
  328. **Runtime**
  329. * Upgraded to LuaJIT 2.1.
  330. * Added support to 64-bits Android (ARMv8-a).
  331. * Fixed changing Mesh and Sprite visibility.
  332. 0.41.0 --- *16 Jan 2021*
  333. ------------------------
  334. **Manual**
  335. * Improved the Introduction and added Features section
  336. * Added Glossary
  337. * Added license statement about "Your Game or Application"
  338. **Data Compiler**
  339. * Fixed compilation of collider volumes
  340. **Runtime**
  341. * Fixed loading of collider volumes
  342. **Tools**
  343. * The Editor View now will use the actual unit being placed as a preview instead of its wireframe
  344. * Fixed an issue that caused textures with supported extension types to be skipped by the importer
  345. * Added the ability select distinct resource types in the Import dialog
  346. * Fixed Lua error when setting camera parameters
  347. * The Project Browser will now show every file type except those used only internally by the Editor
  348. * Removed the default "FPSCamera" camera from the core game framework
  349. 0.40.0 --- *06 Jan 2021*
  350. ------------------------
  351. **Data Compiler**
  352. * Fixed an issue that caused resources to not be compiled with the proper version in rare circumnstances
  353. * Fixed an issue that caused the compiler to crash when reading empty source files
  354. * Fixed an issue that prevented the output from external data compilers to not be read under Windows
  355. **Runtime**
  356. * Fixed child nodes in the SceneGraph not being marked as changed when their parent was changed
  357. * Removed support for multiple components per Unit.
  358. * Added ability to express unit's parent-child relationship from within .unit and .level files
  359. **Exporters**
  360. * Added the ability to export full scene hierarchy to the Blender exporter
  361. * Removed support for Blender < 2.80
  362. **Tools**
  363. * Added logs expiration option to Preferences dialog
  364. * Added the ability to select from a number of templates (samples) when creating new projects
  365. * Changed the default accelerator for deleting objects from Ctrl+K to Delete
  366. * Fixed an issue that caused the Level Editor to ask multiple times whether save the level in some circumnstances
  367. * Level Editor now restores the Console's history from previous sessions
  368. * Improved the title of the Level Editor window to include the name of the current opened level and an indication of whether it has been modified since the last save to disk
  369. **Lua API**
  370. * All component managers accessors have been uniformed to accept a component instance ID (instead of a UnitId or both):
  371. - All ``AnimationStateMachine.*``, except ``AnimationStateMachine.create()``
  372. - All ``RenderWorld.light_*``, except ``RenderWorld.light_create()``
  373. - All ``RenderWorld.sprite_*``, except ``RenderWorld.sprite_create()``
  374. - All ``SceneGraph.*``, except ``SceneGraph.create()``
  375. - All ``World.camera_*``, except ``World.camera_create()``
  376. - ``PhysicsWorld.actor_instances()``
  377. * Added AnimationStateMachine.instance()
  378. * ``RenderWorld.set_mesh_visible()`` will now work as expected
  379. * Changed ``SceneGraph.link()`` behavior and added parameters to explicitly set the position, rotation and scale of the child transform after linking is done
  380. * Fixed ``Matrix4x4.rotation()`` to return the correct Quaternion even when the matrix has scaling applied
  381. * Fixed ``SceneGraph.*_rotation()`` to return the correct Quaternion even when the node has scaling applied
  382. * Fixed ``SceneGraph.unlink()`` to correctly set the local pose of the unlinked transform to its previous world pose
  383. * Fixed ``SceneGraph.destroy()`` to correctly update any linked transform before deleting the node
  384. 0.39.0 --- *24 Oct 2020*
  385. ------------------------
  386. **Data Compiler**
  387. * Fixed detection on new sub-directories and sub-directory renames
  388. * Fixed handling of paths without type extension
  389. * Improved file deletion detection and data directory coherence
  390. * Improved file modification detection and source index caching
  391. * Improved the unit compiler by fixing a number of bugs and adding support to "deleted_components"
  392. **Runtime**
  393. * Removed support for 32-bit x86 architectures
  394. **Tools**
  395. * Added ability to create new scripts from Project Browser
  396. * Added ability to create new units from Project Browser
  397. * Added Debug > Build Data
  398. * Added QWER accelerators to place, move, rotate and scale object actions
  399. * Added support for Windows
  400. * Added the ability to duplicate objects from Level Tree
  401. * Added Welcome panel with a list of recent projects and the ability to create new projects or import existing ones
  402. * Bumped minimum GTK+ version to 3.16 (Ubuntu 16.04.2+)
  403. * Fix an issue that caused the Editor View camera not returning to idle in some circumnstances
  404. * Fixed a number of dialog boxes that were not centered to the Level Editor's main window
  405. * Fixed an issue that allowed the user to enter blank names when creating new folders in the Project Browser
  406. * Fixed an issue that caused Project Browser to show inconsistent folder structured in some circumnstances
  407. * Fixed an issue that caused the camera view accelerators to interfere with text input
  408. * Fixed an issue that prevented some components from being removed when reimporting sprites
  409. * Fixed and issue that caused generation of spurious "set-actions" when editing properties in the Properties panel
  410. * Fixed modifier keys getting stuck in the wrong state in some circumnstances
  411. * Fixed multiple selection in Level Tree
  412. * Fixed undo/redo when setting properties of some unit components
  413. * Improved Project Browser to not show irrelevant items
  414. * Improved Test Level/Start Game button behavior when game failed to launch
  415. * Level Editor connection to the Data Compiler, Editor View(s) and Game is now faster and more robust
  416. * Level Editor now saves aggregate logs to disk. User can browse logs folder from Help > Browse Logs...
  417. * New Project dialog no longer allows selecting non-empty folders for new projects
  418. * Objects inside .level files are now ordered by their ID before serialization
  419. * Save Level dialog now warns before overwriting a file that already exists
  420. * Unified Engine and Run menubar items into a single Debug menubar item
  421. **Lua API**
  422. * Added Matrix4x4.equal()
  423. 0.38.0 --- *24 Aug 2020*
  424. ------------------------
  425. **Runtime**
  426. * Added "help" command
  427. * Core primitives now include UV, tangent and bitangent data
  428. * Fixed a crash when multiple clients were connected to the Console Server
  429. * Fixed a crash when reloading lua scripts that haden't been loaded previously
  430. * Fixed an issue that caused levels to be compiled successfully even when the units they depended on contained errors
  431. * Fixed reloading of main.lua files from samples
  432. * The Data Compiler now detects when files are deleted
  433. **Tools**
  434. * Added Gizmo size and Autosave timer options to Preferences dialog
  435. * Added the ability to toggle visibility of the Inspector inside the Level Editor
  436. * Added the Project Browser
  437. * Added the Statusbar
  438. * Fixed an issue that allowed the Level Editor to load or save levels outside the source directory
  439. * Fixed an issue that allowed the user to enter blank names when renaming objects in the Level Tree
  440. * Fixed an issue that caused level auto-saving in Level Editor not triggering at the intended interval
  441. * Fixed an issue that caused the Level Editor to not include "core/units/camera" in the boot.package of a newly created project
  442. * Fixed an issue that caused the Level Editor to start the Editor View before data compilation was done in some circumstances
  443. * Fixed main.lua files generated by Level Editor for new projects
  444. * Improved look of EntryVector3 widget
  445. * Lua reloading has been extended to the running game when pressing F5 from the Level Editor
  446. * Nodes in the Level Tree can now be expanded by clicking on the corresponding row
  447. * Preferences are now saved to the user's config directory
  448. * Renaming of objects in the Level Tree is now handled with a modal dialog
  449. * The Editor View will now show a message explaining how to recover the session after a crash or unintended disconnection
  450. * Unified the asset import dialogs
  451. **Samples**
  452. * Unified projects directory structure
  453. 0.37.0 --- *26 Jun 2020*
  454. ------------------------
  455. **Runtime**
  456. * Added Material.set_vector4() and Material.set_matrix4x4()
  457. * Added PhysicsWorld.actor_destroy()
  458. * Added RenderWorld.mesh_material(), RenderWorld.mesh_set_material() and RenderWorld.sprite_material()
  459. * Added the ability to hot-reload Lua files
  460. * Added the ability to scale the shape of colliders at Unit spawn time
  461. * Added Window.set_cursor_mode()
  462. * Added World.unit_by_name() to retrieve unit by its name in the Level Editor
  463. * Bumped minimum Android version to 7.0+
  464. * Bumped minimum OpenGL version to 3.2+ for Linux
  465. * Fixed an issue that caused PhysicsWorld.set_gravity() to re-enable gravity to actors that previously disabled it with PhysicsWorld.actor_disable_gravity()
  466. * Fixed an issue that prevented kinematic actors to be controlled via the SceneGraph
  467. * Fixed an issue that prevented PhysicsWorld.actor_center_of_mass() to be called for static actors
  468. * Fixed an issue that prevented PhysicsWorld.actor_world_{position,rotation,pose}() to be called for static actors
  469. * Fixed an issue that reset the sprite animation to the beginning even when loop was set to false
  470. * Fixed an issue where a regular Matrix4x4 was returned if Matrix4x4Box is called without arguments
  471. * Removed "io" and "os" libraries from Lua API
  472. * Small fixes and performance improvements
  473. * Sprite's frame number now wraps if it is greater than the total number of frames in the sprite
  474. **Tools**
  475. * Added the ability to specify a circle collider in the Sprite Importer
  476. * Added the ability to specify the actor class in the Sprite Importer
  477. * Added the ability to specify the destination of the console commands between Game and Editor
  478. * Fixed a crash when entering empty commands in the console
  479. * Fixed an issue that caused the Level Editor to not correctly save a level specified from command line
  480. * Fixed an issue that could cause the Level Editor to crash when large number of TCP/IP packets were sent to it
  481. * Fixed an issue that could cause the Level Editor to crash when scrolling through the console history
  482. * Fixed an issue that could cause the Level Editor to incorrectly parse identifiers in SJSON files
  483. * Fixed an issue that generated wrong render states when blending is enabled while no blend function/equation is specified
  484. * Fixed an issue that prevented some operations in the Level Editor from being (un/re)done
  485. * Fixed an issue that prevented the data compiler from restoring and saving its state when launched by the Level Editor
  486. * Improved the numeric entry widget which now takes less space and provides more convenient input workflows
  487. * Resources autoload is disabled when testing levels from Level Editor
  488. * The Data Compiler will now track data "requirements" and automatically include them in packages when it's needed
  489. * The game will now be started or stopped according to its running state when launched from the Level Editor
  490. * The Properties Panel now accepts more sensible numeric ranges
  491. * The Properties Panel now allows the user to modify most Unit's component properties