Commit Graph

3853 Commits

Author SHA1 Message Date
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
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