Commit graph

886 commits

Author SHA1 Message Date
Hein-Pieter van Braam
0e29f7974b Reduce unnecessary COW on Vector by make writing explicit
This commit makes operator[] on Vector const and adds a write proxy to it.  From
now on writes to Vectors need to happen through the .write proxy. So for
instance:

Vector<int> vec;
vec.push_back(10);
std::cout << vec[0] << std::endl;
vec.write[0] = 20;

Failing to use the .write proxy will cause a compilation error.

In addition COWable datatypes can now embed a CowData pointer to their data.
This means that String, CharString, and VMap no longer use or derive from
Vector.

_ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug
builds. This is a lot faster for Vector in the editor and while running tests.
The reason why this difference used to exist is because force-inlined methods
used to give a bad debugging experience. After extensive testing with modern
compilers this is no longer the case.
2018-07-26 00:54:16 +02:00
Chaosus
bde962dbdd Fix crash when you pass invalid parameter to ImageTexture.set_data 2018-07-25 12:23:34 +03:00
Juan Linietsky
2e67fc57e6
Merge pull request #18867 from fire/better_vx_us_rebase_02
Improve VisualScript UX
2018-07-24 18:02:10 -03:00
K. S. Ernest (iFire) Lee
85670726fd Improve VisualScript UX
* Prototype faster function call ux.
* Work on general search ux.
* Able to create nodes from search.
* Show class for variables but not methods.
* Get actions search working.
* Descriptions now show for both methods and properties.
* Enable zooming on mouse wheel up and down.
* Make the drag trigger on right mouse button.
* Search now shows for action visual script nodes.
* Able to search visual node names.
* Search works better.
* Change zooming scale to hide artifacts better.
* Remove zoom changes
* Select from base should check properties too like the other functions.
* Seq_connect flag is needed to set sequence lines correctly.
* Remove comment
* Code cleanup with function names and arguments.
* Use brief description for search descriptions.
* Clean and fix bug with input nodes connecting with sequence lines.
* Add a warning and fix some edge conditions with sequence into data lines and vice versa.
* Don't search functions when pulling from a sequence node.
* Don't show actions when pulling from a data line.
* Set set and get properties.
* Convert visual script operators to the correct type
* Create a function preset finds only functions.
* Singletons can now find functions.
* Add shift-a for generic search.
* Add brief descriptions for Visual Script nodes.
* Search boxes can now filter names.
* Add bigger hit zones to node connect.
* For the drop zones, make all the rect2 areas the same size.
* Function names in visual script node should be lower case so that search works better.
* Use the convention of capitalize() for set, set, visual script nodes and methods.
* Make search more general. Ignore "_" and make case-insensitive. Also made the search window smaller and remove extra info from search
* Make type_cast use the connecting node's type and remove use of found variable.
* Fix case where you call an instance's call function where it becomes an invalid call.
* Make get_visual_node_names use a set of filters, move action creations and fix bug with sequence node connections.
* Make the window bigger.
* Make connect_data and connect_seq more robust.
* Add icons to search items.
* Add vs constructors in shift-a menu.
* Operators, builtins and constructors show type name. Fix several problems with port connections.
* In shift-a mode search everything.
* Code cleanup
* Work on autocompleting the type.
  * Use type guess in action creation.
  * Check if type hint string exists in object variables when generating the visual script search.
  * Add the hint to SceneTree.
  * Add original type detection.
  * Make type casting great again. This puts the type casted base type as the data output type string hint.
  * Pass the type in a VisualScriptFunctionCall too.
  * Set the base type correctly in VisualScriptFunctionGet and VisualScriptFunctionSet using hint string.
  * Make sure the instance is passed in VisualScriptPropertySet.
  * Restore search on the node's type.
* Remove dependencies from graph_edit.
* Remove dependencies from property_selector and name the class visual_script_property_selector.
* Extract hot zones into a function.
* Move hot_zones constants into default theme.
* Bigger capture zones.
* Clean messy port_grab_distance variables.
* Remove RMB functionality.
* Remove memory leak on showing visual script descriptions.
* Read the port_grab_distance constants on enter tree and theme changed.
2018-07-24 13:59:28 -07:00
Max Hilbrunner
b92c432313
Merge pull request #19225 from Paulb23/open_all_files_in_script_editor
Open all files in script editor
2018-07-24 21:52:11 +02:00
Rémi Verschelde
bfe52fc30a
Merge pull request #20391 from YeldhamDev/expose_tileset_modulate
Expose 'modulate' set/get in TileSet resource
2018-07-24 09:59:23 +02:00
Wilson E. Alvarez
a22e746bc3 Removed unnecessary assignments 2018-07-24 09:51:03 +02:00
Michael Alexsander Silva Dias
dc0c75ce68 Expose 'modulate' set/get in TileSet resource 2018-07-23 18:35:52 -03:00
AndreaCatania
17ebbfb56d Implemented Soft body
- Soft Body Physics node
- Soft Body Rendering
- Soft body Editor
- Soft body importer
2018-07-23 20:50:23 +02:00
Juan Linietsky
1ad20dc2f1
Merge pull request #12403 from AndreaCatania/phymat
Physics material
2018-07-23 07:37:03 -03:00
Paulb23
8ff747171f Allow opening and editing of any utf_8 file in script editor 2018-07-22 11:55:56 +01:00
George Marques
03746da73f
Add editor highlight for type-safe lines
The line number is hightlighted to indicate that the line contains only
type-safe code.
2018-07-20 21:55:18 -03:00
Rémi Verschelde
bd9b8098fe
Merge pull request #20140 from EIREXE/ambient_light_disable_shader
Add disable ambient light flag to shaders and materials
2018-07-18 10:39:20 +02:00
Marcelo Fernandez
e4db15471b Fix some missing BIND_ENUM_CONSTANT for visual_shader_nodes.cpp 2018-07-17 18:31:22 -03:00
Alex Roman
2ce1118faa Add disable ambient light flag to shaders and materials 2018-07-17 21:30:43 +02:00
Max Hilbrunner
707175eda8
Merge pull request #19044 from Mintormo/make_header_fix
Added support of Python 3 in make_header.py
2018-07-17 15:12:49 +02:00
Rémi Verschelde
f71ffa9724
Merge pull request #20146 from dodgyville/bezier_fixes_19777
fix issue with bezier tracks using incorrect duration for interpolating values
2018-07-17 14:43:47 +02:00
Rémi Verschelde
95d99cb2ac
Merge pull request #20176 from Chaosus/vs_namefixes
Several name fixes for visual shaders
2018-07-17 13:54:22 +02:00
Juan Linietsky
de910f8c26 Finally figured out how to implement AnimatedTexture properly. 2018-07-16 11:43:49 -03:00
Chaosus
3af81427a1 Several name fixes for visual shader 2018-07-15 17:28:06 +03:00
Juan Linietsky
f6ce73f724 Visual Shaders are back. 2018-07-14 18:16:18 -03:00
Luke Miller
7298a746ce fix issue with bezier tracks using incorrect duration for interpolating values 2018-07-14 11:48:40 +10:00
Max Hilbrunner
118d4f3115
Merge pull request #19540 from muiroc/cylinder
Cylinder resource and collision shape (bullet only)
2018-07-12 05:09:37 +02:00
Juan Linietsky
7dcaabaf19 Support for CPU based particles, which aids compatibility with OpenGL ES 2.0 2018-07-06 20:21:42 -03:00
Max Hilbrunner
9f82368d40
Merge pull request #19475 from YeldhamDev/animplayer_cosmetic
Minor changes to the AnimationPlayer editor
2018-07-05 04:25:04 +02:00
Rémi Verschelde
92bfde531c
Merge pull request #19786 from JFonS/correct_normal_scaling
Add render mode to ensure correct normals when using non-uniform scaling
2018-07-04 15:09:59 +02:00
Max Hilbrunner
23ad85c692
Merge pull request #19398 from godotengine/remove-left-margin
Remove default non-zero left margin
2018-07-03 16:41:04 +02:00
Juan Linietsky
e179bf0726 Ensure, if a texture meant for a normal map is imported and size limit exists, that it's renormalized after resize. 2018-07-03 10:56:31 -03:00
Max Hilbrunner
e29e4e56c1
Merge pull request #19843 from Calinou/fix-dynamicfont-hinting-setting
Fix the DynamicFont hinting setting being ineffective
2018-07-03 15:34:02 +02:00
Juan Linietsky
7fc2367508 Added ability for SSAO to affect AO textures too 2018-07-02 16:50:52 -03:00
Juan Linietsky
2dc738ce27 -Fixes to how hashing happened, now StringName and NodePath use default hasher, this was leading to some severe slowdown in scenarios
-Fixes to some duplication scenarios for instanced scenes
2018-07-02 15:08:35 -03:00
muiroc
0a36e974da added cylinder shape support 2018-07-01 11:16:54 +02:00
Michael Alexsander Silva Dias
02181292b8 Minor changes to the AnimationPlayer editor. 2018-06-30 00:12:05 -03:00
Hugo Locurcio
6deb1889d0
Fix the DynamicFont hinting setting being ineffective 2018-06-29 21:38:53 +02:00
Juan Linietsky
0ffec7daf7 Small fixes 2018-06-29 09:13:39 -03:00
Hugo Locurcio
53e94a1ce1
Optimize images losslessly using oxipng -o6 --strip all --zopfli 2018-06-28 19:17:41 +02:00
JFonS
c8cf71753c Add render mode to ensure correct normals when using non-uniform scaling 2018-06-21 00:12:12 +02:00
Juan Linietsky
0a1c1c660f -Added AnimationGraphPlayer (still missing features)
-Added ability to edit resources from built-in inspector (wip, needs testing and feedback)
2018-06-18 22:12:08 -03:00
Rémi Verschelde
8efbe9ed3d
Merge pull request #19487 from JFonS/better_3d_select
Improve 3D selection
2018-06-13 18:49:35 +02:00
JFonS
9cd1c20f6a Polished 3D selection 2018-06-13 17:52:37 +02:00
clayjohn
14acc61ce1 updated ranges for primitive meshes 2018-06-08 23:49:00 -07:00
Juan Linietsky
9cb17d7af8 Avoid animation length from ever being completely, fixes #19420 2018-06-08 13:42:45 -03:00
Juan Linietsky
b659fd6d74 Entirely new (and much improved) animation editor. 2018-06-07 12:52:00 -03:00
Pedro J. Estébanez
12a87b257f
Remove default non-zero left margin 2018-06-06 20:10:43 +02:00
Mintormo
5d28a21454 Added support Python 3 in "make_header.py" file 2018-05-27 12:51:57 +03:00
Max Hilbrunner
7e8b7a7815
Merge pull request #18379 from ZDDM/18-04-23-audiostream-docs
Fully expose the data variable in AudioStreamSample and AudioStreamOGGVorbis
2018-05-26 18:22:05 +02:00
danilo2205
dc639d334a Up vector implementation and OrientedPathFollow. 2018-05-20 19:51:56 -03:00
Juan Linietsky
9b5275b135 -Hid texture flags by default so they dont take so much space
-make curve texture preview not so large, so its easier to embed the editor
2018-05-18 12:37:18 -03:00
Rémi Verschelde
b003b7d846
Merge pull request #18978 from Chaosus/cubebugfix
Fix property bug in CubeMesh which prevent it from changing in inspector
2018-05-18 12:47:55 +02:00
Mariano Javier Suligoy
7eddb80b27
Merge pull request #18960 from isaacremnant/autotile_3x3_minimal
Restore support for minimal 3x3 autotile sets
2018-05-17 19:57:55 -03:00