Commit graph

32880 commits

Author SHA1 Message Date
lawnjelly
0bcda22d7c Protection for array operator for Vector2 / 3 in DEV builds
A previous PR had changed the array operator to give unbounded access. This could cause crashes where old code depended on this previous safe behaviour.

This PR adds DEV_ASSERT macros for out of bound access to DEV builds, allowing us to quickly identify bugs in calling code, without affecting performance in release or release_debug editor builds.
2022-03-07 10:34:40 +00:00
Rémi Verschelde
76df26b110 GLES2: Fix VersionKey comparison in ShaderGLES2::bind()
This was comparing arrays, GCC 12 raises a warning for it:

```
drivers/gles2/shader_gles2.cpp: In member function 'bool ShaderGLES2::bind()':
drivers/gles2/shader_gles2.cpp:80:71: error: comparison between two arrays [-Werror=array-compare]
   80 |         if (active != this || !version || new_conditional_version.key != conditional_version.key) {
      |                                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gles2/shader_gles2.cpp:80:71: note: use unary '+' which decays operands to pointers or '&'component_ref' not supported by dump_decl<declaration error>[0] != &'component_ref' not supported by dump_decl<declaration error>[0]' to compare the addresses
```
2022-03-07 09:30:22 +01:00
Igor Kordiukiewicz
b28eea610c Fixed issue where Extend Script option would show up even without script attached to the node
(cherry picked from commit dc361d3201)
2022-03-07 08:33:29 +01:00
Haoyu Qiu
cc65147250 Update scroll position when zooming TileSet editor 2022-03-07 13:01:39 +08:00
Rémi Verschelde
d93a4a8885
Merge pull request #58838 from The-O-King/gles2_blend_shapes_oct
GLES2 Compression on Blend Shapes Fix
2022-03-06 22:35:08 +01:00
Omar El Sheikh
733a84f7a4 GLES2 Compression on Blend Shapes Fix
When compressed vertex positions are used in a blend shapes mesh, we
need to make sure we set the w-component of the position vector to 1.0

When octahedral compression is used on normals/tangents, they need to be
converted to cartesian floats to be used for blend shapes

This conversion also changes the number of components of that vertex
attribute, which caused issues because previously there was an
assumption that you had the same number of components in the blend shape
buffer as you did in the original mesh's buffer (which is not true for
oct norm/tang)
2022-03-06 10:57:05 -05:00
Rémi Verschelde
b81251d4a9
Merge pull request #58808 from The-O-King/shader_state_blend_shapes
Fix shader state caching when blend shapes used
2022-03-06 10:16:01 +01:00
Rémi Verschelde
f622c60805
Merge pull request #58492 from lawnjelly/float_literals_3
[3.x] Float literals - fix math classes to allow 32 bit calculations
2022-03-06 10:14:10 +01:00
Rémi Verschelde
cd19931211
Merge pull request #58794 from Calinou/editor-gles2-improve-unsupported-debug-draw-modes
Improve display for unsupported debug draw modes in GLES2
2022-03-06 00:18:09 +01:00
Omar El Sheikh
9988739332 Fix shader state caching when blend shapes used
Previously, conditionals set on the shader would change outside of the
_render_list function when blend shapes were used

This is an issue because the function keeps track of the previous shader
state to try to minimize state changes

Now we keep all this shader state change within the _render_list
function to ensure the saved previous state is correct
2022-03-05 16:33:17 -05:00
Hugo Locurcio
2e6a305b8f
Improve display for unsupported debug draw modes in GLES2
- Don't disable the Normal option as it technically can be chosen
  (it's the default).
- Use a text suffix in addition to the tooltip.
2022-03-05 22:03:39 +01:00
Rémi Verschelde
56310caee2
Merge pull request #58774 from timothyqiu/file-dialog-filter-i18n-3.x
[3.x] Make name of editor file dialog filters translatable
2022-03-05 09:21:23 +01:00
Haoyu Qiu
61e35b4f6e Make name of editor file dialog filters translatable 2022-03-05 12:44:17 +08:00
Rémi Verschelde
5b3dfe1ffa
Merge pull request #58760 from raulsntos/icon_color-editor-theme-3.x
[3.x] Add `icon_color_normal` to Button in editor theme
2022-03-04 21:35:02 +01:00
Raul Santos
0e8a76dbb2
Add icon_color_normal to Button in editor theme 2022-03-04 19:21:05 +01:00
Rémi Verschelde
eb3f0f50b9
Merge pull request #58651 from TokageItLab/fix-cubic-interpolate-3.x 2022-03-04 12:26:46 +01:00
Rémi Verschelde
698ff3bb54
Merge pull request #58743 from timothyqiu/x11-leak-3.x
[3.x] Fix X11 memory leak after drag & drop file into the editor
2022-03-04 12:03:46 +01:00
Haoyu Qiu
9d6f4a76d1 Fix X11 memory leak after drag & drop file into the editor 2022-03-04 17:50:28 +08:00
Haoyu Qiu
aaff2e3982 i18n: Make property paths and sections translatable
Co-Authored-By: Hugo Locurcio <hugo.locurcio@hugo.pro>
2022-03-03 15:33:46 +08:00
Hugo Locurcio
2893090a50
Color 3D editor FPS label depending on the performance level
This provides easier visual grepping.

Incindentally, this change will force constant editor redrawing whenever
the View FPS option is enabled in the 3D viewport settings. This is
required to get an accurate FPS display in 3.x.
Otherwise, the FPS counter shot all the way up to 145 FPS
whenever nothing was changing on screen (even if actual
performance was much lower).
2022-03-02 22:16:13 +01:00
Hugo Locurcio
413689559c
Always register the Smooth Trimesh Collision project setting
This ensures the project setting never disappears from the editor,
even if the current physics engine is GodotPhysics.

This also adds documentation for the Smooth Trimesh Collision
project setting.
2022-03-02 18:50:21 +01:00
George Marques
f2166ba92f
GDScript: Don't coerce default values to the export hint type
This behavior is inconsistent with non tools builds and can create
issues. Instead, a warning is emitted if there's a type mismatch. If the
type can't be converted, an error is shown instead.

For the editor it gives a converted value to avoid issues with the
property editor, which expects the correct type.
2022-03-02 12:26:17 -03:00
Rémi Verschelde
cf970aab26
Merge pull request #58681 from akien-mga/3.x-cherrypicks 2022-03-02 12:34:16 +01:00
Rémi Verschelde
c63ab664d2 Revert "PitchShift effect quality and performance tweaks for different pitch scale values"
(cherry picked from commit dae0135ae5)
2022-03-02 12:02:37 +01:00
Haoyu Qiu
56fd92ca76 Fix UndoRedo::create_action() invalid memory usage
(cherry picked from commit b00b7f9b7c)
2022-03-02 12:02:37 +01:00
Sergey Minakov
e3cd47f6cc [iOS] Fix multitouch not working correctly
(cherry picked from commit 15ef056997)
2022-03-02 11:00:26 +01:00
Haoyu Qiu
7e07d4781a Fix AnimatedSprite infinite loop
(cherry picked from commit 3a439a9c03)
2022-03-02 11:00:26 +01:00
Hugo Locurcio
824eaabd7b Print every file exported with PCKPacker.flush()s verbose parameter
Previously, only one line per 100 files was printed.

This also refactors the print statement to use Godot methods and
make it more informative overall.

(cherry picked from commit 8e57e5dc6a)
2022-03-02 11:00:26 +01:00
jfons
e66003b09a Upgrade stb_rect_pack to 1.01
Enables large rectangle support by default.

(cherry picked from commit 0395b5e414)
2022-03-02 11:00:26 +01:00
janglee
a1155b86e4 Fixed 0 width issue of rich text label
Fixes #37746

(cherry picked from commit 5e64c146bc)
2022-03-02 11:00:26 +01:00
janglee
8bbcc624fd Fixed underlines and striketrough not respecting visible character
(cherry picked from commit 9c2c2ab2b0)
2022-03-02 11:00:26 +01:00
Nova
c4041ca8c0 Added or improved documentation to a few more String methods
(cherry picked from commit f159e7e5ab)
2022-03-02 11:00:26 +01:00
Markus Sauermann
54eac2aba5 Update doc for match: empty argument doesn't match anything
(cherry picked from commit 70ae6c21de)
2022-03-02 11:00:26 +01:00
Rémi Verschelde
a58ae4c368
Merge pull request #58678 from timothyqiu/feature-profile-desc 2022-03-02 10:59:53 +01:00
Haoyu Qiu
e5102872c0 Translate class brief description in Editor Feature Profile dialog 2022-03-02 16:23:48 +08:00
Rémi Verschelde
195b7374b2
Merge pull request #58650 from lawnjelly/portals_fix_prefix_duplication
Portals - fix duplication of instanced scenes during conversion
2022-03-01 19:56:20 +01:00
Silc 'Tokage' Renew
7b9a912ff6 fix cubic interpolate when looping 3.x
Co-authored-by: robfram <robfram@gmail.com>
2022-03-01 19:15:25 +09:00
Rémi Verschelde
29d78f20de
Merge pull request #58642 from rburing/joints_fix_signals_3.x 2022-03-01 11:01:35 +01:00
lawnjelly
4ec4b5a60d Portals - fix duplication of instanced scenes during conversion
During room conversion, if a prefixed Spatial is converted to a Room / RoomGroup etc, when using instanced scenes the owner was incorrectly set, resulting in the instanced scene objects being duplicated.

This PR corrects this.
2022-03-01 09:44:40 +00:00
Fredia Huya-Kouadio
19ec1c2456
Merge pull request #58627 from timothyqiu/i18n-multiline
[3.x] Make string inside `TTR()` single-line
2022-03-01 01:43:48 -08:00
Ricardo Buring
322e3a9567 Joint2D and Joint: make set_exclude_nodes_from_collision respect signals 2022-02-28 22:51:40 +01:00
Ricardo Buring
f197e5eebb Joint2D and Joint: update joint on NOTIFICATION_POST_ENTER_TREE
This allows reparenting, etc.
2022-02-28 22:48:48 +01:00
Rémi Verschelde
706d282cd5
Merge pull request #58381 from lawnjelly/fti_fix_double_ticks
Fix get_global_transform_interpolated() with multiple ticks per frame
2022-02-28 21:13:48 +01:00
Haoyu Qiu
1348f868c9 Make string inside TTR() single-line 2022-02-28 20:09:34 +08:00
Rémi Verschelde
a76316c0f0
Merge pull request #58557 from lawnjelly/bvh_fix_area_area 2022-02-26 12:52:07 +01:00
lawnjelly
036bace9e9 BVH - Fix area-area collision regression
Minimal approach to fixing regression whereby static areas where not detect dynamic areas.
2022-02-26 11:36:27 +00:00
Rémi Verschelde
6ca309e058
Merge pull request #58531 from rburing/area_call_queries_fix_premature_return
[3.x] Godot Physics `AreaSW` and `Area2DSW`: fix premature return in `call_queries`
2022-02-26 09:36:14 +01:00
Ricardo Buring
89ce63a84f AreaSW and Area2DSW: fix premature return in call_queries 2022-02-25 14:41:34 +01:00
lawnjelly
688dc534e5 Fix get_global_transform_interpolated() with multiple ticks per frame
The previous and current transforms in the interpolation data were not being correctly updated in cases where two or more physics ticks occurred on a frame. This PR introduces a simple mechanism to ensure updates on interpolated spatials.
2022-02-25 11:22:00 +00:00
lawnjelly
d24c715678 Float literals - fix math classes to allow 32 bit calculations
Converts float literals from double format (e.g. 0.0) to float format (e.g. 0.0f) where appropriate for 32 bit calculations, and cast to (real_t) or (float) as appropriate.

This ensures that appropriate calculations will be done at 32 bits when real_t is compiled as float, rather than promoted to 64 bits.
2022-02-24 16:46:02 +00:00