NEW: (#3614) Add matrix user constant type
It is now possible to set matrix constants in materials via go.set or render.constant buffers:
local buffer = render.constant_buffer()
buffer.ny_matrix = vmath.matrix4()
NEW: (#6529) Add array support for constant buffers in render scripts
Constant buffers supports setting array values by using tables:
local buffer = render.constant_buffer()
-- in-line
buffer.my_array = { vmath.vector4(), vmath.vector4() }
-- as elements
buffer.my_array = {}
buffer.my_array[1] = vmath.vector4()
NEW: (#6155) Add anisotropic filtering support for material samplers
Material sampler slots now have a new field called max_anisotropy
that you can use to set the level of anisotropic filtering for specific shader samplets. The max value is determined by the device driver and will be capped to the max value if a higher value has been provided.
NEW: (#6532) Add more descriptive error message to sys.save
If a sys.save()
operation fails the error message will now contain additional information about the reason.
This PR adds a new function in dstrings.h
(dmStrError
) that translates and copies errno values to a buffer for printing human readable error messages.
NEW: (#6676) Increase table serialization limits It is now possible to serialize Lua tables with more than 65535 keys (new max is 2^32). The previous maximum size of 512kb for the serialized table has been removed and dynamic memory allocation will be used for tables larger than 512kb.
Note: The save file format has changed which means that a file saved with 1.3.6 is not compatible with older versions of Defold.
NEW: (#6872) Change profiler layout for representation in runtime Fix issue when many property values rendered out of screen in the runtime profiler.
NEW: (#6828) Center view on camera Added an option on the camera component to toggle from the default perspective projection to an orthographic projection. When a camera component is in orthographic projection mode it will automatically center on the position of the game object the camera belongs to.
A new orthographic_zoom
property has also been added to the camera component to change the zoom level when using the orthographic projection. This can be used either as a fixed zoom or from a script to set a variable zoom level based on window dimensions.
These changes are compatible with the existing default render script. To use both the view and projection from the camera the developer must send a use_camera_projection
message to the render script. The camera and render documentation need to be changed to reflect these changes.
FIX: (#6945) Added raw gamepad input to gui scripts Raw gamepad events were previously only sent to script components. This fix adds raw gamepad input events to gui scripts as well.
FIX: (#6224) Added particle initial stretch values to emitter template This fix adds missing values to the particle emitter template used by the editor when adding an emitter to a particlefx.
FIX: (#6818) Luajit updated LuaJIT to version 633f265
FIX: (#6925) Show options when there are multiple candidates for a partial console path When multiple project resources match a partial file path in the Console, we now present a choice of resources to open.
FIX: (#6871) Updated Remotery 1.2.1 This change updates the Remotery profiler to version 1.2.1. The new version contains bug fixes and performance improvements.
FIX: (#6883) Fix rare crash in profiler Make sure that profiler doesn’t crash if Lua doesn’t provide information about function source.
FIX: (#6898) Byte code errors in multi-architecture builds run on a 32-bit device The 32- and 64-bit byte code delta used to patch 64-bit byte code for 32-bit devices was sometime calculated incorrectly such that the written byte code became invalid. This could be observed when bundling for both 32-bit and 64-bit and running the build on a 32-bit device (Android)
FIX: (#6613) Fix issue when backspace holding doesn’t work on iOS
This fix makes it possible to remove multiple symbols if a user holds backspace
button instead of a single tap - a single character removing.
FIX: (#6764) Make it possible to avoid filling device_ident
value
Fixed issue when GetSystemInfo()
(the method used internally and for sys.get_sys_info()
) by default requests device_ident
. On Android this is android_id
- a value secured by OS. If an application requests this then Data Safety Section needs to be filled even if app doesn’t use internet connection and any IDs at all.
If you don’t need device_ident
value just call sys.get_sys_info()
function with {ignore_secure = true}
parameter: sys.get_sys_info({ignore_secure = true})
FIX: (#6531) Don’t automatically enable all extensions on WebGL
FIX: (#6858) Prevent situations when app hangs in infinite loop instead of crash on MacOS Fixes a rare situations when application hangs in infinite loop instead of crash on MacOS.
FIX: (#6597) Fix crash in some cases when count of labels more than label.max_count
Fixes crash that reproduces with the following conditions:
FIX: (#3400) Update iconexe and defold icon with a bigger size The problem was that the IconExe class doesn’t add any icons, it just replaces the ones that exist. Our default icon was previously 128x128 as max resolution, this PR replaced it with a log thats 256x256.
This PR also updates our IconExe.java to the newest version from latest SWT master.
FIX: (#6847) Use --verify-graphics-calls=false
by default for HTML5
Verifying of the graphics calls in html5 build maybe useful for debug reason, but it’s may be very slow on some browsers. This fix makes --verify-graphics-calls=false
the option by default to make build faster even in debug. But if you have any graphics related issues in your buld while testing, remove this argument or change it to --verify-graphics-calls=true
to have more information what’s going on.
FIX: (#5727) Fix issue with force using of landscape mode in iOS games on macOS with M1 Fixed issue when iOS game installed on M1 Mac forces to use landscape mode even if game made in portrait mode.
NEW: (#3981) Expose sprite scaling in the editor
The sprite component has a scale but it has not been possible to modify it from the editor. The sprite scale could only be change at runtime using go.set("#sprite", "scale", vmath.vector3())
. This change adds a scale property to the sprite component, next to the already existing position and rotation properties.
NEW: (#6786) Use label as tooltip text for unknown settings This allows viewing the full name of a setting in a tooltip when it does not fit in its place.
FIX: (#6885) Fix Lua breakpoints not hitting unless bytecode is embedded
Fixed Lua debugger breakpoints not suspending execution when running from the editor or bundling with the --use-lua-source
flag.
FIX: (#6399) Retain specific expensive outputs in editor cache
FIX: (#6806) IDE: Unsorted order of assets Fixed sorting.
FIX: (#6796) Profiler is sometimes unresponsive
Added a profiler.sleep_between_server_updates
game.project setting to set the delay in milliseconds between profiler server updates. Try changing this value to something like 50ms if you have problems with the computer becoming unresponsive while using the profiler.
The profiler will now also reuse any existing profiler port when reconnecting. This should solve reported issues with profiler connection problems.
FIX: (#6388) Skip engine build when running on a remote target
FIX: (#6678) Fix shift+click selection in select list dialog This changeset instructs ListViewBehavior to not set the anchor for shift-selection to the end of a list when we change list items by typing into filter text field.