Commit Graph

31882 Commits

Author SHA1 Message Date
PouleyKetchoupp 1560c8b5aa Fix test_move reporting collision when touching another body
Reporting rest collision information is needed for move_and_collide and
move_and_slide so floor detection can be done properly, but in the case
of just testing the motion for collision, it makes sense to return false
if the body is able to move all along the path without being stopped.

Updated the logic in test_move and clarified the documentation for
test_move and move_and_collide.
2021-11-10 11:07:32 -07:00
Rémi Verschelde 5defa1c167
Merge pull request #54805 from Klowner/3.4-gltf-cubic-spline-interpolate
Fix incorrect glTF cubic spline interpolation times/values size error
2021-11-10 08:04:43 +01:00
Rémi Verschelde 3401ef1ccb
Merge pull request #54819 from nekomatata/fix-kinematic-body-floor-errors-3.x
[3.x] Fix errors in KinematicBody when floor is destroyed or removed
2021-11-09 23:39:33 +01:00
PouleyKetchoupp b93aeec4a2 Fix errors in KinematicBody when floor is destroyed or removed
In all physics servers, body_get_direct_state() now silently returns
nullptr when the body has been already freed or is removed from space,
so the client code can detect this state and invalidate the body rid.

In 2D, there is no change in behavior (just no more errors).

In 3D, the Bullet server returned a valid direct body state when the
body was removed from the physics space, but in this case it didn't
make sense to use the information from the body state.
2021-11-09 15:15:40 -07:00
Rémi Verschelde 403ca51dd2
Merge pull request #54809 from Calinou/editor-frametime-display-more-decimals-3.x
Display 2 decimals instead of 1 in editor frametime labels (3.x)
2021-11-09 21:52:45 +01:00
Hugo Locurcio b31f6f78a3
Display 2 decimals instead of 1 in editor frametime labels
When comparing different graphics settings or optimizations,
this makes precise measurements and frametime comparisons easier.

This also makes the editor FPS display use `pad_decimals()`
for consistency with the implementation in `master`.
2021-11-09 17:20:59 +01:00
robfram 91b7c80d28 Fix particles emitting at old location 2021-11-09 17:18:14 +01:00
Rémi Verschelde b0cd38b7e3
Merge pull request #42625 from RandomShaper/fix_dict_3.2 2021-11-09 15:55:43 +01:00
Mark Riedesel 999bba6916 Fix glTF cubic spline track interpolation incorrectly reporting times/values size mismatch (3.4 specific) 2021-11-09 09:47:37 -05:00
Pedro J. Estébanez a02bb2b598 Fix detection of non-default and overridden property values in scenes 2021-11-09 15:08:22 +01:00
Pedro J. Estébanez a7aad78fd0 Add recursive comparison to Array and Dictionary
...and expose it to GDScript.

Co-authored-by: Emmanuel Leblond <emmanuel.leblond@gmail.com>
2021-11-09 15:08:22 +01:00
Rémi Verschelde 1a278249ac
Merge pull request #54799 from Calinou/gdscript-opcode-no-hash-3.x 2021-11-09 14:01:40 +01:00
Rémi Verschelde 1f8497d281
Merge pull request #53411 from RandomShaper/ubershaders_3.x 2021-11-09 13:12:44 +01:00
Hugo Locurcio 63d214f04b
Remove hash symbol in front of opcode error messages in GDScript
The hash symbol creates spurious issue references on GitHub if
the message is posted outside a code block, which means some issues
have a lot more references than originally intended.
2021-11-09 12:20:51 +01:00
Pedro J. Estébanez 4c710780d4 Implement async shader compilation plus caching for GL ES 3
Async. compilation via ubershader is currently available in the scene and particles shaders only.

Bonus:
- Use `#if defined()` syntax for not true conditionals, so they don't unnecessarily take a bit in the version flagset.
- Remove unused `ENABLE_CLIP_ALPHA` from scene shader.
- Remove unused `PARTICLES_COPY` from the particles shader.
- Remove unused uniform related code.
- Shader language/compiler: use ordered hash maps for deterministic code generation (needed for caching).
2021-11-09 12:19:12 +01:00
Pedro J. Estébanez b6f04dfd21 Add ProjectSettings::set_hide_from_editor() 2021-11-09 12:19:12 +01:00
Pedro J. Estébanez abdf931832 Add off-screen GL context 2021-11-09 12:19:12 +01:00
Rémi Verschelde fe1e5c2d5d
Merge pull request #54786 from Calinou/editor-add-lock-group-shortcuts-3.x 2021-11-09 00:17:12 +01:00
Rémi Verschelde cfff7a9032
Merge pull request #54751 from NHodgesVFX/3.x 2021-11-09 00:15:49 +01:00
Rémi Verschelde 98a1e4fbd7
Merge pull request #54526 from bruvzg/opengl_mt 2021-11-09 00:10:20 +01:00
Rémi Verschelde f9174d1c28
Merge pull request #54625 from bruvzg/surrogates 2021-11-09 00:08:28 +01:00
Rémi Verschelde c7c592f832
Merge pull request #54314 from nekomatata/x11-events-log-3.x 2021-11-09 00:03:39 +01:00
Rémi Verschelde 8923e2d449
Merge pull request #54038 from nekomatata/fix-soft-body-memory-corruption-3.x 2021-11-09 00:01:00 +01:00
Rémi Verschelde bee67513fb
Merge pull request #54033 from nekomatata/fix-collision-mouse-exit-error-3.x 2021-11-09 00:00:47 +01:00
Rémi Verschelde 3be409aa5e
Merge pull request #54039 from nekomatata/fix-soft-body-memory-corruption-bullet-3.x 2021-11-08 23:59:05 +01:00
Rémi Verschelde 6b7c841e1b
Merge pull request #54111 from nekomatata/fix-rigid-body-update-collision-layer-3.x 2021-11-08 23:58:47 +01:00
Hugo Locurcio 4d35049dc7
Add keyboard shortcuts for grouping and locking nodes, change grid toggle
- Locking nodes can now be done by pressing Ctrl + L, and unlocking with
  Ctrl + Shift + L.
- Grouping nodes is now done by pressing Ctrl + G, and ungrouping with
  Ctrl + Shift + G (similar to Inkscape).
- Toggling the grid is now done by pressing the `#` key
  (also similar to Inkscape). This change was needed as Ctrl + G
  now groups selected nodes.

Different shortcuts are used for the lock/unlock and group/ungroup
actions, so that the shortcuts are idempotent.
2021-11-08 23:38:54 +01:00
Rémi Verschelde aff96e2986
Merge pull request #54781 from Calinou/editor-tweak-animation-editor-icon-colors-3.x
Tweak animation editor icon colors for easier visual grepping
2021-11-08 22:36:23 +01:00
Pedro J. Estébanez 25f01cb09d Implement get_cache_path() for iOS, and improve it for Android and Windows 2021-11-08 22:33:54 +01:00
Pedro J. Estébanez 5eb80bb1a3 Avoid the need for copy assignment in HashMap key/data types 2021-11-08 22:33:54 +01:00
Hugo Locurcio b8de40c065
Tweak animation editor icon colors for easier visual grepping
This makes the Linear and Cubic icons in particular easier to
distinguish from each other.

The Cubic interpolation icon's curve was also changed to be
more distinguishable from the Linear icon's curve.
2021-11-08 21:58:11 +01:00
Rémi Verschelde 2f942ab846
Merge pull request #54768 from The-O-King/vertex_attrib_fix 2021-11-08 19:43:58 +01:00
Rémi Verschelde 2f10793467
Merge pull request #54117 from Pineapple/dont-ignore-type-mismatch-in-setter 2021-11-08 19:26:58 +01:00
Rémi Verschelde 4b4e92b3d4
Merge pull request #52944 from RandomShaper/property_pin_control_natural_3.x 2021-11-08 18:53:25 +01:00
Omar El Sheikh 8a43b222c7 Fix Vertex Attribute Specification Octahedral
For octahedral compressed normals/tangents, we use vec4 in the shader
regardless of whether a normal/tangent does/doesn't exist

For the case where we only have a normal vector, we need to specify that
there are only two components being used when calling glVertexAttrib

Before we would always specify that there were 4 components, and used
offsets to determine where in the vertex buffer to read data from but
this doesn't work on all platforms
2021-11-08 12:11:48 -05:00
Pedro J. Estébanez 4dba25b3ff Add property value pinning 2021-11-08 17:42:27 +01:00
Rémi Verschelde bd828c4d81
Merge pull request #54227 from akien-mga/3.x-gdscript-multiline-indexing 2021-11-08 15:03:24 +01:00
Rémi Verschelde ee46679ca3
Merge pull request #54577 from nekomatata/intersect-point-3d-3.x 2021-11-08 13:16:14 +01:00
Rémi Verschelde 70b521af79
Merge pull request #53013 from Calinou/editor-debugger-bottom-panel-error-warning-highlight-3.x 2021-11-08 13:15:46 +01:00
Rémi Verschelde 5f87d5ebea
Merge pull request #54385 from Calinou/colorpicker-overbright-indicator-tweak-icon-3.x 2021-11-08 13:15:35 +01:00
Rémi Verschelde d0b1e3d002
Merge pull request #53942 from raulsntos/no-boxing 2021-11-08 13:15:25 +01:00
Rémi Verschelde bfcf6162fe
Merge pull request #54757 from bruvzg/pre_wait_observer_redraw3 2021-11-08 13:10:03 +01:00
bruvzg f997a5f8f6 [macOS] Use pre-wait observer to keep main run loop running and redraw window during the window resize and displaying modal popups. 2021-11-08 12:34:14 +02:00
Pedro J. Estébanez 76b7d23a10 Unify determination of default property values 2021-11-08 11:17:49 +01:00
Rémi Verschelde 837f2c5f82
Merge pull request #54746 from neikeq/issue-42076
C#: Don't use ActivityThread to determine Android nativeLibraryDir
2021-11-08 10:02:48 +01:00
NHodgesVFX 237f7eeabe Add more OpenGL Attributes
Co-Authored-By: Johann Meyer <25986904+johannmeyer@users.noreply.github.com>
Co-Authored-By: Clay John <claynjohn@gmail.com>
2021-11-08 01:22:40 -05:00
Ignacio Roldán Etcheverry 690bf12c4c C#: Don't use ActivityThread to determine Android nativeLibraryDir 2021-11-08 02:35:06 +01:00
Rémi Verschelde cad93bc691
Merge pull request #54711 from bruvzg/ios_xcbuild_info3
[iOS export, 3.x] Capture and display xcodebuild output.
2021-11-07 17:14:17 +01:00
bruvzg 2e74bacf17 [iOS export] Capture and display xcodebuild output. 2021-11-07 11:06:21 +02:00
Hugo Locurcio cc2b6acbd2
Improve the appearance of simple parallax in SpatialMaterial
This uses offset limiting to avoid distortion in the distance,
and makes simple (non-deep) parallax more usable overall.
2021-11-07 00:58:04 +01:00