Age | Commit message (Collapse) | Author |
|
|
|
Rewrote raster DOF shader to using BOKEH
|
|
The `PagedAllocator` can now allocate objects with non empty constructors.
|
|
Use get_global_* functions instead of using transforms.
|
|
Disable Node3D when compiling without 3D and fix disable_3d option
|
|
|
|
Rename LineShape2D to WorldMarginShape2D
|
|
It uses the (`const T &&... p_args`) forward reference, to avoid copying the
memory in case it's an rvalue, or pass a reference in case it's an lvalue.
This is an example:
```c++
PagedAllocator<btShapeBox> box_allocator;
btShapeBox* box = box_allocator.alloc( btVector3(1.0, 1.0, 1.0) );
```
|
|
The new name makes it more obvious that it acts as an infinite plane,
and is consistent with its 3D counterpart (WorldMarginShape3D).
|
|
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
|