Commit graph

8451 commits

Author SHA1 Message Date
George Marques
2e5fa124f4
Disallow class names to be the same as global names
Also forbid autoloads to have the same name as global script class.
2021-09-13 10:51:29 -03:00
Hugo Locurcio
f85426e8ad
Merge pull request #51805 from skysphr/scrollbar-icons-pressed
Added increment_pressed and decrement_pressed icons to scrollbars
2021-09-13 14:57:21 +02:00
Rémi Verschelde
1994525fc2
Merge pull request #51981 from kleonc/multi-node-edit-node_path-fix
MultiNodeEdit Fix setting NodePath
2021-09-13 14:05:14 +02:00
Rémi Verschelde
dde48ebed6
Merge pull request #52298 from DeleteSystem32/meshlib-transform
implement individual mesh transform for meshlibrary items
2021-09-13 12:19:30 +02:00
Juan Linietsky
8aedcfced7
Merge pull request #52504 from V-Sekai/gltf_8_uv
8 uvs for glTF2, URI decode and Vertex Custom api
2021-09-11 16:42:35 -03:00
Hugo Locurcio
c03e7c2dde
Enable Pixel Snap by default in the 2D editor
Since this avoids accidentally placing 2D nodes at subpixel positions,
this results in more crisp visuals by default, even when pixel snapping
is disabled in the project settings.
2021-09-10 22:13:06 +02:00
Juan Linietsky
6679790fac
Merge pull request #52406 from ellenhp/libvorbis
Replace stb_vorbis with libvorbis
2021-09-10 16:24:59 -03:00
Lyuma
aca4b737f1 8 uvs for glTF2, URI decode and Vertex Custom api.
Add glTF2 uri decode for paths.

Add vertex custom apis.

Add scene importer api.

Change Color to float; add support for float-based custom channels in SurfaceTool and EditorSceneImporterMesh

Co-authored-by: darth negative hunter
 <thenegativehunter2@users.noreply.github.com>
2021-09-10 09:16:48 -07:00
Max Hilbrunner
cf08fadbad
Merge pull request #52503 from KoBeWi/DROPNODESTOFOLDERRRR
Save branch as scene by dropping to filesystem
2021-09-10 12:58:03 +02:00
Ellen Poe
f5d9c7b487 Replace stb_vorbis with libogg+libvorbis 2021-09-09 19:39:04 -07:00
Juan Linietsky
729461b2a4
Merge pull request #51158 from YeldhamDev/potgen_enhancements
Make some enhancements to the POT generation
2021-09-09 20:21:29 -03:00
Juan Linietsky
d0a7eeaaff
Merge pull request #44844 from KoBeWi/hey_listen!_but_2d
Add Listener2D
2021-09-09 19:19:10 -03:00
Vincent
70108fd850 implement individual mesh transform for meshlibrary items 2021-09-09 16:40:16 +02:00
kobewi
d4f4cfbb40 Save branch as scene by dropping to filesystem 2021-09-09 00:59:10 +02:00
Juan Linietsky
25291a5b03
Merge pull request #52462 from TokageItLab/fixed-regression-of-skinning
Fixed regression of skinning with skeleton
2021-09-08 10:07:46 -03:00
Gilles Roudière
321ee7bda1
Merge pull request #52106 from Paulb23/text-edit-optimisation
Optimise TextEdit get line height and width
2021-09-08 14:04:41 +02:00
Gilles Roudière
d308a0a148
Merge pull request #52307 from Calinou/scene-tree-tooltip-display-node-name
Display the node name in scene tree dock tooltips
2021-09-08 09:20:34 +02:00
Gilles Roudière
b0fd7ae642
Merge pull request #52459 from groud/fix_terrain_editor_reset
Fix TileSet terrain painting reset to no terrain
2021-09-08 09:19:39 +02:00
AndreaCatania
e3a06c3a9e Improve collision generation usability in the new 3D scene import workflow.
With this PR it's possible to add a collision during the Mesh import, directly in editor.
To generate the shape is possible to chose between the following options:
- Decompose Convex: The Mesh is decomposed in one or many Convex Shapes (Using the VHACD library).
- Simple Convex: Is generated a convex shape that enclose the entire mesh.
- Trimesh: Generate a trimesh shape using the Mesh faces.
- Box: Add a primitive box shape, where you can tweak the `size`, `position`, `rotation`.
- Sphere: Add a primitive sphere shape, where you can tweak the `radius`, `position`, `rotation`.
- Cylinder: Add a primitive cylinder shape, where you can tweak the `height`, `radius`, `position`, `rotation`.
- Capsule: Add a primitive capsule shape, where you can tweak the `height`, `radius`, `position`, `rotation`.

It's also possible to chose the generated body, so you can create:
- Rigid Body
- Static Body
- Area
2021-09-08 08:12:51 +02:00
PouleyKetchoupp
37de1df2ab Fix undo/redo for properties set as PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED
Full inspector update was triggered only on property changed, but not on
undo/redo actions, which can cause inspector discrepancies when some
properties are supposed to be shown or hidden.

Now update all flag is passed into _edit_set() method which already has
logic to handle this case properly (it still triggers update_tree() down
the line).
2021-09-07 13:58:41 -07:00
Juan Linietsky
58388f8cec
Merge pull request #47391 from Calinou/platform-feature-tags-lowercase
Make platform feature tag names lowercase
2021-09-07 16:30:50 -03:00
Max Hilbrunner
1eee73c26f
Merge pull request #52440 from kdiduk/issue-41297-fix-type-casting-to-uint32_t
Cosmetic: explicitly convert signed to unsigned value
2021-09-07 21:08:26 +02:00
Max Hilbrunner
886ad727f8
Merge pull request #52267 from williamd67/lookup-symbol-builtin-functions
Show help for built-in functions (@GlobalScope)
2021-09-07 21:05:09 +02:00
Juan Linietsky
93aa158b5e
Merge pull request #52277 from groud/implement_array_property_hint
Implement properties arrays in the Inspector.
2021-09-07 11:59:46 -03:00
Silc 'Tokage' Renew
48aa2d5494 Fixed regression of skinning with skeleton 2021-09-07 23:59:29 +09:00
Gilles Roudière
f361796771 Fix TileSet terrain painting reset to no terrain 2021-09-07 14:59:58 +02:00
Gilles Roudière
4bd7700e89 Implement properties arrays in the Inspector. 2021-09-07 09:51:28 +02:00
Camille Mohr-Daurat
a93fb2655a
Merge pull request #52286 from nekomatata/restore-kinematic-body
Add AnimatableBody inherited from StaticBody for moving platforms
2021-09-06 09:32:46 -07:00
Kirill Diduk
92fa2bac23 Explicitly convert signed to unsigned value 2021-09-06 15:40:41 +02:00
Silc 'Tokage' Renew
facf8f1883 Apply set_read_only() to child classes of EditorProperty elements 2021-09-05 18:22:17 +09:00
William Deurwaarder
d927d4203c Symbol lookup jumps to the correct position in help editor
Commit `e4651a4` introduced `scroll_to_paragraph` and changed the implementation
of `scroll_to_line`, which also counts lines within paragraphs.

The help editor still used the `scroll_to_line` method
while it should use the newly implemented `scroll_to_paragraph' as that is
stored in its tables.
2021-09-02 21:51:27 +02:00
Hugo Locurcio
b73e7623c8
Merge pull request #33123 from Calinou/remote-inspector-capitalize-properties
Capitalize properties in the remote inspector
2021-09-02 19:44:53 +02:00
TechnoPorg
1963c63b91 Load assets before enabling editor plugins
Moves the code for enabling plugins from NOTIFICATION_READY to after the first scan has been completed.
2021-09-02 09:41:12 -06:00
Michael Alexsander
ee4b0108e0 Make some enhancements to the POT generation 2021-09-02 11:12:54 -03:00
ThreeRhinosInAnElephantCostume
a442b06313 Fix Find Next shortcut not working when search bar is focused 2021-09-02 09:54:26 +02:00
Hendrik Brucker
43faebdf48 Tweak tooltip style 2021-09-02 02:41:09 +02:00
Hugo Locurcio
16cfb97ca2
Tweak skeleton editor texts "Make Rest Pose" and "Set Bones to Rest Pose"
The new terms are more descriptive of each button's actual function.
2021-09-01 17:51:18 +02:00
Fabio Alessandrelli
58c30b2626
Merge pull request #51639 from Ev1lbl0w/gsoc21-dap
Implement more advanced features for DAP
2021-09-01 16:17:32 +02:00
Hugo Locurcio
c673aea124
Display the node name in scene tree dock tooltips
This makes long node names previewable without having to rename them.
2021-09-01 15:02:42 +02:00
PouleyKetchoupp
83baecdff0 Add AnimatableBody inherited from StaticBody for moving platforms
Instead of having a physics node named Static that can be either Static
or Kinematic, AnimatableBody is added again as a separate node:
-Inherited from StaticBody to make its usage clearer
-Still separated from CharacterBody to make its usage more focused

Properly implemented constant velocity for kinematic bodies in godot
physics servers (induced velocity without actually moving).

Also updated description for the different physics nodes to make their
usage clearer.
2021-08-31 18:14:32 -07:00
Hugo Locurcio
2daaf0fdc3
Make platform feature tag names lowercase
Feature tag names are still case-sensitive, but this makes built-in
feature tags more consistent.

- `Windows` -> `windows`
- `OSX` -> `osx`
- `LinuxBSD` -> `linuxbsd`
- `Android` -> `android`
- `iOS` -> `ios`
- `HTML5` -> `html5`
- `JavaScript` -> `javascript`
- `UWP` -> `uwp`
2021-08-31 20:34:44 +02:00
Aaron Franke
288f0b6555
Reformat Transform(2D) inspector menus
Move, rename, recolor, and fix the inspector for these in the inspector. Coloring is now done by a helper method in "editor_inspector.cpp".
2021-08-31 11:24:40 -05:00
kobewi
f2cb0a8d4b Add Listener2D 2021-08-31 16:53:14 +02:00
Hugo Locurcio
854f328517
Capitalize properties in the remote inspector
This makes property casing consistent with the editor.

If property capitalization is disabled in the Editor Settings,
the remote inspector will also disable capitalization.
2021-08-31 16:39:37 +02:00
Ev1lbl0w
292ed61c18 Implemented advanced features of DAP
Respect client "supportsVariableType" capability

Implement "breakpointLocations" request

Implement "restart" request

Implement "evaluate" request

Fix error messages not being shown, and improved wrong path message

Removed thread option and behavior

Implemented detailed inspection of complex variables

Fix "const"ness of functions

Added a configurable timeout for requests

Implement Godot custom data request/event

Implement syncing of breakpoints

Added support for debugging native platforms
2021-08-31 15:17:58 +01:00
Nathan Franke
9954544be8
Make default main screen plugin work even if 2D and 3D are disabled 2021-08-31 00:17:22 -05:00
kobewi
baf2f374f4 Sort palette commands by last use 2021-08-31 02:07:52 +02:00
Juan Linietsky
bcd73fc00a
Merge pull request #52240 from Rubonnek/rename-rel-path
Rename `String::is_rel_path` to `String::is_relative_path`
2021-08-30 20:45:45 -03:00
Juan Linietsky
d085b2d04d
Merge pull request #43838 from lupoDharkael/cancel-member
Clear connection data from/to empty after used
2021-08-30 19:38:51 -03:00
William Deurwaarder
b2f858870d Show help for built-in functions (@GlobalScope) 2021-08-30 21:51:56 +02:00
jmb462
91974057a5 Fix CTRL+V doesn't work properly in inspector textedit 2021-08-30 17:33:01 +02:00
Juan Linietsky
6dab6e4136
Revert " Improve collision generation usability in the new 3D scene import workflow." 2021-08-30 11:30:36 -03:00
Camille Mohr-Daurat
b60a51f023
Merge pull request #51985 from AndreaCatania/coll
Improve collision generation usability in the new 3D scene import workflow.
2021-08-30 07:25:51 -07:00
Juan Linietsky
503244d452
Merge pull request #52245 from AndreaCatania/AndreaCatania-patch-4
EditorPropertyText, pass changing variable false.
2021-08-30 08:51:11 -03:00
Andrea Catania
847d9c29c7
Update editor_properties.cpp 2021-08-30 11:35:17 +02:00
Andrea Catania
d332a546c6
EditorPropertyText, pass changing variable false.
When the `EditorPropertyText`  change is triggered, it pass the `changing` as true, while there is an early return that blocks such event to be emitted when the Editor is updating.
This commit aligns the early return with the passes parameter.
2021-08-30 11:34:01 +02:00
Wilson E. Alvarez
d11c1afc04
Rename String::is_rel_path to String::is_relative_path 2021-08-29 20:41:29 -04:00
Juan Linietsky
07707a3627
Revert "Display a matrix for Node2D and don't display a duplicate origin" 2021-08-29 17:01:07 -03:00
Fabio Alessandrelli
ecb2e8297c [Editor] Editor debugger binds according to editor settings. 2021-08-29 18:03:12 +02:00
Aaron Franke
ee7bb9bbb9
Display a matrix for Node2D and don't display a duplicate origin 2021-08-29 10:34:50 -05:00
Ricardo Subtil
a08dbf3888 Fix messages with embedded newlines not being properly presented 2021-08-29 10:35:13 +01:00
Paulb23
de009cb5ae Optimise TextEdit get height and width 2021-08-28 11:27:23 +01:00
AndreaCatania
2d2d24a538 Improve collision generation usability in the new 3D scene import workflow.
With this PR it's possible to add a collision during the Mesh import, directly in editor.
To generate the shape is possible to chose between the following options:
- Decompose Convex: The Mesh is decomposed in one or many Convex Shapes (Using the VHACD library).
- Simple Convex: Is generated a convex shape that enclose the entire mesh.
- Trimesh: Generate a trimesh shape using the Mesh faces.
- Box: Add a primitive box shape, where you can tweak the `size`, `position`, `rotation`.
- Sphere: Add a primitive sphere shape, where you can tweak the `radius`, `position`, `rotation`.
- Cylinder: Add a primitive cylinder shape, where you can tweak the `height`, `radius`, `position`, `rotation`.
- Capsule: Add a primitive capsule shape, where you can tweak the `height`, `radius`, `position`, `rotation`.

It's also possible to chose the generated body, so you can create:
- Rigid Body.
- Static Body.
- Area.
2021-08-28 08:34:15 +02:00
K. S. Ernest (iFire) Lee
d04aa9a114
Merge pull request #52122 from V-Sekai/autoload_list
Use sorted map for autoloads in ProjectSettings to preserve order.
2021-08-27 14:41:40 -07:00
Max Hilbrunner
8e3e9d121d
Merge pull request #51962 from LoipesMas/zoom_fix
Clamp EditorZoomWidget zoom
2021-08-27 21:31:46 +02:00
K. S. Ernest (iFire) Lee
90a35dac48
Merge pull request #51908 from bruvzg/msdf_fonts2
Make FontData importable resource. Add multi-channel SDF font rendering.
2021-08-27 08:51:37 -07:00
Camille Mohr-Daurat
ca4f20529c
Merge pull request #51896 from nekomatata/restore-ray-shape
Refactor RayShape and rename to SeparationRayShape
2021-08-27 08:49:49 -07:00
SaracenOne
1fbbe25cea Fix crash on scenes with tool scripts and mismatched node types 2021-08-27 14:32:28 +01:00
bruvzg
4c3f7d1290 Makes FontData importable resource.
Adds multi-channel SDF font texture generation and rendering support.
Adds per-font oversampling support.
Adds FontData import plugins (for dynamic fonts, BMFonts and monospaced image fonts), font texture cache pre-generation and loading.
Adds BMFont binary format and outline support.
2021-08-27 15:43:18 +03:00
K. S. Ernest (iFire) Lee
00268e37a0
Merge pull request #52142 from NathanLovato/GDQuest/animation-bezier-editor-improvements
Replace close icon with button in the Bezier editor
2021-08-27 01:58:00 -07:00
Lyuma
31f790299c Use OrderedHashMap for autoloads to preserve order 2021-08-26 21:55:26 -07:00
Nathan Lovato
4e7ac43cfe Replace close icon with button in the Bezier editor 2021-08-26 19:21:49 -06:00
Tomek
f6f5e0f934
Merge pull request #39404 from rcorre/proposal-106-copy-prop-path
Allow copying property path from inspector.
2021-08-27 00:39:42 +02:00
Juan Linietsky
eb940ca2a0
Merge pull request #51928 from reduz/extension-loader
Implement Extension Loader
2021-08-26 10:24:25 -03:00
Juan Linietsky
34e286d6a3
Merge pull request #52077 from reduz/error-ret-doc
Implement error return documentation
2021-08-26 08:42:06 -03:00
LoipesMas
f3883ea59e Fix zoom label not being updated 2021-08-25 18:53:40 +02:00
JFonS
c334989e00
Merge pull request #51821 from Calinou/builtin-shaders-add-comments
Add comments at the top of each built-in shader to ease debugging
2021-08-25 11:37:57 +02:00
PouleyKetchoupp
3d5dc80348 Rename RayShape to SeparationRayShape
Makes it clearer that it's used for special cases when picking a
collision shape.
2021-08-24 17:34:55 -07:00
PouleyKetchoupp
45c7af9862 Restore RayShape as a regular shape type
Partial revert from previously removing ray shapes completely, added
back as a shape type but without the specific character controller code.
2021-08-24 16:03:05 -07:00
reduz
96f8254b24 Implement error return documetation
Adds ability to add error return documetation to the binder and class reference.
Usage example:

```C++
void MyClass::_bind_method() {
	[..]
	BIND_METHOD_ERR_RETURN_DOC("load", ERR_FILE_CANT_OPEN, ERR_FILE_UNRECOGNIZED);
}
```

One function of ConfigFile was changed as example.
2021-08-24 15:28:29 -03:00
Juan Linietsky
61141793ca
Merge pull request #51999 from lyuma/set_surface_material
Implement methods in EditorSceneImporterMesh, and add documentation.
2021-08-24 11:17:48 -03:00
Juan Linietsky
aa3c3a9ebb
Merge pull request #52036 from reduz/native-extension-argument-pointers
Implement NativeExtension pointer arguments
2021-08-23 20:36:48 -03:00
reduz
44d62a9f4b Implement NativeExtension pointer arguments
* Allows calling into native extensions directly with a pointer
* Makes it easier to implement some APIs more efficiently
* Appears with a "*" in the documentation for the argument.
* Implementing the pointer handling is entirely up to the implementation, although the extension API provides some hint.
* AudioStream has been implemented as an example, allowing to create NativeExtension based AudioStreams.
2021-08-23 19:58:40 -03:00
Ryan Roden-Corrent
0205fffbf3
Copy/Paste property paths/values in inspector.
Resolves godotengine/godot-proposals#106.

Adds the following property menu options with default bindings:

- Copy Property (ctrl+c)
- Paste Property (ctrl+v)
- Copy Property Path (ctrl+shift+c)

If you hover over a property label in the inspector dock, you can copy
either the property value or the property path to the system clipboard
using the shortcuts above This is especially useful for the
`AnimationTree`, where code might reference properties like
"parameters/state/aim/move/blend_position".

One issue is that if you click a property, then click on the node you
currently have selected in the node tree, then press ctrl+shift+c, it
will still copy the selected property path rather than the node path. If
you click on a different node in the nodetree, however, ctrl+shift+c
will return to copying the nodepath.

The property value copy/paste was implemented by @KoBeWi at #39398 and
merged into this PR due to their similarity.
2021-08-23 18:15:05 -04:00
Max Hilbrunner
b86a1cc248
Merge pull request #37253 from KoBeWi/animass
Allow to load multiple animations at once
2021-08-23 20:03:23 +02:00
Hugo Locurcio
679b9be9d3
Merge pull request #52021 from Calinou/rename-polygon-editor-settings
Rename polygon editor settings for better display in the Editor Settings
2021-08-23 19:25:24 +02:00
Hugo Locurcio
19a735913e
Merge pull request #51998 from SirQuartz/Schrödinger's-search-box
Fix quick open script results
2021-08-23 18:51:57 +02:00
Hugo Locurcio
cbe6c25c6b
Rename polygon editor settings for better display in the Editor Settings 2021-08-23 17:59:19 +02:00
Tomasz Chabora
b1db36e65d Allow to load multiple animations at once 2021-08-23 17:24:02 +02:00
Max Hilbrunner
583b6a594a
Merge pull request #51971 from aaronfranke/https
Replace HTTP URLs with HTTPS for sites with HTTPS versions
2021-08-23 15:58:54 +02:00
reduz
5cecdfa8af Entirely removes BIND_VMETHOD in favor of GDVIRTUAL
* `_gui_input`, `_input`, `_unhandled_input` and `_unhandled_key_input` are now regular C++ virutal functions.
* Everything else converted to GDVIRTUAL
* BIND_VMETHOD is gone, always use the new syntax from now on.

Creating `_gui_input` method and using the binder to register events will no longer work, simply override the virtual function now.
2021-08-23 08:10:13 -03:00
Lyuma
e6962729d5 Implement set_surface_material and set_surface_name methods in EditorSceneImporterMesh, and add documentation. 2021-08-22 19:42:35 -07:00
Aaron Franke
ae1702bee5
Replace HTTP links with HTTPS for sites with HTTPS versions 2021-08-22 20:13:11 -05:00
Nicholas Huelin
c08407ed60
Fix quick open script top result
This pull request fixes an issue where the top search result of the quick open script wouldn't be the most relevant when the first letter is typed.
2021-08-22 19:28:49 -04:00
Michael Alexsander
2f8a58ad46
Merge pull request #51886 from Geometror/fix-layout-editor-file-dialog
Fix ItemList layout (+EditorFileDialog)
2021-08-22 16:47:11 +00:00
Juan Linietsky
e42628cd99
Merge pull request #51982 from reduz/fix-doctool-merging-when-signatures-change
Fix doctool merges when method signatures don't match
2021-08-22 12:37:38 -03:00
K. S. Ernest (iFire) Lee
7cbf5a547f
Merge pull request #51700 from Geometror/fix-color-picker
Reimplement ColorPicker presets
2021-08-22 08:23:09 -07:00
kleonc
5260fd8f3e MultiNodeEdit Fix setting NodePath 2021-08-22 17:17:30 +02:00
reduz
431ba0ebb1 Fix doctool merges when method signatures don't match
If methods signature did not match, documentation is not merged. This is
a considerable source of annoyance for contributors and it happened as
a result of #4533, otherwise the documentation for constructors would
not be properly merged.

This PR modifies the logic introduced to only do the signature test on
constructors and operators (which are the only types of members that can repeat).
2021-08-22 09:43:05 -03:00
reduz
3682978aee Replace BIND_VMETHOD by new GDVIRTUAL syntax
* New syntax is type safe.
* New syntax allows for type safe virtuals in native extensions.
* New syntax permits extremely fast calling.

Note: Everything was replaced where possible except for `_gui_input` `_input` and `_unhandled_input`.
These will require API rework on a separate PR as they work different than the rest of the functions.

Added a new method flag METHOD_FLAG_OBJECT_CORE, used internally. Allows to not dump the core virtuals like `_notification` to the json API, since each language will implement those as it is best fits.
2021-08-22 08:23:58 -03:00