Defold 1.6.3 BETA
The latest beta is now released, and we invite those interested in beta testing the new features in the editor and engine to join now.
The beta period will be 2 weeks and the next planned stable release is two weeks from now.
We hope this new workflow will highlight any issues earlier, and also get valuable feedback from our users. And please comment if you come up with ideas on improving on this new workflow.
Please report any engine issues in this thread or in issues using Help → Report Issue
Thx for helping out!
Disclaimer
This is a BETA release, and it might have issues that could potentially be disruptive for you and your teams workflow. Use with caution. Use of source control for your projects is strongly recommended.
Access to the beta
Download the editor or bob.jar from http://d.defold.com/beta/
Set your build server to https://build-stage.defold.com
Defold 1.6.3
Summary
- NEW: (#8225) Detect renderable float and half float texture formats on OpenGL ES 2.0 / WebGL 1.0 devices
-
NEW: (#8227) Exclude headless dmengine from
bob.jar
-
NEW: (#8267) Fix small memory leak in
json.decode()
- NEW: (#8289) Print generic error when OpenGL shader compilation or program linking fails
- NEW: (#8270) Improve memory usage in large projects
- FIX: (#8247) Wrap glfw calls in dmPlatform library
- FIX: (#8244) Add support for luminance_alpha in image.load
- FIX: (#8242) Use the WebGL 1.0 specific constant for the half float format.
- FIX: (#8260) Set HTML5 AudioContext sample rate to 44100
- FIX: (#8295) Fix rare multipage atlas issue with compressed textures (HTML5).
- FIX: (#8299) Fixed triggers and back button for controllers on macOS
- FIX: (#8283) Fix “Optimization pass failed” issue
- FIX: (#8283) Fix issue when usage of semicolons in Lua may break compilation.
- FIX: (#8345) Model multi material doesn’t respect the sampler names
Engine
NEW: (#8225) Detect renderable float and half float texture formats on OpenGL ES 2.0 / WebGL 1.0 devices
Adds the ability to render to 16-bit and 32-bit floating-point color buffers on OpenGL ES 2.0 and WebGL 1.0 if the device supports them. The support depends on the extensions EXT_color_buffer_half_float
and WEBGL_color_buffer_float
.
Closes Webgl 1 support for float render targets · Issue #8172 · defold/defold · GitHub
NEW: (#8227) Exclude headless dmengine from bob.jar
Now “vanilla” dmengine_headless
(headless dmengine binary without native extensions) will be downloaded from the server if needed. It’s rarely used, but was shipped with each bob.jar
for all the platforms.
NEW: (#8267) Fix small memory leak in json.decode()
Each json.decode()
call allocates 1kb of memory, which should be freed after.
NEW: (#8289) Print generic error when OpenGL shader compilation or program linking fails
Adds generic error message when OpenGL shader compilation or program linking fails. Previously, the shader error message was only printed if the GPU driver provided it. Depending on the implementation, the driver may not do this and so the developer would not get any message and could not understand why the game crashed.
Also for OpenGL program linking the warning is replaced by an error, because after this failure the game cannot continue to work.
Closes #8287
FIX: (#8247) Wrap glfw calls in dmPlatform library
We have added a new engine platform library, which is the first step into upgrading and simplifying our GLFW library.
Migration plan:
- fix console to support the new changes
- remove building glfw in the engine
- migrate desktop platforms to use vanilla glfw3
- move our web and mobile code from glfw into their own implementations within the engine
- remove the custom glfw 2.7 implementation from the engine
FIX: (#8244) Add support for luminance_alpha in image.load
Moved internal dmImage functionality into the dmsdk for loading images from binary data. The API looks like this:
namespace dmImage
{
Result Load(const void* buffer, uint32_t buffer_size, bool premult, HImage image);
void Free(HImage image);
Type GetType(HImage image);
uint32_t GetWidth(HImage image);
uint32_t GetHeight(HImage image);
const void* GetData(HImage image);
}
NOTE: that this also changes the API for the script image.load
function since we now will return image.TYPE_LUMINANCE_ALPHA
for PNGs with both grayscale and alpha channels. This is considered a bugfix so please be aware of this if you are using that function!
FIX: (#8242) Use the WebGL 1.0 specific constant for the half float format.
WebGL 1.0 supports loading half float textures. But it requires the use of HALF_FLOAT_OES constant, which has a different value from the HALF_FLOAT constant from WebGL 2.0 / OpenGL ES 3.0. This fix enables to use half float texture format on WebGL 1.0 devices.
FIX: (#8260) Set HTML5 AudioContext sample rate to 44100
HTML5 AudioContext sample rate wasn’t specified and varied depending on the output device and it could be default 44100, or it could be 8000, 16000, 22050, 32000, 48000 etc. If the sample rate of the device was less than the sample rate of your sounds, they would not be played at all. So the AudioContext is now created with sampleRate = 44100.
FIX: (#8295) Fix rare multipage atlas issue with compressed textures (HTML5).
Some old devices don’t work with multipage atlases if texture transcoded to ASTC format. For such devices, ASTC will be marked as non-supported format and the next best fits will be used (most of the time it will be ETC2).
FIX: (#8299) Fixed triggers and back button for controllers on macOS
Fixed an issue when triggers and back button on macOS weren’t caught by the gamepads input system.
FIX: (#8299) Fix issue when usage of semicolons in Lua may break compilation
Fixed an issue when our Lua parser removes semicolons which shouldn’t be removed, which breaks Lua compilation.
FIX: (#8345) Fix issue when usage of semicolons in Lua may break compilation
In some cases, a model with multiple textures would get them assigned to incorrect texture units.
Editor
NEW: (#8270) Improve memory usage in large projects
- Improved memory usage in large projects.
- We now report resources that fail to build due to an out-of-memory error to the Build Errors tab.
FIX: (#8283) Fix “Optimization pass failed” issue
Make sure pipeline tools use DLLs from jdk/bin
folder to prevent Optimization pass failed:
error on windows.