Commit Graph

6973 Commits

Author SHA1 Message Date
Aaron Franke
fa7a7795f0
Rename Basis get_axis to get_column, remove redundant methods 2022-05-03 09:37:47 -05:00
Rémi Verschelde
8aa791d166
Merge pull request #59321 from Calinou/primitive-meshes-csg-tweak-default-sizes
Decrease default sizes of some primitive and CSG meshes for consistency
2022-05-03 15:19:30 +02:00
Rémi Verschelde
931838b330
Merge pull request #60627 from aaronfranke/rename-elements
Rename Transform2D and Basis `elements` to `columns` and `rows` respectively
2022-05-03 14:40:01 +02:00
Rémi Verschelde
297241f368
Merge pull request #60714 from Calinou/typedef-remove-ref
Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>`
2022-05-03 14:28:18 +02:00
Rémi Verschelde
262018df1e
Merge pull request #60689 from trollodel/use_collisionobject3d_in_navmeshgen 2022-05-03 11:21:08 +02:00
Fabio Alessandrelli
0275d60c1b
Merge pull request #60444 from snailrhymer/expand-websocketclient-error-messages
Add detail to some error messages in wsl_client
2022-05-03 06:07:09 +02:00
Hugo Locurcio
180e5d3028
Remove RES and REF typedefs in favor of spelled out Ref<>
These typedefs don't save much typing compared to the full `Ref<Resource>`
and `Ref<RefCounted>`, yet they sometimes introduce confusion among
new contributors.
2022-05-03 01:43:50 +02:00
Rémi Verschelde
c273ddc3ee Style: Partially apply clang-tidy's cppcoreguidelines-pro-type-member-init
Didn't commit all the changes where it wants to initialize a struct
with `{}`. Should be reviewed in a separate PR.

Option `IgnoreArrays` enabled for now to be conservative, can be
disabled to see if it proposes more useful changes.

Also fixed manually a handful of other missing initializations / moved
some from constructors.
2022-05-02 16:28:25 +02:00
trollodel
72c37c4bcd Use CollisionObject3D API when baking the navmesh with static colliders, instead of collecting CollisionShape3D nodes 2022-05-02 08:41:33 +02:00
Haoyu Qiu
3012b76ec5 Validate image size for Noise get image methods 2022-05-01 15:53:27 +08:00
Eduardo Rodrigues
b2841ce194 Improve description for GDScript built-in range
Rewrites the definition of how the function works.
Reworks the style of the examples and adds a negative range example.
Changes the while loop to a range loop in the array backwards example.
2022-04-30 15:17:17 -03:00
Hendrik Brucker
6d876baf60 Improve the VisualShader/VisualScript editor UI 2022-04-30 03:56:57 +02:00
Aaron Franke
1bf94dff3a
Rename Basis "elements" to "rows" 2022-04-29 08:02:56 -05:00
Aaron Franke
b831fb0a54
Rename Transform2D "elements" to "columns" 2022-04-29 08:02:39 -05:00
bruvzg
6ab672d1ef Implement text-to-speech support on Android, iOS, HTML5, Linux, macOS and Windows.
Implement TextServer word break method.
2022-04-28 14:35:41 +03:00
Markus Sauermann
a793960a10 Fix cppcheck const parameters
Convert method signature parameters to const where it is possible

# Conflicts:
#	drivers/gles3/rasterizer_canvas_gles3.cpp
#	drivers/gles3/rasterizer_canvas_gles3.h
#	editor/plugins/animation_state_machine_editor.cpp
#	editor/plugins/animation_state_machine_editor.h
2022-04-28 11:35:39 +02:00
Hugo Locurcio
53b8899be9
Decrease default sizes of some primitive and CSG meshes for consistency 2022-04-27 22:45:38 +02:00
Rémi Verschelde
6e6fe2b025
Merge pull request #59582 from Faless/net/4.x_tcp_explicit_poll 2022-04-27 13:56:58 +02:00
Rémi Verschelde
f626e8ef91
Merge pull request #60396 from vnen/gdscript-self-lambda 2022-04-27 13:11:24 +02:00
Rémi Verschelde
e2f29a4312
Merge pull request #59381 from gaudecker/fix-csg-gizmos 2022-04-27 12:54:29 +02:00
Rémi Verschelde
3dd550e1ca
Merge pull request #59613 from PastMoments/dict-arr-const-fix 2022-04-27 12:45:30 +02:00
Rémi Verschelde
f05ec69158
Merge pull request #60384 from timothyqiu/noise-skirt 2022-04-27 12:44:06 +02:00
Rémi Verschelde
d22850234c
Merge pull request #59393 from techiepriyansh/move-gltf-export-under-scene-menu 2022-04-27 11:51:49 +02:00
Rémi Verschelde
523a7ecef3
Merge pull request #60481 from V-Sekai/animation-library-gltf 2022-04-27 11:07:22 +02:00
Rémi Verschelde
b3f4a81a9e
Merge pull request #60385 from timothyqiu/openxr-set-array 2022-04-27 10:14:42 +02:00
Rémi Verschelde
8dfa12cae7
Merge pull request #59979 from bruvzg/cpp_check2 2022-04-27 10:08:26 +02:00
Rémi Verschelde
3541890f4d
Merge pull request #60312 from Geometror/improve-noise-2
Restructure and refine the noise module
2022-04-27 08:00:38 +02:00
bruvzg
40f0b23482
Create NavMap thread pool only when it's used, to prevent creating excessive amount of running threads. 2022-04-26 15:00:00 +03:00
Rémi Verschelde
c45202a89b
Merge pull request #60359 from adamscott/nav-map-thread-work-pool 2022-04-26 11:51:02 +02:00
Rémi Verschelde
cb5f3a39b9
Merge pull request #60418 from ShimmyShaman/master 2022-04-26 11:11:08 +02:00
Rémi Verschelde
bc520e443d
Merge pull request #60436 from Scony/fix-map-get-path-crash
Fix crash in `GodotNavigationServer::map_get_path`
2022-04-25 23:13:59 +02:00
Rémi Verschelde
bef00b2b0d
Merge pull request #60445 from nathanfranke/minor-changes
small changes: improve OS.get_name classref, misc/scripts fixes, remove trailing quote
2022-04-25 23:10:48 +02:00
Rémi Verschelde
faddbcfc0c
Merge pull request #60394 from Chaosus/fix_range_doc 2022-04-25 17:20:45 +02:00
Rémi Verschelde
02bb8e948f
Merge pull request #60261 from fire-forge/theme-prop-renames 2022-04-25 16:20:19 +02:00
Rémi Verschelde
63a052d96b
Merge pull request #60386 from bruvzg/label3d 2022-04-25 15:51:31 +02:00
George Marques
01d13ab2c1
GDScript: Allow using self in lambdas 2022-04-24 21:49:02 -03:00
K. S. Ernest (iFire) Lee
6184c6a338
Merge pull request #59763 from Gallilus/Improve-VisualScript-search-and-instancing-of-nodes
Improve VisualScript search and instancing of nodes
2022-04-24 06:21:57 -07:00
K. S. Ernest (iFire) Lee
44b6ee001e Discard images from gltf import for the animation library.
This is an optimization.
2022-04-23 17:41:34 -07:00
FireForge
3073b85de9 Rename theme properties to include underscores
- check_vadjust -> check_v_adjust
- close_h_ofs -> close_h_offset
- close_v_ofs -> close_v_offset
- commentfocus -> comment_focus
- hseparation -> h_separation
- ofs -> offset
- selectedframe -> selected_frame
- state_machine_selectedframe -> state_machine_selected_frame
- table_hseparation -> table_h_separation
- table_vseparation -> table_v_separation
- vseparation -> v_separation
2022-04-23 11:16:18 -05:00
Nathan Franke
1304d72fc1
improve OS.get_name classref, misc/scripts fixes, remove trailing quote 2022-04-22 17:13:08 -05:00
SnailRhymer
da8bfbf278 Add detail to some error messages in wsl_client
Add messages, and add expected and actual values to other messages in _verify_headers for easier troubleshooting.
2022-04-22 22:00:06 +01:00
Pawel Lampe
66856d5fb0 Fix crash in GodotNavigationServer::map_get_path 2022-04-22 18:49:45 +02:00
bruvzg
be611c1c05
Implement Label3D node.
Add "generate_mipmap" font import option.
Add some missing features to the Sprite3D.
Move BiDi override code from Control to TextServer.
Add functions to access TextServer font cache textures.
Add MSDF related flags and shader to the standard material.
Change standard material cache to use HashMap instead of Vector.
2022-04-22 12:08:46 +03:00
ShimmyShaman
b3922a42e9 improved error msg for gdscript load_source_code 2022-04-22 16:10:48 +12:00
Yuri Roubinsky
540fca147d Fix typo in GDScript::range doc 2022-04-20 19:38:49 +03:00
bruvzg
de4c97758a
Fix more issues found by cppcheck. 2022-04-20 10:34:00 +03:00
Haoyu Qiu
925e8c8f3e Validate input in OpenXR array setter 2022-04-20 11:00:58 +08:00
Haoyu Qiu
0e5c41857c Validate input in NoiseTexture::set_seamless_blend_skirt() 2022-04-20 10:47:28 +08:00
Adam Scott
732102cbc5 Use ThreadWorkPool instead of thread_process_array in NavMap 2022-04-19 18:35:15 -04:00
Hendrik Brucker
bde6fc9c82 Restructure and refine the noise module 2022-04-19 19:49:48 +02:00
PastMoments
b3704e664d Fixes GDScript define nested dictionary and array as constants #50285 2022-04-19 08:57:23 -04:00
Clay John
1d2177938d
Merge pull request #59984 from BastiaanOlij/more_storage_20220407
More work on splitting up RendererStorage
2022-04-18 21:27:46 -07:00
Ellen Poe
afd2bbaa5f Fix ogg edge cases 2022-04-17 14:21:35 -07:00
David Cambré
8d4b2b0c30 Improve VisualScript search and instancing of nodes
Constructors are more accessible.
Basic type methods are now based on ClassDB and not registerd_node_names.
Selecting search_classes now automatically changes the scope.
2022-04-17 15:21:26 +02:00
FireForge
6fac7158d6 Add spaces to FastNoiseLite enum hint names 2022-04-16 23:51:23 -05:00
Bastiaan Olij
6b28d94e77 Merge canvas and decal into TextureStorage and add render target 2022-04-17 12:59:50 +10:00
Rémi Verschelde
7032b111ce
Merge pull request #60007 from aaronfranke/gds-op-adj-tr3d
GDScript: Rename OPCODE_TYPE_ADJUST_TRANSFORM to have a 3D suffix
2022-04-15 08:17:27 +02:00
kleonc
9ab69b89f8 NavMap::get_path Fix not resetting least_cost_id 2022-04-14 17:13:53 +02:00
Rémi Verschelde
970debed93
Merge pull request #60177 from reduz/animation-library-import
Import scenes as AnimationLibrary
2022-04-13 22:47:54 +02:00
reduz
66009318e0 Import scenes as AnimationLibrary
Added the ability to import scenes as AnimationLibrary

* Completes implementation of https://github.com/godotengine/godot-proposals/issues/4296
* Helps if you want to export animations to a separate file (say a GLTF) to avoid re-importing/exporting them every time the model changes.
* Helps if you simply want to have animations using a dummy model, which can be shared across multiple models.

Creates a secondary scene importer used only for animations.

**NOTE**: A new flag for scene importer: EditorSceneFormatImporter.IMPORT_DISCARD_MESHES_AND_MATERIALS has been added, to hint importers that they should skip meshes and animations (and hence make importing faster). It is not implemented in any importer yet, this should be done in a separate PR.
2022-04-13 15:06:56 +02:00
Rémi Verschelde
46ef52162e Color: Rename to_srgb/to_linear to include base color space
This helps reduce confusion around sRGB <> Linear conversions by making
both input and output color spaces explicit.
2022-04-13 11:45:52 +02:00
Fabio Alessandrelli
7fab11da0c
Merge pull request #40975 from rohanrhu/master
Added set_extra_headers() to WebSocketServer
2022-04-12 23:04:26 +02:00
Oğuzhan Eroğlu
fd4341fba4 Added set_extra_headers() to WebSocketServer 2022-04-12 17:50:53 +03:00
Priyansh Rathi
0ea7780e33
move gltf export under scene menu 2022-04-12 19:42:41 +05:30
Nicholas Huelin
e8a326a08f Fix Visual Script's jump to function relative to zoom
When double-clicking on a function name the graph will now correctly jump to the function relative to the zoom ratio.
2022-04-12 15:27:49 +02:00
bruvzg
4bf99f4af2 Narrow FileAccess scope to prevent deadlocks. 2022-04-12 10:54:39 +03:00
Josh Kabo
1570bcd03b catch null profile_def causing crash on startup 2022-04-11 08:55:23 -07:00
Rémi Verschelde
4ab86c6731
Merge pull request #59980 from reduz/animation-libraries 2022-04-11 14:18:35 +02:00
reduz
6f401439f8 Implement Animation Libraries
* Instead of containing single animations, AnimationPlayer now contains libraries.
* Libraries, in turn, contain the animations.

This paves the way for implementing the possibility of importing scenes as animation libraries, finally allowing to import animations separate from the 3D models.

Missing (will be done on separate PRs):

* Make it possible to import scenes (dae/fbx/gltf) as animation libraries.
* Make it possible for AnimationTree to import animation libraries on its own, so it does not rely on AnimationPlayer for everything.
2022-04-11 12:51:54 +02:00
bruvzg
9381acb6a4
Make FileAccess and DirAccess classes reference counted. 2022-04-11 13:28:51 +03:00
Rémi Verschelde
831dc74b1f
Merge pull request #59940 from BastiaanOlij/xr_new_controllers_20220405 2022-04-11 11:38:39 +02:00
Rémi Verschelde
eb6ebdc4af
Merge pull request #59995 from Scony/fix-threaded-navmesh-baking
Fix navmesh baking
2022-04-09 01:27:55 +02:00
Pawel Lampe
fcd26b8841 Fix navmesh baking
- improved mesh data calculation from standalone static colliders so that no
  VisualServer calls are performed - and thus no VS mutexes need to
  be locked in case of on-thread baking
- improved the same for GridMap's static colliders
2022-04-08 21:01:59 +02:00
George Marques
cdbd6056ef
GDScript: Fix method call on singletons 2022-04-08 12:20:57 -03:00
Aaron Franke
f3eca5abef
GDScript: Rename OPCODE_TYPE_ADJUST_TRANSFORM to have a 3D suffix 2022-04-07 23:32:56 -05:00
Rémi Verschelde
d4b54e35f9 Fix path handling in FBX and Blend importers
Fixes #59996.
2022-04-07 23:33:28 +02:00
David Maziarka
1f62965d26 Add built-in Variant types to autocompletion list
Co-authored-by: Gustav <gusan092@student.liu.se>
2022-04-07 11:10:19 -05:00
Rémi Verschelde
4d0fdf2e98
Merge pull request #59947 from vnen/gdscript-static-methods-classdb 2022-04-06 20:57:34 +02:00
George Marques
4710e2b278
GDScript: Add support for static method calls in native types 2022-04-06 14:14:38 -03:00
jordi
14bad75206 Add enum values (Ignore, Warn, Error) to GDScript warnings 2022-04-06 10:57:33 -05:00
Bastiaan Olij
f8dab282cb Added missing interaction profiles and making sure related extensions are enabled if available 2022-04-06 23:00:26 +10:00
bruvzg
f851c4aa33
Fix some issues found by cppcheck. 2022-04-06 14:34:37 +03:00
Eeli Reilin
60f3d1d36f Fix CSG gizmos only working on root shapes 2022-04-06 13:36:34 +03:00
Rémi Verschelde
5d55846715
Merge pull request #59862 from bruvzg/font_delay_texture_update
Delay font texture update, until `draw` is called. Rasterize glyphs during shaping.
2022-04-06 08:39:45 +02:00
Rémi Verschelde
e4f0fc50f7
Merge pull request #59930 from Scony/fix-navi-get-simple-path-master
Fix `map_get_path` aka `get_simple_path` behavior in 2D & 3D
2022-04-05 23:55:47 +02:00
Pawel Lampe
dcab82ad43 Fix get_simple_path behavior in 2D & 3D 2022-04-05 23:26:37 +02:00
Paweł Fertyk
79b4844be5 Fix NoiseTexture._generate_texture crash
Fixes #59915 .
2022-04-05 22:24:58 +02:00
Rémi Verschelde
77843355a0 CI: Update black formatter and apply changes 2022-04-05 17:43:12 +02:00
bruvzg
aad9d1414c
Delay font texture update, until draw is called. Rasterize glyphs during shaping. 2022-04-05 10:49:41 +03:00
Rémi Verschelde
b512fe67a6
Merge pull request #59888 from akien-mga/clang-tidy 2022-04-04 23:57:30 +02:00
Rémi Verschelde
db8e6bd83f
Merge pull request #59885 from Jayman2000/autoload-inheritance-message 2022-04-04 23:56:20 +02:00
Jason Yundt
1cc7e7ec33 Improve autoload inheritance error message
Autoloaded scripts should always inherit from Node. When you run a
project that tries to autoload a script which doesn’t inherit from Node,
then Godot gives an error.

Before this change, the error said “Script does not inherit a Node”.
That error message is a little bit misleading. If a class inherits a
Node, then one of its superclasses has a Node. If a class inherits
_from_ Node, then one of its superclasses is Node. This change corrects
that mistake.

Fixes #59884.
2022-04-04 15:51:02 -04:00
Rémi Verschelde
b78aa4fe19 Style: Apply clang-tidy to current code, add readability-redundant-member-init 2022-04-04 21:49:51 +02:00
Rémi Verschelde
f8ab79e68a Zero initialize all pointer class and struct members
This prevents the pitfall of UB when checking if they have been
assigned something valid by comparing to nullptr.
2022-04-04 19:49:50 +02:00
Rémi Verschelde
338b23d572
Merge pull request #59513 from BastiaanOlij/openxr_actionmap_editor 2022-04-04 14:26:28 +02:00
Bastiaan Olij
9b7b9de0e5 Add action map editor for OpenXR 2022-04-04 18:43:29 +10:00
cdemirer
3c5b9d1be3 Fix issues with multiple bind patterns in match statement 2022-04-04 15:47:08 +08:00
Marc Gilleron
277825e956 Initialize pointer variables to fix random crash on startup.
`configure_blender_dialog` is lazily created if equal to null,
however nothing really sets it to null.
2022-04-03 23:21:29 +01:00
Rémi Verschelde
c630c2001d
Merge pull request #59633 from EricEzaM/better-code-complete-update
Improve sorting of Code Completion options.
2022-04-03 12:34:00 +02:00
dzil123
726614ff4b fix gridmap cursor showing the wrong mesh 2022-04-02 01:53:36 -07:00
Eric M
4ab605d14d Improve sorting of Code Completion options.
Done by ordering options by their location in the code - e.g. local, parent class, global, etc.
2022-04-01 20:39:09 +10:00
Rémi Verschelde
4263f02f28
Merge pull request #59764 from reduz/blender-import-autodetect 2022-04-01 11:42:05 +02:00
reduz
e32215fbad Add Blender install autodetection and configuration.
This PR is a continuation to #54886

* Changed Blender path editor setting from binary to installation.
* Add a class to query whether the format is supported.
* This class allows to create proper editors to configure support.

**NOTE**: This PR only provides autodetection on Linux. Code needs to be added for Windows and MacOS to autodetect the Blender installation.

Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
Co-authored-by: Pedro J. Estébanez <pedrojrulez@gmail.com>
2022-04-01 11:01:12 +02:00
FireForge
60dfe76e1f Fix group name in FastNoise and Gradient 2022-03-31 21:21:04 -05:00
Rémi Verschelde
340ad7d748
Merge pull request #59755 from V-Sekai/import-gltf-mat-placeholder 2022-04-01 01:12:16 +02:00
Rémi Verschelde
47d58b5a97
Merge pull request #59753 from V-Sekai/let-there-be-light 2022-03-31 22:21:23 +02:00
K. S. Ernest (iFire) Lee
d8b3d14d82 Add support for Blend importing of material placeholders.
Couldn't get the 'NONE' option to work.
2022-03-31 10:11:06 -07:00
K. S. Ernest (iFire) Lee
b675a6b9de Allow importing punctual lights from Blend. 2022-03-31 09:34:12 -07:00
bruvzg
947d7c8329
Fix some issues found by clang sanitizers. 2022-03-31 18:35:56 +03:00
bruvzg
4d9689e7f6
[Brotli] Use aligned reads when building with sanitizers. 2022-03-31 18:00:49 +03:00
Rémi Verschelde
a647fb3e62 Fix typos with codespell
Using codespell 2.2-dev from current git.

Fix a couple incorrect uses of gendered pronouns.
2022-03-31 14:07:29 +02:00
bruvzg
824927dc50
[ICU] Add library name suffix for API rename to avoid conflicts (GDExtension build). 2022-03-31 13:04:54 +03:00
Rémi Verschelde
5ba3b993d5
Merge pull request #59694 from vnen/gdscript-better-call-super 2022-03-30 17:58:11 +02:00
Rémi Verschelde
543c5658ba
Merge pull request #58983 from Chaosus/gds_fix_builtin_methods_completion 2022-03-30 17:33:27 +02:00
George Marques
be718285f7
GDScript: Fix issues with completion and super calls
- Make call errors use the call node instead of the calle, which will be
  empty on super calls.
- Don't allow `super()` to be used within lambdas.
2022-03-30 11:58:29 -03:00
Yuri Roubinsky
0584387918 Fix autocompletion of static methods in built-in types in GDScript 2022-03-30 17:40:41 +03:00
K. S. Ernest (iFire) Lee
0a6889d834 Add fbx2gltf support for importing .fbx files
Lets you drag or place .fbx files in the project folder and it will import the files.

An editor setting sets the location of the fbx2gltf binary.

Enables .fbx and .blend by default.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-03-30 15:22:46 +02:00
Rémi Verschelde
33d477498e Remove ad-hoc FBX importer
This importer was the fruit of a lot of amazing reverse engineering
work by RevoluPowered, based on the original Assimp importer that was
introduced by fire.

While promising and well tuned for a specific type of FBX scenes, it
was found to have many flaws to support the many FBX exporters and
legacy models that Godot users want to use. As we currently lack a
maintainer to improve it, those issues are left unresolved and FBX
import is still sub-par in the current Godot releases.

After some experimentation, we're instead adding a new importer that
relies on Facebook's `fbx2gltf` command line tool to convert FBX to
glTF, so that we can then use our well-maintained glTF importer.
See #59653 and https://github.com/facebookincubator/FBX2glTF for details.
2022-03-30 13:04:31 +02:00
reduz
45f74ceb85 Add PortableCompressedTexture
* Resource that allows saving textures embedded in scenes or standalone.
* Supports only formats that are portable: Lossy, Lossles or BasisUniversal

This is something I wanted to add for a long time. I made it now because @fire
requires it for importing GLTF2 files with embedded textures, but also this
will allow saving Godot scenes as standalone binary files that will run
in all platforms (because textures will load everywhere).

This is ideal when you want to distribute individual standalone assets online
in games that can be built from Godot scenes.
2022-03-30 10:39:41 +02:00
Rémi Verschelde
dab46db619
Merge pull request #59507 from bruvzg/openxr_move_proj_settings
Move OpenXR project settings to the main, to make them visible on unsupported platforms.
2022-03-29 23:48:16 +02:00
bruvzg
d2add64f91
Move OpenXR project settings to the main, to make them visible on unsupported platforms. 2022-03-29 23:25:33 +03:00
K. S. Ernest (iFire) Lee
9484ee7a9e Add support for importing .blend files
Lets you drag or place .blend files in the project folder and it will import the files.

Checks for Blender 3.0's gltf2 `export_keep_originals` option.

Add basepath support to GLTFDocument append_from_file.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-03-29 21:54:41 +02:00
Rémi Verschelde
da346ed4ad
Merge pull request #59583 from V-Sekai/svg-crash 2022-03-29 19:33:30 +02:00
K. S. Ernest (iFire) Lee
683b61b094 Set threads to be one to avoid SVG crash. 2022-03-29 10:05:43 -07:00
Rémi Verschelde
3b4e94c8b5
Merge pull request #59660 from timothyqiu/fbx-reg 2022-03-29 10:41:19 +02:00
Haoyu Qiu
c17d9f05f8 Simplify FBX importer project settings registering 2022-03-29 15:00:43 +08:00
bruvzg
ea4d62dca3
[ICU] Add library name suffix for API rename to avoid conflicts. 2022-03-29 08:38:21 +03:00
Rémi Verschelde
5149db8d85
Merge pull request #59644 from akien-mga/template-no-editor-dep 2022-03-28 23:35:51 +02:00
Rémi Verschelde
8c12dfe099
Merge pull request #56718 from Geometror/noise-overhaul 2022-03-28 21:59:18 +02:00
Rémi Verschelde
45ec0e31c3 Remove last editor code dependencies in template build
SConstruct change also makes it possible to outright delete the `editor`
folder in a `tools=no` build, which we use in CI to ensure no invalid
cross-dependencies are added.
2022-03-28 21:13:01 +02:00
Rémi Verschelde
1ae8b2de38
Merge pull request #59636 from akien-mga/string-remove-ttr 2022-03-28 21:12:44 +02:00
Rémi Verschelde
0c7a15d777
Merge pull request #59641 from Sauermann/fix-encoder-compiler-warning 2022-03-28 20:43:34 +02:00
Rémi Verschelde
80d4f35215
Merge pull request #59626 from lufog/const_ref 2022-03-28 20:29:53 +02:00
Rémi Verschelde
7119d355eb String: Remove TTR and DTR defines in non-tools build
This ensures we don't use TTR in runtime code, as it's specifically meant
to source translations for the editor.
2022-03-28 20:26:35 +02:00
Rémi Verschelde
4799009a0f
Merge pull request #59631 from akien-mga/websocket-no-tools-disable-editor-code
Modules: Don't build editor-specific classes in templates
2022-03-28 19:56:20 +02:00
Markus Sauermann
759d04e28e basisu_uastc_enc.cpp was included twice in encoder_sources 2022-03-28 19:34:03 +02:00
Rémi Verschelde
5fe6984639 Modules: Don't build editor-specific classes in templates
They're moved to an `editor` subfolder so that we can easily handle them
separately.
2022-03-28 16:48:15 +02:00
Rémi Verschelde
c9b75431f3 Refactor GDScript/C# script templates logic to be editor-only
Not a full refactor as it still goes through ScriptLanguage so it's hacky,
but at least it can now compile without this.
2022-03-28 16:21:00 +02:00
Rémi Verschelde
143d13717b
Merge pull request #59553 from reduz/script-extension-support 2022-03-28 13:35:21 +02:00
Juan Linietsky
ed14ff5a08
Revert "Sort autocomplete/code completion options in a better way" 2022-03-28 13:31:32 +02:00
Rémi Verschelde
01f34495bf
Merge pull request #59621 from bruvzg/icu_external 2022-03-28 11:58:12 +02:00
Rémi Verschelde
795304e34f
Merge pull request #59612 from YeldhamDev/style_and_grace 2022-03-28 11:36:27 +02:00
Aleksey Smirnov
1a13de0f8d Replace copies with constant refs 2022-03-28 12:34:05 +03:00
bruvzg
40b0634b34
Fix TextServer build with builtin_icu=no. 2022-03-28 11:06:49 +03:00
Rémi Verschelde
7fe5bece45
Merge pull request #58931 from EricEzaM/proposals/4189-better-code-completion
Sort autocomplete/code completion options in a better way
2022-03-28 08:56:27 +02:00
Rémi Verschelde
c422dc5feb
Merge pull request #59064 from Chaosus/gds_fix_narrowing_conv_warning
Prevent NARROWING_CONVERSION warning for `int(float)` function in GDScript
2022-03-28 08:55:52 +02:00
Michael Alexsander
42df9ed059 Make script templates follow the GDScript style guide 2022-03-28 01:32:12 -03:00
Fabio Alessandrelli
331f1662df [Net] Drop is_connected_to_host for TCP and UDP.
The UDP method is now called `is_socket_connected` to limit confusion
with the actual host connection status which doesn't make sense in UDP.

The TCP method is completly dropped, use get_status instead.

The only one left is the WebSocketPeer one, which should be fine as is
for now.
2022-03-27 16:36:44 +02:00
Fabio Alessandrelli
0e52867668 [Net] Make StreamPeerTCP::_poll_connection explicit.
No longer hacked into `get_status` and renamed to `poll`.

The old `poll` (for *nix `poll`, win `select`) is now called `wait`.
2022-03-27 16:36:44 +02:00
reduz
360dea5348 Add GDExtension support to Script
* Ability to create script languages from GDExtension
* Some additions to gdnative_extension.h to make this happen
* Moved the GDExtension binder to core

This now allows creating scripting languages from GDExtension, with the same ease as if it was a module. It replaces the old PluginScript from Godot 3.x.
Warning: GodotCPP will need to be updated to support this (it may be a bit of work as ScriptInstance needs to be created over there again).
2022-03-27 16:13:00 +02:00
Rémi Verschelde
6fce38d1da
Merge pull request #59489 from adamscott/add-gltf-dae-fbx-blend-shape-mask-array-format-enforcers
Add GLTF, DAE and FBX importers enforcement for blend shape mask array
2022-03-25 22:47:16 +01:00
Rémi Verschelde
7c37ab53be
Merge pull request #59503 from V-Sekai/basis-universal-update 2022-03-25 11:00:57 +01:00
Bastiaan Olij
c78876f977 Cleanup OpenXR on initialisation failure 2022-03-25 18:30:47 +11:00
K. S. Ernest (iFire) Lee
3529141b4b Update basis universal to version 1.16.3.
Enable basis universal uastc internal storage instead of etc1s for better quality.
2022-03-24 22:41:23 -07:00
Fabio Alessandrelli
1ed6ad939b
Merge pull request #59255 from winterpixelgames/fix-js-websocket-close
Use 3001 instead of 1001 when destroying a Javascript websocket
2022-03-25 05:20:13 +01:00
Adam Scott
5e6d4baa48 Add GLTF, DAE and FBX importers enforcement for blend shape mask array 2022-03-24 17:15:23 -04:00
Kurt Lachmann
bbb07ff8cb Use insertText from the internal autocompletion
* GDScriptLanguage::complete_code already adds parentheses to function calls, and does this a lot smarter than the language server right now.
* Instead of the previous naive approach we now reuse the same logic as the internal editor.
* For this to have any effect we also have to send the `insertText` field already during the completionRequest and not only during resolve.
2022-03-24 20:24:47 +01:00
Eric M
f9e1c094a2 Improve sorting of Code Completion options.
Done by ordering options by their location in the code - e.g. local, parent class, global, etc.
2022-03-24 22:24:14 +10:00
Rémi Verschelde
d7d528c15f
Merge pull request #59065 from fabriceci/script-template-condition-too-wide 2022-03-23 12:13:07 +01:00
fabriceci
dae97909bd Restrict the condition when checking if a script is a template 2022-03-23 11:03:44 +01:00
Raul Santos
83e0e13f4a
Support static methods in C# bindings generator 2022-03-22 19:36:57 +01:00
bruvzg
803e1ae920
[Help] Add simulated slanted font support to the editor help. 2022-03-22 16:16:04 +02:00
Rémi Verschelde
2a116f601b
Merge pull request #59275 from bruvzg/ft_brotli 2022-03-22 12:47:00 +01:00
Yuri Roubinsky
c14043b166 Prevent NARROWING_CONVERSION warning for int(float) function in GDScript 2022-03-22 09:17:00 +03:00
Yuri Rubinsky
6cba2143de
Merge pull request #59056 from Chaosus/gds_fix_extends_crash 2022-03-22 08:27:03 +03:00
Yuri Rubinsky
7befa7234d
Merge pull request #58971 from Chaosus/gds_multiline_annotation 2022-03-22 08:25:37 +03:00
Rémi Verschelde
188fa0c846
Merge pull request #59194 from Chaosus/gds_export_flags_limit_error
Add an error emitting when the `@export_flags` arg count is exceeded
2022-03-21 21:21:49 +01:00
Rémi Verschelde
5e249d047f
Merge pull request #59141 from Chaosus/gds_fix_default_arg_check
Fix default value count checking for inherited function
2022-03-21 21:21:25 +01:00
Hendrik Brucker
2a55f10e8b Add FastNoiseLite / general noise overhaul
- replace OpenSimplexNoise

Co-authored-by: Cory Petkovsek <tinmanjuggernaut@users.noreply.github.com>
2022-03-20 14:53:45 +01:00
Raul Santos
4bbfd20aa9
Ignore PhysicsServer3DExtension class in C#
PhysicsServer3DExtension inherits from PhysicsServer3D which is a
singleton class, since singleton classes are generated as static in C#
it would generate invalid C# so for now we'll be
ignoring PhysicsServer3DExtension.
2022-03-18 17:28:48 +01:00
Jason Knight
b659cfbd53 Use 3001 instead of 1001 when destroying a websocket. 2022-03-18 10:09:50 -06:00
Rémi Verschelde
ca47f25eb1
Merge pull request #59277 from bruvzg/hb401 2022-03-18 14:43:06 +01:00
bruvzg
e07a8f0aa6
Add brotli decoder and WOFF2 support. 2022-03-18 15:09:38 +02:00
bruvzg
94a365e94b
HarfBuzz: Update to version 4.0.1 2022-03-18 14:50:57 +02:00
bruvzg
f19cd44346
Unify TextServer built-in module and GDExtension code. 2022-03-17 08:15:29 +02:00
Yuri Roubinsky
8a6ab899ec Add an error emitting when the @export_flags arg count is exceeded 2022-03-16 17:12:15 +03:00
bruvzg
98d0af7d5c
Implement GDExtension export plugin. 2022-03-16 11:16:19 +02:00
Rémi Verschelde
51bbcbdec2
Merge pull request #45263 from KoBeWi/😕 2022-03-15 13:18:27 +01:00
Yuri Roubinsky
5a99aa3b3a Fix default value count checking for inherited function 2022-03-14 18:00:42 +03:00
Haoyu Qiu
1049e75b89 Fix determination of SVG canvas size 2022-03-14 00:00:05 +08:00
bruvzg
d9f8cadafb
Improve simulated bold fonts advance. 2022-03-13 15:07:53 +02:00
Rémi Verschelde
84b358c1d8
Merge pull request #58338 from aaronfranke/bools
Initialize bools in the headers in `editor/`
2022-03-12 22:00:38 +01:00
Aaron Franke
918b09cabc
Initialize bools in the headers in editor 2022-03-12 13:34:06 -06:00
Aaron Franke
89c4990274
Fix Slerp C# docs and add test cases for vectors in the same direction 2022-03-12 13:20:55 -06:00
Yuri Roubinsky
d009d96a92 Prevent crash due to empty error message on empty extends in GDScript 2022-03-12 09:46:51 +03:00
MythTitans
ec2984f7c7 Prevent non-smoothed face normals to participate to smoothed face normals 2022-03-11 20:23:13 +01:00
Haoyu Qiu
77f80aa4ee Use RTR() for VisualScriptNode captions and texts 2022-03-11 23:36:16 +08:00
Rémi Verschelde
e56b69269f
Merge pull request #59013 from bruvzg/fake_bold_italics 2022-03-11 14:24:13 +01:00
bruvzg
b32e8d63d8
Add options to embolden and transform font outlines to simulate bold and italic typefaces. 2022-03-11 14:02:30 +02:00
Rémi Verschelde
768f9422bc Convert uses of DirAccess * to DirAccessRef to prevent memleaks
`DirAccess *` needs to be deleted manually, and this is often forgotten
especially when doing early returns with `ERR_FAIL_COND`.
`DirAccessRef` is deleted automatically when it goes out of scope.

Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2022-03-11 09:13:11 +01:00
Rémi Verschelde
259114e9e0
Merge pull request #59001 from BastiaanOlij/only_uninitialise_openxr_if_initialised
Only uninitialise OpenXR on destruct if it was initialized
2022-03-11 08:06:56 +01:00
MythTitans
8bcbaff411 Fix normals computation at the 'seam' of smoothed torus shape 2022-03-11 00:16:30 +01:00
Bastiaan Olij
d2ef2715ea Only uninitialise OpenXR on destruct if it was initialised 2022-03-11 09:59:04 +11:00
Rémi Verschelde
1c51fd48db
Merge pull request #58781 from BastiaanOlij/openxr_signals_and_events
Adding signals and events to OpenXR interface
2022-03-10 18:10:26 +01:00
reduz
6f51eca1e3 Discern between virtual and abstract class bindings
* Previous "virtual" classes (which can't be instantiated) are not corretly named "abstract".
* Added a new "virtual" category for classes, they can't be instantiated from the editor, but can be inherited from script and extensions.
* Converted a large amount of classes from "abstract" to "virtual" where it makes sense.

Most classes that make sense have been converted. Missing:

* Physics servers
* VideoStream
* Script* classes.

which will go in a separate PR due to the complexity involved.
2022-03-10 12:28:11 +01:00
Yuri Roubinsky
85488f12f3 Allow making multiline annotations in GDScript 2022-03-10 10:56:14 +03:00
Rémi Verschelde
277b0dddee
Merge pull request #58958 from hoontee/master
Revert #52647 (Don't update CSG Shape when not inside tree)
2022-03-10 08:34:26 +01:00
Bastiaan Olij
d11cb5fe98 Adding signals and events to OpenXR interface
Improving interaction profile logic
2022-03-10 17:14:56 +11:00
hoontee
9c312c486c
Revert #52647 2022-03-09 17:25:45 -06:00
Rémi Verschelde
3d7f155586 Remove unused Bullet module and thirdparty code
It has been disabled in `master` since one year (#45852) and our plan
is for Bullet, and possibly other thirdparty physics engines, to be
implemented via GDExtension so that they can be selected by the users
who need them.
2022-03-09 21:45:47 +01:00
Rémi Verschelde
33c907f9f5
Merge pull request #58929 from reduz/remove-variant-arg-macros
Remove VARIANT_ARG* macros
2022-03-09 20:48:45 +01:00
reduz
21637dfc25 Remove VARIANT_ARG* macros
* Very old macros from the time Godot was created.
* Limited arguments to 5 (then later changed to 8) in many places.
* They were replaced by C++11 Variadic Templates.
* Renamed methods that take argument pointers to have a "p" suffix. This was used in some places and not in others, so made it standard.
* Also added a dereference check for Variant*. Helped catch a couple of bugs.
2022-03-09 18:39:13 +01:00
hoontee
f1cc99c6e8
Add SNAME macro optimization missed during rebase 2022-03-09 11:23:46 -06:00
kobewi
39d429e497 Change some math macros to constexpr
Changes `MAX`, `MIN`, `ABS`, `CLAMP` and `SIGN`.
2022-03-09 16:24:32 +01:00
Rémi Verschelde
922348f4c0
Merge pull request #58925 from akien-mga/remove-unused-gdnative-code 2022-03-09 15:57:30 +01:00
Rémi Verschelde
56d055c1f9
Merge pull request #40814 from hoontee/master 2022-03-09 14:16:09 +01:00
Rémi Verschelde
9b05f29894 Remove unused GDNative code
This has been superseded by GDExtension so this code is no longer useful
nor usable.

There's still some GDNative-related stuff in platform export code which
needs to be adapted for GDExtension (e.g. to include GDExtension libraries
in exports).
2022-03-09 13:59:03 +01:00
Rémi Verschelde
70c5e7b0b8
Merge pull request #58920 from timothyqiu/autoload-cap 2022-03-09 09:20:34 +01:00
Haoyu Qiu
851ed8886c Fix Autoload capitalization inconsistency 2022-03-09 15:03:03 +08:00
Yuri Roubinsky
4fee0e3b7d Fix VisualShaderNodeCustom script template 2022-03-09 09:45:20 +03:00
hoontee
ce2b367afb
Properly handle CSGShape parent and visibility updates, plus some refactoring 2022-03-08 18:58:47 -06:00
Marcel Admiraal
507f72db8e Rename Control's Rect properties to exclude rect_ part 2022-03-08 16:30:35 +00:00
K. S. Ernest (iFire) Lee
f7a809603c ThorVG: Sync with upstream 0.8.0 2022-03-08 06:30:31 -08:00
Rémi Verschelde
8c3d8b12ed
Merge pull request #58853 from V-Sekai/default-arg-values 2022-03-07 10:40:42 +01:00
K. S. Ernest (iFire) Lee
2eaadb1b52 Restore building web platform by enclosing resolve_function_signature. 2022-03-07 00:35:11 -08:00
Rémi Verschelde
53cf5eff9a
Merge pull request #58847 from KoBeWi/editor_settings_mess 2022-03-07 08:38:15 +01:00
Rémi Verschelde
1177bd635f
Merge pull request #58208 from MythTitans/fix-sphere-and-cylinder-shapes-normals-seam 2022-03-07 08:37:29 +01:00
Rémi Verschelde
ffd64505c5
Merge pull request #58832 from reduz/uniform-set-cache
Add a UniformSet cache
2022-03-07 07:19:58 +01:00
Rémi Verschelde
47f1c4f900
Merge pull request #58827 from XPhyro/cs-deconstruct
Implement `Deconstruct` methods for C# vectors
2022-03-06 22:36:45 +01:00
kobewi
2057ea2883 Remove duplicate editor settings definitions 2022-03-06 22:05:49 +01:00
George Marques
1ebcb58e69
GDScript: Check if method signature matches the parent
To guarantee polymorphism, a method signature must be compatible with
the parent. This checks if:

1. Return type is the same.
2. The subclass method takes at least the same amount of parameters.
3. The matching parameters have the same type.
4. If the subclass takes more parameters, all of the extra ones have a
default value.
5. If the superclass has default values, so must have the subclass.

There's a few test cases to ensure this holds up.
2022-03-06 11:16:20 -03:00
reduz
b0ca03b0a2 Add a UniformSet cache
* Changed syntax usage for RD::Uniform to create faster with a single RID
* Converted render pass setup to use this in clustered renderer to test.

This is the first step into creating a proper uniform set cache system to simplify large parts of the codebase.
2022-03-06 13:03:33 +01:00
Berke Kocaoğlu
20d72e462b
Implement Deconstruct methods for C# vectors
See https://docs.microsoft.com/en-us/dotnet/csharp/fundamentals/functional/deconstruct#user-defined-types
2022-03-06 11:16:30 +03:00
strank
7d48afa96d Add test cases for accessing parent elements from child class 2022-03-04 12:41:20 -05:00
Rémi Verschelde
0453e7e115
Merge pull request #58752 from akien-mga/webrtc-fix-put_packet-error 2022-03-04 17:58:40 +01:00
Rémi Verschelde
79bbe57244
Merge pull request #56830 from strank/parent-signals 2022-03-04 17:29:49 +01:00
Rémi Verschelde
1769f80547 WebRTC: Fix potential nullptr dereference in error message
This was evidently a typo. Didn't get a crash but GCC 12 raised a
`-Warray-bounds` warning:

```
In file included from ./core/io/stream_peer.h:34,
                 from ./core/io/packet_peer.h:34,
                 from ./core/multiplayer/multiplayer_peer.h:34,
                 from modules/webrtc/webrtc_multiplayer_peer.h:34,
                 from modules/webrtc/webrtc_multiplayer_peer.cpp:31:
In member function 'T* Ref<T>::operator->() [with T = WebRTCMultiplayerPeer::ConnectedPeer]',
    inlined from 'virtual Error WebRTCMultiplayerPeer::put_packet(const uint8_t*, int)' at modules/webrtc/webrtc_multiplayer_peer.cpp:376:4:
./core/object/ref_counted.h:101:24: error: array subscript 0 is outside array bounds of 'Ref<WebRTCMultiplayerPeer::ConnectedPeer> [0]' [-Werror=array-bounds]
  101 |                 return reference;
      |                        ^~~~~~~~~
```
2022-03-04 16:02:40 +01:00
Rémi Verschelde
bb8c4acdc9
Merge pull request #58185 from V-Sekai/explicit_variant_assignment_fix 2022-03-04 14:56:38 +01:00
Rémi Verschelde
e133adeb8c
Merge pull request #58201 from V-Sekai/debugger_locals 2022-03-04 14:50:56 +01:00
Rémi Verschelde
4bbd7417c4
Merge pull request #58320 from mphe/fix_object_typed_arrays 2022-03-04 14:49:06 +01:00
Rémi Verschelde
a4195a3ea8
Merge pull request #58250 from V-Sekai/typed_array_fix 2022-03-04 14:48:40 +01:00
Rémi Verschelde
d31aaed172
Merge pull request #58626 from groud/fix_gdscript_analyser_crash 2022-03-04 14:15:59 +01:00
Rémi Verschelde
0ff45dd3a7
Merge pull request #58673 from Calinou/smooth-trimesh-collision-always-setting 2022-03-04 12:25:36 +01:00
Rémi Verschelde
9b94a1dc4a
Merge pull request #58670 from KoBeWi/internal_debugger 2022-03-04 10:44:56 +01:00
Raul Santos
eaddb79ec6
Refactor bbcode_to_xml into multiple specific methods
The specific `_append_xml_*` methods implement the logic that generates
the proper XML documentation for the given BBCode tag and target and
appends it to the output.
2022-03-03 23:35:10 +01:00
Raul Santos
84615b4b53
Find inherited members in C# documentation generator 2022-03-03 19:53:06 +01:00
Raul Santos
42989befd6
Add theme_item support to C# documentation generator 2022-03-03 18:54:49 +01:00
Raul Santos
e601c9eb8f
Fix checking for @GlobalScope in C# documentation generator 2022-03-03 18:54:41 +01:00
Raul Santos
424817039a
Check for missing methods/members in C# documentation generator
- Outputs errors for missing members or methods when generating the C#
documentation.
- Hardcodes a special case for the `_init` method, in C# we'll reference
the constructor.
- Ignores properties with slashes (since they are not declared in C# and
can't be referenced in the documentation).
2022-03-03 18:53:15 +01:00
Raul Santos
47a7d85cc4
Fix references to global constants in C# documentation generator
Tries to find the referenced constants in the GlobalScope
if not found in the target class or if no class is specified.
2022-03-03 18:53:15 +01:00
Lyuma
35b964606e glTF export for new TYPE_BLEND_SHAPE tracks 2022-03-03 05:28:00 -08:00
Max Hilbrunner
57838fc0ee
Merge pull request #58262 from Sauermann/fix-range-doc
Describe usage of float in range documentation
2022-03-03 13:12:29 +01:00
Hugo Locurcio
4219485a82
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:49:34 +01:00
kobewi
98dd04c38c Fix debugger not opening built-in scripts 2022-03-02 17:57:56 +01:00
cdemirer
3afe50c2fa Fix logic errors in match-statement Array & Dictionary Patterns 2022-03-02 19:05:18 +08:00
bruvzg
9b0fbfa06d
HarfBuzz: Update to version 4.0.0 2022-03-02 10:48:37 +02:00
kobewi
cd6bd04cba Remove unimplemented set_clip() method 2022-03-02 00:44:30 +01:00
Gilles Roudière
7ae988ce5e Fix a crash in GDScriptAnalyzer when a script class's file is not found 2022-02-28 12:20:00 +01:00
Bastiaan Olij
8f035b2ab4 Fix color issues with OpenXR 2022-02-28 13:02:03 +11:00
Bastiaan Olij
1f1b786a36 Use VK_NULL_HANDLE when initializing XrSwapchainImageVulkanKHR 2022-02-27 21:13:02 +11:00
Raul Santos
a95cc4eff3
Sort variables in VisualScriptEditor
Sorts the script variables in alphabetical order to display them
in VisualScriptEditor.
2022-02-24 21:18:02 +01:00
Rémi Verschelde
4dc8214831
Merge pull request #58496 from JFonS/fix_lm_crash 2022-02-24 13:29:51 +01:00
jfons
d0fd5fd3c7 Add sanity checks to lightmap unwrap texel size 2022-02-24 13:00:51 +01:00
Gilles Roudière
f045c97218 Fix llvm compilation by adding missing override 2022-02-23 18:07:02 +01:00
Rémi Verschelde
e3b70f3582
Merge pull request #58244 from V-Sekai/typed_fail_case_return 2022-02-23 14:12:14 +01:00
Rémi Verschelde
1f3916e0b6
Merge pull request #56394 from BastiaanOlij/OpenXR_Core4 2022-02-23 13:36:07 +01:00
Rémi Verschelde
2fd17df2ce
Merge pull request #58354 from timothyqiu/gridmap-export 2022-02-23 13:05:26 +01:00
Rémi Verschelde
95783f7bfc
Merge pull request #58415 from V-Sekai/cyclic_assignment_gdscript_fixes 2022-02-23 12:09:44 +01:00
Bastiaan Olij
a78a9fee71 Implementing OpenXR driver 2022-02-23 12:02:24 +01:00
Rémi Verschelde
fcf8c2006d
Merge pull request #58411 from cbscribe/rename_motion_velocity 2022-02-23 09:48:58 +01:00
Chris Bradfield
849d34ba8e Rename motion_velocity to velocity 2022-02-22 23:31:33 -08:00
clayjohn
fe49244611 Use Filament specular models and parametrization 2022-02-22 19:39:41 -08:00
SaracenOne
b6aa4ed55d Fixes cyclic detection from variables assigning themselves to themselves in autocomplete, and restricts initialization of variables from other variables which have not been declared above it in class body 2022-02-22 01:21:21 +00:00
Rémi Verschelde
d42250e2fb
Merge pull request #58275 from V-Sekai/attribute_parse_crash_fix 2022-02-21 12:17:14 +01:00
Haoyu Qiu
c798f98779 Fix GLTF exporter crash when using GridMap 2022-02-20 21:52:04 +08:00
Rémi Verschelde
279f105246
Merge pull request #58321 from akien-mga/vector3-forward-declares 2022-02-20 11:35:33 +01:00
megalobyte
4d275c473e Don't process VisualScriptNodes 2022-02-19 14:33:27 -05:00
Rémi Verschelde
e031aa06ee Core: Use forward declares for Vector3/Vector3i
Add add Vector3 operator in Vector3i.
2022-02-19 16:47:24 +01:00
Marvin Ewald
cea0630fef Fix typed arrays for Object based types
Fixes https://github.com/godotengine/godot/issues/53771.
2022-02-19 16:27:06 +01:00
SaracenOne
ae0026bc7b Make 'is_attribute' false during parse error to prevent crash 2022-02-18 12:52:46 +00:00
Markus Sauermann
bac8e451c0 Describe usage of float in range documentation 2022-02-18 00:59:22 +01:00
SaracenOne
ab2a8bd1d8 Fix using typed arrays based on script classes 2022-02-17 17:34:53 +00:00
SaracenOne
62d87fbd8b Return a correctly typed variant in case of a function error to prevent hard crashes 2022-02-17 15:45:19 +00:00
Rémi Verschelde
b890e5b8ad
Merge pull request #58189 from fazil47/gltf-export-default-material-fix
Default material is assigned to meshes without material for glTF export
2022-02-17 09:16:36 +01:00
Ellen Poe
76f667bf2a
Merge pull request #58130 from timothyqiu/ogg-seek-crash
Fix infinite recursion when seeking Ogg Vorbis file
2022-02-16 20:14:31 -08:00
MythTitans
509e03c821 Fix normals computation at the 'seam' of smoothed sphere and cylinder shapes 2022-02-16 22:23:28 +01:00
Rémi Verschelde
009254d87c
Merge pull request #58187 from jakobbouchard/notification-switch-chunk-c
Convert _notification methods to switch - Chunk C
2022-02-16 20:58:55 +01:00
SaracenOne
657b9b6596 Fix local variables not showing when breaking on final line 2022-02-16 18:12:38 +00:00
Jakob Bouchard
6553f5c242
Convert _notification methods to switch - Chunk C 2022-02-16 13:03:05 -05:00
Rémi Verschelde
5d5f80b529
Merge pull request #58190 from MisoMosiSpy/vs_icons 2022-02-16 17:18:15 +01:00
MisoMosiSpy
fa2026365d Added icons for missing types in visual script’s icon list. 2022-02-16 20:31:18 +05:30
Fazil Babu
771170e7b0 Default material is assigned to meshes without material for glTF export 2022-02-16 20:19:19 +05:30
SaracenOne
d45c3cdd1d Fix error when assigning to an explicitly annotated variant from an ambiguous source 2022-02-16 13:25:27 +00:00
Rémi Verschelde
b8b4580448
Style: Cleanup single-line blocks, semicolons, dead code
Remove currently unused implementation of TextureBasisU, could be re-added
later on if needed and ported.
2022-02-16 14:06:29 +01:00
Haoyu Qiu
1262d331c0 Fix VisualScript crash when using Set Index node 2022-02-16 15:27:41 +08:00
Haoyu Qiu
19a2ec3d04 Add GridMap.get_used_cells_by_item 2022-02-16 13:04:31 +08:00
Rémi Verschelde
11572c6e30
Editor: Cleanup some includes dependencies
Removes some unnecessary includes from `editor_node.h`, and instead add
those where they're used.

Removes unnecessary `editor_node.h` includes in various editor classes.

Renames `dynamicfont` to `dynamic_font` in a couple files.

Misc cleanup while jumping through that rabbit hole.
2022-02-15 14:54:15 +01:00
Rémi Verschelde
760a95e86a
Merge pull request #57877 from bruvzg/subpixel_gl_pos 2022-02-15 13:58:38 +01:00
Rémi Verschelde
78a767edb3
Merge pull request #35679 from Calinou/doc-add-xml-schema 2022-02-15 13:14:58 +01:00
Haoyu Qiu
b4ffaebb87 Fix infinite recursion when seeking Ogg Vorbis file 2022-02-15 15:11:05 +08:00
Hugo Locurcio
b68dd2e189
Add an XML schema for documentation
This makes it easier to spot syntax errors when editing the
class reference. The schema is referenced locally so validation
can still work offline.

Each class XML's schema conformance is also checked on GitHub Actions.
2022-02-15 00:03:31 +01:00
Rémi Verschelde
d02db6306e
Merge pull request #58105 from trollodel/nuke_p_editor_editor_plugin 2022-02-14 21:10:38 +01:00
trollodel
cd1d7294d8 Remove the EditorNode parameter from EditorPlugins create methods
Remove EditorNode usage from the Navigation editor plugin.
2022-02-14 18:21:42 +01:00
Haoyu Qiu
b5badd12c6 Fix crash and memory leak when importing OGG Vorbis 2022-02-15 00:25:02 +08:00
Rémi Verschelde
f810f76890
Merge pull request #57306 from trollodel/remove_editornode_param 2022-02-14 16:40:40 +01:00
trollodel
05b56f316d Remove most EditorNode constructor parameters and fields 2022-02-14 14:16:24 +01:00
kleonc
5422d863e1 NavMap Fix polygons being treated like triangle strips instead of triangle fans 2022-02-13 19:26:17 +01:00
Rémi Verschelde
7224389468
Merge pull request #57954 from TokageItLab/refactor-cubic-interpolate
Implement `cubic_interpolate()` as MathFunc for refactoring
2022-02-13 10:34:13 +01:00
jmb462
e5657a4fbf Fix renaming function dialog in VisualScript does not work correctly 2022-02-12 21:28:28 +01:00
bruvzg
29199579f7
Add sub-pixel glyph positioning support. 2022-02-12 19:55:52 +02:00
Hendrik Brucker
77fb65debf Use EditorFileDialog instead of FileDialog in the project manager 2022-02-12 12:06:51 +01:00
Rémi Verschelde
d1dbe21c56
Merge pull request #57980 from akien-mga/vulkan-1.3.204 2022-02-12 10:21:27 +01:00
Silc 'Tokage' Renew
865da09871 Implement cubic_interpolate() as MathFunc for refactoring 2022-02-12 18:11:17 +09:00
Rémi Verschelde
7a7fabe4f6
Merge pull request #57641 from Geometror/compilation-time-improvements-1 2022-02-12 09:46:02 +01:00
Hendrik Brucker
b396fd4eef Improve compilation speed (forward declarations/includes cleanup) 2022-02-12 02:46:22 +01:00
strank
dcf19f8914 Fix "Identifier not found" compiler error when accessing inherited signals or functions as callables. 2022-02-11 20:45:04 -05:00
Rémi Verschelde
18d6b75ba8
RendererRD: Remove binding specifier for push constants
This is unsupported and glslang made it raise an error in 11.7.0:
https://github.com/KhronosGroup/glslang/pull/2810

Co-authored-by: Clay John <claynjohn@gmail.com>
2022-02-11 18:42:32 +01:00
Fazil Babu
92f4c33492 CSG Meshes can be exported as glTF 2022-02-11 22:48:28 +05:30
Ignacio Roldán Etcheverry
f4478843ca
Merge pull request #57917 from raulsntos/csharp-signal-documentation
Support signals in C# generated documentation
2022-02-11 14:51:57 +01:00
Raul Santos
f380a8e0ec Support signals in C# documentation 2022-02-10 16:02:31 +01:00
Rémi Verschelde
1bdb82c64e
Fix typos with codespell
Using codespell 2.2-dev from current git.

Added `misc/scripts/codespell.sh` to make it easier to run it once in a
while and update the skip and ignore lists.
2022-02-10 12:30:19 +01:00
Rémi Verschelde
90162851a7
Core: Move generated VERSION_HASH to a .cpp file
This lets us have its definition in `core/version.h` and avoid
rebuilding a handful of files every time the commit hash changes.
2022-02-09 09:20:17 +01:00
Rémi Verschelde
ba1024f42d
Merge pull request #57822 from Calinou/ios-remove-armv7 2022-02-08 23:25:16 +01:00
Rémi Verschelde
25d4c14fef
Merge pull request #57627 from JFonS/occluder_improvements 2022-02-08 23:23:50 +01:00
Ignacio Roldán Etcheverry
f05f2dd80f
Merge pull request #57076 from IgorKordiukiewicz/fix-mono-string-capitalize
String.Capitalize() in C# now matches the behaviour of String::capitalize() in C++
2022-02-08 22:16:54 +01:00
Hugo Locurcio
74fc4410f4
Remove support for ARMv7 (32-bit) on iOS
All iOS devices since the iPhone 5S support ARMv8 (64-bit).

The last iOS version supported on ARMv7 devices is 10.x, which is
too old to run Godot 4.0 projects since the minimum supported
iOS version is 11.0.
2022-02-08 22:11:29 +01:00
Rémi Verschelde
4a2f22daf4
Merge pull request #57798 from akien-mga/scons-module-tests-simplify 2022-02-08 14:36:31 +01:00
Rémi Verschelde
3495288b03
SCons: Improve logic to generate modules_tests.gen.h
This removes the need for `AlwaysBuild` by ensuring that the proper
files are being tracked as `Depends`.
2022-02-08 13:01:35 +01:00
Rémi Verschelde
f9e496168f
Merge pull request #57786 from 0And/vectorslerp 2022-02-08 12:56:43 +01:00
Rémi Verschelde
a66e55069e
Merge pull request #57796 from akien-mga/revert-sname-theme-setters 2022-02-08 11:13:24 +01:00
Rémi Verschelde
6eeeb9a63c
Re-add missing SNAME macros in get_theme_* calls
They were removed in the previous commit reverting the addition of `SNAME`
to `add_theme_*` and theme setter methods, which is not wanted.
2022-02-08 10:31:56 +01:00
Rémi Verschelde
fc076ece3d
Revert "Add missing SNAME macro optimization to all theme methods call"
This reverts commit a988fad9a0.

As discussed in #57725 and clarified in #57788, `SNAME` is not meant to be used
everywhere but only in critical code paths. For theme methods specifically, it
was by design that only getters use `SNAME` and not setters.
2022-02-08 10:17:25 +01:00
Rémi Verschelde
317cd0b19a
Refactor some object type checking code with cast_to
Less stringly typed logic, and less String allocations and comparisons.
2022-02-08 10:08:34 +01:00
Andrew Jacob
8675ff0a74 Allow C# Vector2/3 slerp values to have any length 2022-02-07 22:58:43 -07:00
Rémi Verschelde
d35269ab21
Merge pull request #57764 from timothyqiu/octant-delete 2022-02-07 18:28:27 +01:00
Rémi Verschelde
05bad19a9a
Merge pull request #57752 from Calinou/doc-csg-nodes-performance 2022-02-07 18:27:58 +01:00
Haoyu Qiu
5d4a141c97 Fix GridMap memory leak 2022-02-08 00:27:01 +08:00
Hugo Locurcio
5268786ac0
Document performance limitations with CSG nodes, link to tutorial 2022-02-07 15:55:02 +01:00
Fabio Alessandrelli
086256431a [Net] Add type check to GDScriptRPCCallable.
It will print an error when using an RPC defined on an object which does
not extend Node.
2022-02-07 13:39:45 +01:00
Fabio Alessandrelli
994638da4f [Net] Implement GDScript custom RPC callable. 2022-02-07 13:39:10 +01:00
Rémi Verschelde
1694626e03
Merge pull request #57305 from bruvzg/macos_cleanup 2022-02-07 13:36:09 +01:00
Rémi Verschelde
6a56314eab
Merge pull request #57748 from fabriceci/rename-script-template-variable 2022-02-07 13:22:23 +01:00
jfons
dd970482c5 Improvements and fixes to occluders
Improvements:
* Occluder3D is now an abstract type inherited by: ArrayOccluder3D, QuadOccluder3D, BoxOccluder3D, SphereOccluder3D and PolygonOccluder3D. ArrayOccluder3D serves the same purpose as the old Occluder3D (triangle mesh occluder) while the rest are primitives that can be used to manually place simple occluders.
* Occluder baking can now apply simplification. The "bake_simplification_distance" property can be used to set a world-space distance as the desired maximum error, set to 0.1 by default.
* Occluders can now be generated on import. Using the "occ" and "occonly" keywords (similar to "col" and "colonly" for colliders) or by enabling on MeshInstance3Ds in the scene's import window.

Fixes:
* Fixed saving of occluder files after bake.
* Fixed a small error where occluders didn't correctly update in the rendering server.

Bonus content:
* Generalized "CollisionPolygon3DEditor" so it can also be used to edit Resources. Renamed it to "Polygon3DEditor" since it was already being used by other things, not just colliders.
* Fixed a small bug in "EditorPropertyArray" where a call to "remove" was left after the "remove_at" rename.
2022-02-07 13:04:51 +01:00
Rémi Verschelde
bfb75d107c
Merge pull request #57741 from Chaosus/vs_fixes 2022-02-07 12:50:44 +01:00
fabriceci
e81ccaf270 rename jump force to jump velocity 2022-02-07 11:46:30 +01:00
Rémi Verschelde
b024602660
Merge pull request #57725 from jmb462/missing-sname-theme-setters 2022-02-07 11:46:25 +01:00
Yuri Roubinsky
a6e280c5de Add some more fixes to visual shader 2022-02-07 11:28:42 +03:00
Raul Santos
303f0c8626 Attach mono thread before getting nativeName field
In order to access the `nativeName` constant field from a C# class, the
mono scope thread must be attached or the mono domain will be null.
2022-02-07 03:43:34 +01:00
jmb462
a988fad9a0 Add missing SNAME macro optimization to all theme methods call 2022-02-06 23:06:11 +01:00
Rémi Verschelde
eb4b4a317b
Merge pull request #57649 from Faless/net/4.x_ws_queue_hostres
[Net] Non-blocking WebSocket hostname resolution.
2022-02-05 18:23:11 +01:00
Jordan Schidlowsky
1ec96bc206 [Net] Non-blocking WebSocket hostname resolution.
Hostname is now resolved during poll in WebSocketClient (wslay) to avoid
blocking during connect.
An attempt is still made to find the hostname in the resolver cache.
2022-02-05 02:22:43 +01:00
K. S. Ernest (iFire) Lee
419b342a9a Faster CVTT by reducing quality.
Make BC6 and BC7 CVTT faster while still having better quality than DXT5.
2022-02-04 15:15:26 -08:00
Rémi Verschelde
77d08b68b0
Merge pull request #49445 from Calinou/gdscript-highlight-namespace-reserved-keyword 2022-02-04 19:03:28 +01:00
Rémi Verschelde
2885befbe6
Merge pull request #55950 from Faless/mp/4.x_replication_nodes 2022-02-04 19:03:10 +01:00
Rémi Verschelde
61c57491bc
Merge pull request #57625 from akien-mga/core-split-vector2i-own-header 2022-02-04 19:00:39 +01:00
Hugo Locurcio
de45534fed
Highlight "namespace" as a GDScript keyword in the syntax highlighter
Like "trait" and "yield", "namespace" is currently not implemented
but is still reserved for future use.
2022-02-04 17:46:13 +01:00
Rémi Verschelde
e223bad86d
Core: Move Vector2i to its own vector2i.h header
Also reduce interdependencies and clean up a bit.
2022-02-04 16:32:21 +01:00
Rémi Verschelde
8495be9cec
Merge pull request #57621 from akien-mga/core-split-rect2i-own-header 2022-02-04 16:05:30 +01:00
Ignacio Roldán Etcheverry
721c32ee2b
Merge pull request #57618 from Densorius/master
Fixed opening new instances of VS 2022 while a instance is already open
2022-02-04 15:05:51 +01:00
Fabio Alessandrelli
d219547c96 [Net] New replication interface, spawner and synchronizer nodes.
Initial implementation of the MultiplayerReplicationInterface and its
default implementation (SceneReplicationInterface).

New MultiplayerSpawner node helps dealing with instantiation of scenes
on remote peers (e.g. clients).
It supports both custom spawns via a `_spawn_custom` virtual function,
and optional auto-spawn of known scenes via a TypedArray<PackedScenes>
property.

New MultiplayerSynchornizer helps synchronizing states between the local
and remote peers, supports both sync and spawn properties and is
configured via a `SceneReplicationConfig` resource.
It can also sync via path (i.e. without being spawned by a
MultiplayerSpawner if both peers has it in tree, but will not send the
spawn state in that case, only the sync one.
2022-02-04 14:56:30 +01:00