Commit Graph

35876 Commits

Author SHA1 Message Date
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
Rémi Verschelde 47e5fed485
Merge pull request #50261 from Razoric480/cache-color-picker-presets
Add cache to ColorPicker for color presets
2021-07-07 23:31:24 +02:00
Rémi Verschelde b1068f9f01
Merge pull request #50260 from Chaosus/vs_fix_connection_bug
Fix a connection bug in visual shaders
2021-07-07 23:27:06 +02:00
Juan Linietsky b0822459d5
Merge pull request #50265 from reduz/fix-texture-thread-update
Fix threaded update for textures
2021-07-07 18:26:35 -03:00
Rémi Verschelde 949746a8cd
Merge pull request #50252 from Calinou/gradienttexture-tweak-property-hint
Tweak the GradientTexture property hint to follow CurveTexture
2021-07-07 23:09:13 +02:00
reduz 24efb13f7e Fix threaded update for textures
* Previews and other stuff now works again.
* Not the best solution, will have to be improved in the future usinc async queues where supported.
2021-07-07 18:06:06 -03: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
Francois Belair 94a464f555 Add cache to color picker for presets
This prevents loading from the project metadata more than once,
significantly saving performance with nodes that have color pickers.
2021-07-07 14:17:44 -04:00
Yuri Roubinsky 2736c389aa Fix a connection bug in visual shaders 2021-07-07 20:42:32 +03:00
Hugo Locurcio 2c7813385d
Tweak the GradientTexture property hint to follow CurveTexture
This prevents setting too large values and crashing the editor.

Very low values are also no longer allowed since they are generally
not detailed enough to represent complex gradients, leading to confusion.
2021-07-07 19:17:02 +02:00
Rémi Verschelde 56d7126864
Merge pull request #50247 from Faless/js/if_fix
[HTML5] Fix JavaScript string parsing with new interface.
2021-07-07 16:42:48 +02:00
Rémi Verschelde 48a5226829
Merge pull request #50193 from reduz/fix-command-queue-crash
Fix Command Queue Crash
2021-07-07 16:36:13 +02:00
Rémi Verschelde f62da984af
Merge pull request #50214 from Calinou/occluderinstance3d-add-node-configuration-warnings
Add node configuration warnings to OccluderInstance3D
2021-07-07 16:04:02 +02:00
reduz d41e3f9aeb Fix Command Queue Crash
* No longer allow sending an object (texture) to the server as material parameter
* Keep a parameter cache locally in ShaderMaterial
2021-07-07 10:57:56 -03:00
Fabio Alessandrelli d4e302a3a4 [HTML5] Fix JavaScript string parsing with new interface.
Strings are UTF-8 encoded and should be parsed as such, while it was
being parsed as a C string before.
2021-07-07 15:44:29 +02:00
Hugo Locurcio 8cc147076c
Add node configuration warnings to OccluderInstance3D 2021-07-07 13:59:52 +02: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
Rémi Verschelde e4c940ee6a
Merge pull request #50208 from kleonc/accept_dialog-remove_button
Add AcceptDialog::remove_button method
2021-07-07 09:12:03 +02:00
Rémi Verschelde 29e59798c1
Merge pull request #50240 from nekomatata/fix-backface-collision-disabled
Fix concave collision with backface collision disabled
2021-07-07 08:31:15 +02:00
PouleyKetchoupp 72087b8158 Fix concave collision with backface collision disabled
Disabled backface collision is only applied on face separation axes,
because applying it also on edges and vertices was causing some contacts
to be wrongly disabled and contact points to be off.
2021-07-06 18:53:29 -07: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 506daf6d5d
Merge pull request #50229 from reduz/fix-textures-not-updating
Unify material parameter update
2021-07-07 01:44:36 +02:00
Hugo Locurcio ce941397e5
Merge pull request #49890 from voxelv/fix_tree_range_click_timeout_crash_46648
Avoid using a nullptr root in Tree._range_click_timeout().
2021-07-07 01:21:32 +02:00
reduz c43f624d44 Unify material parameter update
* Unifies how material parameters are updated.
* Single function, easier to maintain.
* Updates materials properly when textures change.
2021-07-06 18:57:38 -03:00
Rémi Verschelde 5d7c23dcc6
Merge pull request #50220 from madmiraal/fix-50125
Queue the calls to GodotLib.key when Android virtual done is pressed
2021-07-06 23:46:21 +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
Rémi Verschelde 7bd7b8f5e3
Merge pull request #50219 from goostengine/vcs-virtual-cpp
Make `EditorVCSInterface` proxy functions virtual in C++
2021-07-06 23:16:20 +02:00
Rémi Verschelde c39ac9e173
Merge pull request #50110 from madmiraal/android-remove-onkeymultiple
Remove Android onKeyMultiple override
2021-07-06 23:10:31 +02:00
Rémi Verschelde f50a866335
Merge pull request #50215 from Calinou/improve-node-configuration-warning-display
Format node configuration warnings as a bullet point list
2021-07-06 23:07:16 +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
Rémi Verschelde fa90b6e285
Merge pull request #50162 from Calinou/inspector-hint-allow-ormmaterial3d
Allow using ORMMaterial3D by using BaseMaterial3D as a resource hint
2021-07-06 22:56:06 +02:00