Commit Graph

15847 Commits

Author SHA1 Message Date
Thaddeus Crews
bb5f390fb9
Style: Apply clang-tidy fixes (superficial)
• `modernize-use-bool-literals`, `modernize-use-nullptr`, and `readability-braces-around-statements`
2024-11-04 12:11:14 -06:00
Thaddeus Crews
89a311205f
Style: Apply clang-tidy fixes
• `modernize-use-default-member-init` and `readability-redundant-member-init`
• Minor adjustments to `.clang-tidy` to improve syntax & remove redundancies
2024-11-04 12:11:06 -06:00
Arseny Kapoulkine
260287b3a1 Rewrite index optimization code for maximum efficiency
While all the previous fixes to optimizeVertexCache invocation fixed the
vertex transform efficiency, the import code still was missing two
crucial recommendations from meshoptimizer documentation:

- All meshes should be optimized for vertex cache (this reorders
  vertices for maximum fetch efficiency)
- When LODs are used with a shared vertex buffer, the vertex order
  should be generated by doing a vertex fetch optimization on the
  concatenated index buffer from coarse to fine LODs; this maximizes
  fetch efficiency for coarse LODs

The last point is especially crucial for Mali GPUs; unlike other GPUs
where vertex order affects fetch efficiency but not shading, these GPUs
have various shading quirks (depending on the GPU generation) that
really require consecutive index ranges for each LOD, which requires the
second optimization mentioned above. However all of these also help
desktop GPUs and other mobile GPUs as well.

Because this optimization is "global" in the sense that it affects all
LODs and all vertex arrays in concert, I've taken this opportunity to
isolate all optimization code in this function and pull it out of
generate_lods and create_shadow_mesh; this doesn't change the vertex
cache efficiency, but makes the code cleaner. Consequently,
optimize_indices should be called after other functions like
create_shadow_mesh / generate_lods.

This required exposing meshopt_optimizeVertexFetchRemap; as a drive-by,
meshopt_simplifySloppy was never used so it's not exposed anymore - this
will simplify future meshopt upgrades if they end up changing the
function's interface.
2024-11-04 06:58:06 -08:00
A Thousand Ships
5085c1f530
Add missing checks for non-3D builds in scene debugger 2024-11-02 23:21:27 +01:00
Danni
3d132076b2 Add collision priority property to TileSet physics layers 2024-11-02 15:37:49 -04:00
Michael Alexsander
58e79bfa9a
Compile certain CanvasItem._edit_*() functions with DEBUG_ENABLED 2024-11-02 15:43:18 -03:00
nikitalita
08db8edbff fix save to wav 2024-11-01 06:11:28 -05:00
Haoyu Qiu
b131476d40 Disable auto translate of FileDialog's file list 2024-11-01 12:41:56 +08:00
Thaddeus Crews
be70c2f873
Merge pull request #98350 from syntaxerror247/android-native-filepicker
[Android] Implement native file picker support
2024-10-31 20:14:41 -05:00
Thaddeus Crews
49c22e06d0
Merge pull request #98637 from SubmergedTree/creating-light-occluder-2d-polygon-makes-warning-exclamation-mark-disappear
Clear warning in the scene tree by creating an LightOccluder2D polygon
2024-10-31 20:14:40 -05:00
Thaddeus Crews
363c0b5fec
Merge pull request #47502 from KoBeWi/add_0
Always add decimal when converting float to string
2024-10-31 20:14:39 -05:00
Thaddeus Crews
7982030b25
Merge pull request #69197 from aaronfranke/fix-tiny-convex
Fix debug line drawing with tiny convex hull mesh colliders
2024-10-31 20:14:37 -05:00
Thaddeus Crews
194ddfd0c4
Merge pull request #97257 from YeldhamDev/guess_godot_is_unity_after_all
Add "Game" editor for better runtime debugging
2024-10-31 20:14:34 -05:00
Yuri Rubinsky
ef8d981267
Merge pull request #98303 from Chaosus/vs_transparency_preview
Some checks are pending
🔗 GHA / 📊 Static checks (push) Waiting to run
🔗 GHA / 🤖 Android (push) Blocked by required conditions
🔗 GHA / 🍏 iOS (push) Blocked by required conditions
🔗 GHA / 🐧 Linux (push) Blocked by required conditions
🔗 GHA / 🍎 macOS (push) Blocked by required conditions
🔗 GHA / 🏁 Windows (push) Blocked by required conditions
🔗 GHA / 🌐 Web (push) Blocked by required conditions
🔗 GHA / 🪲 Godot CPP (push) Blocked by required conditions
Add alpha channel display to vec4 previews of visual shader nodes
2024-10-31 11:17:34 +03:00
Clay John
7187c251da
Merge pull request #98620 from zeux/lodgen-cleanup
Some checks are pending
🔗 GHA / 📊 Static checks (push) Waiting to run
🔗 GHA / 🤖 Android (push) Blocked by required conditions
🔗 GHA / 🍏 iOS (push) Blocked by required conditions
🔗 GHA / 🐧 Linux (push) Blocked by required conditions
🔗 GHA / 🍎 macOS (push) Blocked by required conditions
🔗 GHA / 🏁 Windows (push) Blocked by required conditions
🔗 GHA / 🌐 Web (push) Blocked by required conditions
🔗 GHA / 🪲 Godot CPP (push) Blocked by required conditions
LOD: Remove "Raycast Normals" and associated "Normal Split Angle" settings
2024-10-30 17:13:57 -07:00
maxime.chambefort
6f846eb5c5 Added external camera feed from external plugin on Android 2024-10-30 18:30:28 +01:00
Michael Alexsander
16524a8a01
Add "Game" editor for better runtime debugging 2024-10-30 11:42:17 -03:00
Anish Mishra
0dfd18c84b [DisplayServer] Add feature flag for native file dialog access to user/res and options 2024-10-30 14:13:43 +05:30
Aaron Franke
96ec117d19
Fix debug line drawing with tiny convex hull mesh colliders 2024-10-30 00:47:56 -07:00
Thaddeus Crews
598cfbdfd6
Merge pull request #97020 from GuilhermeGSousa/fix-non-const-anim-node-process
Fix non const animation node `_process` virtual function
2024-10-29 19:26:00 -05:00
Thaddeus Crews
696ca9db3c
Merge pull request #98039 from aaronfranke/button-icon
Rename internal Button `*_icon` functions to `*_button_icon` to match exposed methods
2024-10-29 19:25:59 -05:00
Thaddeus Crews
b748c91e5b
Merge pull request #98289 from BlueCube3310/lightmap-clenaup
LightmapGI: Clean up and improve lightmap atlas storage
2024-10-29 19:25:58 -05:00
Thaddeus Crews
b7a0971ad2
Merge pull request #97934 from adamscott/give-AThousandShips-a-break
[Codestyle] Set clang-format `RemoveSemicolon` rule to `true`
2024-10-29 19:25:36 -05:00
Aaron Franke
562c666e3d
Rename internal Button icon to button_icon to match exposed methods 2024-10-29 16:23:03 -07:00
Jannik Seemann
a12cdc202d creating LightOccluder2D polygon makes exclamation mark in scene tree disappear
fixes #21225

This commit fixes an UI bug which leads to a persistent warning in scene tree. Before
this fix the only way to get rid of the warning was to reload the complete scene.

The inspector issue mentioned in #21225 that polygon updates aren't reflected seems to be
fixed in v4.3 and therefore not part of this commit.
2024-10-29 15:01:29 +01:00
Adam Johnston
3ac043c508 Add fuzzy string matching to quick open search
Co-authored-by: sam <samsface@gmail.com>
2024-10-28 11:24:36 -07:00
Arseny Kapoulkine
494fe2fe21 LOD: Remove "Raycast Normals" and associated "Normal Split Angle" settings
"Raycast Normals" was introduced in 4.4 dev and defaulted to "false".
The limited testing results at the time suggested that raycasting
generally reduces normal quality compared to native simplifier results,
at the same time increasing vertex memory and import time.

To play it safe, we introduced a setting that defaulted to false, with
the goal of removing it later in 4.4 development cycle if no regressions
are noticed. Since we already had three dev snapshots and no reports,
this change removes the setting and associated code.

"Normal Split Angle" was only used when raycast normals were enabled;
this change removes it from the settings, but keeps it in the script
binding for compatibility.

Existing meshes import exactly the same after this change (unless they
chose to override raycasting which would be surprising).

split_normals helper was only used in this code path and is also removed
for simplicity; it is unlikely that this code will be useful as is, as
it can only regenerate normals without fixing tangents or updating
positions.
2024-10-28 10:14:04 -07:00
Clay John
a3080477ac
Merge pull request #98281 from timothyqiu/custom-tooltip-atm
Some checks are pending
🔗 GHA / 📊 Static checks (push) Waiting to run
🔗 GHA / 🤖 Android (push) Blocked by required conditions
🔗 GHA / 🍏 iOS (push) Blocked by required conditions
🔗 GHA / 🐧 Linux (push) Blocked by required conditions
🔗 GHA / 🍎 macOS (push) Blocked by required conditions
🔗 GHA / 🏁 Windows (push) Blocked by required conditions
🔗 GHA / 🌐 Web (push) Blocked by required conditions
🔗 GHA / 🪲 Godot CPP (push) Blocked by required conditions
Don't override auto translate mode of custom tooltip
2024-10-27 19:25:37 -07:00
Clay John
9d3b879219
Merge pull request #98529 from zeux/meshopt-22
Update meshoptimizer to 0.22
2024-10-27 19:09:50 -07:00
Guilherme Sousa
ec62978dd0 Fix non const animation node process function 2024-10-26 17:56:51 +02:00
Arseny Kapoulkine
e2cc0e484e Update meshoptimizer to 0.22
The Godot-specific patch is just a single line now; removing this patch
will likely require adjusting Godot importer code to handle error limits
better.

This also adds new SIMPLIFY_ options; Godot is currently not using any
of these but might use SIMPLIFY_PRUNE and SIMPLIFY_SPARSE in the future.
2024-10-26 07:26:07 -07:00
Haoyu Qiu
d47425b35f Don't mark PROPERTY_USAGE_NO_EDITOR properties for translation
Using `PNAME()` on these properties are redundant as they won't be displayed
in the editor and some of them will be automatically ignored by the
extraction script.
2024-10-26 22:09:21 +08:00
Thaddeus Crews
814187de60
Merge pull request #97212 from Riteo/picking-the-right-expand-mode
ColorPicker: Ignore TextureRect expand mode during legacy picking
2024-10-25 13:03:59 -05:00
Thaddeus Crews
2c87cb601f
Merge pull request #98477 from Calinou/styleboxflat-corner-radius-increase-range-hint
Increase range hint for StyleBoxFlat `border_width`, `corner_radius` and `expand_margin`
2024-10-25 13:03:54 -05:00
Thaddeus Crews
6e9907d483
Merge pull request #92554 from Nazarwadim/implement_a_hash_map
Implement array based hash map `AHashMap`
2024-10-25 13:03:45 -05:00
Thaddeus Crews
4aad050067
Merge pull request #97157 from pafuent/fixing_tree_item_get_prev_wrap
Fix `TreeItem` `get_prev*` methods when `p_wrap` is `true`
2024-10-25 13:03:42 -05:00
Adam Scott
0d350e7108
Set clang-format RemoveSemicolon rule to true
- Set clang-format `Standard` rule to `c++20`
2024-10-25 13:49:43 -04:00
Haoyu Qiu
6424b201e2 Don't override auto translate mode of custom tooltip 2024-10-25 16:13:45 +08:00
Clay John
e952651f89
Merge pull request #98293 from timothyqiu/emptiness-is-indeed-form
Fix error when undo tile deletion in TileSetAtlasSourceEditor
2024-10-24 20:41:39 -07:00
Clay John
cb618e46f8
Merge pull request #97335 from SlienCode/master
Fix `font_hover_pressed_color` and `icon_hover_pressed_color` not working for no stylebox use on `Button`
2024-10-24 20:38:33 -07:00
Clay John
6bd24cbad2
Merge pull request #98368 from KoBeWi/color_picking_active_your_color_is_now_being_picked_please_pick_your_color
Fix legacy picking label bounds
2024-10-24 18:59:43 -07:00
nazarii
76208f7155 Implement array based hash map 2024-10-24 21:34:12 +03:00
Thaddeus Crews
cfc05c5e0f
Merge pull request #85338 from EMBYRDEV/shadow-caster-mask
Add `shadow_caster_mask` to Light3D.
2024-10-24 13:22:59 -05:00
Thaddeus Crews
fa673be2b1
Merge pull request #91341 from bjornmp/NewMaster
Enforce custom nodes to keep their original type
2024-10-24 13:22:56 -05:00
Thaddeus Crews
f25c082c40
Merge pull request #98490 from KoBeWi/pointer_to_canvas
Improve `make_canvas_position_local()` description
2024-10-24 13:22:52 -05:00
Thaddeus Crews
b9e8e54521
Merge pull request #98479 from timothyqiu/empty-tooltip
Fix some flickering tooltips
2024-10-24 13:22:49 -05:00
Thaddeus Crews
e3751721af
Merge pull request #98451 from RandomShaper/ext_text_err
ExternalTexture: Avoid error when destroyed without having been used
2024-10-24 13:22:38 -05:00
kobewi
e0c7e063e5 Improve make_canvas_position_local description 2024-10-24 15:10:20 +02:00
Haoyu Qiu
9aea7cbd15 Fix some flickering tooltips 2024-10-24 08:34:29 +08:00
Hugo Locurcio
ad24dd4ba2
Increase range hint for StyleBoxFlat border_width, corner_radius and expand_margin 2024-10-24 01:21:40 +02:00
kobewi
5c0f2414cd Always add decimal when printing float 2024-10-23 15:00:21 +02:00
Pedro J. Estébanez
98b8beddc5 ExternalTexture: Avoid error when destroyed without having been used 2024-10-23 10:04:38 +02:00
bjornmp
06998a3927 Enforce that custom nodes keep their original type
Enforce that custom nodes and resources created via the "Create New Node" dialog, should permanently retain their original type (script). This means:

- Type continuity: It should be impossible for the user to (accidentally) clear the original script of a custom node that was created via the "Create New Node" dialog.

- Extensibility: The user should be able to extend custom types as usual (create a script that inherits the original type and replace the original script of that node with his own). However, if he then clears his extension-script from that node later on, the custom type should revert to its original script instead of becoming a non-scripted type.
2024-10-22 18:18:16 +02:00
kobewi
82b53b1e1b Fix legacy picking label bounds 2024-10-22 13:50:49 +02:00
Thaddeus Crews
b3bcb2dc14
Merge pull request #98299 from timothyqiu/tree-coordinate
Some checks are pending
🔗 GHA / 📊 Static checks (push) Waiting to run
🔗 GHA / 🤖 Android (push) Blocked by required conditions
🔗 GHA / 🍏 iOS (push) Blocked by required conditions
🔗 GHA / 🐧 Linux (push) Blocked by required conditions
🔗 GHA / 🍎 macOS (push) Blocked by required conditions
🔗 GHA / 🏁 Windows (push) Blocked by required conditions
🔗 GHA / 🌐 Web (push) Blocked by required conditions
🔗 GHA / 🪲 Godot CPP (push) Blocked by required conditions
Fix button click detection when `Tree` is rotated
2024-10-21 16:39:31 -05:00
Thaddeus Crews
a4ed24acef
Merge pull request #98041 from Hilderin/fix-lost-gdextensions-on-startup
Fix loss of gdextension on editor startup
2024-10-21 16:39:30 -05:00
Thaddeus Crews
66d19abdfa
Merge pull request #96629 from ditiem-games/path2d
Fix Animated Path2D doesn't update PathFollow2D progress when scene is running.
2024-10-21 16:39:28 -05:00
Thaddeus Crews
7dbea98c49
Merge pull request #97005 from Repiteo/core/window-corner-style
Core: Add `DisplayServer` flag for sharp corners
2024-10-21 16:39:25 -05:00
Thaddeus Crews
77da16ce69
Merge pull request #88530 from davthedev/tree-hover-items
Add hover state to Tree items display
2024-10-21 16:39:16 -05:00
Thaddeus Crews
291e4b78e2
Merge pull request #98237 from dustdfg/os_transitive_image_headers_refactor
Don't include `core/io/image.h` in `core/os/os.h`
2024-10-21 16:39:15 -05:00
Thaddeus Crews
7a438dc72e
Merge pull request #97205 from tetrapod00/inspect-native-shader-code
Add "Inspect Native Shader Code" to shader inspector and shader editor
2024-10-21 16:39:13 -05:00
Thaddeus Crews
4ce5235fbd
Merge pull request #98203 from timothyqiu/layout-dir-created-equal
Add System Locale layout direction for `Control` and `Window`
2024-10-21 16:39:07 -05:00
Thaddeus Crews
16d68c6be4
Merge pull request #98201 from AThousandShips/lightmap_compile_fix
Fix unreachable code in `lightmap_gi.cpp`
2024-10-21 16:39:06 -05:00
Thaddeus Crews
29fa4b18f1
Merge pull request #97807 from syntaxerror247/colorPicker_kb_fix
Fix `ColorPicker` virtual keyboard popup on mobile
2024-10-21 16:39:06 -05:00
Hilderin
fbd1643176 Fix lost of gdextension on editor startup.
Co-authored-by: NetroScript <noreply@enostrion.com>"
2024-10-20 18:39:31 -04:00
Yufeng Ying
b5141b8171 Optimize TileSetAtlasSource::_get_property_list
Co-authored-by: Haoyu Qiu <timothyqiu@users.noreply.github.com>
2024-10-19 15:12:53 +08:00
Clay John
80f0b33313
Merge pull request #97977 from syntaxerror247/menu_bar_refresh_bug
Refresh `MenuBar` scene after child renamed in editor
2024-10-18 13:54:27 -07:00
Chaosus
43a99fba3d Add alpha channel display to vec4 previews of visual shader nodes 2024-10-18 20:00:10 +03:00
Thaddeus Crews
f8c4a683d7
Core: Add DisplayServer flag for sharp corners 2024-10-18 11:20:21 -05:00
Yevhen Babiichuk (DustDFG)
af6d260c17 Don't include core/io/image.h in core/os/os.h
`core/os/os.h` doesn't use `core/io/image.h`. It just brings
transitive dependencies. Lots of dependencies because `core/os/os.h`
is transitively included in almost every file of godot

Also added `core/io/image.h` into files^1 where `Ref<Image>` and `core/os/os.h`
were used to prevent obscure errors involving `Ref<Image>`

^1 except those which include `core/io/image_loader.h` or `core/io/image.h` by
corresponding .h file with the same name

Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-10-18 19:04:19 +03:00
Haoyu Qiu
17642692c5 Fix button click detection when Tree is rotated 2024-10-18 22:43:48 +08:00
Haoyu Qiu
5adb489a04 Fix error when undo tile deletion in TileSetAtlasSourceEditor 2024-10-18 20:06:31 +08:00
BlueCube3310
184395401b LightmapGI: Clean up and improve lightmap atlas storage 2024-10-18 10:20:37 +02:00
Clay John
acc3786db2
Merge pull request #98009 from TokageItLab/init-skel-skin
Fix initial skin update timing in Skeleton3D
2024-10-17 16:51:05 -07:00
Clay John
be9e42c6a4
Merge pull request #97888 from Gamemap/Itemlist-fix-right-padding
ItemList - Fix right padding missing
2024-10-17 16:47:11 -07:00
Haoyu Qiu
009446a277 Add System Locale layout direction for Control and Window 2024-10-17 07:52:07 +08:00
David Giardi
ebe1a2d7ec Add hover state to Tree items display 2024-10-17 00:21:52 +02:00
Silc Lizard (Tokage) Renew
d29e7b6953 Fix initial skin update timing in Skeleton3D 2024-10-16 05:13:13 +09:00
Bogdan Inculet
fb58ea6c89 Fixed Remote Nodes missing custom icons 2024-10-15 22:28:53 +03:00
A Thousand Ships
de128812f3
Fix unreachable code in lightmap_gi.cpp 2024-10-15 13:17:15 +02:00
Thaddeus Crews
3fcbb1d436
Merge pull request #97770 from tdaven/fix-94151
Fix immediate mesh modifications that don't call set_mesh
2024-10-14 14:09:56 -05:00
Thaddeus Crews
ba9e98f447
Merge pull request #97961 from timothyqiu/force-tooltip
Allow `Control` to show custom tooltip when tooltip text is empty
2024-10-14 14:09:49 -05:00
Thaddeus Crews
c220e5bffd
Merge pull request #97122 from adamscott/fix-trackpad-code-completion-scrolling
Fix trackpad code completion scrolling
2024-10-14 14:09:44 -05:00
Thaddeus Crews
5c00d0a54e
Merge pull request #94371 from KoBeWi/insane_particle_unification_😱
Unify particle editors
2024-10-14 14:09:42 -05:00
detomon
9ab84887aa Improve performance of global bone pose calculation in Skeleton3D 2024-10-12 11:13:22 +02:00
Thaddeus Crews
bb20444998
Merge pull request #97744 from Nazarwadim/use_local_vector_for_skeleton
Use `LocalVector` for skeleton
2024-10-10 18:13:19 -05:00
bruvzg
309712551c
[TextParagraph/Button] Add support for line spacing. 2024-10-10 12:49:24 +03:00
tetrapod00
12d2c05936 Add "Inspect Native Shader Code" to shader resource and shader editor 2024-10-08 11:02:45 -07:00
Anish Mishra
9f6c88de89 update MenuBar after child renamed in editor 2024-10-08 20:19:02 +05:30
Haoyu Qiu
6f35915622 Allow Control to show custom tooltip when tooltip text is empty
Co-Authored-By: bruvzg <7645683+bruvzg@users.noreply.github.com>
2024-10-08 15:46:26 +08:00
Mounir Tohami
3db9bdf8d8 Fix Button minimum size when disabled is toggled. 2024-10-07 15:21:24 +00:00
Gamemap
84b15a2ea4 ItemList - Fix right padding missing 2024-10-06 17:34:33 +02:00
Anish Mishra
8f9ed35f8b Fix ColorPicker virtual keyboard popup on mobile 2024-10-05 19:03:29 +05:30
kobewi
b9d25580ce Fix implementation of property_can_revert() in various classes 2024-10-04 23:02:04 +02:00
Rémi Verschelde
aaffffcd43
Merge pull request #97817 from bruvzg/prop_warn_remove
Partially revert #96780, remove warnings from project/editor settings `_get`.
2024-10-04 22:43:56 +02:00
Rémi Verschelde
f6dbc04bd1
Merge pull request #97809 from Geometror/fix-ge-conn-layer-warning
[GraphEdit] Only print warning for connection layer deletion when justified
2024-10-04 22:43:49 +02:00
Rémi Verschelde
9108c6261b
Merge pull request #97291 from KoBeWi/visible_in_tree_was_a_billion_dollar_mistake
Fix ScrollContainer configuration warnings
2024-10-04 22:43:33 +02:00
Rémi Verschelde
14eee2b930
Merge pull request #97240 from KoBeWi/wrong_number
Print error on invalid `call_group()` calls
2024-10-04 22:43:30 +02:00
Rémi Verschelde
19081a850d
Merge pull request #95889 from KoBeWi/tree_growing_sideways
Allow horizontal scrolling in Tree using Shift
2024-10-04 22:43:17 +02:00
kobewi
a4d724b37c Unify particle editors 2024-10-04 22:36:12 +02:00