bob.jar
json.decode()
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 https://github.com/defold/defold/issues/8172
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: (#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.
NEW: (#8270) Improve memory usage in large projects
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.