Commit Graph

6690 Commits

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