Commit graph

59 commits

Author SHA1 Message Date
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
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
Juan Linietsky
3205a92ad8 PoolVector is gone, replaced by Vector
Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are
sugar for `Vector<Type>`.
2020-02-18 10:10:36 +01:00
Haoyu Qiu
cf8eedb2f5 Fixes crash when pressing enter in ConnectDialog with nothing selected 2020-02-16 20:45:10 +08:00
Juan Linietsky
3f335ce3d4 Texture refactor
-Texture renamed to Texture2D
-TextureLayered as base now inherits 2Darray, cubemap and cubemap array
-Removed all references to flags in textures (they will go in the shader)
-Texture3D gone for now (will come back later done properly)
-Create base rasterizer for RenderDevice, RasterizerRD
2020-02-11 11:53:26 +01:00
asynts
e564b4fd07 Refactor (and fix) how the connect button is disabled.
It should not be possible to click the "Connect" button unless

  - a node is selected, and
  - that node is valid in the current mode.

The modes are the default and advanced modes which allow connecting to scripts
and nodes respectively.
2020-01-16 12:35:41 +01:00
Rémi Verschelde
fc2550c4c8
Merge pull request #35123 from asynts/asynts.crash-on-double-click
Prevent crash described in #34555.
2020-01-16 12:32:52 +01:00
asynts
181e74855e Don't close the connection dialog when the validation failed.
Currently the connection dialog is closed when

 1. no method name is specified, or

 2. no script is attached and if the method name isn't a buildin.

That's really annoying.
2020-01-15 10:33:50 +01:00
asynts
71b4b180ba Prevent crash described in #34555.
Normally it wouldn't be possible to click on the "Connect" button if no node
is selected, because the button would be disabled.

However, double clicking on a node is also hooked up to the same signal
and double clicking is possible even if the "Connect" button is disabled.

This caused a crash described in #34555.
2020-01-14 17:02:18 +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
Haoyu Qiu
078c0d75f2 Cleans up headers included in editor_node.h 2019-12-24 21:46:05 +08:00
Haoyu Qiu
0693718164 Makes more editor strings translatable
* "Add" button text in Groups Editor
* "Receiver Method" in Connect Signal Dialog
* "Play Mode" in Animation State Machine Editor
* "Mesh Library" button text in Mesh Library editor plugin
* Compose Array node button texts in Visual Script
* Various button texts in TileSet Editor
* Various Run Script errors
2019-12-21 20:58:17 +08:00
Jairo Honorio
7db29919f2 Add accept-dialog enter-key functionality to the Connect Dialog's Method textfield. 2019-10-15 05:49:42 -03:00
Michael Alexsander Silva Dias
18d8921af3 Format arguments in connections dialog in GDScript style 2019-09-25 22:08:58 -03:00
Michael Alexsander Silva Dias
8c3bb69e72 Fix incorrect typing when creating methods via the connection dialog 2019-09-19 13:22:05 -03:00
Michael Alexsander Silva Dias
96a256557c Minor improvements to the Node dock 2019-08-17 23:05:58 -03:00
Rémi Verschelde
190e866e4d ConnectionsDock: Add tooltip with signal description
Had to create a custom Tree to override `make_custom_control` for the
rich text display, similar to EditorProperty.

Fixes #30244.
2019-07-02 16:49:31 +02:00
qarmin
4e5310cc60 Some code changed with Clang-Tidy 2019-06-26 15:08:25 +02:00
Michael Alexsander Silva Dias
28683237c5 Check for inherited methods before attempting to create one when connecting a signal 2019-06-13 15:15:17 -03:00
Michael Alexsander Silva Dias
fdd461ddd0 Minor cleanup in connections dialog file 2019-06-13 02:47:12 -03:00
Michael Alexsander Silva Dias
31218a07de Improve conections dialog 2019-06-06 02:40:20 -03:00
Rémi Verschelde
82fcc99573
Merge pull request #28104 from homer666/connections-error-dialog
Update signal connections error dialog
2019-04-29 18:37:57 +02:00
Guilherme Felipe
d8de9cc20f Small fixes to connection dialog 2019-04-23 13:39:16 -03:00
homer666
f33c554de1 Update signal connections error dialog 2019-04-17 18:33:14 +10:00
Juan Linietsky
9f4b5a91c0 Reorganized connection dialog for much improved ease of use.
-Removed dest path field
-Added a "Source" signal
-Added an "Advanced" button to hide complexity
-Fix bug on Tree to make sure "ensure visible" works on hidden trees
-Fix bug on TextEdit to ensure signals created with script not open sill focus the right line
2019-04-11 23:23:24 -03:00
Rémi Verschelde
c8994b56f9 Style: Apply new changes from clang-format 8.0
It seems to stay compatible with formatting done by clang-format 6.0 and 7.0,
so contributors can keep using those versions for now (they will not undo those
changes).
2019-04-09 17:09:48 +02:00
marxin
8d51618949 Add -Wshadow=local to warnings and fix reported issues.
Fixes #25316.
2019-02-20 19:44:12 +01:00
Rémi Verschelde
b16c309f82 Update copyright statements to 2019
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
DualMatrix
1775c796a4 Automatically add extra args to func when creating it from create signal window
Automatically add extra arguments to function when creating it from create signal window. They will be called extra_arg_1, extra_arg_2,...
2018-09-16 21:01:17 +02:00
Rémi Verschelde
1a16dabfb5
Merge pull request #21982 from luzpaz/misc-typos
Misc. typos
2018-09-13 10:59:00 +02:00
luz.paz
08bde5b2de Misc. typos
Found via `codespell -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"`
2018-09-12 21:39:17 -04:00
Rémi Verschelde
277b24dfb7 Make core/ includes absolute, remove subfolders from include path
This allows more consistency in the manner we include core headers,
where previously there would be a mix of absolute, relative and
include path-dependent includes.
2018-09-12 09:52:22 +02:00
Rémi Verschelde
45b609f46a Replace last occurrences of PropertyEditor by EditorInspector
Updates the following plugins:
- ConnectionsDialog
- ScriptEditorDebugger
- ItemListEditorPlugin

Also drop now unnecessary compatibility methods.
2018-09-11 16:09:19 +02:00
Yuri Chornoivan
06e73522dc Fix vformat(), minor typos and word puzzles 2018-08-29 11:50:39 +03:00
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
George Marques
75f395c2a0
Use type hints to improve completion
- Allow type hints to be completed.
- Use type information to infer completion candidates.
- Show typed function signature in tooltip.
- Add type hints when completing declaration from virtual functions
(optional).
2018-07-20 21:55:17 -03:00
Ibrahn Sahir
f13f54e9db fixed connection dialog's creation of script functions.
Was accessing deleted objects to find the argument list.
Reordered things to get the arg list before deletion.
2018-07-13 12:58:44 +01:00
Eoin O'Neill
37e166f4c7 Added disconnect_all and edit functionality to ConnectionsDock.
Refactor: Changed function order so header and source are in sync, renamed functions and members to be more clear.

Replaced pointers with references where appropriate.
2018-04-29 23:51:36 -07:00
Eoin O'Neill
6cef0eaa09 Added connection editing. Some refactoring. 2018-04-29 17:16:05 -07:00
Eoin O'Neill
62a858d4c9 Basic context menu added to connections docker w/ code cleanup. 2018-04-29 17:16:05 -07:00
Hugo Locurcio
1c419531a0 Change ".." punctuation for "..." in editor strings (#16507) 2018-04-22 19:36:01 +02:00
Rémi Verschelde
e4213e66b2 Add missing copyright headers and fix formatting
Using `misc/scripts/fix_headers.py` on all Godot files.
Some missing header guards were added, and the header inclusion order
was fixed in the Bullet module.
2018-01-05 01:22:23 +01:00
Rémi Verschelde
b50a9114b1 Update copyright statements to 2018
Happy new year to the wonderful Godot community!
2018-01-01 14:40:47 +01:00
Poommetee Ketson
24df9f3707 Enhance undoredo action name, TTR, cleanup 2017-12-12 23:04:37 +07:00
Ferenc Arn
d28763a4c1 Rename Rect3 to AABB.
Fixes #12973.
2017-11-17 11:01:41 -05: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
Andreas Haas
6134d8741d Editor: Add some more translatable strings. 2017-08-25 18:49:45 +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