Defold 1.2.175 BETA

#1

Defold 1.2.175 BETA

The latest beta is now released, and we invite those interested in beta testing the new features in the editor and engine to join now.
The beta period will be 2 weeks and the next planned stable release is two weeks from now.

We hope this new workflow will highlight any issues earlier, and also get valuable feedback from our users. And please comment if you come up with ideas on improving on this new workflow.

Please report any engine issues in this thread or in issues using Help -> Report Issue

Thx for helping out!

Disclaimer

This is a BETA release, and it might have issues that could potentially be disruptive for you and your teams workflow. Use with caution. Use of source control for your projects is strongly recommended.

Access to the beta

Download the editor or bob.jar from http://d.defold.com/beta/

Set your build server to https://build-stage.defold.com

Release notes

This sprint we’ve fixed more issues regarding bundling for both Android and iOS.
Also, there are some further improvements on the loading progress bar for Html5.
And, there are several improvements to the documentation.

http.request

We’ve also added a new parameter to the http.request() that lets you to download the file to a file on disc directly.

local path = sys.get_save_file("test", "/save.html")
http.request("http://www.google.com", "GET", http_callback, nil, nil, {path = path})

Work in progress

We’re also planning to release a new feature for live update in this beta. We’ll release a new beta in a day or two.
This new feature will make is possible for the app to download the entire live update .zip file, as opposed to downloading lots of smaller files, one by one.

Engine

  • Issue-5200 - Fixed: Fixed gui particle crash after deletion
  • Issue-5215 - Fixed: Fixed restarting engine service after second reboot
  • Issue-5245 - Fixed: Added option sound.use_thread
  • Issue-5275 - Fixed: Destroy particle fx callback early if we failed to invoke it
  • Issue-5284 - Fixed: Http request download to file on disc
  • Issue-5292 - Fixed: Added more verbose progress info to bob’s resolve command
  • Issue-5288 - Fixed: Invoke the gui callback before removing the animation
  • Issue-5147 - Fixed: iOS: Add support for app store icon
  • Issue-5213 - Fixed: iOS: Removed log spam during touches
  • Issue-5249 - Fixed: Android: sys.exit() works again on Android
  • Issue-5250 - Fixed: Android: Update AndroidBundler.java
  • Issue-5257 - Fixed: Android: Patch the bundled JDK to include jarsigner
  • Issue-5240 - Fixed: Android: Compile and link resources on the build server
  • Issue-5277 - Fixed: Android: Use the KeyStore class to get the first keystore alias
  • Issue-5185 - Fixed: Win: Auto select high perf gpu on windows
  • Issue-5211 - Fixed: Html5: Progress bar fixes (gzip+engine load)
  • Issue-5223 - Fixed: NE: Added defines DM_RELEASE, DM_DEBUG and DM_HEADLESS to builds
  • Issue-5248 - Fixed: Doc: Improved license summary
  • Issue-5291 - Fixed: Doc: Fix doc for buffer.create

UPDATE 2020/10/30:

  • Issue-5189 - Added: LU: Added support for downloading entire live update zip file
  • Issue-5295 - Fixed: bob.jar doesn’t resolve dependencies unnecessarily
  • Issue-5303 - Fixed: The game can now use both OpenGL / Vulkan graphics adapters again

Live Update

We’ve added the functionality to download the entire liveupdate zip file to disc, and register it to the live update system.
This will help fix projects that want to download all assets at once. It will also reduce Lua temporary memory overhead to a minimum.

In order to make this work we’ve had to add several smaller features.

http.request()

http.request now takes two extra options:

  • path: the path to which the file should be saved
  • ignore_cache: don’t write the data to the http cache

The ignore_cache is useful in the specific case of only testing for a HTTP 304, and not wanting to actually get the data in the Lua callback.

resource.store_archive()

This function takes a file path, verifies it against the game manifest, and then moves the file into the live update folder. Next time the app reboots, it will load this as the live update archive. See full example in the documentation.

resource.is_using_liveupdate_data()

Returns true if the game if liveupdate data is present and loaded

17 Likes

#2

With immeasurable relief I can confirm this is fixed. Great work! :pray:

7 Likes

#3

Haha, great! This is one of those things which is seemingly trivial but apparently has a huge impact. I’m so used to doing CMD+Q (and there’s an Escape to Quit option as well) to quit the running instance that I would never have noticed the problem!

3 Likes

#4

@britzl This is fantastic, CMD + Q saved my life! :slight_smile:

1 Like

#5

where is my error @britzl?
:crying_cat_face:

0 Likes

#6

If you mean that font issue you reported, we haven’t had time to fix it yet.
As always, the list of things to do is very long, and we do our best to balance the tasks versus issues.
I cannot say when it will be fixed, just as I can’t promise we’ll have time to fix it in the two weeks of beta.

1 Like

#7

That’s interesting. I have been meaning to add a feature request to relaunch the app from the game, rather than the Defold IDE! The reason I reload the game frequently is to tweak visual effects that can’t be tested directly in the IDE, for example the way a particle effect works together with its respective go.animate().

0 Likes

#8

relaunch the app from the game

What is the “app” in this scenario? The editor or the engine?
The engine can be rebooted using the sys.reboot() function.

Interesting. Have you tried hot reloading for this use case?
(I.e. CMD + R for those unfamiliar with the feature)

0 Likes

#9

I have a first bug report, and it’s probably due to the above fix. Previously the icon showed as expected with these settings:

The icon is missing after it is installed (via Appcenter):

I’m guessing I now need to use Icons Asset for it to work? Or maybe it’s something to do with Appcenter?

1 Like

#10

Sorry, I meant re-build the game from the… game. Via the menu or short key, rather than via code itself.

To me it’s more a question of starting over with the same parameters, rather than actually changing something. It sounds strange, but when I work on visuals I usually need to see the same effect a few times to have a clear idea on how to improve it. So to be able to restart the game without going back to the IDE would save time. I realise this might not be how most developers work, which is why I haven’t yet added a feature request for it! :smiley:

1 Like

#11

Since it seems you’re not actually changing any data, but just want to “restart” the scenario you have, I would either:

  • reload the level collection proxy
  • trigger the effect again

And you can do that either via a debug key binding or in the on_reload() function.

Am I missing something?

EDIT: I think the sys.reboot() is the closest to what you’re already doing. And as for the other scenario, I think each developer make up their own code/content in order to be able to test a feature quickly. And
It could be special levels, that only showcase a special feature, or it could be a big in game “debug menu”, that allows you to trigger certain effects, spawn certain enemies etc.

1 Like

#12

:unamused:

0 Likes

#13

Keep in mind that the Defold team works hard to provide a high quality engine for absolutely free. I read through your bug report and it sounds like it is being worked on and will be released when it is ready. In the meantime, perhaps try working on a different part of your project until the bug is fixed. Part of being an effective developer is choosing which tasks to work on and when to work on them. :slight_smile:

11 Likes

#14

ok, :blush:

0 Likes

#15

I can confirm this is an issue introduced in the v1.2.175 beta. I rolled back to v1.2.174 and the icon looks as it should.

0 Likes

#16

This is a bit unfortunate, and perhaps poorly documented BUT Apple seems to have started requiring a 1024x1024 application icon to be bundled with the IPA (at least for new applications?).

The only way such an icon can be included is through a stupid proprietary asset format Assets.car file. And the only way you can create an Assets.car file is through Xcode and an intermediary *.xcasset file. This is the same problem as we have with launch screen storyboards.

So, you need an Assets.car file specified in game.project and you need to specify the icon names (because they will be added to your Info.plist and where they are used to reference the actual files in the Asset.car file).

The process is documented here:

Are you using a custom info.plist btw?

2 Likes

#17

Nope, I use the default one.

0 Likes

#18

I just updated the beta with some new functionality for Live Update.

Since this includes some refactoring of the code, I urge those using Live Update in your apps to take note of this update, and if possible verify that there are no regressions in functionality for you.

4 Likes

#19

I tested Liveupdate with this example code. Just pprint missing resources

pprint({ AFTER_STORE = collectionproxy.missing_resources(…) })

after

print("Successfully stored resource: " … hexdigest)

It’s all time print same data. If use counter and try “load” collection take error about missing resources

3 Likes

#20

Thanks, we’ll investigate this tomorrow!

0 Likes