Defold 1.2.117 has been released

Defold 1.2.117

This release adds support of the Linux native extensions, the last missing platform for native extensions. Together with miscellaneous bug fixes the release also includes better control of when and where to use pre-multiplied alpha.

Native Extensions updates

Linux support has been added to native extensions, meaning you can now build NE for all our supported platforms.

We have also improved the ability to customize the engine build via the app manifest (nativeextension.app_manifest in game.project). This enables users to remove some unneeded parts (ex sound, physics and Facebook) from the engine making it possible to decrease the final binary size.

NOTE We consider this feature to still be in an alpha state. We wish to review our extension/app manifests design, to make sure they are robust so we can build upon them.
The same goes for our HBuffer API, which we soon want to use a lot (e.g. for vertex buffers and other fun stuff). Unfortunately, this means we cannot guarantee that we will not introduce any breaking changes during this alpha phase.

Added texture profile option to premultiply alpha

The editor preference setting to toggle texture profiles on/off has been replaced with toggling texture compression on/off instead. This means that texture profile settings will now be applied at all times (format, mipmaps, max-size, premult alpha etc.) while compression is still possible to skip.
The flag --texture-profiles to bob.jar is now deprecated (but will still work) and is replaced by --texture-compression to reflect these changes.

Pre-multiply alpha of vertex data has been moved to shader programs

Vertex colors for spine, gui, and particlefx are not alpha premultiplied on the CPU any more. This allows you to for example store data in the alpha channel without it affecting values in the RGB channels. If you have copied and modified the builtin shaders for either spine, gui, or particlefx they will need to be updated to account for this change. If you are unsure, have a look at the builtin vertex programs after you have updated the editor.

Engine

  • DEF-2861 - Added: Linux support for native extensions.
  • DEF-2736 - Added: Pre-multiply alpha option in texture profiles.
  • DEF-2849 - Fixed: Pre-multiply alpha of vertex data has been moved to shader programs.
  • DEF-2944 - Fixed: Set initial transform on gui particle instance on creation.
  • DEF-2935 - Fixed: Optimized loading of assets (i.e. textures), freeing up memory sooner.
  • DEF-2954 - Fixed: Improved support for customizing the native extension build via the app manifest.
  • DEF-1144 - Fixed: Add group fields for both objects in trigger_response, collision_response and contact_point_response.
  • DEF-2976 - Fixed: Facebook Gameroom transaction error table fields was switched.
  • DEF-2975 - Fixed: Build size optimizations for the release build.
  • DEF-1732 - Fixed: Improve error message when calling go script functions from gui_script files.
  • DEF-2965 - Fixed: CSS style to make the HTML5 game canvas fit within small windows.
  • DEF-2966 - Fixed: “Show In Finder” option was missing in Editor1.
  • DEF-2821 - Fixed: Fixed saving/loading of binary strings on HTML5.
  • DEF-2961 - Fixed: Crash when calling some functions with callback parameters inside coroutines/pcalls.
  • DEF-2958 - Fixed: Cubemap textures had inverted Y axis.
  • DEF-2979 - Fixed: Game objects can now hold up to 65536 components.
16 Likes

Strange bug after update to 117 https://github.com/defold/editor2-issues/issues/1408

2 Likes

We just added a fix for this. You should be able to see an update to your Editor 2 now!

2 Likes

Yes, it works now, thank you!

1 Like

This release still builds Windows in debug mode even with release checked or is it next release it’s fixed?

Ah, yes, the DEF-2477 (Build variants) isn’t done yet. It’s the task where I originally figured we would fix that check box. What I referred to recently was the increased support from the native extensions’ app manifest, to allow you to modify the build variants. Now that that is done, I wonder if that’s one way to actually implement DEF-2477 in some way.

3 Likes

@Mathias_Westerdahl

Question about texture-compression option. I’m building with “--texture-compression yes” but still my texture profile is ignored (30 Mb if it’s built from Editor, 898 Mb - by bob.jar)

Any examples maybe?

Could you try --texture-compression=true and see if that works as expected?

4 Likes

It’s building much slower now, so it looks like a solution! I will share result in a 1-2 hours :slight_smile:

6 Likes

55 mb vs 30 via Editor
and the only difference - I duplicated OS_ID_GENERIC profiles with similar OS_ID_WEB (just same profiles but for different platform).

Can it be that it builds 2 sets of textures and put all of them inside the one bundle? huh…

Rebuilding with “single platform” profiles.

Yes, if you use OS_ID_GENERIC it will always be included with any other matching platform.

From the docs:

os

Specifies a matching OS platform. OS_ID_GENERIC matches all platforms including dev-app builds on device, OS_ID_WINDOWS matches Windows target bundles, OS_ID_IOS matches iOS bundles and so on. Note that if OS_ID_GENERIC is specified, it will be included for all platforms.

5 Likes

Thanks! Finally it’s the correct size now!
I hope someone will update bob.jar documentation soon.

4 Likes

Not sure what was missing? That it should be “=” between the long names and arguments?
Otherwise, please report documentation changes using the “Spotted an error” button on the documentation page.

3 Likes

I have written some stuff about this in a post here


Could be a useful read

9 Likes