Commit Graph

164 Commits (cb1569345a6f17da08241e645ab03cb2e1b78d2f)

Author SHA1 Message Date
bruvzg a4b17e7852 [FileAccess] Return error codes from `store_*` methods. 2024-11-29 23:22:31 +07:00
Dario 6d5ac8f7ef Resolve load and store ops automatically for render passes for discardable textures. 2024-11-25 11:27:48 +07:00
Danil Alexeev 03b05cf9ac
Core: Fix built-in enum constant bindings 2024-11-22 14:03:21 +07:00
Dan Nicholson 6f4fadf65d Expose standardize_locale add_default param publicly
Comparing locales can have surprising outcomes since it standardizes
locales with defaults. For example, zh and zh_CN result in an exact
match since the defaults change them both to zh_Hans_CN. Expose the
add_default parameter publicly with a default of false so the fully
standardized locale can be inspected.
2024-11-21 16:50:31 +07:00
bruvzg 45593d45b3 Allow setting custom initialization vector for FileAccessEncrypted. Add export setting to set static seed for PCK encryption initialization vectors. 2024-11-13 08:16:12 +07:00
bruvzg 76164c2aa9
[OS] Add functions to determine standard I/O device type. 2024-11-06 13:33:38 +07:00
Michael Alexsander 16524a8a01
Add "Game" editor for better runtime debugging 2024-10-30 11:42:17 +07:00
Guilherme Sousa ec62978dd0 Fix non const animation node process function 2024-10-26 17:56:51 +07:00
Roman Morozov d532eecc81 Changed the default deadzone value for new actions from 0.5 to 0.2 2024-10-01 16:47:44 +07:00
Joel Fortier a58ae8e1c6 Fixed SoftBody3D handles not being clickable in 3D Editor Viewport
Fix erratic behaviour when modifying pinned_points via inspector
2024-09-16 21:30:31 +07:00
bruvzg 10f3c1f587
Add support for non-blocking IO mode to `OS.execute_with_pipe`. 2024-09-06 14:16:39 +07:00
Chris Cranford 9122be6474 Pass current value to `EditorInterface` node/property popups 2024-09-03 00:54:55 +07:00
Raul Santos 7fd261c8c1
Expose `AudioStreamPlayer{2D,3D}::set_playing` and remove `AudioStreamPlayer::{2D,3D}::_is_active`
- The `_is_active` method seems to be unused, so it was removed.
- The `_set_playing` method is now exposed, as the setter of the `playing` property.
    - The `play` method can't be used as a setter because it takes a `float` parameter instead of a `bool` parameter.
2024-08-30 17:16:46 +07:00
Nikita\Nick ebb5a5cc3d [RegEx] Add show_error parameter to control error printing on compilation fail 2024-08-28 15:35:42 +07:00
Radiant 6311ee5bd5 Add optional count argument to Sempahore::post
Co-authored-by: RandomShaper <RandomShaper@users.noreply.github.com>
Co-authored-by: A Thousand Ships (she/her) <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Mickeon <Mickeon@users.noreply.github.com>
2024-08-27 18:18:01 +07:00
Chaosus db251a3f99 Allow setting a cubemap as default parameter to shader 2024-08-27 09:43:05 +07:00
Rémi Verschelde f0d297d059
Merge pull request #95594 from aaronfranke/extension-api-validation
Update expected API validation files for the releases of Godot 4.2 & 4.3
2024-08-25 22:24:14 +07:00
Matias N. Goldberg 364f916f3f
Add debug utilities for Vulkan
Features:
- Debug-only tracking of objects by type. See
get_driver_allocs_by_object_type et al.
 - Debug-only Breadcrumb info for debugging GPU crashes and device lost
 - Performance report per frame from get_perf_report
- Some VMA calls had to be modified in order to insert the necessary
memory callbacks

Functionality marked as "debug-only" is only available in debug or dev
builds.

Misc fixes:
 - Early break optimization in RenderingDevice::uniform_set_create

============================

The work was performed by collaboration of TheForge and Google. I am
merely splitting it up into smaller PRs and cleaning it up.
2024-08-21 23:48:08 +07:00
Aaron Franke cd2a9230e9
Update expected API validation files for the releases of Godot 4.2 & 4.3 2024-08-15 14:50:54 +07:00
Raul Santos e47ff98451
Expose `ShapeCast{2D,3D}::get_collision_result` 2024-08-15 16:20:13 +07:00
David Snopek dd78ce4217 Update GDExtension related CI after Godot 4.3-stable's release 2024-08-15 07:38:49 +07:00
Rémi Verschelde c2a4942850
Bump version to 4.4-dev
Mr. Godot still didn't show up...
2024-08-15 11:39:34 +07:00
Hugo Locurcio 0445ccf428
Fix Image CowData crash when baking large lightmaps
This switches to 64-bit integers in select locations of the Image
class, so that image resolutions of 16384×16384 (used by
lightmap texture arrays) can be used properly. Values that are larger
should also work.

VRAM compression is also supported, although most VRAM-compressed
formats are limited to individual slices of 16384×16384. WebP
is limited to 16383×16383 due to format limitations.
2024-07-19 16:04:30 +07:00
Silc Lizard (Tokage) Renew 9c1f23c3db Re-add Skeleton3D::animate_physical_bones 2024-07-14 14:24:25 +07:00
Silc Lizard (Tokage) Renew 59667f8ea2 Fix property type of Sprite3D `frame_coords` to Vector2i from Vector2 2024-07-06 05:36:45 +07:00
Adam Scott 52fa4f05f3
Add samples playback support 2024-06-18 11:06:31 +07:00
Rémi Verschelde 62a056aa56
Fix extension API validation warning after #92861 2024-06-11 11:23:09 +07:00
Silc Lizard (Tokage) Renew bea47d877b Fix seeking Animation immediate after playback for Discrete track 2024-06-08 22:09:37 +07:00
Gilles Roudière 85eac45513 Display custom data name instead of indices in TileData inspector 2024-05-25 17:21:31 +07:00
Yaohua Xiong ed3d311687 Add antialias support for CanvasItem draw primitives
including
- rect, circle; both filled and unfilled.
- polyline, multiline
2024-05-13 19:03:31 +07:00
Rémi Verschelde 7d03b1de0b
Style: Trim trailing whitespace and ensure newline at EOF
Found by apply the file_format checks again via #91597.
2024-05-08 10:12:46 +07:00
Radiant 789c6ebdfd Implement `amplitude` to Input.vibrate_handheld
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: m4gr3d <m4gr3d@users.noreply.github.com>
2024-05-02 19:09:42 +07:00
bruvzg 360d365b33
[RTL] Adds extra argument to `remove_paragraph` to skip cache invalidation and a method for manual cache invalidation. 2024-05-02 14:03:21 +07:00
Yaohua Xiong 1f2aa17d14
Extend `CanvasItem::draw_circle()` with filled, width, and antialiased options
Make it possible to draw unfilled circle, like draw_rect(). Antialising is only implemented for unfilled version.
2024-05-02 10:42:24 +07:00
kit 773a473807 Overhaul multiple caret editing in TextEdit.
Use a multicaret edit to delay merging overlapping carets until the end.
2024-04-26 14:26:10 +07:00
bruvzg a116801ec7
Improve TextEdit/LineEdit word selection. 2024-04-22 14:02:07 +07:00
Rémi Verschelde bffaa98b13
Merge pull request #90645 from Malcolmnixon/unified-xr-trackers
Rework XR Trackers to have a common ancestor
2024-04-22 12:52:07 +07:00
Malcolm Nixon 823ae7b3fa Rework XR Trackers to have a common ancestor. Allow creation of XRNode3D to drive node positions and visibility. 2024-04-18 20:04:01 +07:00
Rémi Verschelde 2d884ba70c
Merge pull request #90797 from Geometror/vsnode-comment-compat
[Compatibility] Add stub for VisualShaderNodeComment
2024-04-18 12:24:50 +07:00
Lyuma cb7ef2b8de Add SkeletonIK3D get/set_interpolation compat from #87888 2024-04-18 01:49:12 +07:00
Hendrik Brucker 735c45dc8e [Compatibility] Add stub for VisualShaderNodeComment 2024-04-18 02:39:29 +07:00
Rémi Verschelde 36bdab4ddd
Merge pull request #90759 from dsnopek/openxr-hand-revert
Revert `OpenXRHand` to its pre-`SkeletonModifier3D` state
2024-04-17 10:59:10 +07:00
smix8 df66a55ef3 Remove experimental constrain_avoidance from NavigationRegion2D
Removes experimental constrain_avoidance feature from NavigationRegion2D.
2024-04-16 18:02:53 +07:00
David Snopek dfca388d75 Revert `OpenXRHand` to its pre-`SkeletonModifier3D` state 2024-04-16 10:36:43 +07:00
Silc Lizard (Tokage) Renew 78a5ef4158 replace bone_pose_updated to skeleton_updated signal 2024-04-13 05:48:42 +07:00
ajreckof 248e5bfba2
Revert what needs to be reverted 2024-04-10 09:49:30 +07:00
Silc Lizard (Tokage) Renew 04dd299cba Skeleton3D: Add SkeletonModifier / Deprecate Override / Separate PB 2024-04-05 01:28:26 +07:00
Hendrik Brucker a81561cbd9 Add GraphFrame and integrate it in VisualShader 2024-04-04 15:11:00 +07:00
Rémi Verschelde 1dacd6a527
Merge pull request #89179 from groud/expose_tile_map_layer
Expose TileMapLayer
2024-04-04 14:31:16 +07:00
ashley aa1bbe1542 add partial path return option for astar
* AStar2D, AStar3D and AStarGrid2D now can return a partial path if the destination point isn't reachable but still in the map. This option is available for both get_point_path and get_id_path
2024-04-03 22:27:33 +07:00
ajreckof ae472865d0 fix node duplication in update after external changes. 2024-04-03 12:19:38 +07:00
Gilles Roudière 3cd4b2859c Expose TileMapLayer 2024-04-03 11:02:34 +07:00
kobewi a7b6bcb988 Fix some AcceptDialog argument types 2024-03-12 14:33:43 +07:00
Hugo Locurcio 8221e7546b
Add editor shortcuts to toggle bottom panel visibility
Default shortcuts use the first or second letter of each word.

This also adds a new shortcut to toggle the last opened bottom panel.
On editor startup, this defaults to the first panel in the list
(which is the Output panel).
2024-03-05 15:53:15 +07:00
bruvzg 2a3de7adc3
[RTL] Add optional `push_meta` argument to control how meta underline is drawn. 2024-03-01 12:07:06 +07:00
Zi Ye 995bc8d049 Make Skeleton3D::add_bone return the new bone index right away, instead of requiring an additional call to get_bone_count. 2024-02-25 05:24:48 +07:00
K. S. Ernest (iFire) Lee 04d43947bf
Add ufbx for FBX importing
This update introduces a new import method for FBX files using ufbx. If the fbx2gltf import fails, it will use the most recently cached scene from the ufbx import. The process is sped up by introducing threads to load the ufbx portion.

Key changes include:

- Support for importing geometry helper nodes in FBX files.
- Addition of cameras and lights with updated names.
- Removal of the fbx importer manager.
- Introduction of ModelDocument3D and updates to its methods.
- Changes to FBX import options and visibility.
- Updating the documentation and handling some errors.
- Store the original non-unique node, mesh and animation names in FBX and glTF.

Co-Authored-By: bqqbarbhg <bqqbarbhg@gmail.com>
2024-02-23 22:33:04 +07:00
Raul Santos 5ba92e5a57
Fix some DEFVALs to use the right type
- Use `StringName()` in DEFVAL for StringNames.
- Use `Variant()` in DEFVAL for Variants.
2024-02-23 01:50:18 +07:00
Bastiaan Olij 5a98845655 Implement hooks into renderer 2024-02-18 21:54:21 +07:00
Rémi Verschelde e8755b380a
Merge pull request #84792 from scriptsengineer/distance-fog
Add optional depth fog to Environment
2024-02-18 11:23:29 +07:00
Eidolon 08f4560e69 Add optional depth fog 2024-02-17 22:39:34 +07:00
Rémi Verschelde 92fcbe2f5c
Revert "Allow configuration warnings to refer to a property"
This reverts commit bf37a9bac6.
2024-02-17 19:04:18 +07:00
Silc Lizard (Tokage) Renew 4659090543 Make consistent the retrieval of audio tracks 2024-02-18 00:15:33 +07:00
Silc Lizard (Tokage) Renew bc20fdf16f Add CallbackModeDiscrete to AnimationMixer 2024-02-17 18:25:56 +07:00
David Snopek 99fd6ca98c Unbind GDExtension methods that can't reasonably be used 2024-02-16 16:31:09 +07:00
Dario 73eff10c76 Finish splitting functionality of the Vulkan and D3D12 backends into RenderingDeviceDriver. 2024-02-12 10:02:18 +07:00
Gilles Roudière 5a999d67ec Change TileMapEditor to TileMapLayerEditor 2024-02-12 10:11:45 +07:00
Rémi Verschelde dd275238d1
Merge pull request #86907 from aaronfranke/getter-const
Change AudioStreamPlayer autoplay and GLTFBufferView getters to be const
2024-02-09 12:33:09 +07:00
RedMser bf37a9bac6 Allow configuration warnings to refer to a property
This is used by the inspector so it can show a warning icon on
a specific property.
2024-02-08 23:05:20 +07:00
Aaron Franke 35c99bbcc1
Change AudioStreamPlayer autoplay and GLTFBufferView getters to be const 2024-02-08 13:01:50 +07:00
Hugo Locurcio 93be97e6a7
Make ShaderMaterial always the last option in inspector resource dropdowns
ShaderMaterial is the "advanced" option, while the "basic" options
should be listed first for easier accessibility (and because they're
generally used more often).

This makes sky and particle materials consistent with
canvas/spatial/fog materials on this aspect.
2024-02-05 21:49:17 +07:00
bruvzg 85df221610
[TextServer / Font] Add support for customizable baseline offset. 2024-01-28 13:26:49 +07:00
Hendrik Brucker 9d7c2978f4 Rework GraphEdit connections (drawing, API, optimizations)
- GraphEdit now uses Line2D nodes to draw connection lines and uses a dedicated canvas item shader for them
2024-01-18 16:53:15 +07:00
Gilles Roudière 48bed5050b Make TileMapLayers extend Node2D and work as children of TileMap 2024-01-17 16:05:50 +07:00
Dario 80eacf1b7a Fix incorrect mapping of initial action as clear region continue to clear. 2024-01-09 22:03:21 +07:00
Dario cc4d39b0c1 Acyclic Command Graph for RenderingDevice.
Adds a new system to automatically reorder commands, perform layout transitions and insert synchronization barriers based on the commands issued to RenderingDevice.
2024-01-08 14:54:56 +07:00
Silc Lizard (Tokage) Renew a51958a2a0 Remove Object pointer/solve types conflict in AnimationTrackCache
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-01-08 21:48:19 +07:00
Robert Borghese 7bf88df324
Fix PhysicsShapeQueryParameters3D.motion type wrongly set to Vector2 2024-01-02 12:30:35 +07:00
Gilles Roudière 18fe0bd025 Move tile transforms handling cache to TileData 2023-12-13 17:44:59 +07:00
Rémi Verschelde cff4af018f
CI: Add 4.2-stable.expected file for GDExtension compatibility checks 2023-12-07 09:36:54 +07:00
Yuri Sizov 623b905d2e Remove unused `NOTIFICATION_NODE_RECACHE_REQUESTED` notification 2023-11-06 12:16:32 +07:00
BlueCube3310 bd67e0a0bc Change dropdown type filter to Texture2D in certain nodes 2023-10-28 17:39:47 +07:00
QbieShay c228fe1a0d Particle internal refactor and additions for more artistic control
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Co-authored-by: Mew Pur Pur <85438892+MewPurPur@users.noreply.github.com>
Co-authored-by: Clay John <claynjohn@gmail.com>
2023-10-10 20:03:35 +07:00
clayjohn 51ed3aef63 Vertex and attribute compression to reduce the size of the vertex format.
This allows Godot to automatically compress meshes to save a lot of bandwidth.

In general, this requires no interaction from the user and should result in
no noticable quality loss.

This scheme is not backwards compatible, so we have provided an upgrade
mechanism, and a mesh versioning mechanism.

Existing meshes can still be used as a result, but users can get a
performance boost by reimporting assets.
2023-10-05 12:02:23 +07:00
Yuri Sizov b07c664af9 Make `GraphEdit` toolbar more customizable
Also adds a semi-transparent background
to make the toolbar stand out in front of nodes.
2023-10-02 13:43:08 +07:00
Rémi Verschelde bc118b36ac
Merge pull request #82370 from YuriSizov/graphs-request-rename-close-delete-please
Rename close requests to delete requests in `GraphEdit`
2023-10-02 13:16:28 +07:00
Rémi Verschelde 19890614c6
Remove wrong API removal whitelist for `AnimationPlayer.animation_changed`
It wasn't (re)moved.
2023-09-29 12:12:43 +07:00
Rémi Verschelde 94377f50b2
Merge pull request #80813 from TokageItLab/rework-animation-manager
Implement `AnimationMixer` as a base class of `AnimationPlayer` and `AnimationTree`
2023-09-29 10:20:16 +07:00
Silc Lizard (Tokage) Renew 1b95827d3e Implement AnimationManager the base class of AnimationPlayer/Tree 2023-09-29 08:23:57 +07:00
Yuri Sizov 54c7a26a3b Merge pull request #81356 from pkdawson/rd-compat
Add compatibility methods for RenderingDevice BarrierMask
2023-09-27 19:07:55 +07:00
Patrick Dawson d80dc0ff58 Add compatibility methods for RenderingDevice BarrierMask 2023-09-27 10:22:03 +07:00
Mikael Hermansson f1a9d8b5a5 Moved `face_index` field in 3D `RayResult` to end of struct 2023-09-26 23:18:16 +07:00
Yuri Sizov 378ab38b1f Rename close requests to delete requests in `GraphEdit` 2023-09-26 16:41:39 +07:00
bruvzg bc6585a5a7
[RTL] Add support for image dynamic updating, padding, tooltips and size in percent. 2023-09-26 09:39:51 +07:00
kobewi df24882f9a Free submenu children when clearing PopupMenu 2023-09-25 16:45:41 +07:00
Mikael Hermansson ee9f41a12d Fix bindings of `PhysicsServer3DRenderingServerHandler` 2023-09-20 12:24:32 +07:00
Gilles Roudière 8c1e28237b Improve TileMap performances by using quadrants only for rendering 2023-09-08 15:33:43 +07:00
Hendrik Brucker 5afe78bd9c Clean up/refactor GraphNode and make it more flexible
Split GraphNode into GraphElement and GraphNode, add custom
titlebar, and adjust theming.
2023-09-07 17:29:06 +07:00
RedworkDE b83dff752c CI: Compare API compatibility against both 4.0 and 4.1 2023-08-30 23:33:09 +07:00
David Snopek 39a604c9ab Exclude unexposed classes from the extension_api.json 2023-08-29 08:45:58 +07:00