Defold 1.2.186

Release notes

This sprint we’ve fixed a few crashes, improved on the gamepad support for Android, and added some physics fixes.

The collision object now has a property bullet, that allows you to enable continuous collision detection. It is only supported in 2D physics.

Our gamepad system now supports reading raw input from connected devices with an unknown identifier.

WIP

We’re continuing working on our editor/pipeline plugin support, and we have released a first alpha of the Rive extension.

Also, we’re currently working on an asset cache system for Bob. This will help reduce long build times for certain assets (i.e. compressed textures).

Engine

  • Issue-3191 - Added: Collision objects now has the property bullet
  • Issue-5931 - Fixed: macOS: Fixed bob.jar crash on M1 macs
  • Issue-5933 - Fixed: macOS: Crash fix for macOS fullscreen mode
  • Issue-5936 - Fixed: Android: Bundle tool now uses uppercase “UNIVERSAL”
  • Issue-5937 - Fixed: Update scaling in 2d physics when dynamic transforms are enabled
  • Issue-5963 - Fixed: Android: Don’t load keystore password file in bob when calling bundletool
  • Issue-5964 - Fixed: Include the width of trailing whitespace when linebreaks are disabled
  • Issue-5967 - Fixed: Map unknown gamepads and read raw gamepad packets
  • Issue-5973 - Fixed: Added liveupdate_null library
  • Issue-5976 - Fixed: Bob.jar: Added --archive-resource-padding= for padding between resources in the game archive
  • Issue-5980 - Added: Android: Added AKEYCODE_BUTTON_1 to 16 to the supported gamepad buttons
13 Likes

Was an example ever posted somewhere for this feature / it explained what it’s actually supposed to do? I tried to get it to work on the beta build and posted on the thread there too about it. The “continuous collision detection” didn’t seem to work both by manual movement of collision objects and by using physics forces to move collision objects.

1 Like

Sorry, I missed this. I will take a look this week.

2 Likes

This is from the (slightly strange) Box2D docs:

bullet

bool b2BodyDef::bullet

Is this a fast moving body that should be prevented from tunneling through other moving bodies? Note that all bodies are prevented from tunneling through kinematic and static bodies. This setting is only considered on dynamic bodies.

WARNING

You should use this flag sparingly since it increases processing time.

1 Like

Getting an issue with imgui. This is the Build Errors when building in Windows 10. I don’t actually use imgui in this project, I just have it fetched as a dependency.

Issue on imgui: Build error in Defold 1.2.186 · Issue #14 · britzl/extension-imgui · GitHub

/imgui/ext.manifest
	clang-10: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
	lld-link: error: undefined symbol: __cpuid
>>> referenced by /tmp/job5884567677308494677/upload/imgui/src/imgui/stb_image.h:1091
>>>               DefoldImGui_1.lib(extension_imgui.cpp_0.o):(void * __cdecl stbi__load_main(struct stbi__context *, int *, int *, int *, int, struct stbi__result_info *, int))
>>> referenced by /tmp/job5884567677308494677/upload/imgui/src/imgui/stb_image.h:1091
>>>               DefoldImGui_1.lib(extension_imgui.cpp_0.o):(void * __cdecl stbi__load_main(struct stbi__context *, int *, int *, int *, int, struct stbi__result_info *, int))
	lld-link: error: undefined symbol: _mm_setr_epi16
>>> referenced by /tmp/job5884567677308494677/upload/imgui/src/imgui/stb_image.h:2541
>>>               DefoldImGui_1.lib(extension_imgui.cpp_0.o):(void __cdecl stbi__idct_simd(unsigned char *, int, short *const))
>>> referenced by /tmp/job5884567677308494677/upload/imgui/src/imgui/stb_image.h:2542
>>>               DefoldImGui_1.lib(extension_imgui.cpp_0.o):(void __cdecl stbi__idct_simd(unsigned char *, int, short *const))
>>> referenced by /tmp/job5884567677308494677/upload/imgui/src/imgui/stb_image.h:2543
>>>               DefoldImGui_1.lib(extension_imgui.cpp_0.o):(void __cdecl stbi__idct_simd(unsigned char *, int, short *const))
>>> referenced by /tmp/job5884567677308494677/upload/imgui/src/imgui/stb_image.h:2544
>>>               DefoldImGui_1.lib(extension_imgui.cpp_0.o):(void __cdecl stbi__idct_simd(unsigned char *, int, short *const))
>>> referenced by /tmp/job5884567677308494677/upload/imgui/src/imgui/stb_image.h:2545
>>>               DefoldImGui_1.lib(extension_imgui.cpp_0.o):(void __cdecl stbi__idct_simd(unsigned char *, int, short *const))
>>> referenced by /tmp/job5884567677308494677/upload/imgui/src/imgui/stb_image.h:2546
>>>               DefoldImGui_1.lib(extension_imgui.cpp_0.o):(void __cdecl stbi__idct_simd(unsigned char *, int, short *const))
>>> referenced by /tmp/job5884567677308494677/upload/imgui/src/imgui/stb_image.h:2547
>>>               DefoldImGui_1.lib(extension_imgui.cpp_0.o):(void __cdecl stbi__idct_simd(unsigned char *, int, short *const))
>>> referenced by /tmp/job5884567677308494677/upload/imgui/src/imgui/stb_image.h:2548
>>>               DefoldImGui_1.lib(extension_imgui.cpp_0.o):(void __cdecl stbi__idct_simd(unsigned char *, int, short *const))
	lld-link: error: undefined symbol: _mm_set1_epi32
>>> referenced by /tmp/job5884567677308494677/upload/imgui/src/imgui/stb_image.h:2551
>>>               DefoldImGui_1.lib(extension_imgui.cpp_0.o):(void __cdecl stbi__idct_simd(unsigned char *, int, short *const))
>>> referenced by /tmp/job5884567677308494677/upload/imgui/src/imgui/stb_image.h:2552
>>>               DefoldImGui_1.lib(extension_imgui.cpp_0.o):(void __cdecl stbi__idct_simd(unsigned char *, int, short *const))
	lld-link: error: undefined symbol: _mm_load_si128
>>> referenced by /tmp/job5884567677308494677/upload/imgui/src/imgui/stb_image.h:2555
>>>               DefoldImGui_1.lib(extension_imgui.cpp_0.o):(void __cdecl stbi__idct_simd(unsigned char *, int, short *const))
>>> referenced by /tmp/job5884567677308494677/upload/imgui/src/imgui/stb_image.h:2556
>>>               DefoldImGui_1.lib(extension_imgui.cpp_0.o):(void __cdecl stbi__idct_simd(unsigned char *, int, short *const))


(etc)

I’m not exactly sure why the error occurs. We’ll have to look into it.

Since you add it as a dependency, we build the engine for you. So in that sense you’re “using it”.

1 Like

Yes, understood. Was highlighting it in case it helps narrow things down (i.e. none of the imgui functionality is actually used, only whatever happens in the dark magic of engine building).

1 Like

Please report this to the extension-imgui repo!

1 Like

One of our devs has changed to 1.2.186, and his work now seems to not being compiling for me (1.2.182). It seems like the collision objects are causing an issue?

I can’t say for sure it’s caused by the different version, but it does seem likely given it seems to compile for him.

Do you guys have any idea if this could be the issue? Any help is greatly appreciated.

Could be the addition of the is bullet change on collision objects?

2 Likes

Yes, this is a very likely cause of the problem. By opening the project in a new version and saving it the bullet property has been added to the collision objects, and since you are using an older version which doesn’t know of this property you get an error. Revert using version control or manually edit the file(s) in a text editor.

2 Likes