FIX: (#6643) Reduce Lua bytecode size For builds using LuaJIT the resource archive contains both 32- and 64-bit versions of the bytecode for all Lua files. The difference between the 32- and 64-bit bytecode is usually not that big which means that there is a lot of duplicated bytecode. To improve on this the build tools now generate a diff/delta between the two and instead apply this delta to generate the 32-bit bytecode if needed. With the improvement in place the size of the bytecode can be reduced by between 30% to 90%. Finally, if bundling for only a single architecture the delta will be ignored and only the bytecode for the appropriate architecture will be included in the bundle.
FIX: (#6642) Only copy Android native libs for the bundled architectures The Android bundler always copies native libraries from dependencies for all supported architectures (32 and 64b bit) even if the bundle is created for a single architecture. To reduce the size of the generated APK the Android bundler will now only copy library files for the architecture(s) for which the bundle is created.
FIX: (#6647) Speed up Lua script file processing This fix will speed up the processing time of Lua files significantly. The primary improvement is achieved by changing the way Lua comments are removed from the source code and by caching results between build steps.
FIX: (#6549) Early out of render script if window is minimized
The frustum calculation in the default render script does not take into account situations when the window width or height is 0. This can for instance happen on the frame when the window is minimized on Windows. In such situations the frustum calculation resulted in an invalid frustum and the subsequent draw command generated a Lua error. The default render script will now detect this and early-out of the update()
function.
FIX: (#6563) Improved progress bar when streaming the wasm file on engine startup This improves the accuracy of the HTML5 progress bar when streaming the .wasm file on engine startup (using the Wasm Streaming option in game.project).
FIX: (#6629) Crash when processing invalid render entries
The frustum culling task modified the behavior of the render entries list.
We need to keep that array compact, and in this case the dmRender::RenderListSubmit()
-logic was a bit flawed.
FIX: (#6602) Issue 6602: Fix for looping out of bounds when generating render batches Fixes a crash when generating render batches.
FIX: (#6401) [DEFEDIT-6401] Faster resource-sync after external changes Reloading large collections or game objects that have been modified externally is now a lot faster. The editor will now skip reloading externally touched files if they already match the in-memory state.
FIX: (#6558) Don’t scroll to selection unless it changed We scroll on every selection sync. This was initially implemented to scroll to item in the outline when selection in the scene is changed. Current behavior has a downside: when a property of a selected item is changed, it forces the scroll to happen, which is very annoying. This changeset skips tree view scrolling if the selection didn’t change.