Commit Graph

4849 Commits

Author SHA1 Message Date
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
Rémi Verschelde 142a039f43 Merge pull request #59712 from Calinou/doc-canvasitem-top-level 2022-03-31 23:18:54 +02:00
Rémi Verschelde 8e5d927af5 Merge pull request #59590 from Calinou/rename-print-stray-nodes 2022-03-31 22:21:51 +02:00
Hugo Locurcio a29f2bfe54 Rename Node.print_stray_nodes() to Node.print_orphan_nodes()
The "orphan" terminology is already used elsewhere.
2022-03-31 18:33:02 +02: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
Hugo Locurcio f049c7ed06 Clarify what top_level does in CanvasItem 2022-03-31 02:04:55 +02:00
Hugo Locurcio de363db2a6 Improve documentation for Array operators 2022-03-30 20:04:45 +02: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 118f29694b Merge pull request #59691 from akien-mga/remove-adhoc-fbx-importer 2022-03-30 14:44:07 +02:00
Rémi Verschelde 03c58954c0 Merge pull request #58436 from piiertho/feature/typed-vararg-method-bind 2022-03-30 13:47:35 +02:00
Max Hilbrunner 3f78375cce Merge pull request #58934 from Karmavil/doc/classes/array.xml
doc: Add descriptions for Array operators
2022-03-30 13:40:13 +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
Pierre-Thomas Meisels 63f7f44ccb Make vararg method bind no return and return
Type emit_signal exposed method return type

set UndoRedo add_do_method and add_undo_method exposed return void

Set TreeItem::_call_recursive_bind returns void

Set _rpc_bind and _rpc_id_bind returns void in Node

Set _call_group and _call_group_flags method returns void in SceneTree

Set godot-cpp-test CI flag to false
2022-03-30 11:43:12 +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
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 482cdeaf71 Merge pull request #58608 from KoBeWi/metadefault 2022-03-29 16:14:28 +02:00
Rémi Verschelde abbb0dc082 Merge pull request #59548 from akien-mga/obj-remove-unused-categories 2022-03-28 14:17:24 +02:00
Rémi Verschelde 41d075de58 Merge pull request #59456 from Calinou/color-expose-to-linear-srgb 2022-03-28 13:36:19 +02:00
Rémi Verschelde 143d13717b Merge pull request #59553 from reduz/script-extension-support 2022-03-28 13:35:21 +02:00
Hugo Locurcio 1c343cd54d Expose Color's to_linear() and to_srgb() to scripting 2022-03-28 12:17:55 +02:00
Rémi Verschelde 00e9170812 Merge pull request #59574 from Sauermann/proposal-rename-warp-mouse
Rename warp mouse functions to warp_mouse
2022-03-28 08:52:02 +02:00
Fabio Alessandrelli 4a95408dd4 [Net] Change HTTPRequest timeout type to double.
For consistency with the Timer class and general time representation
inside the engine.
2022-03-27 18:15:56 +02:00
Karmavil aef97305db Add descriptions to operators 2022-03-27 12:13:56 -03: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
Markus Sauermann 0494e024d8 Rename warp mouse functions to warp_mouse 2022-03-27 14:12:01 +02:00
Rémi Verschelde f0407ad14d Merge pull request #59336 from YeldhamDev/where_we_dropping_boys 2022-03-26 23:30:07 +01:00
Rémi Verschelde 5371009d8e Object: Remove unused category boilerplate
We might want to re-add something like this if/when we find a good use case
for it and do the effort to categorize all objects in the API properly.

Until then, it's better to remove that boilerplate since it's not needed.

Closes #18711.
2022-03-26 15:46:01 +01:00
Rémi Verschelde e7fd0ec31f doc: Fix String.rsplit code example
Fixes #36898.
Supersedes and closes #36951.
2022-03-26 15:05:05 +01:00
FireForge bb7e6e9951 Rename "ss_reflections_" to "ssr_" in Environment 2022-03-25 14:37:01 -05:00
Hugo Locurcio 7d8b344f01 Increase the maximum number of concurrent DNS queries from 32 to 256
This makes the following error message less likely to be printed
when performing many concurrent HTTP requests:

    Condition ' resolving == IP::RESOLVER_INVALID_ID ' is true. returned: ERR_BUG
2022-03-23 18:18:23 +01:00
Haoyu Qiu 405bc96a1e Document how to specify explicit value for PROPERTY_HINT_ENUM names 2022-03-23 17:05:49 +08:00
Rémi Verschelde 9162f27836 Merge pull request #59314 from reduz/add-static-methods-to-classdb 2022-03-22 19:22:46 +01:00
reduz 2f651277da Add static method support to ClassDB
* Based on the work done for Variant in the past.
* Added `ClassDB::bind_static_method`
* Cleaned up ClassDB::bind_method to use variadic templates.

This adds support for having static methods in Object derived classes.
Note that this does not make it work yet in GDScript or Mono and, while it works for GDExtension, GodotCPP needs to be updated.
2022-03-22 16:27:34 +01:00
kobewi 3eb7fc4bfd Add optional 'default' argument to get_meta() 2022-03-22 15:50:47 +01:00
Rémi Verschelde 4c55a6529a Merge pull request #59354 from Chaosus/astar3d 2022-03-22 13:15:21 +01:00
Rémi Verschelde 7538ad81ac Merge pull request #59410 from bruvzg/mac_menu_features 2022-03-22 12:58:29 +01:00
Rémi Verschelde 2a116f601b Merge pull request #59275 from bruvzg/ft_brotli 2022-03-22 12:47:00 +01:00
bruvzg 595995a5a7 [macOS] Add missing global menu features. 2022-03-22 12:38:14 +02:00
Michael Alexsander 94b8f38de2 Add visual marker when dragging and dropping tabs 2022-03-21 22:16:29 -03:00
zacryol 21fc3cbe81 update _init() description
Specify details regarding required parameters.
2022-03-21 09:13:32 -06:00
Rémi Verschelde 16e96e52d3 Merge pull request #59352 from winterpixelgames/notify-local-transform-constant 2022-03-21 12:26:26 +01:00
Haoyu Qiu 6bf01e0567 Mention default output node name for AnimationNodeBlendTree 2022-03-21 18:02:40 +08:00
Max Hilbrunner aa8ff21b2a Merge pull request #59142 from Calinou/doc-multiplayerpeerextension
Document the MultiplayerPeerExtension class
2022-03-21 00:54:10 +01:00
Jason Knight 640099cce5 Bind NOTIFICATION_LOCAL_TRANFORM_CHANGED 2022-03-20 11:34:01 -06:00
Yuri Roubinsky 7913e04950 Rename AStar to AStar3D 2022-03-20 17:34:40 +03:00
Rémi Verschelde cb51df3286 Merge pull request #59343 from madmiraal/fix-57943
Ensure minimum modifiers are pressed when matching actions
2022-03-20 11:26:05 +01:00
Marcel Admiraal ea20049afc Ensure minimum modifiers are pressed when matching actions 2022-03-20 08:02:54 +00:00
kobewi 342dac77d4 Hide text and icon properties in OptionButton 2022-03-19 13:36:10 +01:00
Rémi Verschelde 288cdca71d Merge pull request #59290 from rburing/get_process_info_docs
PhysicsServer3D docs: sync phrasing of get_process_info with 2D docs
2022-03-19 08:30:44 +01:00