Defold 1.2.127 has been released

Defold 1.2.127

This release extends the web profiler with additional information of what resources are used at a given point. We have also extended the capabilities of the hot reloading mechanism to work with gameobject files. The IAP extension on Android now also supports subscription items.

Runtime resource profiler

The web profiler now include detailed information of gameobject hierarchy and a list of currently loaded resources. We are hoping this will help our users to keep track of and debug memory usage in runtime.

Gameobject resource hot reloading

We have added the ability to hot reload gameobject resources (.go files), it works just like how you would normally hot reload component resources. This is a small step towards our goal of having whole Collections being reloadable.

IAP Subscriptions on Android

IAP subscription products was not supported on Android. The iap.list() function did not return product information for subscriptions and when trying to buy a subscription using iap.buy() the purchased failed with a “ERROR:IAP: Failed to parse purchase response (0).” message. This release adds full support for IAP subscriptions, meaning that calls to iap.list() will include subscription products, iap.buy() will properly purchase them and iap.restore() will return active subscriptions while iap.finish() will do nothing (since subscriptions can’t be consumed).

Spine and Model refactoring

With this release we have made a large internal refactoring on the system that handles Spine and Model animations. One goal is the make it easier to tackle newer and currently unavailable Spine (and Collada) features down the road. But the current biggest impact for users is that in most cases Spine models will take less runtime memory and disk usage. However, since it’s a fairly big change internally we are eager to hear if your current projects encounter any issues after updating. Don’t hesitate to contact us on the forums!

Engine

  • DEF-3243 - Added: Runtime resource profiler.
  • DEF-3255 - Added: Support for hot reloading game objects.
  • DEF-3253 - Added: Android IAP subscription support.
  • DEF-2686 - Added: API gui.get_spine_animation to get current playing spine animation on a GUI node.
  • DEF-3187 - Changed: Spine and Model refactoring.
  • DEF-3269 - Fixed: Issue when clearing OpenGL errors internally on HTML5.
  • DEF-3264 - Fixed: Better error message when broken textures were compiled.

Editor

  • DEFEDIT-1370 - Fixed: Improved fuzzy search algorithm for better results in the Open Resource dialog.
  • DEFEDIT-1371 - Fixed: Filter out non-editable resources (sounds, images) from Open Resource dialog.
  • DEFEDIT-1372 - Fixed: Project builds are now parallelized, which should significantly reduce build times.
  • DEFEDIT-1375 - Fixed: Fuzzy matching sometimes ranks full filename matches lower than partial matches.
  • DEFEDIT-1376 - Fixed: GLException when closing editor tab that failed to render due to an error.
  • DEFEDIT-1377 - Fixed: Crash when trying to use life stretch curves with particles.
  • DEFEDIT-1379 - Fixed: HTML5 build fails with response code 400 when using any dependencies.
  • DEFEDIT-1380 - Fixed: The Welcome dialog now links to the New Project Pane on first open.
14 Likes

I have no web-profiler in this build
This is my error or not?
Trying connect to :8002 (build from editor as in prev. builds)

Hmm, what OS and browser is it?
What if you refresh the page? (Ctrl/CMD + R)

What if you use the port that Editor 2 outputs? See the log from the editor to find the correct port. E.g http://localhost:5xxxx/

It doesn’t work on localhost:8002 for me too, but in log i found :
INFO:ENGINE: Engine service started on port 64623

and it works on http://localhost:64623

UPD: and every time generate new port

1 Like

Thx! It seems there’s something wrong with the redirect. At least there’s a workaround. We wanted the 8002 redirect to work since Editor 2 changes port for each launch.

What browser and OS is that?

1 Like

Mac OS X 10.12.6 and Safari Version 11.1 (12605.1.33.1.4) but chrome and firefox have the same issue.

1 Like

New profiler is really useful! Thank you!
I have two suggestions:

  1. show total of memory usage by resources (just sum of all size)
  2. In big project with a lot of textures, hard to understand whitch exactly texture it is _generated_a836d5ac.texturec , would be greate to have atlas name here, or in brackets.
2 Likes

Yes, both are great suggestions that we’ve discussed but didn’t have time to at this point, we’ll add that for sure.

As for your troubles with connecting to :8002, could it be that you are currently disconnected from the network? E.g do you see an error in the log when launching the engine?

I could recreate it if I turned off my wifi, then launched the engine. Then the 8002 port wouldn’t work. I see this in my log:

WARNING:DLIB: No IP found for local hostname Mathiass-MacBook-Pro.local. Fallbacks to localhost
ERROR:DLIB: Unable to add broadcast membership for ssdp socket. No network connection? (-28)
WARNING:ENGINE: Unable to create ssdp service (-1)

I get the same problem here at home. Going to the randomly assigned port works but 8002 does not.

1 Like

And, you have a network connection? What does the browser say? Does it show anything useful in the debug console?

My log:

INFO:DLIB: Log server started on port 50370
WARNING:DLIB: No IP found for local hostname AGulev-MacBook-Pro.local. Fallbacks to localhost
INFO:ENGINE: Engine service started on port 50374
INFO:ENGINE: Defold Engine 1.2.127 (c129eaf)
INFO:ENGINE: Loading data from: build/default
INFO:ENGINE: Initialised sound device 'default'

And yes, wifi turned on.
Browser has no info:

1 Like

Yes, I found that when this happens, the address becomes http://::1:<port> and that won’t work with our profile server.

1 Like

If it helps, with the new version the web profiler immediately stopped working on port 8002, but it does work on the randomly assigned port.

Do you get any errors/warnings in the log?

I’ve added ticket DEF-3277 for this.

@AGulev, @Insality, @tacklemcclean, if you are running OSX, I have uploaded a test build for you. MD5: 6a5bb838d86884496f01ab054e7776f8

2 Likes

how to use dmengine_8002_fix.dms file?

I had an issue only on Windows
On MacOS all works well. My issue was with internet

Hmm, it should be dmengine_8002_fixand it should be the executable. Perhaps I have to zip it

Edit:
Try this link (md5: 6b4662618b2d0630a63c49fd8a45b703)

2 Likes

Yes, it works. Thx!

3 Likes