Commit graph

7472 commits

Author SHA1 Message Date
Morris Tabor
ae51d5ad33 Fix finding AnimationPlayer in scene import
The scene importer always assumed that the AnimationPlayer is called
"AnimationPlayer".

This is not always true: for example the GLTF importer just creates an
AnimationPlayer with the default name, which may be "animation_player",
depending on the project settings.

This fix instead chooses the first node that is an AnimationPlayer, and
warns if there is more than one.
2024-03-12 20:50:16 +01:00
Rémi Verschelde
1ad9e856a0
Merge pull request #88198 from lawnjelly/fix_facecount_bug
[3.x] Fix `Mesh::get_face_count()`
2024-03-08 17:54:04 +01:00
Rémi Verschelde
ae7dfd1f13
Merge pull request #85437 from lawnjelly/lod_scene_side
[3.x] Discrete Level of Detail
2024-03-08 17:53:58 +01:00
lawnjelly
6c35b48986
Merge pull request #88305 from Ovnuniarchos/editor_properties_fixup
[3.x] Fix EditorPropertyLocale connecting to inexistent signal `text_submitted`.
2024-03-08 14:15:55 +00:00
lawnjelly
39e61b76c6 Fix SceneTree dock filter crash
The filter was crashing for two reasons:
1) Deleting a child invalidated the iteration of children
2) Child was accessed after deletion
2024-02-28 05:42:42 +00:00
lawnjelly
50fa1896b8
Merge pull request #88828 from Mickeon/3.x-funny-regressions
[3.x] Fix TileSet editor selected regression
2024-02-27 13:34:04 +00:00
Micky
02a2968764 [3.x] Fix TileSet editor selected regression 2024-02-25 22:46:23 +01:00
Ansraer
1e7c60174e fix crash on mat creation after orm refactor 2024-02-16 20:51:27 +01:00
Ovnuniarchos
86b23b6473 FIXED: Trying to connect inexistent signal text_submitted. 2024-02-13 23:26:54 +01:00
lawnjelly
a32a2613e9 Fix Mesh::get_face_count()
This fixes a minor bug whereby facecount was actually returning the facecount * 3.
There were no major problems from this, but it did mean the optional threshold poly count used when merging was out by a factor of 3.
2024-02-11 12:19:52 +00:00
lawnjelly
1b5fa74e39 Discrete Level of Detail
Add scene side discrete level of detail.

New node `LOD` for UI, and `LODManager` within `World` for automatically updating child visibilities based on distance from cameras.
2024-02-10 18:54:25 +00:00
Ansraer
b9cbffd957 add ORMSpatialMaterial 2024-02-08 20:34:11 +01:00
lawnjelly
0aa22b8f13 Vertex cache optimizer
Optimizes indices to make good use of vertex cache on GPU.
2024-02-07 09:35:50 +00:00
Rémi Verschelde
828cedb569
Merge pull request #67347 from Mickeon/3.x-scene-tree-filter-woohoo
[3.x] Improve Scene Tree Dock's Node filter (Allow multiple terms & more)
2024-02-07 09:50:08 +01:00
Rémi Verschelde
e96ebf9218
Merge pull request #61568 from lawnjelly/merge_node
[3.x] Add MergeGroup node to simplify merging Meshes at runtime
2024-02-07 09:49:45 +01:00
Rémi Verschelde
60b34ed67d
Merge pull request #81426 from Rubonnek/expose-inspector-methods
[3.x] Expose `EditorInspector::get_edited_object` to GDScript
2024-02-07 09:39:24 +01:00
Micky
8049fbdb9f [3.x] Improve Scene Tree Dock's Node filter (Allow multiple terms & more) 2024-01-31 10:27:16 +01:00
lawnjelly
8b79135538 Add MergeGroup node to simplify merging Meshes at runtime 2024-01-31 08:28:51 +00:00
Micky
211c707e67 [3.x] Add Selected Collision Group in TileSet Editor
Also moves the TileSet Script property down to its own category.
2024-01-26 16:26:55 +01:00
Rémi Verschelde
9d69e7aba3
Donors: Change tiers to match Dev Fund, sync latest data
The new list includes all donors listed on fund.godotengine.org,
together with the ones still on Patreon on matching tiers.

We haven't yet updated Patreon tiers to match the Dev Fund, so donors
who used to be listed under "Silver donors" are now grandfathered under
the "Gold members" category from the Dev Fund.

(cherry picked from commit ff5ac866e8)
2024-01-18 16:10:45 +01:00
Rémi Verschelde
58898a5484
Linux: Add support for arm64 and arm32 export templates
This is done in a hacky way, mostly to keep it simple and avoid having
to do a refactoring of the `EditorExportPlatform` interface.

Only Windows and Linux use `EditorExportPlatformPC`, and thus to
handle the new architectures for Linux, we simply do a few checks here
and there with a couple new methods to register the export template
names for Linux arm64 and arm32.

For Godot 4.0, we did refactor everything to allow exporting binaries
for different architectures cleanly. For 3.6, which is likely the last
feature release for the 3.x branch, I tend to cut corners as these
improvements will be shorter lived and thus new tech debt isn't as big
a concern.
2024-01-18 15:38:32 +01:00
James
6782738a85 Prevent using name with leading dot when create/rename/duplicate scene/folder/script/resource
Fixes #62497
2024-01-06 19:36:14 +01:00
Rémi Verschelde
96bc1dc469
Merge pull request #79376 from kleonc/tiles-editor-tooltips
[3.x] Improve `TileMap` editor visible names and tooltips
2023-12-13 13:24:27 +01:00
Haoyu Qiu
f32db73cd2 Allow dragging editable children 2023-12-06 16:26:37 +08:00
kleonc
0cde6800e7 Make gizmo plugin handle SpriteBase3D instead of Sprite3D 2023-10-06 10:43:07 +02:00
Wilson E. Alvarez
6918525795
Expose EditorInspector::get_edited_object to GDScript 2023-09-23 09:49:17 -04:00
Haoyu Qiu
4fd5f22a49 Remove extra separator in node context menu
Probably a backport mistake. The separator is indeed required in Godot
4. But in 3.x, it is redundant because the menu item is arranged in a
different location.
2023-09-09 08:41:11 +08:00
Yuri Sizov
59f98e3f69
Prevent color conversion of the big Godot logo
Use an off-white color from the palette that we explicitly don't convert.

(cherry picked from commit ce741df43d)
2023-08-28 17:27:14 +02:00
Haz
e3be3fbc59
Fix mesh library remove selected item menu option
Fixes #45969.

(cherry picked from commits 189acbee60
and aa9d2149e7)
2023-08-28 17:27:13 +02:00
Rémi Verschelde
55550da68b
SCons: Disable C++ exception handling
Upon investigating the extremely slow MSVC build times in #80513, I noticed
that while Godot policy is to never use exceptions, we weren't enforcing it
with compiler flags, and thus still included exception handling code and
stack unwinding.

This is wasteful on multiple aspects:

- Binary size: Around 20% binary size reduction with exceptions disabled
  for both MSVC and GCC binaries.
- Compile time:
  * More than 50% build time reduction with MSVC.
  * 10% to 25% build time reduction with GCC + LTO.
- Performance: Possibly, needs to be benchmarked.

Since users may want to re-enable exceptions in their own thirdparty code
or the libraries they compile with Godot, this behavior can be toggled with
the `disable_exceptions` SCons option, which defaults to true.
2023-08-16 10:34:10 +02:00
Rémi Verschelde
62216ae043
Merge pull request #72661 from DeeJayLSP/backport_audio_icons
[3.x] Backport AudioStream icons from 4.0
2023-08-08 14:26:25 +02:00
Haoyu Qiu
98803d4edd SpatialEditorPlugin should only handle Spatial 2023-08-03 09:41:48 +08:00
Haoyu Qiu
dd3bda9156 Fix OccluderPolyShape handles disappear after release click 2023-07-27 16:56:00 +08:00
kleonc
e1478ccac2 Improve TileMap editor visible names and tooltips 2023-07-12 14:32:25 +02:00
lawnjelly
43e181a00a Single Compilation Unit build.
Adds support for simple SCU build.
This speeds up compilation by compiling multiple cpp files within a single translation unit.
2023-07-02 20:13:16 +01:00
Rémi Verschelde
d85cf41665
Merge pull request #78703 from Calinou/update-gamepad-button-axis-names
[3.x] Update gamepad button/axis names to match 4.0
2023-06-26 18:05:09 +02:00
Hugo Locurcio
eb2518f462
Update gamepad button/axis names to match 4.0 2023-06-26 09:46:02 +02:00
Rémi Verschelde
60a7b83fbf
Merge pull request #78047 from jeronimo-schreyer/expose_code_editor
[3.x] Expose the TextEdit control of the script editor
2023-06-13 14:37:15 +02:00
Rémi Verschelde
f3680a2412
Merge pull request #77428 from AThousandShips/atlas_mesh_fix_3_x
[3.x] Bounds fixes in `TextureAtlas` import
2023-06-13 14:37:13 +02:00
wareya
73ad6517e4 make autotiles fall back to the most similar bitmask using heuristics 2023-06-09 22:27:19 -04:00
Ninni Pipping
5cd47a1984 [3.x] Fix trim when importing WAV 2023-06-09 15:28:33 +02:00
Jeronimo Schreyer
a248c318de Expose the TextEdit control of the script editor
Refactor ScriptEditor and ScriptTextEditor with added method to retrieve the script editor's TextEdit control.

Update
doc/classes/ScriptEditor.xml
script_editor_plugin.cpp
script_editor_plugin.h
script_text_editor.cpp
script_text_editor.h
2023-06-09 10:07:38 -03:00
Fredia Huya-Kouadio
b5a908c985 Add setting to control the window used to run the project for the Android editor
The follow options were added to the (new) `run/window_placement/android_window` editor setting:

- `Auto`: choose how to run the project based on the device screen size
- `Same as Editor`: run the project in the same window as the editor
- `Side-by-side with Editor`: run the project in an adjacent window to the editor
2023-06-07 18:20:14 -07:00
Rémi Verschelde
eeca70f843
Merge pull request #70502 from HolonProduction/svg_assets_3.x
[3.x] Add support for svg images in the asset lib.
2023-06-07 14:46:14 +02:00
Ninni Pipping
e34619a605 [3.x] Bounds fixes in TextureAtlas import 2023-05-26 10:15:06 +02:00
Rémi Verschelde
567128b64f
Merge pull request #76671 from dioptryk/obj-vertex-colors
[3.x] Add vertex color support to OBJ importer
2023-05-15 09:42:06 +02:00
Fredia Huya-Kouadio
f9ae38d87c
Merge pull request #73692 from m4gr3d/update_touchscreen_editor_settings_3x
[3.x] Enable granular control of touchscreen related settings
2023-05-08 09:10:36 -07:00
Fredia Huya-Kouadio
b78935ef51 Adds a scale_gizmo_handles entry to the Touchscreen editor settings
When enabled, this scales the editor icons to improve usability on touchscreen devices.
In addition this commit fixes touch detection for the collision_shape_2d_editor_plugin so it scales with the icons size.
2023-05-07 15:55:03 -07:00
Bartłomiej Karwacki
ab8792cc7b Add vertex color support to OBJ importer 2023-05-02 12:03:01 +02:00
Rémi Verschelde
83e91ab818
Merge pull request #76323 from aaronfranke/3.x-t2d-basis-det
[3.x] Expose `determinant` in Transform2D, rename internal method
2023-04-26 12:17:00 +02:00