Defold 1.3.0
Official Spine runtime
In this version, we are fully removing the Spine component from the engine itself and moving to the official spine runtime. If you use Spine animations in your project then extra migration steps are needed.
Migration steps are available here : Spine animation in Defold
Engine
-
Issue-5886
- Fixed: New functionsgui.set_screen_position()
andgui.screen_to_local()
Details
Two new function added to make it easier to operate nodes in GUI component:
-
gui.set_screen_position(node, screen_position)
- set screen position for the node; -
local local_position = gui.screen_to_local(node, screen_position)
- convert screen position to a local position of the supplied node.
Also, it fixed a bug when the returned value of gui.get_screen_position()
might be affected by pivot value.
Fixes #5886
-
Issue-6112
- Fixed: Addgame.project
field for SSL keys to verify the certificate chain during SSL handshake
Details
To verify server SSL certificate a developer should provide a pem
file that contains public keys that should be used for verification.
This file may contain public CA-root certificate keys or a self-signed certificate public keys.
This fix adds a new field networkssl_certificates
in game.project
where this pem
file may be specified. If any file is specified in this field the engine turns on verification by default for all requests.
The list of CA-root certificates is included in builtins/ca-certificates
, but we don’t recommend using this file directly. Create a new pem
file and copy-paste the needed CA-root certificates depending on the services you make HTTP requests to.
Fixes #6112
-
Issue-6297
- Fixed: Include debugger scripts in builtins and include the files in bundled debug builds
Details
This change adds the Lua files required by the debugger to builtins. The files are always included in debug builds (ie variant set to debug). This makes it possible to attach the debugger to a previously bundled and already running build.
Fixes #6297
-
Issue-6347
- Fixed: Make sure file path comparisons are done without any initial slash for excluded folders
-
Issue-6354
- Fixed: Use Application Support folder for game logs if./log.txt
is unavailable
Details
Fixes path to the log.txt
file for macOS bundle where the creation of the file in app
is impossible.
If project.wrile_log
checkbox is ON in game.project
, engine writes logs in log.txt
file.
The path to the file depends on the platform (see manual).
From now on macOS the file path will be /Users/user_name/Library/Application Support/projectname/log.txt
Fixes #6354
-
Issue-6355
- Fixed: Fixed: New fieldenabled
for properties iterator.
Details
Adds new field enabled
in properties iterator for Gui nodes and components that support enable
/disable
messages. This functionality used in extension-poco for tests automation.
-
Issue-6370
- Fixed: Removed support for 32-bit iPhoneOS (armv7-darwin)
Details
Defold doesn’t support armv7 platform on iOS anymore.
info.plist
in builtins/manifests/ios has changed (
UIRequiredDeviceCapabilities) make sure you have these changes in your custom
info.plist` if you use one.
If your game is already released with armv7
then you have to change MinimumOSVersion
to 11.0
in your info.plist
to be able to update it on AppStore.
The platform sent to bob is now “–platform=arm64-darwin”.
The bundle output folder from Editor is now arm64-darwin
.
Fixes #6369
-
Issue-6376
- Fixed: AddedinstantiateStreaming
support for HTML5 bundles
Details
Using WebAssembly.instantiateStreaming()
is the fastest way to load the engine on HTML5 since you no longer have to first load the full engine into an array buffer and then instantiate it.
The feature is enabled by default but can be disabled by setting EngineLoader.stream_wasm = false;
Closes #6324
-
Issue-6406
- Fixed: Add override for onNewIntent (#6404)
Details
Some SDKs (for example AppsFlyer) save data in intent ( in case with Appsflyer it’s deep links data).
To be able to get this data app should be in singleTop
mode or manually override onNewIntent
and call setIntent
.
But changing activity mode to singleTop
is a bit risky and maybe a reason for regression when working with native extensions.
-
Issue-6423
- Fixed: Release pressed keys when regaining focus in HTML5 builds
Details
If a key is pressed while the game lost focus and that key is released while not in focus the event will not be received for the key release. This will result in the key remaining in the pressed state when the game regains focus. To fix this we set all pressed keys to released before regaining focus.
Fixes #3186
-
Issue-6214
- Fixed: Removed Spine nodes from gui -
Issue-6341
- Fixed: Added first iteration of ddf unpack script -
Issue-6360
- Fixed: Updated to support Linux builds on WSL -
Issue-6361
- Fixed: Enable Linux builds to use local compiler -
Issue-6363
- Fixed: Added notes for how to use Terminal and chocolatey to setup on Windows -
Issue-6364
- Fixed: Bump copyright notice -
Issue-6367
- Fixed: Added support for using local install of Visual Studio and Windows SDK -
Issue-6378
- Fixed: Added more dmGui::DeleteNode et al to dmsdk for use with extension-spine -
Issue-6379
- Fixed: Make sure bash finds the binaries in the repository -
Issue-6383
- Fixed: Added dmGui::GetParent, dmGui::GetFirstChildNode and dmGui::GetNextNode to dmsdk -
Issue-6409
- Fixed: Detect M1 CPU and run x86 shell -
Issue-6419
- Fixed: Always provide the stripped/unstripped versions from the build server for linux budle
Editor
-
Issue-6316
- Fixed: Add custom project templates
Details
It adds support for user defined templates in the welcome screen:
- Create a
.defold
folder in your user home folder. This is the same location as any custom editor css files should be located. - Create a
welcome.edn
file with the following content:
{:new-project
{:categories [
{:label "From Custom Template" :templates [
{
:name "LowRez"
:description "Defold template project for creation of low-res pixel art games."
:image "empty.svg"
:zip-url "https://github.com/britzl/lowrezjam-template/archive/refs/heads/master.zip"
:skip-root? true
},
{
:name "MyProject"
:description "Template with everything set up my way!."
:image "empty.svg"
:zip-url "https://github.com/britzl/lowrezjam-template/archive/refs/heads/master.zip"
:skip-root? true
},
]}
]}
}
Notes:
- You can create as many categories as you want.
- For now the
:image
has to be one of the images ineditor/resources/welcome/images
. - The
:zip-url
has to be hosted on a server and downloaded using HTTP GET.