Defold 1.13.0 BETA

thanks!
I’ll take a look tomorrow!

2 Likes

I have pushed a fix to the Beta release now. Expect an update within the hour.

2 Likes

I’ve just downloaded the update, and Box2D v3 still doesn’t work. I also can’t build a legacy Box2D now either. However, I can build an HTML5 Box2D v3 application, so it seems like the issue is with the Windows engine..

the error message on both is “lld-link: error: could not open ‘libscript_box2d.lib’: No such file or directory”. (i did make sure that i saved the manifest before rebuilding)

1 Like

same here

1 Like

Same here. I get the identical error on Windows with Defold-x86_64-win32.zip, but everything works fine on Mac using Defold-arm64-macos.dmg.

1 Like

Yes, sorry, the tool uses pattern matching currently to figure out what’s in the file, and that doesn’t always work well. In this case you’ll find “libscript_box2d.lib” in the x86-win32/x86_64-win32 sections.
That’s an old name. In 1.13.0 it’s now called “script_box2d.lib”.

There are two fixes:

  1. Recreate the .appmanifest file, and reselect your choices
  2. Manually rename the libscript_box2d.lib to script_box2d.lib.

I’d recommend the first option.

We are working on replacing that pattern matching feature so that we don’t end up in a similar situation soon again, but for now, it’s still a bit cumbersome.

4 Likes

Recreated the manifest, and it works fine now—many thanks.

Does this that any projects prior to version 1.13.0 using box2d_v3 will need their app manifest recreated once 1.13.0 is out of beta?

Unfortuntately yes.
I’ll update the release notes with this information too.

2 Likes

You may want to update the examples on the website too. i’ve just downloaded the Box2D Chain Terrain | Defold and this generates the error too

2 Likes

The beta has been updated with an integration of Googles “VkQuality” library for android. Basically, if both Vulkan and OpenGLES is used for Vulkan (this is the default behaviour), we use this library to deduce wether or not it’s safe to use Vulkan for rendering or if we should fallback to GLES. This can happen if the device is old, or if the drivers are known to misbehave.

EDIT: Currently not building, but it’ll be available in a while.

7 Likes

Im getting this window whenever I add an atlas as the image and then select the default animation for the first time in a sprite component.

java.lang.NullPointerException: Cannot invoke “javafx.geometry.Point2D.getX()” because “this.dragStart” is null

It doesnt do anything else (as far as I can tell) and I can proceed without any further issue.

It only happens once.

I have submitted an issue on Github. Happens on latest 1.13.0 beta

1 Like

Does it happen in 1.12.4?

Yeah. I just tested it just now.

Thanks, then we know it’s not a beta specific issue.

It happens on that one project. Just tried it with another project and it didnt show the error window…

I just added the repro project zip to the github issue (Minus .git related files)

Its a game jam game I just started work on the past 2 days. Havent done much.

1 Like

I commented on the github issue, I’ve run into this specific exception before…

Some of the examples like the ones regarding Morph Targets are now not working. And it also happens that when you download the examples and run it with the newest Defold stable release, those that use the newest features from beta or alpha will be not working of course. We modified our CI recently to build those examples with an alpha version to catch issues early, but we’re evaluating right now if it makes sense. We’re very sorry for the inconvenience! :heart:

4 Likes

I’m playing with chain shapes in the latest beta, it’s awesome.

I’ve bumped into an issue with groups and masks: It’s not possible to create a chain shape using a custom group and custom masks as defined on the collision object. The collision object uses hashes, and b2d uses integers.

This means that the groups and masks set in the editor can’t be used for shapes created at runtime, such as chain shapes.

In Box2D there are two functions, b2Shape_GetFilter and b2Shape_SetFilter, that returns the integer needed.

b2d.shape.get_filter(shape_id)          -- b2Shape_GetFilter; returns { category_bits, mask_bits, group_index }
b2d.shape.set_filter(shape_id, filter)  -- b2Shape_SetFilter

Could these be exposed?

1 Like

They’re exposed as b2d.shape.get_filter_data(shape_id), b2d.shape.set_filter_data(shape_id, filter_data).

2 Likes

Oh great! It works!

I guess they didn’t make it in here yet:

Thanks for the super quick response.

1 Like