Commit Graph

4090 Commits

Author SHA1 Message Date
EddieBreeg 8747c67d9e
Fix potential integer underflow in rounded up divisions
A new `Math::division_round_up()` function was added, allowing for easy
and correct computation of integer divisions when the result needs to
be rounded up.

Fixes #80358.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-01-02 14:14:47 +01:00
Silc Lizard (Tokage) Renew e538ce3851 Add cubic_interpolate_in_time_variant() to Animation 2023-12-30 13:30:14 +09:00
Yuri Sizov f77da033f2 Merge pull request #86169 from Repiteo/gdvirtual-call-refactoring
Replace `GDVIRTUAL_CALL` with `GDVIRTUAL_REQUIRED_CALL` where applicable
2023-12-20 15:07:55 +01:00
Yuri Sizov bc6be82f5a Merge pull request #81260 from KoBeWi/min_maxing_particle_editing
Improve editing of min/max particle properties
2023-12-20 15:07:25 +01:00
kobewi ce9fec9b4d Improve editing of min/max particle properties 2023-12-20 06:31:08 +01:00
Stanislav Labzyuk 958699a0c4 Implement project-wide node groups 2023-12-19 18:07:19 +01:00
Wilson E. Alvarez a3cb1b096f
Add const references detected by clang-tidy 2023-12-16 13:36:44 -05:00
kobewi 397f0b31e4 Fix file disappearing when renaming dependencies 2023-12-14 22:28:48 +01:00
Thaddeus Crews 83ef789745
Replace `GDVIRTUAL_CALL` with `GDVIRTUAL_REQUIRED_CALL` where applicable 2023-12-14 13:22:40 -06:00
Yuri Sizov 203c8c31d3 Merge pull request #85071 from Rubonnek/remove-unnecessary-assignments
Remove unnecessary assignments
2023-12-14 17:38:34 +01:00
Gilles Roudière 18fe0bd025 Move tile transforms handling cache to TileData 2023-12-13 17:44:59 +01:00
Wilson E. Alvarez 80fb8db31f
Remove unnecessary assignments
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2023-12-13 11:06:26 -05:00
Rémi Verschelde 7635530e11
Merge pull request #86046 from bs-mwoerner/linear_animation_typemix
Fix linear interpolation not working with mixed (int/float) keyframes
2023-12-13 12:20:38 +01:00
Michael Wörner 12ce2e33b2 Restored the ability for linear interpolation to work on a mix of integer and float keyframes. 2023-12-13 00:24:46 +01:00
Rémi Verschelde 63f3de3aad
Merge pull request #86056 from ShatReal/fix-skeletonmodification2dtwoboneik-meters
Change suffix of SkeletonModification2DTwoBoneIK from m to px
2023-12-12 10:41:29 +01:00
Rémi Verschelde 5352490cc9
Merge pull request #84384 from zeux/meshopt-update
meshoptimizer: Update to v0.20 (with a reduced patch)
2023-12-12 10:39:28 +01:00
Emily b7d5f3e984 Change suffix from m to px 2023-12-11 16:52:03 -08:00
Rémi Verschelde 4450ae98b9
Merge pull request #84969 from alesliehughes/shader_refactor
VisualShader: Refactor use of Connection
2023-12-12 00:18:07 +01:00
Rémi Verschelde 5529d32b56
Merge pull request #83938 from clayjohn/sky-exposure
Expose `energy_multiplier` to remaining SkyMaterials
2023-12-12 00:16:25 +01:00
Rémi Verschelde 4e2350b1af
Merge pull request #82661 from bruvzg/custom_ellipsis
[Text Overrun] Add option to set custom ellipsis character, add support for system font fallback.
2023-12-12 00:15:34 +01:00
Alistair Leslie-Hughes bfd62d7cdf Visual shader refacter use of connection 2023-12-12 07:36:28 +11:00
Rudolph Bester 6b2a1b4fdc Fixed particle spread values effecting particle velocity 2023-12-08 06:03:37 +02:00
Aaron Franke 6ee9edb946
Reduce minimum capsule/cylinder mesh rings to 0 2023-12-05 22:27:23 -06:00
Rémi Verschelde 6a10b99228
Merge pull request #85631 from Malcolmnixon/gltf-convex-decomposition
Fix memory corruption and assert failures in convex decomposition
2023-12-04 23:20:23 +01:00
Rémi Verschelde c7137673d3
Merge pull request #85269 from Calinou/material-conversion-fix-typo
Fix typo in BaseMaterial3D conversion from 3.x SpatialMaterial
2023-12-04 23:11:59 +01:00
Rémi Verschelde f444818c7e
Merge pull request #84794 from akien-mga/videoplayer-fix-reloading-translation-remapped-stream
VideoPlayer: Fix reloading translation remapped stream
2023-12-04 23:05:15 +01:00
Rémi Verschelde 74880abd15
Merge pull request #84507 from SaracenOne/terrain_icon_fix
Fix generating terrain icon with certain image formats.
2023-12-04 23:03:35 +01:00
Rémi Verschelde 94edf0f9a1
Merge pull request #80326 from MewPurPur/no-exp-with-zero
Remove exp hint of a few properties
2023-12-04 22:57:09 +01:00
bruvzg 56579f397d
[Text Overrun] Add option to set custom ellipsis character, add support for system font fallback. 2023-12-04 08:21:42 +02:00
Malcolm Nixon bf7cdc5229 Fix memory corruption and assert failures in convex decomposition
This PR fixes how triangular faces are decomposed into vertices and indices. The pre-increment resulted in the indices table skipping entry 0 and potentially overrunning the end of the vertices vector.
2023-12-01 16:38:08 -05:00
Rémi Verschelde eda44bfe10
Merge pull request #85252 from QbieShay/qbe/fix-radial-inwards-velocity
Fix radial inwards velocity clamping incorrectly (regression from #83488)
2023-11-27 21:25:58 +01:00
Hugo Locurcio 70959a9c04
Fix typo in BaseMaterial3D conversion from 3.x SpatialMaterial 2023-11-23 15:18:03 +01:00
QbieShay 4d390cd39d Subemitter emission at end now correctly emits at end 2023-11-23 11:46:07 +01:00
QbieShay a879e59581 Fixed radial inwards velocity clamping incorrectly (regression from 83488) 2023-11-23 10:32:56 +01:00
Rémi Verschelde c2f8fb3015
Merge pull request #85039 from RandomShaper/mingwthreads
Use mingw-std-threads in MinGW builds
2023-11-21 15:44:18 +01:00
kobewi c6c872ba34 Provide more context when scene fails to load 2023-11-20 14:57:00 +01:00
Pedro J. Estébanez fe4850c0d0 Use mingw-std-threads in MinGW builds 2023-11-18 11:56:05 +01:00
Silc Lizard (Tokage) Renew 80c9533810 Rework blending method in Variant animation for Int/Array/String 2023-11-16 21:37:18 +09:00
clayjohn ead36fdcc4 Store ArrayMesh path in RenderingServer for use in error messages 2023-11-14 16:27:10 +01:00
Rémi Verschelde 8b705af9e5
Merge pull request #84832 from alesliehughes/fix_use_after_free
Fix VisualShader connection use after free.
2023-11-14 00:03:45 +01:00
Rémi Verschelde 8d731b17f1
Merge pull request #84829 from bitsawer/fix_particle_material_names
Fix several ParticleProcessMaterial texture names
2023-11-14 00:03:21 +01:00
Alistair Leslie-Hughes a30dc67007 Fix VisualShader connection use after free. 2023-11-14 07:34:41 +11:00
kobewi 4296f0a771 Fill remaining global scope constant descriptions 2023-11-13 15:17:10 +01:00
bitsawer 7c4d07c5a0 Fix several ParticleProcessMaterial texture names 2023-11-13 05:51:01 +02:00
Rémi Verschelde 5a5b456fca
Merge pull request #84774 from akien-mga/fix-TTR-in-ERR-WARN-prints
Don't use TTR/RTR for ERR/WARN prints
2023-11-12 22:59:38 +01:00
Rémi Verschelde 7d0c561e02
VideoPlayer: Fix reloading translation remapped stream
Fixes #43917.
2023-11-12 15:22:16 +01:00
Rémi Verschelde 8928b2044b
Merge pull request #80281 from KoBeWi/unacceptable
Assign temporary path to preloaded resources
2023-11-12 12:13:55 +01:00
Rémi Verschelde 15b8185c68
Don't use TTR/RTR for ERR/WARN prints
We don't translate those, only editor strings are translated.
2023-11-12 12:00:55 +01:00
biswas08433 92fe4bb693 Fixes Texture2dParameter node filter option
This bug was appending 2 colons in the generated code.  Fixed it.
2023-11-12 01:59:53 +05:30
kobewi a3627b6e37 Assign temporary path to preloaded resources 2023-11-10 00:43:30 +01:00
clayjohn 031f221b9d Create tangent array if mesh created without tangents
This extends our previous change to ensure that compressed meshes have tangents

Now we ensure tangents are always used. This greatly simplifies our compression code at the cost of a small amount of bandwidth
2023-11-07 14:24:23 +01:00
Saracen 35c105e796 Fix generating terrain icon with certain image formats. 2023-11-06 22:19:54 +00:00
jsjtxietian d920bdeda5 Fix visual shader's screen_uv input preview uses position of node
rather than a sample area like uv
2023-11-06 11:20:42 +08:00
Arseny Kapoulkine 2b8215a196 Fix dramatically overallocated normal weights
The weight is per-attribute scalar (X, Y, Z), not per-vertex; this was
the case even before the library update so this appears to be an
oversight.
2023-11-02 14:17:41 -07:00
Arseny Kapoulkine c5f73a1783 Update thirdparty/meshoptimizer to v0.20
Note: this change completely overwrites the meshoptimizer library source
(from git SHA c21d3be6ddf627f8ca852ba4b6db9903b0557858)
without including any patches; a distance error metric patch is still
needed and will be reapplied in the next commit.

The changes elsewhere are due to a signature change for
meshopt_simplifyWithAttributes.
2023-11-02 14:10:39 -07:00
Yuri Sizov f2de1137d9 Unexpose internal data property of `AnimationLibrary` 2023-11-02 18:57:39 +01:00
Rémi Verschelde c6c4728440
Merge pull request #84303 from bitsawer/fix_material_texture_updates
Fix several Material texture parameter updates
2023-11-01 22:33:23 +01:00
bitsawer 1ec97a7b91 Fix several Material texture parameter updates 2023-11-01 03:10:46 +02:00
bruvzg 9ad55dc32d
[TextServer] Fix line breaks for dropcap and resizing embedded objects. 2023-10-31 22:39:42 +02:00
Rémi Verschelde 17a575625e
Merge pull request #84159 from clayjohn/uv-compression
Fix multiple issues with UV compression
2023-10-30 23:19:45 +01:00
Rémi Verschelde bb997d787d
Merge pull request #84127 from quirkylemon/get-type-variations
Include empty type variations in `Theme::get_type_list`
2023-10-30 23:18:58 +01:00
clayjohn 3f5c16dd9e Fix multiple issues with UV compression 2023-10-30 23:11:34 +01:00
QuirkyLemon b3970336ce Added variations to get_type_list() 2023-10-30 10:27:38 -05:00
Rémi Verschelde ceaa8333f3
Merge pull request #84028 from QbieShay/qbe/fix-damp-fric
Fix friction being in the correct if/else branch
2023-10-30 16:26:40 +01:00
QbieShay 8f2a2ece80 Fix friction being in the correct if/else branch
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-10-30 15:00:02 +01:00
Rémi Verschelde 2f1f1206a9
Merge pull request #84180 from bruvzg/text_mesh_offset
[Text Mesh] Fix incorrectly cached glyph offsets.
2023-10-30 10:20:32 +01:00
Rémi Verschelde ad9297ee8c
Merge pull request #84097 from stoofin/plane-mesh-tangent
Fix PlaneMesh tangents for 'Face X' orientation
2023-10-30 10:18:57 +01:00
Rémi Verschelde 47101c0cb1
Merge pull request #84056 from QbieShay/qbe/fix-orbit-z
Fix wrong rotation matrix for orbit z velocity
2023-10-30 10:18:33 +01:00
bruvzg 2a06594ff2
[Text Mesh] Fix incorrectly cached glyph offsets. 2023-10-30 10:56:28 +02:00
Rémi Verschelde 9144457484
Merge pull request #84103 from QbieShay/qbe/fix-turbulence
Fix turbulence post rework
2023-10-28 21:40:15 +02:00
Rémi Verschelde 191195a303
Merge pull request #84060 from AThousandShips/get_set_fix
Fix invalid return from some more `_get/_set`
2023-10-28 18:34:58 +02:00
Rémi Verschelde a379beeaa8
Merge pull request #84029 from QbieShay/qbe/fix-last-flag
Fix damp as friction not updating shader code
2023-10-28 18:34:34 +02:00
QbieShay 3b9cd04e1f fixed turbulence post rework. 2023-10-28 18:31:01 +02:00
QbieShay a764e42860 fixed wrong rotation matrix for orbit z velocity 2023-10-28 15:03:36 +02:00
Andrés Botero acae382010 Changed the way the rotation of a curve at a point is evaluated to match PathFollow2D 2023-10-28 01:23:38 -05:00
stoofin 6099d9f3d1 Fixed PlaneMesh tangents for 'Face X' orientation 2023-10-27 21:43:54 -07:00
A Thousand Ships 3ef6314980 Fix invalid return from some more `_get/_set`
Invalidly returned `true` on the non-matched path
2023-10-27 21:26:13 +02:00
Rémi Verschelde e65459294c
Merge pull request #84054 from AThousandShips/mesh_fix
Fix invalid return from some `_get/_set`
2023-10-27 17:45:48 +02:00
A Thousand Ships b04cf8486d Fix invalid return from some `_get/_set`
Invalidly returned `true` on the non-matched path
2023-10-27 15:49:19 +02:00
Rémi Verschelde 5664f09f78
Merge pull request #84047 from clayjohn/mesh-3x-upgrade-crash
Fix crash when upgrading meshes from 3.x format
2023-10-27 13:33:30 +02:00
clayjohn 1e3408c5b7 Fix crash when upgrading meshes from 3.x format 2023-10-27 12:21:00 +02:00
QbieShay aad644514f Fixed damp as friction not updating shader code 2023-10-27 01:02:23 +02:00
A Thousand Ships 5688bb1888 [Particles] Fix invalid parameter ranges 2023-10-26 16:14:58 +02:00
Rémi Verschelde 8835db5f37
Merge pull request #83881 from jsjtxietian/fix-generated-particle-shader-use-noise-direction-before-define
Fix `noise_direction` variable used before initialized in particle shader when using turbulence with collisions
2023-10-26 08:57:59 +02:00
clayjohn 9251821c97 Expose energy_multiplier to PanoramaSkyMaterial and ProceduralSkyMaterial
These are needed to tweak sky exposure separately from background
2023-10-25 14:12:22 +02:00
jsjtxietian cc14e0092a Fix `noise_direction` variable used before initialized in particle shader
when using turbulence with collisions, delete unused code
2023-10-25 19:35:16 +08:00
Rémi Verschelde 1a3db248d5
Merge pull request #83887 from groud/fix_tile_set_canvas_texture_issue
Fix normals in TileSet when using CanvasTextures
2023-10-25 10:30:46 +02:00
Gilles Roudière 162286cff4 Fix normals in TileSet when using CanvasTextures 2023-10-24 13:10:06 +02:00
Rémi Verschelde e8d57afaec
Merge pull request #83831 from QbieShay/qbe/fix-normal-point
Particles: Fix directed points not working, and fix friction formula
2023-10-24 11:39:17 +02:00
Rémi Verschelde bbade19822
Merge pull request #83749 from k0T0z/fix-enabling-particle-turbulence
Fix massive performance hit due to enabling collision
2023-10-24 10:54:27 +02:00
Rémi Verschelde 261fe7ce6a
Merge pull request #83704 from clayjohn/misc-mesh-fixes
Some more fixes for compressed meshes
2023-10-24 10:54:23 +02:00
Rémi Verschelde b629049b54
Merge pull request #83658 from RPicster/triplanar-world-normal-maps
Fixing incorrect normal map when using triplanar world mapping and mesh rotation
2023-10-24 10:54:15 +02:00
Rémi Verschelde e02e38d2d5
Merge pull request #82055 from jsjtxietian/add-support-for-texture3d-serilization
Add support for ImageTexture3D serialization
2023-10-24 10:53:46 +02:00
Rémi Verschelde f41e07bfe6
Merge pull request #81737 from Mickeon/fix-connection-inherited-packed-scene
Fix internal `CONNECT_INHERITED` being saved in PackedScene & Make Local
2023-10-24 10:53:37 +02:00
clayjohn 8f9cd4e1e3 Some more fixes for compressed meshes
This cleans up a few more cases of uint32_t->uint64_t

Importantly this fixes an edge case in the axis-angle compression by
using the pre-existing Basis methods instead
2023-10-24 09:38:12 +02:00
Rémi Verschelde 50d17f6b8c
Merge pull request #83613 from clayjohn/surface_upgrade_tool
Add an editor tool to automatically upgrade and re-save meshes
2023-10-24 00:10:37 +02:00
clayjohn 318ef8461f Implementation of tool to automatically upgrade and re-save meshes 2023-10-23 22:39:48 +02:00
Raffaele Picca 73918b0c70 Fixing incorrect normal map when using triplanar world mapping and mesh rotation 2023-10-23 14:53:59 +02:00
QbieShay 49fee5bc28 Fixed directed points not working, and fixig friction formula
Co-authored-by: RPicster <picster@pixelgod.net>
2023-10-23 14:06:23 +02:00
Saif Kandil 98db2b42f7 fix performance hit due to enabling collision
Signed-off-by: Saif Kandil <74428638+k0T0z@users.noreply.github.com>
2023-10-22 17:54:27 +03:00
Yuri Sizov cd31407cb3 Clean up some Editor, OpenXR, VideoStream code
- EditorNode has excessive and pointless checks for Input singleton.
- EditorNode initialization order is a bit awkward.
- OpenXR binds a method that doesn't need that (for call deferred).
- VideoStream has a formatting error.
2023-10-20 17:54:39 +02:00
Rémi Verschelde 55fc347efd
Merge pull request #83620 from clayjohn/particles-material-emission
Fix typo in particles process material when using emission color texture
2023-10-20 15:11:48 +02:00
clayjohn 1b80f21abf Fix typo in particles process material when using emission color texture 2023-10-19 17:29:46 +02:00
Saracen a16cbf6869 Fix crash on recovered orphaned nodes. 2023-10-19 11:15:57 +01:00
Rémi Verschelde f8818f85e6
Merge pull request #83568 from mrTag/navigationregion2d_fix
Fixing "Navigation map synchronization error" when using NavigationRegion2D
2023-10-19 00:27:25 +02:00
Rémi Verschelde c781694a82
Merge pull request #83488 from QbieShay/qbe/fix-particle-pause
Fixed multiple particle issues: division by zero, color ramp override, scale dependent on amount ratio
2023-10-18 21:32:50 +02:00
Dominik b915e788a4 Removed navigation_mesh instantiation from constructor of NavigationPolygon 2023-10-18 19:04:08 +02:00
Gilles Roudière 73f72409f5 Allow normal maps on TileMaps that use texture padding 2023-10-18 14:55:44 +02:00
QbieShay cbf75f9076 Fixed division by zero in particle process, initial ramp, and amount ratio+scale 2023-10-17 15:41:47 +02:00
Rémi Verschelde 135fa1ef5d
Merge pull request #83179 from clayjohn/tangents-sanitize
Sanitize tangents when creating mesh surfaces to avoid triggering the compressed mesh path in the shader
2023-10-13 22:17:02 +02:00
clayjohn e3d31837eb Sanitize tangents when creating mesh surfaces to avoid triggering the compressed mesh path in the shader 2023-10-13 08:54:49 -06:00
bruvzg 9a1e0e4aef
[Bitmap fonts] Add support for scaling. 2023-10-13 12:57:45 +03:00
Rémi Verschelde cbb95bc8ab
Merge pull request #83211 from clayjohn/cleanup-mesh-stuff
Cleanup instances of using uint32_t for mesh formats
2023-10-13 11:46:20 +02:00
Rémi Verschelde 111a91a09f
Merge pull request #83194 from jsjtxietian/fix-bool-varying-code-gen
Fix bool varying's generated code will be modified with flat
2023-10-13 11:45:09 +02:00
Clay acb65377cd Cleanup instances of using uint32_t for mesh formats
And tidy up some leftovers from the attribute compression PR
2023-10-12 22:01:41 +02:00
jsjtxietian 0f7a97eba0 Fix bool varying's generated code will be modified with flat 2023-10-12 19:42:18 +08:00
jsjtxietian 0ecef0e236 Fix parameter shader node not declared when only connected to a VaryingSetter 2023-10-12 17:53:26 +08:00
clayjohn 1df50c78df Fix a few cases where surface format is still 32 bits 2023-10-11 14:56:19 -06:00
bitsawer 45f2ef4c0f Fix BaseMaterial3D update with certain material settings 2023-10-11 13:51:52 +03:00
Rémi Verschelde d0301fcadd
Merge pull request #83100 from kleonc/immediate-mesh-vertex-buffer-size-fiz
Fix incorrect vertex data size calculation in `ImmediateMesh`
2023-10-10 22:50:53 +02:00
Rémi Verschelde 55282ddc10
Merge pull request #79527 from QbieShay/qbe/particles-rework
Particle internal refactor and additions for more artistic control
2023-10-10 22:48:50 +02: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 +02:00
kleonc b588d1ab8d Fix incorrect vertex data size calculation in ImmediateMesh 2023-10-10 13:23:53 +02:00
Rémi Verschelde added7d154
Merge pull request #83062 from bruvzg/no_dup_es
Do not apply extra spacing twice.
2023-10-10 09:12:17 +02:00
bruvzg 100565a0c9
Do not apply extra spacing twice. 2023-10-09 21:38:23 +03:00
Rémi Verschelde a1d7c62df7
Merge pull request #83003 from AThousandShips/null_check_extra
Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-10-09 15:37:14 +02:00
A Thousand Ships f18aa00e85 Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable 2023-10-08 17:23:33 +02:00
A Thousand Ships 034c0f1624 Replace `sanity` with `safety` for checks 2023-10-08 16:22:24 +02: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 -06:00
Rémi Verschelde 0f5669be51
Merge pull request #82712 from bruvzg/font_collection_name_select
[SystemFont] Check name when selecting the best matching face from a collection.
2023-10-03 17:27:06 +02:00
Rémi Verschelde 9af1983af2
Merge pull request #82475 from bruvzg/ts_spacing_var
[TextServer] Store font extra spacing variations without making a full copy of font.
2023-10-03 17:23:43 +02:00
Micky 021d92fece Fix internal CONNECT_INHERITED being saved in PackedScene & Make Local 2023-10-03 15:03:55 +02:00
AttackButton 93cccda827 Add a button to clear curve points in the Path2D editor 2023-10-03 09:33:38 -03:00
bruvzg a5a0e48dbc
[SystemFont] Check name when selecting the best matching face from a collection. 2023-10-03 09:40:48 +03:00
Rémi Verschelde 6b70dfe7e2
Merge pull request #81319 from KurtBliss/Changing-text-files-in-an-external-editor-doesn't-cause-them-to-reload-in-Script-Editor
Fix TextFile not reloading when changed from external editors
2023-10-02 13:16:17 +02:00
Rémi Verschelde 08ceb18c7d
Merge pull request #82509 from timothyqiu/whats-terrains-peering-bit
Make terrains peering bit property names translatable
2023-09-29 19:46:42 +02:00
Rémi Verschelde 55ba576c58
Merge pull request #81688 from Chaosus/vs_custom_dropdown_list_props
Implement drop-down list properties to the custom visual shader nodes
2023-09-29 19:45:54 +02:00
Yuri Roubinski 4575cc0c6f Implement drop-down list properties to the custom visual shader nodes 2023-09-29 10:55:05 +03:00
Haoyu Qiu f2a87a96ba Make terrains peering bit property names translatable 2023-09-29 10:55:33 +08:00
Silc Lizard (Tokage) Renew 1b95827d3e Implement AnimationManager the base class of AnimationPlayer/Tree 2023-09-29 08:23:57 +09:00
bruvzg 4a167fc740
[TextServer] Store font extra spacing variations without making a full copy of font. 2023-09-28 10:45:09 +03:00
Rémi Verschelde da91cf9367
Merge pull request #82347 from SaracenOne/dir_access_checks
Add error checks for DirAccess creation
2023-09-26 16:36:47 +02:00
Saracen 3f4513d4de Add error checks for DirAccess creation. 2023-09-26 03:07:43 +01:00
smix8 0ee7e3102b Add 2D navigation mesh baking
Adds 2D navigation mesh baking.
2023-09-25 19:48:14 +02:00
Rémi Verschelde a9af6af4b6
Merge pull request #82285 from lyuma/nan_lods
Avoid crash when generating LODs on meshes with non-finite vertices.
2023-09-25 17:18:43 +02:00
Rémi Verschelde e4cfd4e26a
Merge pull request #82195 from AThousandShips/radian_fix
Replace `radians` range hint with `radians_as_degrees`
2023-09-25 17:18:38 +02:00
A Thousand Ships e45927b2f2 Replace `radians` range hint with `radians_as_degrees` 2023-09-25 08:50:19 +02:00
Lyuma acf76027bd Avoid crash when generating LODs on meshes with non-finite vertices. 2023-09-24 23:05:26 -07:00
Rémi Verschelde 3237b5d08f
Merge pull request #71915 from MewPurPur/grid-ient
Overhaul the Gradient Editor
2023-09-24 23:29:35 +02:00
DennisManaa f248420a2b made visual shader ports expandable by default if there is only one output port and it's of any vector type
Co-authored-by: QbieShay <cislaghi.ilaria@gmail.com>
2023-09-22 15:28:59 +02:00
jsjtxietian d9d2bb3219 Add support for ImageTexture3D serialization 2023-09-22 16:24:46 +08:00
MewPurPur 7b86969719 Overhaul the Gradient Editor 2023-09-21 15:55:28 +03:00
Rémi Verschelde fb4c0cf462
Merge pull request #81971 from KoBeWi/there_is_only_one_scene
Don't allow transforming scene tiles
2023-09-21 14:25:08 +02:00
Rémi Verschelde 44ea5f9470
Merge pull request #81854 from bitsawer/fix_importer_mesh_bones
Fix ImporterMesh bone weight handling during lightmap unwrap
2023-09-21 14:25:03 +02:00
Rémi Verschelde 184e603c99
Merge pull request #80467 from aaronfranke/mesh-lod-limit
Limit mesh complexity in LOD generation to prevent crashing
2023-09-21 14:24:54 +02:00
kobewi 07a00cf822 Don't allow transforming scene tiles 2023-09-20 14:10:21 +02:00
Yuri Sizov fee1fb8290 Connect `CodeHighlighter` with `TextEdit` without friend-access 2023-09-19 14:36:38 +02:00
Ryan Hitchman 734b9d2379 Fix Curve3D baking up vectors for nontrivial curves.
The code was modified in 42aa539 to have a different basis vector, but
this line was missed and caused up vectors to invert sometimes.

Fixes #81879
2023-09-18 18:50:36 -06:00
bitsawer 145503765a Fix ImporterMesh bone weight handling during lightmap unwrap 2023-09-18 11:21:29 +03:00
Aaron Franke f95f2d1149
Limit mesh complexity in LOD generation to prevent crashing 2023-09-15 18:40:02 -05:00
Yuri Sizov df6cd37a69 Merge pull request #81516 from YuriSizov/editor-theme-access-the-success
Fix accessing editor theme items throughout the UI
2023-09-15 19:48:14 +02:00
Yuri Sizov 6e11fcb92c Warn about accessing non-existing editor theme items 2023-09-15 14:51:01 +02:00
Yuri Sizov 56e54b49b6 Merge pull request #81551 from YuriSizov/gui-cache-all-the-theme
Bind remaining theme properties to their respective classes
2023-09-14 15:21:45 +02:00
Yuri Sizov fe000277ea Bind remaining theme properties to their respective classes
This adds binds for GraphEdit/GraphElement/GraphNode, which were
skipped before due to a rework. This also adds binds for Window,
which was skipped before due to a complicated code organization.

Also adds theme cache entries/direct cache access to a few places
that previously missed it. Some theme properties are now exposed
to other classes via friendships or public getters for convenience.

This removes all string-based theme access from scene/ classes.
2023-09-13 19:31:35 +02:00
A Thousand Ships a29416e332 [Scene,Main] Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable 2023-09-12 12:53:06 +02:00
Rémi Verschelde 475860839c
Merge pull request #80144 from KoBeWi/freedom_tiles
Add per-tile flipping and transposing
2023-09-12 12:00:20 +02:00
Rémi Verschelde 5c43e4c1ef
Fix various typos with codespell
Using 2.2.6.dev180+ge3a2cfbd.
2023-09-12 08:54:18 +02:00
kobewi a9f3154da3 Add per-tile flipping and transposing 2023-09-09 00:56:38 +02:00
Rémi Verschelde fb4edf50d7
Merge pull request #81452 from tcoxon/fix_57271
Fix animation keyframes being skipped when played backwards
2023-09-08 23:16:05 +02:00
Rémi Verschelde 5fef875cd8
Merge pull request #81070 from groud/improve_tilemap_performances
Improve TileMap performances by using quadrants only for rendering
2023-09-08 23:13:56 +02:00
Gilles Roudière 8c1e28237b Improve TileMap performances by using quadrants only for rendering 2023-09-08 15:33:43 +02:00
Tom Coxon 1a52c0c543 Fix animation keyframes being skipped sometimes when being played backwards. #57271 2023-09-08 14:13:53 +01:00
Rémi Verschelde 4330a94b13
Merge pull request #65011 from Rindbee/fix-first-set-in-main-scene
Fix the behavior of the resource property of the sub-scene root node on instantiation
2023-09-08 11:50:30 +02:00
Rémi Verschelde 31a7fd1951
Merge pull request #81406 from bruvzg/ts_dict_chk2
[TextServer] Pass Dictionary properties by value and check property values instead of references.
2023-09-08 09:11:23 +02: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 +02:00
Rémi Verschelde 7663c69922
Merge pull request #81388 from YuriSizov/core-gdvirtual-but-less-confused-about-itself
Extract `ScriptInstance` into its own file to simplify includes
2023-09-07 13:53:45 +02:00
bruvzg 1ced1f9c99
[TextServer] Pass Dictionary properties by value and check property values instead of references.. 2023-09-07 11:59:51 +03:00
KurtBliss bb98843b61 Fixed: TextFile's not reloading when changed from external editors 2023-09-06 17:34:36 -04:00
Yuri Sizov d8ff69d53c Extract ScriptInstance to simplify includes
This allows to include script_instance.h directly in the
generated gdvirtual.gen.inc, and remove excessive includes
from the codebase.

This should also allow Resource to use GDVIRTUAL macros,
which wasn't possible previously due to a circular dependency.
2023-09-06 22:54:38 +02:00
Yuri Sizov 58126e479c Introduce the concept of global theme contexts
This commit adds the default theme context, which replaces
the need to manually check the project and the default theme
all the time; simplifies related code.

It also adds framework for custom theme contexts, to be used
by the editor. Custom contexts can be attached to any node,
and not necessarily a GUI/Window node. Contexts do no break
theme inheritance and only define which global themes a node
uses as a fallback.

Contexts propagate NOTIFICATION_THEME_CHANGED when one of their
global themes changes. This ensures that global themes act just
like themes assigned to individual nodes and can be previewed
live in the editor.
2023-09-06 19:40:43 +02:00
Yuri Sizov 16957fd35b Merge pull request #81286 from lemilonkh/unshaded-materials-ignore-fog
Implement render mode `fog_disabled` and BaseMaterial3D setting Disable Fog
2023-09-06 14:49:16 +02:00
Milan Gruner 45a33cc749 Implement render mode fog_disabled and BaseMaterial3D setting Disable Fog 2023-09-05 18:15:02 +02:00
Yuri Sizov 3604b46bda Merge pull request #81300 from bitsawer/fix_empty_shader_handling
Fix empty shader resource loading
2023-09-05 15:14:24 +02:00
Yuri Sizov cfdc016038 Merge pull request #81296 from AThousandShips/blend_fix
Fix incorrect cast when animating `int`
2023-09-05 15:14:21 +02:00
bitsawer 15eec2450a Fix empty shader resource loading 2023-09-04 14:59:59 +03:00
A Thousand Ships 035cf5e210 Fix incorrect cast when animating `int`
Type was cast to `int` rather than `int64_t`
Also corrects `real_t` to `double`
2023-09-04 11:58:29 +02:00
bruvzg 31a8a9b2e1
[TextServer] Remove excessive Dictionary checks. 2023-09-04 09:47:55 +03:00
kobewi 02857570d3 Add placeholder RID to GradientTexture1D 2023-08-31 15:53:32 +02:00
kobewi 9f9210e60c Fix consistency of GradientTexture changes 2023-08-29 20:28:39 +02:00
Rémi Verschelde ba1089689a
Merge pull request #80954 from bruvzg/sp_per_font
[Text Server] Store extra spacing of individual font variations.
2023-08-28 20:37:58 +02:00
Rémi Verschelde 9229ea121c
Merge pull request #77986 from KoBeWi/outside_the_texture,_only_death_awaits
Cleanup tiles outside the texture
2023-08-28 20:37:04 +02:00
kobewi 52d41cc555 Add option to cleanup tiles outside the texture 2023-08-28 15:15:45 +02:00
Rémi Verschelde 8df1d90336
Merge pull request #81065 from YuriSizov/themable-chairs
Move default theme files to `scene/theme`
2023-08-28 15:05:04 +02:00
Rémi Verschelde bcbe1fd5e0
Merge pull request #80754 from KoBeWi/TileSetImprovementsCollectionSource
Improve scene tiles workflow
2023-08-28 15:03:26 +02:00
Rémi Verschelde 1c9e45f5dd
Merge pull request #80705 from bitsawer/add_shader_load_error_checks
Fix Shader and ShaderInclude resource loading
2023-08-28 15:03:02 +02:00
Rémi Verschelde 2f82687334
Merge pull request #80984 from MarcusElg/particleoffsetstutter
Fix GPUParticle2D offset stutter
2023-08-28 12:05:52 +02:00
Yuri Sizov fd2ec47ec9 Move default theme files to scene/theme
This also puts the default theme icons into their own folder.
2023-08-28 00:23:38 +02:00
Yuri Sizov 4b7d0c84a1 Fix multiple usability issues in the texture region editor
- Correctly display atlas textures when used by other objects.
- Make region handles easier to hit in ninepatchable objects.
- Correctly initialize and restore various visual properties.
- Improve code quality.
2023-08-27 14:25:49 +02:00
Marcus Elg 936fd8db38 Fix GPUParticle2D offset stutter 2023-08-25 09:59:05 +02:00
bruvzg 5453503697
[Text Server] Store extra spacing of individual font variations. 2023-08-24 11:58:12 +03:00
kobewi ecc3944b1e Cleanup MeshLibrary changed signals 2023-08-19 11:56:31 +02:00
kobewi a88e3b8604 Improve scene tiles workflow 2023-08-18 13:55:30 +02:00
Rindbee bd42d337df Fix the behavior of the resource property of the sub-scene root node on instantiation
The sub-scene root node will be set successively in the sub-scene and the main scene.

The PR is simply to determine intent from the record. Mainly the cases when
`resource_local_to_scene` is enabled in main scene.

When updating resources according to the records of the main scene, use the
`scene_unique_id` in the main scene to prevent the ID of the resource from
changing continuously when saving the scene.
2023-08-18 19:08:34 +08:00
Rémi Verschelde 446dfdbd87
Merge pull request #80329 from xiongyaohua/path3d_tilt_gizmo
Add handles to control Curve3D tilt
2023-08-17 12:29:55 +02:00
bitsawer 26e3443eef Fix Shader and ShaderInclude resource loading 2023-08-17 11:17:54 +03:00
Koyper e84588987a Enabled missing Tree title button font and font size theme settings. 2023-08-16 08:10:31 -05:00
Rémi Verschelde ed1180a97e
Merge pull request #80638 from sepTN/fix-particle-shader-rand
Fix particle shader deterministic random values
2023-08-16 09:16:14 +02:00
Septian cb7400d67a Fix particle shader deterministic random values 2023-08-15 15:06:37 +07:00
Daniel Roberts 46e395abb1 Add handles to control Curve3D tilt 2023-08-12 14:55:38 +08:00
Hugo Locurcio 8041cff865
Clamp Volumetric Fog Length property to prevent rendering issues
A length of 0 units doesn't make sense anyway.
2023-08-10 15:55:36 +02:00
Rémi Verschelde 7257d1667e
Merge pull request #80441 from Calinou/editor-torusmesh-inspector-hint-or-greater
Allow setting values greater than the maximum in TorusMesh inspector
2023-08-10 00:43:27 +02:00
Hugo Locurcio acd5dee478
Allow setting values greater than the maximum in TorusMesh inspector
This is consistent with other PrimitiveMeshes' behavior.
2023-08-09 10:14:00 +02:00
Michael Alexsander 98bdb56815
Further separate icon from text of buttons in both editor and default themes 2023-08-07 13:22:39 -03:00
Faolan b3b791350b
Move registration of `fallbacks` property in the base Font class 2023-08-07 13:46:44 +02:00
MewPurPur 09270f9624 Remove exp hint of a few properties 2023-08-06 12:18:27 +03:00
Yuri Sizov 8965e24dde Merge pull request #79874 from clayjohn/PlaceholderTexture-rid
Lazily allocate RIDs for PlaceholderTextures to avoid allocating GPU resources unless used
2023-08-01 17:25:37 +02:00
Yuri Sizov c9aa2131dc Merge pull request #79710 from AThousandShips/video_play
Fix incorrect virtual function in `VideoStream.set_paused`
2023-08-01 17:25:25 +02:00
detomon d275a7487d Initialize MSDF parameters in BaseMaterial3D with default 2023-07-28 13:24:44 +02:00
Yuri Sizov d49ea2b7d8 Merge pull request #79288 from BastiaanOlij/custom_texture_api
Add custom texture create function
2023-07-26 18:40:01 +02:00
Bastiaan Olij 63d6e9c557 Add custom texture create function 2023-07-26 20:46:34 +10:00
Patrick 65b0989f68 Additional Visual Shader Nodes
* RotationByAxis Visual Shader Node added
* WorldPositionFromDepth Visual Shader Node added
* ScreenNormalWorldSpace Visual Shader Node added
2023-07-26 00:39:12 +02:00
Yuri Sizov ee1be950a1 Merge pull request #79786 from smix8/navmesh_max_edge_len_4.x
Disable NavigationMesh `edge_max_length` property by default
2023-07-25 21:26:16 +02:00
Yuri Sizov 4b0d1026af Merge pull request #78365 from smix8/ps_navmap_default_up_4.x
Add ProjectSettings navigation map default up
2023-07-25 21:25:50 +02:00
clayjohn d61d498632 Lazily allocate RIDs for PlaceholderTextures to avoid allocating GPU resources unless used 2023-07-25 10:49:35 +02:00
Yuri Sizov beb9c3834d Merge pull request #79713 from smix8/legacy_navmesh_struct_4.x
Remove unused struct from NavigationMesh
2023-07-24 19:33:15 +02:00
Yuri Sizov fb2c3ae8f7 Merge pull request #79308 from Geometror/refactor-graphedit
Clean up/refactor GraphEdit
2023-07-24 19:32:33 +02:00
Yuri Sizov 52078dc994 Merge pull request #79157 from smix8/navmesh_clear_4.x
Add `clear` function to NavigationMesh / NavigationPolygon
2023-07-24 19:32:24 +02:00
Yuri Sizov d6bb6d42b2 Merge pull request #71394 from Ithamar/feat-imagetexlay-ser
Fix ImageTextureLayered serialisation issues
2023-07-24 19:32:06 +02:00
Hendrik Brucker a38fd09669 Clean up/refactor GraphEdit 2023-07-24 18:37:23 +02:00
Yuri Sizov 91258e52be
Merge pull request #79307 from Geometror/remove-graph-node-comment
Remove GraphNode's comment property and related functionality
2023-07-24 16:56:41 +02:00
Ithamar R. Adema f37c2b5be2 Fix ImageTextureLayered serialisation issues. 2023-07-23 13:54:04 +02:00
smix8 c63125c317 Disable NavigationMesh edge_max_length property by default
Disables NavigationMesh edge_max_length property by default.
2023-07-22 14:09:15 +02:00
Yuri Sizov 1843781918 Merge pull request #79640 from Calinou/default-theme-scale-fix-corner-radius
Fix corner radius not scaling with theme scale in the default theme
2023-07-21 17:54:54 +02:00
Yuri Sizov 7835d42971 Merge pull request #79618 from HolonProduction/deleting-terrains-crash
Fix crash when deleting tileset terrains
2023-07-21 17:15:48 +02:00
smix8 81930c6719 Remove unused struct from NavigationMesh
Removes unused struct from NavigationMesh.
2023-07-20 18:16:32 +02:00
Ninni Pipping 2284689b0e Fix incorrect virtual function in `VideoStream.set_paused` 2023-07-20 15:55:18 +02:00
Yuri Roubinski 01101134f4 Make the dragging connections more user-friendly in visual shaders 2023-07-20 15:00:19 +03:00
Hugo Locurcio 4198fc9827
Fix corner radius not scaling with theme scale in the default theme
This also uses rounding consistently for scale multipliers, so that
behavior is more predictable with non-integer scale factors like `1.25`
and `1.5`.
2023-07-19 00:00:40 +02:00
HolonProduction 89c39c7f9d Fix crash when deleting terrains 2023-07-18 17:52:32 +02:00
kobewi de4a3fa151 Unify and streamline connecting to Resource changes 2023-07-17 19:35:57 +02:00
Yuri Sizov 38ccab2ab3
Merge pull request #79138 from aaronfranke/camera-exposure-range-hint
Change property hint range for camera attributes exposure multiplier
2023-07-17 17:17:16 +02:00
Hendrik Brucker a29a680920 Extract StyleBoxFlat, StyleBoxTexture and StyleBoxLine in their own file 2023-07-17 13:25:00 +02:00
Yuri Sizov a7583881af Merge pull request #68460 from Geometror/split_texture_src
Extract and reorganize texture resource classes
2023-07-14 21:28:06 +02:00
Hendrik Brucker 7e21eb7e00 Extract and reorganize texture resource classes 2023-07-14 20:04:21 +02:00
Maxim Kulkin 058604f5b8 Fix crash when saving resources with circular references
When saving resources, marking of already seen resources was
done too late, causing infinite loop traversing referenced resources
and eventual stack overflow. The change marks traversed resource
before descending to it's children, thus when this resource is
encountered again, it is already marked as seen and traversal stops.
2023-07-14 19:20:04 +02:00
Yuri Sizov 16565fb630 Merge pull request #79426 from sepTN/fix-basis-tweening
Fix `tween_property` on "Basis" to properly update its value
2023-07-14 18:50:12 +02:00
Yuri Sizov d8c0d63f07 Merge pull request #79393 from Sauermann/fix-window-focux-indicator
Add a default theme for unfocused Windows
2023-07-14 18:50:01 +02:00
Yuri Sizov ead69eba96 Merge pull request #79287 from bitsawer/fix_shader_type_detection
Fix shader type detection
2023-07-14 18:49:44 +02:00
Yuri Sizov de14f09c1d Merge pull request #79279 from kleonc/animation-fix-transform-subtracting
Fix `Animation::subtract_variant` for affine transforms
2023-07-14 18:49:40 +02:00
Septian eb7f87e9a8 Fix `tween_property` on "Basis" to properly update its value 2023-07-13 23:07:23 +07:00