Defold 1.9.5 has been released

Defold 1.9.5

Summary

  • NEW: (#9636) Remove unused world constant from tile_map in builtins (by FlexYourBrain)
  • NEW: (#9644) Automatically calculate the maximum number of game objects required for a runtime collection (by AGulev)
  • NEW: (#9649) Add the engine-setup script tag to the HTML5 template (by aglitchman)
  • NEW: (#9659) Misc platform fixes for extensions (by Jhonnyg)
  • NEW: (#9562) Add a read-only property for the Current Node in the GUI. (by AGulev)
  • NEW: (#9475) Http cache improvements (by Jhonnyg)
  • NEW: (#9610) Add support for pivot points for atlases (by JCash)
  • FIX: (#9671) Added new property in game.project to specify minimum log level project.minimum_log_level (by AGulev)
  • FIX: (#9566) Add alpha blending before rendering profiler (by Jhonnyg)
  • FIX: (#9499) Added Switch Pro Controller for Windows (by wistpotion)
  • FIX: (#9550) Fix multi-materials in one skinning model (by jixingcn)
  • FIX: (#9563) Only split combined samplers when needed (by Jhonnyg)
  • FIX: (#9643) Fix crash when MaxDynamicTextures == 0. (by ekharkunov)
  • FIX: (#9559) Fixed issue where the horizontal scroll bar was covering the last line in the console or the code editor (by AGulev)
  • FIX: (#9637) Proper engine shutdown (by AGulev)

Engine

NEW: (#9636) ‘Remove unused world constant from tile_map in builtins’ by FlexYourBrain
The unused world constant has been removed from the tile_map material from builtins.

NEW: (#9644) ‘Automatically calculate the maximum number of game objects required for a runtime collection’ by AGulev
Bob calculates how many game objects are used by each collection. If the collection has no factory or collectionfactory component, this value is used to allocate the exact number of GameObjects for the world (collection proxy). Otherwise, collection.max_instances is used.

This helps save memory, especially in cases where the game has a world that requires a large max_instances value for the main game scene, but smaller and static extra scenes (such as popups, menus, etc.).

NEW: (#9649) ‘Add the engine-setup script tag to the HTML5 template’ by aglitchman
This change brings back the engine-setup section to the HTML5 template. Developers can use it and native extensions can inject code here to add game startup parameters via the CUSTOM_PARAMETERS object, setup loading progress listeners, override the dmloader.js functions.

NEW: (#9659) ‘Misc platform fixes for extensions’ by Jhonnyg
A new DMSDK function has been added that can get the OpenGL id from a rendertarget: OpenGLGetRenderTargetId. Also, Vulkan support for iOS is working correctly again after recent GLFW changes.

FIX: (#9671) 'Added new property in game.project to specify minimum log level project.minimum_log_level by AGulev
Using the new game.project property project.minimum_log_level, it is possible to specify the minimum log level for the logging system. Only logs at the minimum level or higher will be shown.

FIX: (#9566) ‘Add alpha blending before rendering profiler’ by Jhonnyg
Forced the in-game profiler to always be rendered with alpha blending.

FIX: (#9499) ‘Added Switch Pro Controller for Windows’ by wistpotion
Added Switch Pro Controller for Windows.

FIX: (#9550) ‘Fix multi-materials in one skinning model’ by jixingcn
Fixed an issue where custom vertex attributes are applied only from the first material in a situation where the same material is used across multiple material slots in a model file, but where each sub-material has overridden attributes.

In the .model file, the order of materials must be the same as in the original model file(.glb). (Notice: the defold editor will reorder all materials by name when you edit and save the model.)

FIX: (#9563) ‘Only split combined samplers when needed’ by Jhonnyg
Partial fix for #9533, the issue will still persist when building with WebGPU.

FIX: (#9643) ‘Fix crash when MaxDynamicTextures == 0.’ by ekharkunov
Setting dynamic textures to zero in GUIs no longer crashes the engine when running.

Editor

NEW: (#9562) ‘Add a read-only property for the Current Node in the GUI.’ by AGulev
Added a new read-only property Current Nodes for GUI to display the number of nodes currently being used in the GUI.

NEW: (#9475) ‘Http cache improvements’ by Jhonnyg
Several improvements to the HTTP support in the engine has been made:

  • Restarting a project from the editor should be significantly faster for large projects
  • HTTP requests via the http.request function for large files should also be significantly faster
  • HEAD requests in the engine should be working correctly now - you can use a HEAD request to get the size of a remote file

NEW: (#9610) ‘Add support for pivot points for atlases’ by JCash
The images in an atlas now have support for a setting pivot point.
The pivot is defined in units, where (0,0) is top left corner of the image, and (1,1) is bottom right of the image.
The pivot is allowed to be outside of the [0, 1] range.
Default is (0.5, 0.5), which is the middle of the image.

FIX: (#9559) ‘Fixed issue where the horizontal scroll bar was covering the last line in the console or the code editor’ by AGulev
Fixed an issue where the horizontal scrollbar made it impossible to interact with the last line in the console or the code editor.

FIX: (#9637) ‘Proper engine shutdown’ by AGulev
Engine side fix for Setting the game object max count too high causes a crash · Issue #9606 · defold/defold · GitHub

The engine shouldn’t crash on De-init if error happened during initialization

21 Likes

Pivot is great feature, solved half of my long lasting problems, that I have described here
Maybe it’s a good idea to have a gizmo in atlas view for pivot.

1 Like

Wow. A lot has changed from 1.9.1 to 1.9.5.
Too bad for me it comes in the shape of WARNING.GAMESYS ‘Material’ issues

And ERRORs that halts the engine due to low resource and failed to loads. Wild.

Also, in Windows 10, Ctrl+/ for code comments n longer works.

What kind of errors? We can’t help you unless you share the actual errors?

In your custom materials? Or the built-in materials?

Do you have any custom key bindings or are you using only the defaults?

2 Likes

Yes: Visual marker of sprite pivot point in atlas · Issue #9700 · defold/defold · GitHub

1 Like

A warning is not an error. If you are getting warnings regarding unused constants and such, it’s just to notify you that you are specifying things (constants, attributes, samplers) that you are aren’t using in the shaders.

5 Likes

I have default settings for Windows 10. The Ctrl+/ shortcut normally works as it should. I don’t know if there’s a way to check all shortcuts in Windows.

A little late to the talk, but did we get shader uniform structs? I saw an issue on the repo at Support for passing data into uniform structs in shaders · Issue #9678 · defold/defold · GitHub and wondered if it got added

Not merged yet, but it’s almost done :+1:

3 Likes

I had to modify game.project and errors went away. Only after 1.9.5 update did I need this, though.

In my custom materials. I made a back up, clean the files, then the engine kept crashing, so I return back to the old state to keep working.

I do have a custom key binding file. Worked up until 1.9.5.

Note: I switched from 1.9.1 → 1.9.5. None in between.

However, since this feature is not available yet, you can move the atlas to one window and have the sprite in another window to see what happens when you change the pivot point.

1 Like

I do have custom key binds. Ctrl + Slash is in the bindings file. Should I remove it?

Previously you were required to have all keybindings in your custom keybindings file. This is no longer needed. You only need to have the bindings for commands you wish to override. The rest can be omitted and the editor will then use the defaults.

Also note that we updated JavaFX recently which could perhaps also cause problems with existing keybindings. If you can’t get it to work then please report a bug on GitHub!

1 Like