Commit Graph

3832 Commits

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