Defold 1.2.188 has been released

Release notes

Moved Spine support from engine into an extension - Breaking change!

The biggest change this sprint is that we’ve now moved the Spine from the engine itself, into
extension-spine.

Apart from adding the dependency to the extension, there should be no other changes needed by the developer.

This is a big change, and we’ve worked many months to put all the pieces together.
If you encounter an issue with this release and your project, please let us know!

Breaking change!
Use new path to the Spine material folder /defold-spine/assets/ instead of builtins/materials for all the spine models in your project.

Rive.app support - Beta Release!

This sprint we’re also officially releasing the first beta version of the extension-rive.

The actual rive implementation is also still under development, and there are still things to solve, but we feel it’s time for our users to be able to play around some more with it.

It supports playing regular animations, as well as statemachines and controlling the state machine inputs.

Known issues:

  • The scenes generate a lot of draw calls. The Rive team is working on implementing mesh+texture support, which will remedy this.
  • Some clipping and blending issues. Some scenes experience these issues, and we’re looking into this.
  • The rive.material uses a separate material tag, due to the stencil ops (see rive.render_script for reference)

Darwin build servers

Since the available open source tools sometimes doesn’t work out of the box with the Apple software,
we have decided to use dedicated macOS build servers for macOS/iOS builds for the time being.
As a Defold user, you don’t have to configure anything, our regular servers will redirect to the builds automatically, and your builds should work as usual.

Note however, that you might need to update your extensions, as they’re now building on a different OS with a different compiler.
E.g. extension-facebook (release 6.3.1) has had a build fix for this case.
If you run into an issue, check if you’re using the latest extension version, and if you do, ask us here in the forum for help.

Other things

We’ve added sys.serialize(table)/sys.deserialize(buffer) (used internally in our sys.load()/sys.save()) functions for the cases where the developer uses custom functions to store or retrieve data.

We’ve added a fix for our builds using bob.jar that optimizes memory usage (at runtime) for each component type by calculating the number of instances needed for each type (if not using factories).
This allows us to also optimzise the running performance for component types if the collection doesn’t contain the type at all.

Also, we’ve made some smaller typos and fixes in the documentation

Work in progress

We are now working on implemention a Spine extension that supports the official (latest) Spine runtime.

Engine

  • Issue-5843 - Fixed: Disable component types that are not used in a collection

  • Issue-6031 - Fixed: Increase debugger connect timeout from 2 to 10 seconds

  • Issue-6036 - Fixed: NE: Added dmRender::EnableRenderObjectConstant + Disable to dmSDK

  • Issue-6049 - Fixed: Expose Lua table serialization functions sys.serialize()/sys.deserialize()

  • Issue-6058 - Fixed: Do not close the ssl socket twice

  • Issue-6060 - Fixed: Allow window size change at initialization phase

  • Issue-6067 - Fixed: Bob: Don’t create tasks for files in excluded folders

  • Issue-6052 - Fixed: Bob: Asset cache: Added optional user and password to remote cache access

  • Issue-6074 - Fixed: Removed Spine support from engine

  • Issue-6081 - Fixed: NE: Added JNI thread attach/detach struct and LoadClass to dmSDK in dmsdk/dlib/android.h

Editor

  • Issue-6038 - Fixed: Decreased tree view padding
  • Issue-6046 - Fixed: Delete unpack dirs older than one week
  • Issue-6079 - Fixed: Increase launcher max memory to 32 Gb
22 Likes

This will be really cool as there are many features the official Spine runtime supports that have not been possible to use for a while. It will open doors for complicated effects!

9 Likes

Great improvement!! Thanks for your hard work!! :+1:

2 Likes

I’ve gone back to the same project to make a new build and wanted to test the game locally in the editor first. I now get this error on CMD + B with Defold 1.2.184:

 /defunityads/src/unityads.cpp
	Line 5: 'DLIB_LOG_DOMAIN' macro redefined [-Wmacro-redefined]
#define DLIB_LOG_DOMAIN LIB_NAME
        ^
	Line 5: previous definition is here
#define DLIB_LOG_DOMAIN "DEFUNITYADS"
        ^
	Line 6: In file included from upload/defunityads/src/unityads.cpp:6:
In file included from /usr/local/extender-production/sdk/1f5712609c345f870b691a85d611d4825d22a718/defoldsdk//sdk/include/dmsdk/sdk.h:16:
In file included from /usr/local/extender-production/sdk/1f5712609c345f870b691a85d611d4825d22a718/defoldsdk//sdk/include/dmsdk/extension/extension.h:16:
'string.h' file not found
#include_next <string.h>
              ^~~~~~~~~~

              /defunityads/src/utils/LuaUtils.h
	Line 3: In file included from upload/defunityads/src/utils/LuaUtils.cpp:1:
In file included from upload/defunityads/src/utils/LuaUtils.h:3:
In file included from /usr/local/extender-production/sdk/1f5712609c345f870b691a85d611d4825d22a718/defoldsdk//sdk/include/dmsdk/sdk.h:16:
In file included from /usr/local/extender-production/sdk/1f5712609c345f870b691a85d611d4825d22a718/defoldsdk//sdk/include/dmsdk/extension/extension.h:16:
'string.h' file not found
#include_next <string.h>
              ^~~~~~~~~~

              clang: warning: no such sysroot directory: '/usr/local/extender-production/platformsdk/MacOSX10.15.sdk/' [-Wmissing-sysroot]
	/usr/local/extender-production/platformsdk/XcodeDefault12.5.xctoolchain/usr/bin/ranlib: file: /var/folders/pf/p5g2vb2j0yx1x6vlmxdppc700000gn/T/job6433648876335939024/build/libAdInfoExt_1.a(adinfo.cpp_0.o) has no symbols
	/usr/local/extender-production/platformsdk/XcodeDefault12.5.xctoolchain/usr/bin/ranlib: file: /var/folders/pf/p5g2vb2j0yx1x6vlmxdppc700000gn/T/job6433648876335939024/build/libAdInfoExt_1.a(adinfo_android.cpp_1.o) has no symbols
	/usr/local/extender-production/platformsdk/XcodeDefault12.5.xctoolchain/usr/bin/ranlib: file: /var/folders/pf/p5g2vb2j0yx1x6vlmxdppc700000gn/T/job6433648876335939024/build/libAdInfoExt_1.a(adinfo_ios.mm_2.o) has no symbols

Update: Bundling to Android works, just not building with CMD+B.

the fastest and the simplest way to fix it is to update Defold to the latest version or at least 1.2.187

Thanks @AGulev. The reason we’re still on 1.2.184 is described here. I’m downloading the latest and greatest Defold now to see if it that issue is now fixed.

Latest Defold uses MacOS build server. So if it was the solution for your problem, so now it’s should be fine.

1 Like

I’m afraid the Gamecenter errors still happen when building (CMD+B) with Defold 1.2.188. The errors are listed in this post and appear to be identical.

Maybe the build server URL needs to be changed? I’m currently using https://build.defold.com.

UPDATE: Minimal project to recreate the issue:
GamecenterTest.zip (1.2 KB)

Errors with Defold 1.2.184:

/gamekit/src/GameCenterDelegate.mm
	Line 4: In file included from upload/gamekit/src/GameCenterDelegate.mm:4:
'stdio.h' file not found
#include_next <stdio.h>
              ^~~~~~~~~

              /gamekit/src/GameKit.cpp
	Line 9: 'DLIB_LOG_DOMAIN' macro redefined [-Wmacro-redefined]
#define DLIB_LOG_DOMAIN "GameKit"
        ^
	Line 9: previous definition is here
#define DLIB_LOG_DOMAIN "GAMEKIT"
        ^
	Line 10: In file included from upload/gamekit/src/GameKit.cpp:10:
In file included from /usr/local/extender-production/sdk/1f5712609c345f870b691a85d611d4825d22a718/defoldsdk//sdk/include/dmsdk/sdk.h:16:
In file included from /usr/local/extender-production/sdk/1f5712609c345f870b691a85d611d4825d22a718/defoldsdk//sdk/include/dmsdk/extension/extension.h:16:
'string.h' file not found
#include_next <string.h>
              ^~~~~~~~~~


              /gamekit/src/GameKit.mm
	Line 4: In file included from upload/gamekit/src/GameKit.mm:4:
'stdio.h' file not found
#include_next <stdio.h>
              ^~~~~~~~~


              /gamekit/src/GetCommands.mm
	Line 4: In file included from upload/gamekit/src/GetCommands.mm:4:
'stdio.h' file not found
#include_next <stdio.h>
              ^~~~~~~~~

              /gamekit/src/ImageBitmap.h
	Line 4: In file included from upload/gamekit/src/ImageBitmap.mm:4:
'GameKit/GameKit.h' file not found
#import <GameKit/GameKit.h>
        ^~~~~~~~~~~~~~~~~~~


        /gamekit/src/LuaEvents.cpp
	Line 4: In file included from upload/gamekit/src/LuaEvents.cpp:4:
'stdio.h' file not found
#include_next <stdio.h>
              ^~~~~~~~~


              /gamekit/src/LuaStackDump.h
	Line 7: In file included from upload/gamekit/src/LuaStackDump.cpp:4:
In file included from upload/gamekit/src/LuaStackDump.h:7:
'stdio.h' file not found
#include_next <stdio.h>
              ^~~~~~~~~


              /gamekit/src/RealTimeCommands.mm
	Line 4: In file included from upload/gamekit/src/RealTimeCommands.mm:4:
'stdio.h' file not found
#include_next <stdio.h>
              ^~~~~~~~~


              /gamekit/src/SendCommands.mm
	Line 4: In file included from upload/gamekit/src/SendCommands.mm:4:
'stdio.h' file not found
#include_next <stdio.h>
              ^~~~~~~~~


              /gamekit/src/ShowCommands.mm
	Line 4: In file included from upload/gamekit/src/ShowCommands.mm:4:
'stdio.h' file not found
#include_next <stdio.h>
              ^~~~~~~~~

Errors with Defold 1.2.188:

/gamekit/src/GameCenterDelegate.mm
	Line 9: In file included from upload/gamekit/src/GameCenterDelegate.mm:9:
In file included from /usr/local/extender-production/platformsdk/MacOSX11.3.sdk/System/Library/Frameworks/GameKit.framework/Headers/GameKit.h:19:
In file included from /usr/local/extender-production/platformsdk/MacOSX11.3.sdk/System/Library/Frameworks/GameController.framework/Headers/GameController.h:48:
property with 'retain (or strong)' attribute must be of object type
@property (nonatomic, strong) dispatch_queue_t handlerQueue API_AVAILABLE(macos(10.9), ios(7.0), tvos(7.0));
^

/gamekit/src/GameKit.mm
	Line 9: In file included from upload/gamekit/src/GameKit.mm:9:
In file included from /usr/local/extender-production/platformsdk/MacOSX11.3.sdk/System/Library/Frameworks/GameKit.framework/Headers/GameKit.h:19:
In file included from /usr/local/extender-production/platformsdk/MacOSX11.3.sdk/System/Library/Frameworks/GameController.framework/Headers/GameController.h:48:
property with 'retain (or strong)' attribute must be of object type
@property (nonatomic, strong) dispatch_queue_t handlerQueue API_AVAILABLE(macos(10.9), ios(7.0), tvos(7.0));
^

/gamekit/src/GetCommands.mm
	Line 9: In file included from upload/gamekit/src/GetCommands.mm:9:
In file included from /usr/local/extender-production/platformsdk/MacOSX11.3.sdk/System/Library/Frameworks/GameKit.framework/Headers/GameKit.h:19:
In file included from /usr/local/extender-production/platformsdk/MacOSX11.3.sdk/System/Library/Frameworks/GameController.framework/Headers/GameController.h:48:
property with 'retain (or strong)' attribute must be of object type
@property (nonatomic, strong) dispatch_queue_t handlerQueue API_AVAILABLE(macos(10.9), ios(7.0), tvos(7.0));
^

/gamekit/src/ImageBitmap.h
	Line 4: In file included from upload/gamekit/src/ImageBitmap.mm:4:
In file included from upload/gamekit/src/ImageBitmap.h:4:
In file included from /usr/local/extender-production/platformsdk/MacOSX11.3.sdk/System/Library/Frameworks/GameKit.framework/Headers/GameKit.h:19:
In file included from /usr/local/extender-production/platformsdk/MacOSX11.3.sdk/System/Library/Frameworks/GameController.framework/Headers/GameController.h:48:
property with 'retain (or strong)' attribute must be of object type
@property (nonatomic, strong) dispatch_queue_t handlerQueue API_AVAILABLE(macos(10.9), ios(7.0), tvos(7.0));
^

/gamekit/src/RealTimeCommands.mm
	Line 9: In file included from upload/gamekit/src/RealTimeCommands.mm:9:
In file included from /usr/local/extender-production/platformsdk/MacOSX11.3.sdk/System/Library/Frameworks/GameKit.framework/Headers/GameKit.h:19:
In file included from /usr/local/extender-production/platformsdk/MacOSX11.3.sdk/System/Library/Frameworks/GameController.framework/Headers/GameController.h:48:
property with 'retain (or strong)' attribute must be of object type
@property (nonatomic, strong) dispatch_queue_t handlerQueue API_AVAILABLE(macos(10.9), ios(7.0), tvos(7.0));
^

/gamekit/src/SendCommands.mm
	Line 9: In file included from upload/gamekit/src/SendCommands.mm:9:
In file included from /usr/local/extender-production/platformsdk/MacOSX11.3.sdk/System/Library/Frameworks/GameKit.framework/Headers/GameKit.h:19:
In file included from /usr/local/extender-production/platformsdk/MacOSX11.3.sdk/System/Library/Frameworks/GameController.framework/Headers/GameController.h:48:
property with 'retain (or strong)' attribute must be of object type
@property (nonatomic, strong) dispatch_queue_t handlerQueue API_AVAILABLE(macos(10.9), ios(7.0), tvos(7.0));
^

/gamekit/src/ShowCommands.mm
	Line 9: In file included from upload/gamekit/src/ShowCommands.mm:9:
In file included from /usr/local/extender-production/platformsdk/MacOSX11.3.sdk/System/Library/Frameworks/GameKit.framework/Headers/GameKit.h:19:
In file included from /usr/local/extender-production/platformsdk/MacOSX11.3.sdk/System/Library/Frameworks/GameController.framework/Headers/GameController.h:48:
property with 'retain (or strong)' attribute must be of object type
@property (nonatomic, strong) dispatch_queue_t handlerQueue API_AVAILABLE(macos(10.9), ios(7.0), tvos(7.0));
^

I see, this is some issue in the Game Center extension you are using. Please create a ticket in the extensions gihub. Also you can try this Game Center extension https://github.com/Dragosha/extension-gamecenter. It seems to be building fine

UPD: Sorry, I need to take a look closer to this issue. I’ll do it later.

2 Likes

I have some problems fetching new spine extension. I’m using such link to do so: https://github.com/defold/extension-spine/archive/master.zip

When loading project I got this message:

If I fetch from the editor, nothing happens. Just in case I added facebook extension and tried fetching it. Everything was downloaded correctly.

Update: Rive extension is also fetching fine.

1 Like

Not sure if github has changed their layout of links?

If I copy the “Download Zip” link, I get

https://github.com/defold/extension-spine/archive/refs/heads/main.zip

Edit: @Pkeod noticed it was a copy paste error in our documentation that mentioned “master.zip”, whereas this is a new github repo, which has the new name “main.zip”:
https://github.com/defold/extension-spine/archive/main.zip

2 Likes

Yep, that was the case. With main.zip everything is fine. Thanks.

2 Likes

I’ve started porting extension-gamekit (by Animonger) to extension-gamecenter (by Dragosha). This is likely to solve the issue, right? I think it’s the right thing to do, because the Animonger extension is currently not maintained.

1 Like

I’m back with another issue)

When bundling the project I got this error:

Should I create issue on github as well?

2 Likes

I also got this error just now when bundling to iOS.

Correct, we’ve moved the material from the engine to the extension.

This error from the extension itself. It is trying to use builtin material, which is no longer there.

2 Likes

This is a reference issue within the extension itself;

2 Likes

@totebo @russelkgd I cannot find a reference to builtins material :thinking:

I recall fixing such an issue some week ago.

Which version of extension-spine are you using?