Defold 1.4.7 has been released

Defold 1.4.7

Summary

  • NEW: (#7714) Add leading, tracking and line_break properties for label component.
  • NEW: (#7669) Sprite animation frame count
  • NEW: (#7642) Use :textual? flag for Search in Files
  • NEW: (#7686) Implement Goto Definition using LSP
  • NEW: (#7692) Implement Find References
  • NEW: (#7673) Install and launch APKs after the Android bundle
  • FIX: (#7625) Cubemap + WebGL float type fixes
  • FIX: (#7674) Check if the handle is correct when calling timer.get_info
  • FIX: (#7637) Added support for cyclic detection when serializing a table
  • FIX: (#7657) Fix uploading basis compressed texture array data
  • FIX: (#7659) Spir-V pipeline improvements
  • FIX: (#7660) Check uniform buffer limits when creating vulkan shaders
  • FIX: (#7670) Fix issue with components counter in some cases
  • FIX: (#6912) Added engine support for arm64 macOS
  • FIX: (#7734) Fix broken Evaluate Lua funtionality in Lua Debugger

Engine

NEW: (#7714) Add leading, tracking and line_break properties for label component.
Now it is possible to get/set leading, tracking and line_breakproperties for a label component:

local leading = go.get("#label", "leading")
leading = leading * 1.2
go.set("#label", "leading", leading)
go.animate("#label", "leading", go.PLAYBACK_LOOP_PINGPONG, 2, go.EASING_INSINE, 2)

local tracking = go.get("#label", "tracking")
tracking = tracking * 1.2
go.set("#label", "tracking", tracking)
go.animate("#label", "tracking", go.PLAYBACK_LOOP_PINGPONG, 2, go.EASING_INSINE, 2)

local line_break = go.get("#label", "line_break")
go.set("#label", "line_break", false)

NEW: (#7669) Sprite animation frame count
Added the new property frame_count to sprite components to get the current running animations frame count:
go.get("#sprite", "frame_count")

Note that if you play a flipbook animation via sprite.play_flipbook, it will not be played until the next frame so retrieving the frame count at this time will get the value of the old animation that was previously playing.

FIX: (#7625) Cubemap + WebGL float type fixes
Fixed several issues with creating cubemap textures with float types. Creating cubemaps from scripts now also works correctly for all graphics adapters.

FIX: (#7674) Check if the handle is correct when calling timer.get_info
A bug fix for calling timer.get_info with a handle to a cancelled timer.

FIX: (#7637) Added support for cyclic detection when serializing a table

FIX: (#7657) Fix uploading basis compressed texture array data
Fixed an issue with uploading basis compressed textures to a texture array, which is primarily used for paged atlases in the engine.

FIX: (#7659) Spir-V pipeline improvements
Improved the SPIR-V shader pipeline:

  • Better error feedback when shader inputs and outputs mismatch during the build process
  • Removed redundancy when producing shader resource bindings since we now run optimisation passes on the SPIR-V source
  • Output name hashes for shader bindings instead of doing it in runtime

FIX: (#7660) Check uniform buffer limits when creating vulkan shaders
When a shader exceeds the number of texture samplers and uniform buffers on the Vulkan adapter we show a bit more helpful error message instead of crashing the engine.

FIX: (#7670) Fix issue with components counter in some cases
Fix the issue that occurs when there are multiple instances of the same object containing a factory, which causes the component counter to break.

FIX: (#6912) Added engine support for arm64 macOS
Bob.jar will now accept arm64-macos as an architecture. By default, it will generate both x86_64-macos and x86_64-macos.
Bob.jar can now also be run under an arm64 terminal and use corresponding arm binaries.
The editor macOS bundle dialog has also been updated to support dual architectures.
There is still work left to do

  • The editor itself still is an x86_64 executable
  • Build’n’run still uses the x86_64 macOS engine

FIX: (#7734) Fix broken Evaluate Lua functionality in Lua Debugger
Fix issue when Lua Debugger hangs after using Evaluate Lua functionality.

Editor

NEW: (#7642) Use :textual? flag for Search in Files
Technical note: we now look at :textual? flag of a resource type to determine if a resource without save data might be textual.

We no longer search through .glb files when performing Search in Files.

NEW: (#7686) Implement Goto Definition using LSP
editor now uses running LSP servers for going to definitions of code files. The action is bound to F12 shortcut. You need Lua language server running by the editor for this feature to work.

NEW: (#7692) Implement Find References
UX note: I thought that showing a notification with a button to read more about LSPs is better than showing a greyed-out menu item with no clarification, so I decided to always make the LSP actions active.

The editor now supports finding references using LSP, with the command assigned to a Shift F12 shortcut. The Go to Definition and Find References commands are more discoverable now — we show them in the Edit menu bar. We now also point the user toward the LSP post on the forum in case they try to use these commands without a language server dependency.

NEW: (#7673) Install and launch APKs after the Android bundle

23 Likes

Thank you for your great job again. I always appreciate every update to the Defold team.

4 Likes