Commit Graph

242 Commits

Author SHA1 Message Date
Hugo Locurcio 393a3c3122
Improve the `Node.add_child_below_node()` documentation
This closes https://github.com/godotengine/godot-docs/issues/2730.
2020-02-27 18:41:18 +01:00
Juan Linietsky 33b5c57199 Variant: Added 64-bit packed arrays, renamed Variant::REAL to FLOAT.
- Renames PackedIntArray to PackedInt32Array.
- Renames PackedFloatArray to PackedFloat32Array.
- Adds PackedInt64Array and PackedFloat64Array.
- Renames Variant::REAL to Variant::FLOAT for consistency.

Packed arrays are for storing large amount of data and creating stuff like
meshes, buffers. textures, etc. Forcing them to be 64 is a huge waste of
memory. That said, many users requested the ability to have 64 bits packed
arrays for their games, so this is just an optional added type.

For Variant, the float datatype is always 64 bits, and exposed as `float`.

We still have `real_t` which is the datatype that can change from 32 to 64
bits depending on a compile flag (not entirely working right now, but that's
the idea). It affects math related datatypes and code only.

Neither Variant nor PackedArray make use of real_t, which is only intended
for math precision, so the term is removed from there to keep only float.
2020-02-25 12:55:53 +01:00
Juan Linietsky 3c0059650d Added StringName as a variant type.
Also changed all relevant properties defined manually to StringName.
2020-02-21 14:25:29 +01:00
Fabio Alessandrelli cbc450c0e5 Huge Debugger/EditorDebugger refactor. 2020-02-21 11:12:03 +01:00
Juan Linietsky 69c95f4b4c Reworked signal connection system, added support for Callable and Signal objects and made them default. 2020-02-20 08:24:50 +01:00
Rémi Verschelde 54ac8eaba6 Remove more deprecated methods and code 2020-02-13 12:37:45 +01:00
Andrea Catania eb07e87981 Optmized data sent during RPC and RSet calls.
- Now is sent the method ID rather the full function name.
- The passed IDs (Node and Method) are compressed so to use less possible space.
- The variant (INT and BOOL) is now encoded and compressed so to use much less data.
- Optimized RPCMode retrieval for GDScript functions.
- Added checksum to assert the methods are the same across peers.

This work has been kindly sponsored by IMVU.
2020-02-12 13:36:47 +01:00
Marcel Admiraal f0db13502a Remove duplicate WARN_PRINT macro. 2020-02-05 11:13:24 +01:00
Tomasz Chabora bbc36dbc67 Don't show conf warning if script is not tool 2020-01-07 21:28:16 +01:00
Rémi Verschelde a7f49ac9a1 Update copyright statements to 2020
Happy new year to the wonderful Godot community!

We're starting a new decade with a well-established, non-profit, free
and open source game engine, and tons of further improvements in the
pipeline from hundreds of contributors.

Godot will keep getting better, and we're looking forward to all the
games that the community will keep developing and releasing with it.
2020-01-01 11:16:22 +01:00
Martin Capitanio a7df198c94 Setting the node process priority should not trigger an error
Fixes #33749
This function can be called outside the scene tree.
2019-11-21 18:08:52 +01:00
Hugo Locurcio ae76c62601
Implement `Node::get_process_priority()` and its associated property
This closes #33660.
2019-11-17 17:48:50 +01:00
PouleyKetchoupp 139c0a4afe Expose Node::update_configuration_warning() to scripts
This method can be used to generate custom node warnings by script.

Node::_get_configuration_warning was already exposed to generate custom warnings, but it wasn't fully usable without being able to notify the scene tree when the warning needs to appear or change.
2019-10-17 12:20:35 +02:00
Rémi Verschelde dec10dd776
Merge pull request #32051 from qarmin/some_error_explanation
Added some obvious errors explanations
2019-09-25 11:51:54 +02:00
qarmin 17732fe698 Added some obvious errors explanations 2019-09-25 10:28:50 +02:00
fhuya a7712cc9e4 Add new events and accompanying logic to notify when the app is paused and resumed on Android devices. 2019-09-19 13:29:49 -07:00
Hugo Locurcio 9eb10f1e4a
Add an `editor_description` property to Node for documentation purposes
It is implemented using editor-only metadata, in a way similar to
edit locking or Position2D gizmo extents.

This closes #2082.
2019-08-23 15:53:07 +02:00
Hugo Locurcio c62302a432
Improve the scene tree signals/groups tooltip
The tooltip now displays the number of connections and groups
that are assigned to the hovered node.
2019-08-17 14:20:16 +02:00
Tomasz Chabora af5e0fff66 Remove ERR_EXPLAIN from scene/* code 2019-08-09 13:54:52 +02:00
Rémi Verschelde 4d7439adaa
Merge pull request #31185 from mitchcurtis/get_path
Improve error message in Node::get_path()
2019-08-08 14:05:49 +02:00
Rémi Verschelde f0ad034a1d
Merge pull request #31182 from mitchcurtis/remove_child
Improve error message in Node::remove_child()
2019-08-08 11:20:50 +02:00
Mitch Curtis ae4a382dd2 Improve error message in Node::remove_child() 2019-08-08 09:38:32 +02:00
Mitch Curtis c332eab864 Improve error message in Node::get_path() 2019-08-07 21:16:54 +02:00
Rémi Verschelde 05d58a4e6a
Merge pull request #31122 from Muller-Castro/enhancement
Unnecessary reassignments
2019-08-07 15:23:38 +02:00
qarmin e0b5b21863 Add some code changes/fixes proposed by Coverity and Clang Tidy 2019-08-07 12:54:30 +02:00
Muller-Castro ffacd0a148 Removed unnecessary reassigns
Those assignments are duplicated since add_to_group() or remove_from_group() aren't changing the state of those members.
2019-08-06 17:40:47 -03:00
qarmin 6cbaf7662f Changed some code showed in LGTM and Coverage 2019-07-20 08:09:57 +02:00
Rémi Verschelde 111154a4a5
Merge pull request #30498 from bojidar-bg/30495-cannot-insert-key
Fix inability to insert keys via Insert Key context menu
2019-07-11 19:36:33 +02:00
Bojidar Marinov 8ecbb6a20d
Fix inability to insert keys via Insert Key context menu
Fixes #30495
2019-07-10 21:03:04 +03:00
qarmin 01cc7a996b Use reference to constant in functions 2019-07-10 11:54:12 +02:00
Rémi Verschelde 6b30f284a0
Merge pull request #29980 from Dentrax/directed-by-qarmin
Fix some editor crashes
2019-07-01 14:59:29 +02:00
Furkan Türkal 7d8d337b2c fix some crashes 2019-07-01 14:28:29 +03:00
Rémi Verschelde eaaff9da31
Merge pull request #29941 from qarmin/redundant_code_and_others
Remove redundant code, possible NULL pointers and others
2019-06-27 01:05:18 +02:00
Rémi Verschelde 6e9272eea8 Node: Fix logic of has/get_node_and_resource and document it
Also document NodePath.
2019-06-26 15:46:32 +02:00
qarmin 4e5310cc60 Some code changed with Clang-Tidy 2019-06-26 15:08:25 +02:00
Rémi Verschelde 6d16f2f053 Fix error macro calls not ending with semicolon
It's not necessary, but the vast majority of calls of error macros
do have an ending semicolon, so it's best to be consistent.
Most WARN_DEPRECATED calls did *not* have a semicolon, but there's
no reason for them to be treated differently.
2019-06-11 14:49:34 +02:00
Rémi Verschelde 0823ae7ae4 Node::duplicate: Don't set name if original node is nameless
In practice this only happens when duplicating a node which is not in
the scene tree yet, as nameless nodes get assigned a generated name
when added to the scene tree.

Fixes #27319.
2019-05-28 12:40:44 +02:00
PouleyKetchoupp 3f174c86d0 Fixed scene tree update after changing node name in tool script 2019-05-24 15:27:22 +02:00
Rémi Verschelde 9dc9434b1b
Merge pull request #24437 from mateusfccp/single_quotes_option
Add settings for single-quotes on completion
2019-04-30 14:58:33 +02:00
Rémi Verschelde 201cdd358a
Merge pull request #28140 from Daw11/orphan-nodes
Add a monitor for the orphan nodes
2019-04-22 11:55:15 +02:00
Hein-Pieter van Braam-Stewart 20b0046945 Object::script may not be a valid Ref<Script>
It appears that Object::script may be a valid ScriptInstance but not be
castable to Ref<Script>. There were only 5 places in the code that made
this assumption. This commit fixes that.
2019-04-20 02:13:28 +02:00
Daw11 04d0371648 Add a monitor for the orphan nodes
- Allow the user to keep track of the nodes that might leak
- Possible fix for #27103
2019-04-17 23:13:16 +02:00
Juan Linietsky c1dcdf6109 No more metadata and dependency indices kept in resources saved.
-Node folding is now saved externally together with the properties
-External resources remember their ID when scenes are saved.
2019-04-11 14:36:58 -03:00
Rémi Verschelde 50ef456c78
Merge pull request #26803 from ptrojahn/emptynode
Make get_node return NULL for empty NodePaths
2019-04-05 16:55:42 +02:00
Juan Linietsky a18989602b Clean up notifications and merge Node and MainLoop ones for clarity, closes #27614 2019-04-04 10:34:41 -03:00
Paul Trojahn 97e8c88ce7 Make get_node return NULL for empty NodePaths
Fixes #25292
2019-03-08 21:31:36 +01:00
K. S. Ernest (iFire) Lee b83c3827f3 Add check in folding to see if the nodepath exists to avoid message spam. 2019-01-30 20:19:44 -08:00
Rémi Verschelde 1ff170e67f Redo serial name fixup from 799ed2b989
reduz wanted the original PR reverted due to issues, so this follow-up had to be too
(done in 8cb54182ad). But he ended up adapting part of
the original PR in 27d7772381 without including this fix.
2019-01-11 23:02:57 +01:00
Juan Linietsky 27d7772381 Rewrote rename logic to be less buggy and more efficient, fixes #23803 and probably many recent bugs using GraphEdit 2019-01-10 18:58:16 -03:00
Rémi Verschelde 8cb54182ad Revert "Node: make _generate_serial_child_name manipulate numbers as String"
This reverts commits 1025e3ecea
and 799ed2b989.
2019-01-10 22:40:42 +01:00