Commit Graph

48 Commits

Author SHA1 Message Date
540156b387 [Core] Rename linear_interpolate to lerp 2020-04-29 04:02:49 -04:00
95a1400a2a Replace NULL with nullptr 2020-04-02 13:38:00 +02:00
eaae4b6408 Renamed 2D and 3D nodes to make their types explicit
Fixes #30736.
2020-03-27 14:54:04 +01:00
01afc442c7 Signals: Port connect calls to use callable_mp
Remove now unnecessary bindings of signal callbacks in the public API.
There might be some false positives that need rebinding if they were
meant to be public.

No regular expressions were harmed in the making of this commit.
(Nah, just kidding.)
2020-02-28 14:24:09 +01:00
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
3c0059650d Added StringName as a variant type.
Also changed all relevant properties defined manually to StringName.
2020-02-21 14:25:29 +01:00
69c95f4b4c Reworked signal connection system, added support for Callable and Signal objects and made them default. 2020-02-20 08:24:50 +01:00
cf8c679a23 ObjectID converted to a structure, fixes many bugs where used incorrectly as 32 bits. 2020-02-12 14:24:54 -03:00
40d1b0bfdb Merge pull request #35906 from muiroc/anim_node_value_bug
Pass missing args in AnimationNode script calls
2020-02-06 11:38:31 +01:00
5af3b4ca27 Remove duplicate ERR_PRINT macro. 2020-02-05 11:13:24 +01:00
ed3a8cc83d pass missing args in AnimationNode script calls 2020-02-04 17:45:48 +01:00
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
d81ddaf33e Added skin support and simplified APIs to override bone position. 2019-09-18 19:46:32 -03:00
4817595c0e fix otherwise unitialized variables, found in #31694 2019-08-27 17:13:08 +02:00
ff7184c5cb Improve the node configuration warning display
- Refer to properties explicitly when possible
- When multiple warnings are returned, always separate them by one
  blank line to make them easier to distinguish
- Improve grammar and formatting
2019-07-09 00:18:00 +02:00
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
66a36ba474 Fix some unincialised variables 2019-05-28 19:12:19 +02:00
36a54ffebb Merge pull request #27577 from guilhermefelipecgs/continuation_of_27562
Continuation of #27562
2019-04-21 13:16:35 +02:00
66e07a2ec6 Fixes caches_cleared signal discrepancies in AnimationTree (fixes #25460) 2019-04-10 16:25:18 +02:00
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
dbda5b6700 Continuation of #27562
[AnimationTree] Fix scale interpolation
2019-04-05 15:41:37 -03:00
45d97b9860 Fix wrong blend of animation tree
Interpolation cannot use zero values, must use the values from the
animation to be blended.
2019-03-31 17:12:24 -03:00
8d51618949 Add -Wshadow=local to warnings and fix reported issues.
Fixes #25316.
2019-02-20 19:44:12 +01:00
c3b0ee5941 Fix code style issues 2019-01-26 22:35:31 +01:00
c743da100d Avoid crashing in #23302 2019-01-25 09:09:32 -03:00
b16c309f82 Update copyright statements to 2019
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
f30745bd85 Fixup to typo and indentation in 81c86e8 2018-11-26 11:21:06 +01:00
81c86e8047 Improved bindings and added documentation for AnimationNode, closes #20720 2018-11-25 16:57:23 -03:00
1a16dabfb5 Merge pull request #21982 from luzpaz/misc-typos
Misc. typos
2018-09-13 10:59:00 +02:00
08bde5b2de Misc. typos
Found via `codespell -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"`
2018-09-12 21:39:17 -04:00
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
9eb4d4ab2d Add missing copyright headers 2018-08-29 22:41:17 +02:00
0b67d1665d Style: Fix previous commits from @reduz 2018-08-24 16:50:29 +02:00
f6c0a3fce9 Property clear caches in animationtree if animatioplayer is modified. Fixes #19876 2018-08-24 11:41:46 -03:00
bffaa835fc -Fix blend tree rename, closes #20210
-Fixed activity lines in blend tree
2018-08-23 16:44:10 -03:00
404ee1a56b Style: Fix issues that went past CI 2018-08-21 21:28:06 +02:00
c7e4527a88 Massive rewrite to AnimationTree. Many APIs changed in order to:
-Reuse resources
-Expose properties in AnimationTree
2018-08-20 13:39:16 -03:00
c55e269bfa Add method to manually advance AnimationTree and manual process mode. 2018-08-02 08:29:51 +01:00
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
d4465fce43 Fix some enum export in new Animation editor. 2018-07-08 10:24:21 +02:00
896e250f2b -Fix in animationplayback, sound would be cut on loop
-Fix on scene importer, keeping changes to animation tracks was not working
2018-07-01 17:45:19 -03:00
0ffec7daf7 Small fixes 2018-06-29 09:13:39 -03:00
eeab3502d5 Changes to how node paths are selected from property, allowing setting a hint. 2018-06-27 20:50:25 -03:00
9bab5134cf The way multiple quaternions being slerped was not good, changed approach to one that seems to work better. 2018-06-27 16:30:48 -03:00
be9731459a Style: Apply clang-format to animation_tree.cpp
Fixes issues introduced in c633b77 and de1ff22.
2018-06-27 08:36:26 +02:00
de1ff22eae change node graph property and improved some bindings 2018-06-27 03:00:08 -03:00
c633b770cb -Add root motion support in AnimationTree.
-Add RootMotionView, to debug root motion in 3D (disabled in runtime)
2018-06-26 19:06:16 -03:00
8c7da84e1e renamed AnimationGraphPlayer to AnimationTree 2018-06-25 18:40:24 -03:00