CHANGE: (#7240) Update NDK 25 LTS (r25b) Defold updated from NDK r20 to NDK r25b - the latesNDK version at the moment. Now minimum Android version API is 19 (Android 4.4)
NEW: (#7264) Factory dynamic prototype
We’ve added the possibility to change the prototype of a
factory component at runtime.
This allows the developer to load and spawn an arbitrary
.goc file, further simplifying using dynamic content. The
.collectionc/.goc` files still need to be part of the resource archive.
Doc: collectionfactory.set_prototype() / factory.set_prototype()
We’ve added a “Dynamic Prototype” checkbox to the factories. The prototype can only be overridden when this is checked. If set, then the collection component count cannot be optimized, and the owning collection will use the default component counts from game.project.
NEW: (#7029) Add timer.get_info() function
Sometimes it is needed to get additional information about a running timer, for instance the remaining time before it fires. This change adds a
timer.get_info(handle) method which returns a table with information about a timer. Example:
local handle = timer.delay(2, true, function() end) --after 0.5 seconds we call: local info = timer.get_info(handle) print(info.time_remaining) -- 1.5 print(info.delay) -- 2 print(info.repeating) -- true
If timer cancelled or completed the function will return nil.
NEW: (#7266) Update Android SDK (33.0.1 - Android 13 - API 33) Android SDK updated to version 33.0.1 Android target API updated to API level 33 (Android 13).
NEW: (#7296) Document ports and services The engine ports and services are now documented in engine/docs/DEBUG_PORTS_AND_SERVICES.md.
NEW: (#6902) Shader include support Added support for #include pragmas in shader files. This feature can be used to separate shader functions into modules that can be used across several shader files, which should help out with reusing code from your own project, or from asset extensions.
Read more in the manual: https://defold.com/manuals/shader/#including-snippets-into-shaders
NEW: (#7329) Update Screen Orientation options by Default on iOS and Android
android:screenOrientation on Android (read more). Use both
UIInterfaceOrientationPortraitUpsideDown for portrait on iOS and
UIInterfaceOrientationLandscapeRight for Landscape (read more).
NEW: (#7214) Create buffer in runtime Added new function resource.create_buffer to create buffer resources dynamically in runtime. The function takes a buffer object created by other buffer resources, from the C api or via the lua buffer.create function.
API reference: https://defold.com/ref/beta/resource/#resource.create_buffer:path-table
FIX: (#7315) Fix issue with components counter for cached resources Now Bob considers changes in a linked GameObject when deciding to take a collection from the cache or rebuild it.
FIX: (#7337) Uploading empty index buffer on WebGL is very slow When updating an empty index buffer, it took 90ms in my case.
FIX: (#7320) Fix issue when OGG file added to GO without component doesn’t work in bundle Now bob converts ogg component (resource based component) into sound component when building.
FIX: (#7343) Show error in bob when referencing missing script resource properties Bob now reports an error for missing script resource properties.
FIX: (#7355) Fix missing emitter fields of Initial Stretch X and Initial Stretch Y and Initial Angular Velocity for multiple emitters
Adds emitter fields of
Initial Stretch X and
Initial Stretch Y and
Initial Angular Velocity to emitters that added after a particle effects that use more then one emitter. Previously these fields were missing from
template.emitter which caused these fields to be greyed out for particle effects that used more than one emitter. Also clicking on those fields and adding a value causes an error
FIX: (#7359) Moved dmProfile::HProfile/BeginFrame/EndFrame to the dmsdk for easier substitution This change allows for easier custom implementation of the profiling data in an extension.
FIX: (#7370) Fixed issue with model vertex color in rgb format
This fixes an issue when importing vertex colors in 3-tuples. We convert it into 4-tuples, with
It is now also possible to avoid setting any textures at all in case your model doesn’t need them.
FIX: (#7336) Use min x and y scale for particle effect scale in gui The previous fix for particle effect scale only partially solved the problem of inconsistent particle effects scaling between gui and game objects. The original issue was that the x component of the scale was always used when scaling in the gui. The partial fix applied in #7163 used the smallest scale component of x, y and z, which made particle effect scaling in gui more consistent. The problem is that on window resize only the x and y component of the scale of a gui node is affected while the z component remains at its original value, which would produce an incorrect result for particle effects.
The correct solution, which is applied in this fix is to use the smallest of the x and y component when applying a scale to particle effects in gui. This is consistent with how other nodes are scaled and it is also consistent with how particle effects on game objects are scaled using smallest uniform scale value (using x, y, z in 3d/go and only x and y in 2d/gui).
FIX: (#7312) Improve GUI modification performance This improves the editing performance of highly-referenced GUI files by around 25% (reduces the number of successors in a real-world project from 200k to 150k).
FIX: (#7325) Fix Dependencies and Referencing Files popup showing blank entries for some resource types Fix Dependencies and Referencing Files popup showing blank entries for some resource types
FIX: (#7350) Fail the build on invalid requires
The editor will now fail the build if a script file requires an existing lua module, but starts the
require argument string with a slash.
FIX: (#7363) Removed license header from debugger bootstrap script The Defold license was accidentally applied to the debugger bootstrap script which made the script too large to send as a message when attaching the debugger.
FIX: (#7389) Fixed issue when calculating convex hull for atlas images The hull calculation was incorrect and produced overlapping triangles.