Commit Graph

173 Commits

Author SHA1 Message Date
Ian 12b4e232b2 fix signals disconnecting on changing target node type 2017-11-13 17:44:58 -05:00
Chaosus 6496b53549 Duplicate signals fixes 2017-11-13 18:42:07 +03:00
Poommetee Ketson 9cadb9e5f3 Bind unbound enums, rearrange some by value 2017-10-22 01:58:02 +07:00
Nathan Warden 999ad9c0a8 Added a node_added signal to the SceneTree 2017-10-19 10:46:00 -05:00
AndreaCatania 4537977d6d Renamed fixed_process to physics_process 2017-09-30 16:19:07 +02:00
Rémi Verschelde a1779c9044 Merge pull request #11013 from MednauN/master
Fix duplication of node with script
2017-09-21 10:53:58 +02:00
Rémi Verschelde 4820dfc570 Let queue_free() work on nodes which are not in the scene tree
In practice such nodes could directly be free()'ed, but this little change
prevents users from leaking memory by mistake.
Closes #9074.
2017-09-20 21:49:56 +02:00
letheed 5ad9be4c24 Rename pos to position in user facing methods and variables
Rename user facing methods and variables as well as the corresponding
C++ methods according to the folloming changes:

* pos -> position
* rot -> rotation
* loc -> location

C++ variables are left as is.
2017-09-20 13:11:10 +02:00
Evgeny Zuev 521280ec44 Fix duplication of node with script
When duplicating node with script, properties of script
weren't copied sometimes.
It happened because properties were copied in arbitrary
order, and properties of the script were setted before the
"script" property itself, i.e. while script is sill NULL.

Also, DUPLICATE_SCRIPTS flag wasn't working - script was
always copied because `_duplicate` looked for
"script/script" property while it should be just "script".

Now "script" property is being set before all others,
and "script/script" changed to
`CoreStringNames::get_singleton()->_script`.
2017-09-20 10:56:31 +07:00
Rémi Verschelde aabbd00284 Merge pull request #10908 from hpvb/fix-unused-variables
Fix unused variable warnings
2017-09-12 12:55:53 +02:00
Rémi Verschelde 0f006994d8 Merge pull request #11007 from saltares/issue-9988
Renames _add_child_below_node() to add_child_below_node(). Fixes #9988.
2017-09-12 12:04:03 +02:00
Bojidar Marinov ebee9898ca
Fix duplication of nodes resulting in shared metadata
Fixes #9547
2017-09-11 12:34:36 +03:00
Hein-Pieter van Braam b2a38854fd Fix unused variable warnings
The forth in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-08 15:03:53 +02:00
David Saltares 0549484c77 Renames _add_child_below_node() to add_child_below_node(). Closes #9988. 2017-09-05 22:43:28 +01:00
Rémi Verschelde 7ad14e7a3e Dead code tells no tales 2017-08-27 22:13:45 +02:00
Rémi Verschelde bd282ff43f Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
Rémi Verschelde 3c5ce736e6 Node: Add debug info to add_child reparenting check
Use it to remove buggy add_child in EditorAudioBus
2017-08-26 18:14:42 +02:00
Hein-Pieter van Braam cacced7e50 Convert Object::cast_to() to the static version
Currently we rely on some undefined behavior when Object->cast_to() gets
called with a Null pointer. This used to work fine with GCC < 6 but
newer versions of GCC remove all codepaths in which the this pointer is
Null. However, the non-static cast_to() was supposed to be null safe.

This patch makes cast_to() Null safe and removes the now redundant Null
checks where they existed.

It is explained in this article: https://www.viva64.com/en/b/0226/
2017-08-24 23:08:24 +02:00
Juan Linietsky 2cc8309249 Merge pull request #10351 from neikeq/enums-are-for-the-weak
ClassDB: Provide the enum name of integer constants
2017-08-21 19:56:08 -03:00
Ignacio Etcheverry 32dd9a9f66 ClassDB: Provide the enum name of integer constants 2017-08-20 22:07:43 +02:00
Karroffel 390f7def39 add "propagate_call" method to Node
It is possible to propagate a notification down the Node tree by
using `propagate_notification`, but there was no such method for
doing the same but with method calls.

This commit adds the `propagate_call` method, which calls a method
on a node and all child nodes. An optional paramter `parent_first`
determines whether the parent node gets called before or after the
children have been visited. It defaults to false, so the parent
gets called last.
2017-08-19 15:22:37 +02:00
Pedro J. Estébanez 213ad45ccf Allow zero-padded serial naming
Thereby, the editor will acknowledge node namings such as _Thing003_ so that a duplicate, for instance, will be named _Thing004_, instead of _Thing4_, that was the case formerly.

Closes #7758.
2017-08-16 03:26:47 +02:00
Ignacio Etcheverry 2f290038d6 Removes type information from method binds 2017-08-10 07:17:50 +02:00
Rémi Verschelde 3121b3a4f4 Merge pull request #10141 from ISylvox/lower_case_godot_api
Makes all Godot API's Methods lower_case
2017-08-07 14:59:39 +02:00
Indah Sylvia 5ae78fdf6a Makes all Godot API's methods Lower Case 2017-08-07 18:24:35 +07:00
Rémi Verschelde a2cedd81d4 Merge pull request #9394 from supagu/sync-rpc-fix
Queue RPC packet before calling method locally to ensure correct RPC …
2017-08-07 11:01:26 +02:00
Pedro J. Estébanez 6c1b7fd899 Fix Node::move_child() crash if moving to the end plus one
Fixes #9820.
2017-07-25 05:20:30 +02:00
Juan Linietsky 25678b1876 -Renamed GlobalConfig to ProjectSettings, makes more sense.
-Added system for feature overrides, it's pretty cool :)
2017-07-19 17:06:03 -03:00
Poommetee Ketson 49c7620326 Add object type hint for docs 2017-07-19 02:03:34 +07:00
Juan Linietsky e63c64e256 Clean up normalmapping, make sure tangents are imported correctly. 2017-07-03 10:45:34 -03:00
Fabian Mathews 0f0e2240ba Queue RPC packet before calling method locally to ensure correct RPC packet order 2017-06-26 19:13:54 +09:30
Juan Linietsky 5b3709d309 Removal of InputEvent as built-in Variant type..
this might cause bugs I haven't found yet..
2017-05-20 17:05:38 -03:00
Fabio Alessandrelli a5ce7a98cb Fix bug in pause mode propagation
Pause mode was not correctly propagating effectively stopping
immediately when the mode was not PAUSE_MODE_INHERIT.
2017-05-06 02:37:17 +02:00
Rémi Verschelde df61dc4b2b Add "Godot Engine contributors" copyright line 2017-04-08 00:11:42 +02:00
Pedro J. Estébanez 4b85ddabda Reset display folded for an instanced scene if editable children is toggled off
This avoids the display folded flag needlessly getting into the scene file (potentially forever) and also gives more visual feedback if the user re-enables editable children so it will display unfolded at first.
2017-04-07 15:48:07 +02:00
Pedro J. Estébanez c2165bb1a5 Add missing binding for DUPLICATE_USE_INSTANCING 2017-03-30 00:38:06 +02:00
Rémi Verschelde 14c01dfea7 Merge pull request #8037 from RandomShaper/remove-warning
Remove warning on owner re-assignment
2017-03-18 10:49:06 +01:00
Rémi Verschelde 5b6900ed9b Merge pull request #8014 from AlexHolly/fix-remove-and-skip
fix remove_and_skip()
2017-03-18 10:32:14 +01:00
Pedro J. Estébanez e3b4b7fa98 Remove warning on owner re-assignment 2017-03-15 12:28:57 +01:00
AlexHolly 3f78f1f17d fix remove_and_skip() 2017-03-12 18:50:43 +01:00
Ignacio Etcheverry d210ac66ef Fix connection errors when replacing node
- Avoid connecting the signals to nonexistent methods
- Preserve only persistent connections
2017-03-11 20:21:04 +01:00
Rémi Verschelde 5dbf1809c6 A Whole New World (clang-format edition)
I can show you the code
Pretty, with proper whitespace
Tell me, coder, now when did
You last write readable code?

I can open your eyes
Make you see your bad indent
Force you to respect the style
The core devs agreed upon

A whole new world
A new fantastic code format
A de facto standard
With some sugar
Enforced with clang-format

A whole new world
A dazzling style we all dreamed of
And when we read it through
It's crystal clear
That now we're in a whole new world of code
2017-03-05 16:44:50 +01:00
Pedro J. Estébanez 4e22b6acd7 Add more options to Node.duplicate()
to decide whether signals, groups and/or scripts should be set in the copied nodes or not; it's default value makes the method include everything, as usual
2017-02-20 20:05:01 +01:00
Hein-Pieter van Braam 411ee71b4d Rename the _MD macro to D_METHOD
This new name also makes its purpose a little clearer

This is a step towards fixing #56
2017-02-13 12:50:02 +01:00
Hein-Pieter van Braam 0f687f0ccb Remove use of _SCS from ADD_METHOD
This saves typing and is a step towards fixing #56
2017-02-13 10:37:47 +01:00
Rémi Verschelde f44ee891be Style: Fix statements ending with ';;' 2017-01-16 08:49:52 +01:00
Juan Linietsky 5dde810aa5 no more errors related to missing GlobalConfig::Get (or so I hope) 2017-01-14 21:57:22 -03:00
Rémi Verschelde 93ab45b6b5 Style: Fix whole-line commented code
They do not play well with clang-format which aligns the `//` part
with the rest of the code block, thus producing badly indented commented code.
2017-01-14 14:52:23 +01:00
Rémi Verschelde b191ea8f02 Node name casing: fix mistake from previous commit 2017-01-13 22:43:39 +01:00
Rémi Verschelde f19fd7a4c1 Reenable node name case setting + code cleanups
The method _generate_serial_child_name is indeed called relatively often
in editor mode, but that commented out code chunk hardly adds to its
slowness (and with the default setting, not at all).

Also did various related code cleanups and simplifications.
2017-01-13 22:38:43 +01:00
Juan Linietsky a2903fc51d Must now register with set_transform_notify() to get NOTIFICATION_TRANSFORM_CHANGED 2017-01-12 20:35:46 -03:00
Ray Koopa a971186c26 Project setting to control node name casing
(cherry picked from commit 87fd54b2f1)
2017-01-12 20:47:25 +01:00
Juan Linietsky 83cb84753f Renamed most signals so they refer to:
-An action being requested to the user in present tense: (ie, draw, gui_input, etc)
-A notification that an action happened, in past tense (ie, area_entered, modal_closed, etc).
2017-01-12 00:51:08 -03:00
Juan Linietsky f3f4a11cfb - _ready() callback only happens once now, if you want to receive it again, use request_ready()
- C++ Nodes mostly do an internal process callback, so it does not conflict with users willing to use their own process callbacks
- callbacks such as _input, _process, _fixed_process _unhandled_input, _unhandled_key_input do not requiere calling a function to enable them. They are enabled automatically if found on the script.
2017-01-10 18:04:33 -03:00
Juan Linietsky 0f7af4ea51 -Changed most project settings in the engine, so they have major and minor categories.
-Changed SectionedPropertyEditor to support this
-Renamed Globals singleton to GlobalConfig, makes more sense.
-Changed the logic behind persisten global settings, instead of the persist checkbox, a revert button is now available
2017-01-05 09:16:00 -03:00
Juan Linietsky 3fae505128 Begin modifying properties to make them more friendly to script and doc. 2017-01-03 00:38:16 -03:00
Juan Linietsky 118eed485e ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to Variant.
All usages of "type" to refer to classes were renamed to "class"
ClassDB has been exposed to GDScript.
OBJ_TYPE() macro is now GDCLASS()
2017-01-02 23:03:46 -03:00
Rémi Verschelde 3f3f5a5359 Merge remote-tracking branch 'origin/gles3' into gles3-on-master
Various merge conflicts have been fixed manually and some mistakes
might have been made - time will tell :)
2017-01-02 21:52:26 +01:00
Rémi Verschelde c7bc44d5ad Welcome in 2017, dear changelog reader!
That year should bring the long-awaited OpenGL ES 3.0 compatible renderer
with state-of-the-art rendering techniques tuned to work as low as middle
end handheld devices - without compromising with the possibilities given
for higher end desktop games of course. Great times ahead for the Godot
community and the gamers that will play our games!
2017-01-01 22:03:33 +01:00
Rémi Verschelde 440c37fbd9 Revert "Do not emit NOTIFICATION_READY more than once (breaking change)"
This reverts commit b6eab006db.

This commit broke compatibility in an undesired way, as outlined in
https://github.com/godotengine/godot/issues/3290#issuecomment-263388003
2016-11-30 00:08:01 +01:00
Bojidar Marinov b6eab006db
Do not emit NOTIFICATION_READY more than once (breaking change)
Currently, there is no notification with the old behaviour, so probably breaks all cpp code relying on that notification as well.
2016-11-17 18:46:45 +02:00
Bojidar Marinov 184173a9b9
Guard agains duplicate calling of _ready when instanced in _enter_tree
Fixes #6005
2016-11-17 18:10:53 +02:00
Ignacio Etcheverry 305956bf70 Keep groups when replacing nodes 2016-11-03 00:19:32 +01:00
Pedro J. Estébanez 84c525ba1b Revise serial naming behavior 2016-10-10 13:11:32 +02:00
Pedro J. Estébanez 9b2e2935d0 Refactor node naming APIs used by editor
Make 'name_num_separator' a project setting
Make all node operations separator-aware
2016-10-08 21:49:16 +02:00
Juan Linietsky 22d83bc9f6 Begining of GLES3 renderer:
-Most 2D drawing is implemented
-Missing shaders
-Missing all 3D
-Editor needs to be set on update always to be used, otherwise it does not refresh
-Large parts of editor not working
2016-10-03 21:35:16 +02:00
Juan Linietsky 828e1c092f Renamed the bind_native functions to bind_vararg, should make it show the documentation more clearly and also make it easier to bind to C# 2016-09-07 19:39:57 -03:00
Juan Linietsky 1add52b55e Brand new networked multiplayer 2016-08-19 16:48:41 -03:00
Juan Linietsky 3db36684b1 Added high level networked multiplayer to Godot.
It's complete, but absolutely and completely untested, undocumented and NSFW.
Have fun :-)
2016-08-14 18:49:50 -03:00
Juan Linietsky 9de33e18f1 WIP bugfix for existing connections 2016-07-19 20:20:28 -03:00
Rémi Verschelde 454b210242 Remove unused variables (third pass) + dead code
Fixes various gcc 5.4.0 warnings for -Wunused-variable and -Wunused-but-set-variable
2016-07-07 23:16:21 +02:00
Juan Linietsky 17e4ead62a Fix several bugs related to node duplication and signals, closes #5405 2016-07-06 21:43:31 -03:00
Juan Linietsky 5065e46381 Change method of storing folding, solves problems with inheritance, closes #3395 2016-06-28 13:10:15 -03:00
Saracen 912afb129f Make return type explicit. 2016-06-21 12:41:28 +01:00
Juan Linietsky d76ee09774 property remove parent owned nodes when using replace, fixes #4128 2016-06-20 22:57:07 -03:00
Juan Linietsky 37ed2bae69 Better error text when trying to add/remove/move child nodes in a busy parent, closes #4838 2016-06-13 22:46:18 -03:00
Ignacio Etcheverry dc2ea39f24 Preserve signal connections when replacing the target node 2016-06-09 16:47:34 +02:00
Juan Linietsky d61b91cbe0 -Heavily improved editor startup and exit performance 2016-06-07 22:10:09 -03:00
Juan Linietsky 3ae61f2292 Created a NodeDock with signals and groups 2016-06-04 13:19:08 -03:00
Juan Linietsky c195c0df6b -Added configuration warning system for nodes
-Added a new "add" and "instance" buttons for scene tree
-Added a vformat() function to ease translation work
2016-05-17 18:28:44 -03:00
Paulb23 aee156dc02 Node duplication positions under duplicated node, issue 964 2016-05-13 20:05:52 +01:00
Juan Linietsky d7318f6965 -begun implementing drag & drop editor wide
-filesystem dock dnd support
-property list dnd support
-scene tree dnd support
2016-05-11 11:59:03 -03:00
Ignacio Etcheverry 1e752c0120 Fix wrong return and argument types in documentation 2016-05-04 15:35:09 +02:00
Ignacio Etcheverry 3029f5ee02 Keep editable instances data when replacing tree root node 2016-04-12 20:49:43 +02:00
Hubert Jarosz 4a4f247914
remove trailing whitespace 2016-03-09 00:00:52 +01:00
Juan Linietsky b30839fb08 -make sure instance placeholder works with duplicate(), fixes #3378 2016-01-22 19:36:40 -03:00
hondres 4c753f60b1 duplicate groups and signals 2016-01-20 00:08:04 +01:00
Juan Linietsky b988f016fd forgot to bind NOTIFICATION_INSTANCED, closes #2261 2016-01-03 12:57:19 -03:00
George Marques 5be9ff7b67 Update copyright to 2016 in headers 2016-01-01 11:50:53 -02:00
reduz 875bff2c4e -fix loading of samples in mod, s3m and xm. Fixes #2553 2015-12-29 16:06:45 -03:00
reduz 2f19260fb7 -restrict gui root from being removed while performing input, fixes #2578 2015-12-29 10:01:29 -03:00
reduz e0d21d2158 Ability to set autoloads as singleton global variables 2015-12-28 15:59:20 -03:00
Rémi Verschelde d4993b74fc Add missing argument names in GDScript bindings
All classes were reviewed apart from VisualServer for which no argument name is documented at all.
While doing this review, I found quite a few bugs that were fixed either in earlier commits or this one (mostly documentation bugs though, i.e. some arguments were listed at the wrong place).
2015-12-28 02:13:05 +01:00
Juan Linietsky ecad3a285f better unique name resolution, as suggested i #3017 2015-12-08 11:33:30 -03:00
Juan Linietsky 3c33b705d1 added option to add_child, to use the same deduplication convention as in the editor, closes #3017 2015-12-08 11:21:12 -03:00
Ariel Manzur 8adc4ef65b windows crash and bind placeholder method 2015-11-14 11:14:17 -03:00
Juan Linietsky f11fdb611e Merge pull request #2556 from volzhs/fix_miss_bind_findnode
fix miss bind for Node::find_node
2015-10-17 10:02:43 -03:00
reduz 078a474135 -fixes and more fixes to new scene system, seems stable now..
BUT DONT TRUST ME IT MAY STILL BREAK, USE WITH CARE!!
2015-10-16 19:11:23 -03:00
reduz 422929e87f Large improvements on scene packing and management
-Ability to edit and keep changes of instanced scenes and sub-scenes
-Ability to inherit from other scenes
2015-10-10 09:09:09 -03:00
volzhs 1630f0ad35 fix miss bind for Node::find_node 2015-09-30 21:55:31 +09:00