Commit graph

36062 commits

Author SHA1 Message Date
Hendrik Brucker 74ab336fe3 Change VSync mode project setting enum type from string to integer 2021-07-12 03:35:51 +02:00
Lightning_A ec67266af3 Add the ability to reorder arrays from the inspector 2021-07-11 16:09:39 -06:00
Rémi Verschelde d1f25bb5fc
Merge pull request #50325 from reduz/implement-specialization-constants
Implement specialization constants
2021-07-11 23:57:08 +02:00
reduz b2f6db7aa8
Implement Specialization Constants
* Added support to our local copy of SpirV Reflect (which does not support it).
* Pass them on render or compute pipeline creation.
* Not implemented in our shaders yet.
2021-07-11 23:16:09 +02: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
QbieShay 9058367d14 This commits adds a new emitter type for particles material
and 3D CPU particles. The new emitter is called "ring"
and it can emit either in a ring or cylinder fashion.
This adds the following properties for the emitter:
1. emission_ring_axis: the axis along which the ring/cylinder
    will be constructed
2. emission_ring_radius: outer radius of the ring/cylinder
3. emission_ring_inner_radius: inner radius of the cylinder.
    when set to zero, particles will emit in the full volume.
4. emission_ring_height: height of the ring/cylinder emitter.
2021-07-11 17:30:47 +02:00
Eric M f65dfd4895 Added validation to plugin creation.
Improved plugin creation dialog by adding form error reporting and restricting the user from overwriting an existing folder.
2021-07-12 00:18:52 +10:00
Rémi Verschelde fb3961b2ef
Merge pull request #48764 from QbieShay/4-plane-offset
Added a center_offset property to both plane primitive and quad primitive
2021-07-11 15:33:13 +02:00
QbieShay c4d8eecfe5 added offset for plane mesh and quad mesh 2021-07-11 14:33:08 +02:00
Yuri Roubinsky 9d4afa8b75
Merge pull request #50149 from Chaosus/vs_curve3d 2021-07-11 12:36:56 +03:00
Rémi Verschelde 9bd221d24c
Merge pull request #50364 from Faless/mp/fix_rpc_crash
[Net] Fix crash when receiving RPC on node without a script.
2021-07-11 10:53:10 +02:00
Fabio Alessandrelli d3ba0aa3e0 [Net] Fix crash when receiving RPC on node without a script. 2021-07-11 10:18:32 +02:00
Rémi Verschelde a0d800e967
Merge pull request #50362 from timothyqiu/http-eof
Fix unicode invalid skip error in AssetLib
2021-07-11 09:33:51 +02:00
Rémi Verschelde 88e35c88a1
Merge pull request #50361 from timothyqiu/inflate-buf-error
Handle Z_BUF_ERROR in decompress_dynamic
2021-07-11 09:33:06 +02:00
Haoyu Qiu 0caaaf4018 Fix unicode invalid skip error in AssetLib 2021-07-11 12:14:08 +08:00
Haoyu Qiu 293050a919 Handle Z_BUF_ERROR in decompress_dynamic 2021-07-11 11:05:12 +08:00
Rémi Verschelde 374ffbe2d2
Merge pull request #50347 from timothyqiu/httpclient-request-doc
Fix doc description of HTTPClient::request
2021-07-10 20:41:57 +02:00
Haoyu Qiu 422f821be9 Fix doc description of HTTPClient::request 2021-07-11 00:52:21 +08:00
Hugo Locurcio 43f9699a26
Improve 2D editor zoom logic
- Add 1-5 shortcuts to zoom between 100% and 1600% quickly
  (similar to GIMP).
- When holding down Alt, go through integer zoom values if above 100%
  or fractional zoom values with integer denominators if below 100%
  (50%, ~33.3%, 25%, …).
2021-07-10 17:32:40 +02:00
Hugo Locurcio f0a145bbf5
Add a method to set the number of physics solver iterations in 3D
This is only for GodotPhysics, and adds a 3D counterpart to the 2D
method that was recently added.
2021-07-10 16:28:34 +02:00
Rémi Verschelde 7c432c923b
Merge pull request #50342 from Chaosus/vs_fix_function
Fix creating a new function in visual scripts
2021-07-10 15:13:33 +02:00
Yuri Roubinsky f9ab70eb60 Fix creating a new function in visual scripts 2021-07-10 14:45:53 +03:00
Andrii Doroshenko (Xrayez) 0fce7aea88 Set minimum size for "Version Control" diff bottom panel
Allows to see version diffs without having to expand the bottom panel
manually when clicking on a changed file in the "Commit" dock.
2021-07-10 14:26:16 +03:00
Rémi Verschelde 6f4ffb3461
Merge pull request #33339 from Calinou/editor-improve-export-all-ux
Improve the Export All button display in the export dialog
2021-07-10 08:56:43 +02: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
Hugo Locurcio a2d5f191d8
Merge pull request #48622 from Geometror/reimplement-disableable-vsync 2021-07-10 01:02:23 +02:00
Rémi Verschelde 0ee235822d
Merge pull request #50317 from bruvzg/mono_force_ent
[macOS, Mono] Automatically enable JIT entitlements for the Mono exports.
2021-07-09 23:37:11 +02:00
Rémi Verschelde ca2fda629f
Merge pull request #50290 from reduz/redo-instance-bindings
Redo how instance bindings work
2021-07-09 23:25:33 +02:00
Rémi Verschelde 96e17e4ea1
Merge pull request #50284 from reduz/implement-range-iterators
Implement Range Iterators
2021-07-09 23:09:02 +02:00
bruvzg f37981b83f [macOS, Mono] Automatically enable JIT entitlements for the Mono exports. 2021-07-09 22:47:43 +03:00
PouleyKetchoupp ff40c3f3c8 Optimize NodePath update when renaming or deleting nodes in the editor
Now the process uses a Map to lookup node pointers instead of iterating
over all modified node paths in a list and comparing them for each
property to check.

The process also avoids checking properties with empty node paths and
does an early exit on deleted nodes to avoid checking the node and its
descendants.

Also made a minor change in NodePath::rel_path_to() to avoid resizing a
Vector many times for long paths (with copy-on-write each time). Now
it's down to 2 resize calls in any case.
2021-07-09 11:42:39 -07:00
Haoyu Qiu 542d7d6460 Fix memfree parameter name 2021-07-09 14:41:00 +08:00
Rémi Verschelde a5b2988a01
Merge pull request #50291 from Calinou/improve-makerst-usability
Make makerst.py create folders automatically, print a message when done
2021-07-09 08:09:14 +02:00
Rémi Verschelde fb4b73ff0a
Merge pull request #50301 from likeich/master
Fix use after free in Free desktop screensaver::inhibit()
2021-07-09 08:07:13 +02:00
likeich 0314e04939 Fix linux use after free
Fixes #50032
2021-07-08 22:34:07 -04: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
Michael Alexsander fe5605334a Fix Window's wrap_controls not actually doing anything 2021-07-08 20:06:16 -03:00
Hugo Locurcio f05aa9cc01
Make makerst.py create folders automatically, print a message when done 2021-07-09 00:55:45 +02:00
reduz 4469144891 Redo how instance bindings work
* The harcoded 8 slots are no more and impose limits in the new extension system.
* New system is limitless, although it will impose small performance hit with a mutex.
* Use a token to request the instance binding.

**Warning**: Mono will most likely break as a result of this, will need to be modified to use the new system.
2021-07-08 17:08:12 -03:00
Rémi Verschelde 14cc1df1d8
Merge pull request #50277 from Razoric480/lsp-didClose
Implement didClose notification in LSP
2021-07-08 19:24:31 +02:00
Francois Belair 10429019ad Implement didClose notification in LSP 2021-07-08 11:40:15 -04:00
Rémi Verschelde d4e5fe6c44
Merge pull request #50274 from SirQuartz/patch-18 2021-07-08 14:34:17 +02:00
Rémi Verschelde bf54d7c6da
Merge pull request #50248 from Geometror/scons-add-buildtime-info
SCons: Show elapsed time after build or cleaning process
2021-07-08 14:27:25 +02:00
Hendrik Brucker d070159094 Add elapsed time print statement to build system 2021-07-08 13:52:39 +02:00
Nick Huelin 2e3cbbcd11 Add method description to PopupMenu
This pull request adds a missing method description to `PopupMenu`.

This completes the documentation for `PopupMenu` and enhances usability by doing so.

Update doc/classes/PopupMenu.xml

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2021-07-08 07:34:14 -04:00
Juan Linietsky bfc14a6359
Merge pull request #50269 from reduz/fix-reimport-invalidate-material
Fix material invalidation on reimport.
2021-07-07 21:03:04 -03:00
Rémi Verschelde 5db1f8b1ab
Merge pull request #50268 from KoBeWi/🐞
Fix node list with Add Node Here
2021-07-08 01:29:09 +02:00
reduz 83addd6ee5 Fix material invalidation on reimport.
* IF a texture was reimported (calling replace as an example), it would invalidate all materials using it, causing plenty of errors.
* Added the possibility to get a notification when a uniform set is erased.
* With this notification, materials can be queued for update properly.
2021-07-07 19:55:20 -03:00
kobewi 36434cb2e6 Fix node list with Add Node Here 2021-07-08 00:52:49 +02:00