Age | Commit message (Collapse) | Author |
|
|
|
Some cleanup with Vector3(i)'s methods so that it is consistent with Vector2, for example it returns enums internally (GDScript still gets ints).
|
|
|
|
Print warnings when using a Rect2 or AABB with a negative size
|
|
|
|
|
|
|
|
Renames parameters that were named differently across different
scripting languages or their documentation to use the same name
everywhere.
|
|
|
|
The same has been done for AStar2D as well.
|
|
We prefer to prevent using chained assignment (`T a = b = c = T();`) as this
can lead to confusing code and subtle bugs.
According to https://en.wikipedia.org/wiki/Assignment_operator_(C%2B%2B), C++
allows any arbitrary return type, so this is standard compliant.
This could be re-assessed if/when we have an actual need for a behavior more
akin to that of the C++ STL, for now this PR simply changes a handful of
cases which were inconsistent with the rest of the codebase (`void` return
type was already the most common case prior to this commit).
|
|
|
|
|
|
|
|
Doing a multiplication to reduce the amount of tests was causing
precision which lead to 2D raycast detecting false positive contacts
in some cases with convex polygons.
|
|
This matches the name of the GDScript function (except it's uppercase
here).
|
|
|
|
|
|
Reimplement ping-pong animation and reverse playback
|
|
|
|
|
|
|
|
|
|
clang-format keeps breaking the way it handles break *after* ternary operators,
so I give up and go with the only style they seem to actually test.
|
|
All reviewed manually and occasionally rewritten to avoid bad auto formatting.
|
|
Sets `AlignOperands` to `DontAlign`.
`clang-format` developers seem to mostly care about space-based indentation and
every other version of clang-format breaks the bad mismatch of tabs and spaces
that it seems to use for operand alignment. So it's better without, so that it
respects our two-tabs `ContinuationIndentWidth`.
|
|
* Made the Basis euler orders indexed via enum.
* Node3D has a new rotation_order property to choose Euler rotation order.
* Node3D has also a rotation_mode property to choose between Euler, Quaternion and Basis
Exposing these modes as well as the order makes Godot a lot friendlier for animators, which can choose the best way to interpolate rotations.
The new *Basis* mode makes the (exposed) transform property obsolete, so it was removed (can still be accessed by code of course).
|
|
|
|
Roughly based on https://github.com/godotengine/godot-proposals/issues/3375 (used format is slightly different).
* Implement bitwidth based animation compression (see animation.h for format).
* Can compress imported animations up to 10 times.
* Compression format opens the door to streaming.
* Works transparently (happens all inside animation.h)
|
|
|
|
Now (normal, point)
|
|
NodeAnimation"
|
|
Co-authored-by: Chaosus <chaosus89@gmail.com>
|
|
VisualServer no longer exists in the `master` branch.
|
|
|
|
Auto LOD fixes and improvements
|
|
Some areas of code were missed and assumed Vector3.
|
|
* Fixed LODs for shadow meshes.
* Added a merging step before simplification. This helps with tesselated
meshes that were previously left untouched. The angle difference at
wich edges ar considered "hard" can be tweaked as an import setting.
* LODs will now start with the highest decimation possible and keep
doubling (approximately) the number of triangles from there. This
makes sure that very low triangle counts are included when possible.
* Given more weight to normal preservation.
* Modified MeshOptimizer to report distance-based error instead of
including attributes in the reported metrics.
* Added attribute transference between the original mesh and the
various LODs. Right now only normals are taken into account,
but it could be expanded to other attributes in the future.
|
|
Use correct overload of Math::random(from, to) to return floating point values within the correct range.
|
|
|
|
|
|
|
|
|
|
|
|
Expose set_scale and set_skew for transform2d
Replacing float by real_t
Adding const parameters
Updated transform2d doc
|
|
|
|
`AStar` Add error messages
|
|
Remove unnecessary conversion between triangle data and vertex data
whenever possible.
|
|
|
|
Improve Basis::get_quaternion error message
|