Age | Commit message (Collapse) | Author |
|
|
|
Fix minor code style issues in the RST generator
|
|
|
|
|
|
[TextEdit] Improve block/insert caret drawing.
|
|
|
|
Allow dropping property path into script editor
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fix incorrect word block colors in the inspector tooltip
|
|
|
|
Fix directional shadow bias
|
|
Fixes #51623.
|
|
|
|
Refactors the memnew_placement.
|
|
Improve drag and dropping files into viewport by supporting more types
|
|
Improve naming of a couple shortcuts
|
|
Few improvements for constants in visual shader
|
|
Changed `TransformMult` node to `TransformOp` in visual shaders
|
|
ustring: Replace macros with inline functions.
|
|
Fix some unnecessary includes
|
|
Use the Unicode multiplication symbol where relevant
|
|
|
|
Add placeholder textures to ensure CameraTexture / CameraFeed always have valid RIDs.
|
|
Key, touch and joystick events will be passed directly from the UI thread to Godot, so they can benefit from agile input flushing.
As another consequence of this new way of passing events, less Java object are created at runtime (`Runnable`), which is good since the garbage collector needs to run less.
`AndroidInputHandler` is introduced to have a smaller cross-thread surface. `main_loop_request_go_back()` is removed in favor just inline calling `send_window_event()` at the most caller's convenience (i.e., leveraging the new `p_deferred`` parameter as appropriate).
Lastly, `get_mouse_position()` and `get_mouse_button_state()` now just call through `Input` to avoid the need of sync of mouse data tracked on the UI thread.
|
|
If enabled, key/touch/joystick events will be flushed just before every idle and physics frame.
Enabling this can greatly improve the responsiveness to input, specially in devices that need to run multiple physics frames per each idle frame, because of not being powerful enough to run at the target frame rate.
This will only work for platforms using input buffering (regardless event accumulation). Currenly, only Android does so, but could be implemented for iOS in an upcoming PR.
|
|
New contributors added to AUTHORS:
@angad-k, @Bhu1-V, @Blackiris, @ellenhp, @fabriceci, @follower,
@foxydevloper, @Geometror, @hilfazer, @hoontee, @Janglee123,
@Razoric480, @SirQuartz, @theoway.
Thanks to all contributors and donors for making Godot possible!
|
|
valid RIDs.
|
|
Input buffering is implicitly used by event accumulation, but this commit makes it more generic so it can be enabled for other uses.
For desktop OSs it's currently not feasible given main and UI threads are the same).
|
|
- API has been simplified: all events now go through `parse_input_event()`. Whether they are accumulated or not depends on the `use_accumulated_input` flag.
- Event accumulation is now thread-safe (it was not needed so far, but it prepares the ground for the following changes).
- Touch drag events now support accumulation.
|
|
Don't save project on startup in no window mode
|
|
With this commit the macro `memnew_placement` uses the standard memory
placement syntax: `new (mem) TheClass()`, and removes the outdated and
not used syntax:
```
_ALWAYS_INLINE_ void *operator new(size_t p_size, void *p_pointer, size_t check, const char *p_description) {
```
Thanks to this change, the function `memnew_placement` call is compatible with
any class, and can also initialize classes with non-empty constructor:
```
// This is valid, like before.
memnew_placement(mem, Variant);
// This works too:
memnew_placement(mem, Variant(123));
```
|
|
[cppcheck] Fix Duplicate Conditions
|
|
|
|
Fix shader crash when using local var with the same name as varying
|
|
Resolve issue where the Godot app remains stuck when resuming.
|
|
Upgrade Vulkan Memory Allocator, use Volk on Android
|
|
Add support for prompting the user to retain app data on uninstall.
|
|
|
|
|
|
|
|
Supported on Android 10 and higher.
|
|
Add new inline functions to check if a character is lowercase or uppercase.
Remove unused upper case macro.
|
|
This was caused by the fact that a new instance of Godot was created at resume while a previous instance already existed.
The previous instance would then go through its cleanup lifecycle, and would thus attempt to close the entire app, leading to the system to restart the app, thus starting the cycle anew.
The fix involves reusing the previous instance of Godot if one is available instead of creating a new one, as well as giving control to the host activity for how the process should be terminated.
|
|
|
|
We no longer build the Vulkan loader, and volk lets us load it dynamically.
Roblox uses volk on Android so it should work well for us too.
|