This sprint we’ve focused a lot on stability, fixing multiple issues.
We’ve finally updated HTML5 to use Emscripten 2.0.11
. This fixes the size issue of the js-web
builds. It is also a bit smaller the the previous versions (see below).
Another notable addition is the go.get_parent([id]) which allows you to get the parent of a game object. This makes it more consistent with the gui
functionality.
We’ve also updated the editor .css
which makes it a lot easier to create a themed look.
Read more here
Inspection API (C++)
We’ve updated our internal inspection api to include component types and their internal nodes.
You can see an example of this if you visit your game’s web server at http://localhost:8002/scene_graph
. It returns a .json
file representing the currently loaded scene graph.
We have also added these functions to the dmSDK
. See dmGameObject::TraverseGetRoot() for documentation, and extension-poco for an example
Defold SDK (dmSDK)
In order to support the new functionality of the extension-poco, we also needed to add a few more headers to dmSDK
.
- dmsdk/dlib/hid.h - Read/write input to/from the gamepads/joysticks, mouse, keyboard and touch devices
-
dmsdk/engine/extension.h - Get contexts from the
dmExtension::AppParams
struct. - dmsdk/gameobject/gameobject.h - Inspection api. Get position/rotation/scale from game objects.
- dmsdk/dlib/math.h - Common math helper functions
- dmsdk/dlib/vmath.h - Vector math type definitions (e.g. dmMath::Vector3) (docs are currently missing)
Removed support for Emscripten 1.38.12
We moved away from Emscripten 1.38.12
with Defold version 1.2.170. That version is now 6 months old, which is the time we’ve set to support older SDK’s. And to make room in our Docker container running the server, we have now finally removed it.
Instead we encourage you to update to the new Emscripten 2.0.11 version, which is also even smaller than before (percentage is reduction in size):
- js-web: -~9%
- wasm-web: -~12%
The numbers are a comparison between Defold 1.2.170 and 1.2.178.
Note that this only affects you if you use native extensions.
Engine
-
Issue-4897
- Updated: Html5: Update to Emscripten 2.0.11 -
Issue-5040
- Fixed: Custom resources can now be without suffix -
Issue-5220
- Added: Added go.get_parent([id]) -
Issue-5289
- Fixed: Sound thread crash -
Issue-5305
- Fixed: Bob: Crash fix: Treat the spine skins as an array if there is more than one skin -
Issue-5336
- Fixed: macOS: Update app icon for macOS Big Sur -
Issue-5358
- Fixed: Android: Fixed problem of recreating surface on certain Android devices -
Issue-5366
- Fixed: Bob: Use a dummy ETag when generating the filename if one isn’t provided by the server -
Issue-5368
- Fixed: Crash fix for easing curves (release before calling animation complete) -
Issue-5375
- Fixed: Updated docs for angular_velocity to match implementation -
Issue-5389
- Fixed: Fixed crash in liveupdate zip archive (Android/Windows) -
Issue-5407
- Fixed: Add space between arguments generated from .script_apis -
Issue-5409
- Fixed: iOS: Skip lipo step if there’s only one architecture -
Issue-5418
- Fixed: iOS: Expose CFBundleVersion for iOS and macOS -
Issue-5420
- Fixed: Fix for gui.get_node(), to ignore previously deleted nodes -
Issue-5040
- Added: NE: Added profile inspection api -
Issue-5364
- Added: NE: Added engine.h, hid.h, gameobject.h, math.h, vmath.h and to dmSdk -
Issue-5425
- Fixed: NE: Updated to Xcode 12.1 package containing swift libraries
Editor
-
Issue-5321
- Fixed: Make editor only check for update once per hour -
Issue-5325
- Fixed: Added a preference field for setting a custom keymap path -
Issue-5397
- Fixed: Simplify editor styling by unifying color definitions and fonts -
Issue-4941
- Added: Added options to move gui nodes via context menu -
Issue-5417
- Fixed: Fixed editor signing procedure for windows