Defold 1.2.99 has been released

Defold 1.2.99

This release includes a collection of bug fixes and a few new functions available for native extensions.

We have fixed two issues regarding stencil/clipping, please be aware of this if you are using your own render scripts.

Android and iOS dev app has been given some love

We have updated the dev app so that it can display which interfaces/IPs it listens to. An old crash bug related to rotating the device on Android has been fixed. We also added empty launch screens for the iOS version so that you will now have full native resolution on device.

Stencil buffer is now cleared when needed between gui-scenes as needed to avoid clashing hierarchies.

This means that when two or more gui-scenes are using stencils, a stencil buffer clear will be executed before the first stencil node of a scene, which might have an impact on performance.
The stencil buffer clear logic is optimised so that the first stencil node rendered will not issue a clear if the stencil has been cleared already (by the render script clear command).

Reset the stencil mask before clear in the builtin renderscript

The stencil buffer write mask affects the stencil clear behaviour. This wasn’t reset (set to 255) before the render script clear meaning the buffer wasn’t properly cleared.
To fix existing scripts, add the line:

render.set_stencil_mask(0xff)

before the render.clear command(s).

Engine

  • DEF-2528 - Added: Script relevant GetMainThread and *Instance functions added to Defold SDK.
  • DEF-2268 - Fixed: Tweaked DM_LUA_STACK_CHECK and fixed DM_LUA_ERROR so it’s able to return value.
  • DEF-1333 - Fixed: Stencil scope sharing issues.
  • DEF-1305 - Fixed: Stencil mask resize bug.
  • DEF-2430 - Fixed: Spine animation gets stuck on the penultimate frame in certain scenes.
  • DEF-1392 - Fixed: Ping-pong animation causes infinite loop if duration is set to zero.
  • DEF-2222 - Fixed: gui.animate did not change value if duration was 0.
  • DEF-2433 - Fixed: Crash on Android dmengine dev app when rotating device.
  • DEF-1721 - Fixed: iOS dev app did not have launcher images.
  • DEF-2516 - Fixed: Storing large files (approx. >3mb) failed on HTML5.
  • DEF-2514 - Fixed: Collada skeleton node transforms were not applied on skeleton and animations.
  • DEF-2511 - Fixed: Some rotation animations for 3D models flipped at certain situations.
  • DEF-2517 - Fixed: Memory corruption of Facebook extension function list.
  • DEF-2513 - Fixed: Custom resources could only be specified without leading slash.
  • DEF-2508 - Fixed: Build report showed uncompressed files as -1 Byte.

Documentation

  • Added a new manual about shaders
14 Likes

Ah, Sweet! That Android rotation crash was a pain.

2 Likes

The only one issue for me so far:
I have a puzzle mini-game, where I create in GUI 16 (grid 4x4) the same spine models with different clipping and then player has to arrange “tiles” the right way.

in v.98 it worked, but now in 99 - only 3x3 grid is working fine. More tiles just become empty.

Is there some new restrictions?

Best release ever, great work guys!

8 Likes

Since you mention clipping: we did some fixes for the stencil masks so perhaps you are affected by this. Are you using a custom render script? If so, check the notes above, and see if the “render.set_stencil_mask(0xff)” might help you.

3 Likes

@Mathias_Westerdah l put this in render script but nothing really changes. No errors or something, just if my clipped nodes with spine scenes > 10 they are never rendered.

To reproduce: Create a node with clipping, put spine scene inside. Duplicate it 10 more times. - You only see 10 of 11 nodes rendered.

Hmm, I have tried it now and I don’t seem to be able to reproduce it here. I didn’t use a custom render script.
Perhaps you could try to reproduce it in a new project as well?

4 Likes