Commit graph

7922 commits

Author SHA1 Message Date
reduz
5ad4f26659 Implement the ability to disable classes
* This PR adds the ability to disable classes when building.
* For now it's only possible to do this via command like:
  `scons disable_classes=RayCast2D,Area3D`
* Eventually, a proper UI will be implemented to create a build config file to do this at large scale, as well as detect what is used in the project.
2021-07-13 09:25:14 -03:00
Rémi Verschelde
fc00a83901
Merge pull request #50262 from nekomatata/convex-hull-simplification
Options to clean/simplify convex hull generated from mesh
2021-07-12 22:15:40 +02:00
Rémi Verschelde
30d4732623
Merge pull request #50389 from Chaosus/vs_uniform_ref
Auto-set a first compatible uniform on dragging to create a UniformRef (VisualShaders)
2021-07-12 19:24:27 +02:00
Rémi Verschelde
3c0c202bf6
Merge pull request #49725 from EricEzaM/multi-node-picking-fixes
Fixes for multi-node editing interactions.
2021-07-12 19:23:13 +02:00
Rémi Verschelde
69f1048ef5
Merge pull request #50233 from Calinou/editor-add-both-environment-and-sun
Add both preview sun and sky at the same time when holding Shift
2021-07-12 15:37:11 +02:00
Hugo Locurcio
8844bb7855
Add the preview sun and sky to the beginning of the scene tree
This generally looks better when adding more nodes to the scene
in the future.
2021-07-12 12:08:58 +02:00
Yuri Roubinsky
7d34701d63 Auto-set a first compatible uniform on dragging to create a UniformRef 2021-07-12 11:19:42 +03:00
Rémi Verschelde
514c8d586a
Merge pull request #50356 from Calinou/ormmaterial3d-tweak-editor-icon
Tweak the ORMMaterial3D editor icon to follow the Godot design guidelines
2021-07-12 08:48:50 +02:00
K. S. Ernest (iFire) Lee
7594150f65
Merge pull request #50354 from Calinou/immediatemesh-add-editor-icon
Add an editor icon for the ImmediateMesh resource
2021-07-12 01:49:40 -04:00
Hugo Locurcio
b1b1176b74
Add an editor icon for the ImmediateMesh resource 2021-07-11 20:40:11 +02:00
Hugo Locurcio
3a56d8d3ac
Tweak the ORMMaterial3D editor icon to follow the Godot design guidelines 2021-07-11 20:26:01 +02:00
Yuri Roubinsky
9d4afa8b75
Merge pull request #50149 from Chaosus/vs_curve3d 2021-07-11 12:36:56 +03:00
Hugo Locurcio
0da942c6bf
Improve the Export All button display in the export dialog
- Update the disabled status when changing an export path.
- Display a tooltip that states why the button is disabled.
- Update the Export All dialog message to have a more friendly tone.
- Suffix button texts with "...", as they display another dialog
  when clicked.

This closes #33293.
2021-07-10 02:32:54 +02:00
reduz
a9c943bef9 Implement Range Iterators
This PR implements range iterators in the base containers (Vector, Map, List, Pair Set).
Given several of these data structures will be replaced by more efficient versions, having a common iterator API will make this simpler.
Iterating can be done as follows (examples):

```C++
//Vector<String>
for(const String& I: vector) {

}
//List<String>
for(const String& I: list) {

}
//Map<String,int>
for(const KeyValue<String,int>&I : map) {
	print_line("key: "+I.key+" value: "+itos(I.value));

}

//if intending to write the elements, reference can be used

//Map<String,int>
for(KeyValue<String,int>& I: map) {
	I.value = 25;
	//this will fail because key is always const
	//I.key = "hello"
}

```

The containers are (for now) not STL compatible, since this would mean changing how they work internally (STL uses a special head/tail allocation for end(), while Godot Map/Set/List do not).
The idea is to change the Godot versions to be more compatible with STL, but this will happen after conversion to new iterators have taken place.
2021-07-08 23:27:27 -03:00
kobewi
36434cb2e6 Fix node list with Add Node Here 2021-07-08 00:52:49 +02:00
PouleyKetchoupp
1de995ae99 Options to clean/simplify convex hull generated from mesh
Clean: remove duplicate and interior vertices (uses Bullet algorithm)
Simplify: modify the geometry for further simplification (uses VHACD
algorithm)

In the editor, single convex hull now uses the clean option.
Added a new editor entry to create a simplified convex hull, can be
useful for creating convex hull from highly tessellated triangle meshes.
2021-07-07 12:14:12 -07:00
Yuri Roubinsky
2736c389aa Fix a connection bug in visual shaders 2021-07-07 20:42:32 +03:00
Hugo Locurcio
ddb3020758
Add both preview sun and sky at the same time when holding Shift
This makes setting up scenes for prototyping faster.

A tooltip was added to let people know about this feature.
2021-07-07 13:50:19 +02:00
Rémi Verschelde
7428c07624
Merge pull request #50236 from Calinou/editor-preview-sun-sky-add-root-node
Add a root Node3D automatically if absent when adding preview sun and sky
2021-07-07 12:44:08 +02:00
Rémi Verschelde
82d4a8903b
Merge pull request #50222 from Calinou/editor-information-use-multiply-sign
Use the Unicode multiplication symbol for the viewport size display
2021-07-07 10:03:09 +02:00
Hugo Locurcio
99909cb4f7
Add a root Node3D automatically if absent when adding preview sun and sky
This makes for a smoother prototyping process compared to displaying
an error message.
2021-07-07 01:59:46 +02:00
Rémi Verschelde
2aa1915617
Merge pull request #50226 from Calinou/voxelgi-fix-warning-spam
Fix warning message spam when a VoxelGI node is selected in the editor
2021-07-06 23:43:29 +02:00
Hugo Locurcio
7f845d913a
Fix warning message spam when a VoxelGI node is selected in the editor
Support for anisotropy in VoxelGI was removed during its development
due to the high cost. This was a leftover from anisotropy support.
2021-07-06 23:02:59 +02:00
Hugo Locurcio
c72efd20b8
Use the Unicode multiplication symbol for the viewport size display 2021-07-06 21:52:59 +02:00
Andrii Doroshenko (Xrayez)
23c1b39570 Make EditorVCSInterface proxy functions virtual in C++
Allows to implement VCS plugins via C++ modules without affecting
the existing script instance mechanism.
2021-07-06 22:20:03 +03:00
Rémi Verschelde
f56ae4045f
Merge pull request #37983 from EricEzaM/set-main-scene-add-select-current-option
Added 'Select Current' option when user is prompted to select main scene after clicking play
2021-07-06 16:59:12 +02:00
Eric M
2296b57739 Added 'Select Current' option when user is prompted to select main scene after clicking play 2021-07-07 00:27:00 +10:00
Eric M
c2ba7464b6 Added EditorInspectorPlugin to aid in editing InputEvents in resources and shortcuts 2021-07-06 23:50:33 +10:00
Rémi Verschelde
bc75fd509a
Merge pull request #42745 from Pineapple/search-results-limit
Remove search results limit in FileSystem dock
2021-07-06 13:37:25 +02:00
Rémi Verschelde
3fbfb24773
Merge pull request #50070 from timothyqiu/emu-numpad
Add numpad emulation in 3D viewport
2021-07-05 14:18:36 +02:00
Rémi Verschelde
d3c9726835
Merge pull request #50046 from Calinou/editor-camera-preview-allow-view-menu
Allow using the 3D editor's View menu while previewing a camera
2021-07-05 14:14:53 +02:00
reduz
f4379cbc82 Clean up Tree
Fixes some problems introduced by #49917

* Tree used minimum size as a stretch ratio, so it forced a minimum size of 1.
* Minimum size redone, stretch ratio moved to a separate setting
* Fitting to contents was enforced, this is more intuitive, but in many situations this is undesired.
* Added a clip content option for situations where fit to contents does not apply.
* Icon would scroll with the item, making it invislbe if the item is too long.
* Made icon always appear to the right (or left if RTL is enabled) of the visible item space.
2021-07-04 13:13:53 -03:00
Yuri Roubinsky
4cf2f79892 Added Curve3Texture to Visual Shaders 2021-07-04 12:21:19 +03:00
Rémi Verschelde
409d5aa57e
Merge pull request #50145 from YeldhamDev/script_create_diag_cleanup
Minor cleanup of the "New Script" dialog
2021-07-04 09:36:27 +02:00
Michael Alexsander
7df1bc426e Minor cleanup of the "New Script" dialog 2021-07-04 00:06:46 -03:00
Hugo Locurcio
9698486605
Add icons for more file types in the editor asset installer 2021-07-03 17:44:56 +02:00
reduz
6c55d2aad2 Fix Render Info
* Fixed and redone the process to obtain render information from a viewport
* Some stats, such as material changes are too difficult to guess on Vulkan, were removed.
* Separated visible and shadow stats, which causes confusion.
* Texture, buffer and general video memory can be queried now.
* Fixed the performance metrics too.
2021-07-03 10:15:04 -03:00
kobewi
5e593dda9b Support single quote when dropping files to script 2021-07-03 13:03:20 +02:00
Haoyu Qiu
4a26e61e89 Add numpad emulation in 3D viewport 2021-07-02 15:41:44 +08:00
Aaron Franke
2508fd0533
Use PROPERTY_USAGE_NONE instead of 0 for no property usage
Also use const more often.
2021-07-01 14:13:27 -04:00
Rémi Verschelde
ad8a2b3d52
Merge pull request #50040 from reduz/fix-renderingserver-bindings
Clean up RenderingServer and its bindings
2021-07-01 15:17:33 +02:00
reduz
37776b2867 Clean up RenderingServer and its bindings
* Rewrote bindings for RenderingServer.
* They are now all up to date.
* Several unused methods and deprecated features were cleaned up.
2021-07-01 09:07:36 -03:00
Hugo Locurcio
fab3d136e0
Allow using the 3D editor's View menu while previewing a camera
This is already allowed when using cinematic preview, but not
when previewing a Camera3D the usual way.

Many operations from the View menu still work while previewing
a camera, such as switching between debug draw modes and toggling
information panes.
2021-07-01 12:43:53 +02:00
Rémi Verschelde
801548fb70
Merge pull request #49994 from akien-mga/script-duplicate-selection
Script editor: Rename 'Clone Down' to 'Duplicate Selection'
2021-07-01 09:43:02 +02:00
Rémi Verschelde
f82c649671
Merge pull request #50038 from Calinou/editor-add-lock-group-shortcuts
Add keyboard shortcuts for grouping and locking nodes, change grid toggle
2021-07-01 09:40:32 +02:00
Rémi Verschelde
5710adda72
Merge pull request #50030 from bruvzg/rtl_editor_spin
Add right-to-left layout support for `EditorSpinSlider`.
2021-07-01 00:52:26 +02:00
Hugo Locurcio
b7bb84bf46
Add keyboard shortcuts for grouping and locking nodes, change grid toggle
- Locking nodes can now be done by pressing Ctrl + L, and unlocking with
  Ctrl + Shift + L.
- Grouping nodes is now done by pressing Ctrl + G, and ungrouping with
  Ctrl + Shift + G (similar to Inkscape).
- Toggling the grid is now done by pressing the `#` key
  (also similar to Inkscape). This change was needed as Ctrl + G
  now groups selected nodes.

Different shortcuts are used for the lock/unlock and group/ungroup
actions, so that the shortcuts are idempotent.
2021-06-30 23:09:26 +02:00
bruvzg
c283519e0b Add right-to-left layout support for EditorSpinSlider. 2021-06-30 22:32:35 +03:00
PouleyKetchoupp
62ce81ec15 Coding style fix in editor NodePath update
Added r_ prefix for reference arguments that can be modified.
2021-06-30 11:50:40 -07:00
Rémi Verschelde
270f9d4c88
Merge pull request #50014 from reduz/remove-immediate
Deprecate ImmediateGeometry
2021-06-30 20:18:59 +02:00