Juan Linietsky
c1153f5041
Change the rotate function of Spatial to be local, makes more sense. Closes #14569
2017-12-26 12:45:56 -03:00
Bernhard Liebl
517227943f
Inline some very common Vector2 operations
2017-12-25 15:58:14 +01:00
Poommetee Ketson
6c897707ca
Add missing parameter names
2017-12-25 21:19:56 +07:00
Gilles Roudiere
71f5e17680
Fixes grow_margin not working at all
2017-12-21 23:53:31 +01:00
Rémi Verschelde
2b41afb30e
Fix wrong return value in some virtual method bindings
2017-12-10 15:34:08 +01:00
Rémi Verschelde
41e3592041
Merge pull request #13347 from Noshyaar/hang_in_there
...
Rect2: add function returning same rect with positive w and h
2017-12-09 18:08:09 +01:00
Rémi Verschelde
13c2ff9320
Style: Apply new clang-format 5.0 style to all files
2017-12-07 08:02:00 +01:00
Rémi Verschelde
d5ca9e2f6f
Style: Apply clang-format again on all files
...
Fixes issues introduced by newer clang-format versions or commits
pushed directly without using the clang-format pre-commit hook.
2017-12-07 08:02:00 +01:00
Bastiaan Olij
4f9dac5bb1
Forgot to apply oversampling to Y
2017-12-03 22:32:42 +11:00
Poommetee Ketson
5c9be411eb
Rect2: add function returning same rect with positive w and h
2017-11-28 00:41:29 +07:00
Ferenc Arn
d28763a4c1
Rename Rect3 to AABB.
...
Fixes #12973 .
2017-11-17 11:01:41 -05:00
Goutte
91ca725f9b
Add support for the TAU constant. Fixes #12094 .
2017-11-12 13:32:35 +01:00
Rémi Verschelde
ed57f0a0d4
Remove get_default_video_mode definition on OSX/iOS
...
It had been missed in d09160a8b6
and broke compilation
for those platforms.
Took the opportunity to run clang-format on the code base to fix some corner cases
that went through our static tests/were overlooked recently.
2017-11-09 23:36:08 +01:00
DmDerbin
4c79e58e3f
AStar: implementation of get_point_connections
2017-11-04 11:21:03 +03:00
Rémi Verschelde
ea0e942617
Merge pull request #12035 from Chaosus/wrapfunc
...
Added new Wrap functions for numbers
2017-10-31 23:30:50 +01:00
Rémi Verschelde
cb3f594b14
Merge pull request #11249 from m4nu3lf/bugfix/get_euler
...
Fix inertia tensor update & Generic6DOFJoint & Simplify Basis::get_euler()
2017-10-31 23:03:01 +01:00
Unknown
9b4c5989ad
AStar: Add setters for point position and scale weight, cleanup
2017-10-27 19:19:01 +02:00
Robert Hernandez
794407e7b6
Fixed memory leak with AStar class
2017-10-22 18:37:02 -04:00
Rémi Verschelde
99c8a8c7b1
Merge pull request #11401 from SaracenOne/snapped_drag
...
Added snapping to spatial drag and drop.
2017-10-22 12:06:00 +02:00
Chaosus
216a8aa643
Added new wrap functions
2017-10-13 11:10:45 +03:00
Ferenc Arn
8861cc40fa
Added Basis::get_quat() and set_quat().
2017-10-11 16:56:47 -04:00
m4nu3lf
3df217b1a1
Fix Basis::get_euler_xyz()
2017-09-22 20:19:11 +01:00
Rémi Verschelde
e3617cb187
Merge pull request #11409 from MarufSarker/PR-core-math-is_nan
...
Verbose and Platform-specific implementation for is_nan
2017-09-20 14:29:01 +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
ABU MD. MARUF SARKER
7744bb153f
verbose and platform specific implementation for is_nan
2017-09-20 08:20:08 +06:00
SaracenOne
2e22c07f42
Added snapping to spatial drag and drop.
2017-09-20 01:54:01 +01:00
Indah Sylvia
13b630eb0c
Fixed Typo: 'Seperate' to 'Separate'
2017-09-19 15:51:00 +07:00
Rémi Verschelde
26017499a5
Merge pull request #11049 from scayze/astar_get_points
...
Add get_points() method to AStar
2017-09-12 14:07:06 +02: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
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
Hein-Pieter van Braam
5e18967d77
Fix serveral recent new clang-format errors
2017-09-08 00:20:16 +02:00
Juan Linietsky
eedb39091a
Several fixes to directional shadows, closes #10926
...
Added option to change directional light range mode, between optimized and stable. For Orthogonal, you might need to use optimized.
2017-09-07 18:00:47 -03:00
Scayze
6872cc7b12
Add get_points method to AStar
2017-09-07 19:15:46 +02:00
Juan Linietsky
6d233c651b
-Changed KinematicBody API yet again to make it friendlier
...
-Fixed get_scale functions (and added set_scale) to make it more coherent when decomposing and composing (fixes bugs in transform interpolation)
2017-09-04 07:49:42 -03:00
Hein-Pieter van Braam
9c63ab99f0
Fix use of unitialized variables
...
The second in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-02 01:59:26 +02:00
Rémi Verschelde
dac150108a
Merge pull request #10846 from hpvb/fix-sign-compare
...
Fix signed and unsigned comparisons
2017-09-01 21:52:55 +02:00
Poommetee Ketson
ed606ded52
Fix files header
2017-09-01 21:07:55 +07:00
Hein-Pieter van Braam
f9467ec1ea
Fix signed and unsigned comparisons
...
The first in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-01 08:13:12 +02:00
Ferenc Arn
5ad8d310f2
Add a new decomposition to Basis.
...
This new decomposition splits the basis into a rotation-reflection matrix and a positive scaling matrix, which is required for physics calculations.
2017-08-30 09:37:18 -04:00
Ferenc Arn
a0bbf5c9af
Remove Basis::set_scale and Basis::set_rotation_* functions.
...
Those functions were added in #8277 but they did more harm than good. They're subtle, don't do what people think and requires users to understand the non-uniqueness of polar decomposition. They ended up confusing people.
Until we store additional information enough to make a unique polar decomposition, these functions shouldn't be a part of Basis.
2017-08-29 21:47:59 -04: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
92410df24c
Merge pull request #10415 from tagcup/euler_hack
...
Fix incorrect workaround for pure Y (X) rotations in XYZ (YXZ) conven…
2017-08-22 00:54:39 +02:00
Rémi Verschelde
135027a2f6
Merge pull request #10225 from Noshyaar/map
...
GDScript Built-in: add inverse_lerp & range_lerp
2017-08-22 00:31:46 +02:00
Juan Linietsky
72be8876ea
Properly manage drawing of primitives when they lack an area, fixes #8930
2017-08-18 15:12:48 -03:00
Poommetee Ketson
d28da86f9f
GDScript Built-in: add inverse_lerp & range_lerp
2017-08-18 21:49:03 +07:00
Ferenc Arn
94aa4092f5
Fix incorrect workaround for pure Y (X) rotations in XYZ (YXZ) convention.
...
Fixes #10352 .
2017-08-18 01:45:36 -04:00
Marcelo Fernandez
eab850524e
Add closest_power_of_2 func and implement mix_rate/latency on OS X
2017-08-17 19:51:13 -03:00
Rémi Verschelde
a8a6082dc0
Merge pull request #8899 from toger5/BetterFlatStylebox
...
Better flat stylebox with rounded corners
2017-08-16 18:15:04 +02:00
TwistedTwigleg
00f6c85928
Synchronize parameter names in definition and declaration
...
Fixes #10244 .
2017-08-16 17:22:23 +02:00
Rémi Verschelde
035d74f54a
Rename cull_AABB to cull_aabb
...
Part of #8830 .
2017-08-16 17:01:05 +02:00
toger5
c39ac8650d
Added Corner Enum
2017-08-15 19:36:34 +02:00
Wilson E. Alvarez
21d281c4a9
Use const reference where favorable
2017-08-14 13:28:06 -04:00
Rémi Verschelde
5c6e41cc13
Merge pull request #10190 from tagcup/euler_yxz
...
Use YXZ convention for Euler angles.
2017-08-11 10:38:46 +02:00
Ferenc Arn
53c23b0222
Use YXZ convention for Euler angles.
...
As discussed in issues #1479 and #9782 , choosing the up axis (which is Y in Godot) as the axis of the last (or first) rotation is helpful in practical use cases.
This also aligns Godot's convention with Unity, helping with a smoother transition for people who are used to working with Unity (issue #9905 ).
Internally, both XYZ and YXZ functions are kept, for potential future applications.
2017-08-09 09:05:37 -04:00
Wilson E. Alvarez
6d112a68b6
Moved member variables from constructor to initialization list
2017-08-08 21:43:19 -04:00
Juan Linietsky
cd9539f85d
Display the Y angle properly when rotating from gizmo, partially helps #1479
2017-08-07 15:09:08 -03:00
Rémi Verschelde
62464839ad
Merge pull request #8567 from BastiaanOlij/ar_vr_server
...
AR/VR base classes and position tracker support
2017-07-31 13:29:18 +02:00
Rémi Verschelde
76005a8e75
Style: Apply clang-format on all files
...
Thus fixing some invalid changes that had still made it to the master branch.
2017-07-30 22:53:40 +02:00
BastiaanOlij
d2ba2d0873
Adding base classes and structures for ARVR support
...
Added ArVrScriptInterface
Added ARVRCamera, ARVRController and ARVROrigin helper objects
2017-07-28 10:39:15 +10:00
Juan Linietsky
2e73be99d8
Lots of work on Audio & Physics engine:
...
-Added new 3D stream player node
-Added ability for Area to capture sound from streams
-Added small features in physics to be able to properly guess distance to areas for sound
-Fixed 3D CollisionObject so shapes are added the same as in 2D, directly from children
-Fixed KinematicBody API to make it the same as 2D.
2017-07-15 08:32:34 -03:00
Poommetee Ketson
2c9f6312e2
AStar: add bool has_point(id)
2017-07-11 21:06:30 +07:00
Poommetee Ketson
2fd204c35e
Refactor 'treshold' to 'threshold'
2017-07-08 22:24:56 +07:00
Juan Linietsky
7263137dba
Implemented environment arrays for skybox reflection and roughness, quality increase is enormous.
2017-07-04 23:53:08 -03:00
TwistedTwigleg
44ecfb028d
Fixed syntax inconsistency in Vector3.snap and Vector3.snapped
2017-07-03 16:29:03 -04:00
Thomas Herzog
b6b225f4c5
Merge pull request #8870 from tagcup/pathfollow
...
Fix PathFollow rotations.
2017-06-19 23:30:40 +02:00
Rémi Verschelde
43a84429ff
doc: Sync classref with current source
...
Tried to salvage what I could of the Image and InputEvent changes.
2017-06-15 20:52:51 +02:00
Ferenc Arn
cd1e14b1da
Use inline code for isinf as a workaround for libstdc++ versions from gcc 5.x era.
...
Fixes #9166 .
2017-06-14 18:30:22 -05:00
Juan Linietsky
a8e845a474
Merge pull request #8548 from tagcup/etc2comp
...
Add ETC1/ETC2 compression support though etc2comp.
2017-06-13 19:17:13 -03:00
alexholly
935f730170
renamed all Rect3.pos to Rect3.position
2017-06-09 15:54:02 +02:00
Poommetee Ketson
fcaddeccbb
Fix build error, commit bee81d5
2017-06-08 12:48:59 +07:00
Rémi Verschelde
bee81d5214
Merge pull request #8981 from toger5/addedGrowFunction
...
implemented grow(left,top,right,bottom) function
2017-06-08 07:41:54 +02:00
toger5
66b308925c
added grow functions to Rect2
...
- grow_individual
- grow_margin
2017-06-05 01:11:00 -07:00
alexholly
a3c90b0293
renamed all Rect2.pos to Rect2.position
2017-06-04 02:09:17 +02:00
Ferenc Arn
6a9c990da7
Add ETC1/ETC2 compression support though etc2comp.
...
Remove rg-etc1 code. Also updated travis to use ubuntu 14.04.
Fixes #8457 .
2017-05-31 18:59:00 -05:00
Ferenc Arn
a1c8896d9d
Fix PathFollow rotations.
...
Used parallel transport to move the object along the curve. Also introduced a few more math checks useful for debugging.
2017-05-31 13:58:31 -05:00
Thomas Görlich
2c6449c4fc
Changed enum to const because enum with uint64 size does not work on VSC++ Compiler
2017-05-29 23:56:21 +02:00
Juan Linietsky
f89641907f
-Added EXR supprot for HDR (no BC6 compression yet though)
...
-Improvements to texture importer
-Proper detection of S3TC compression modes, and added all modes to Image
-Fixes to non-power of 2 compressed textures, which should all be supported by GLES3
2017-05-26 22:31:32 -03:00
Rémi Verschelde
ce51138b38
Merge pull request #8786 from bojidar-bg/fix-astar-weight-scale
...
Fix weigth scale of A* being applied to the whole estimation
2017-05-22 15:16:20 +02:00
Bojidar Marinov
bd91730347
Fix weigth scale of A* being applied to the whole path and estimation
...
Attempt to fix #8584
2017-05-22 15:55:49 +03:00
Ferenc Arn
e4eb093c62
Avoid overestimating the cost in AStar heuristics.
...
This is a necessary condition for finding optimal solutions.
This is achieved by simply requiring/ensuring that no weights are smaller than 1.
Fixes #8584 .
2017-05-21 15:13:09 -05:00
Fabian Mathews
2262a59ab3
Added bool to allow astar points to be connected in one direction only
2017-05-19 20:46:45 +09:30
Rémi Verschelde
2398eb6ed4
Move core thirdparty files to thirdparty/{minizip,misc}
2017-04-28 21:19:23 +02:00
Rémi Verschelde
5ae1e172da
Merge pull request #8277 from tagcup/math_checks
...
Added various functions basic math classes. Also enabled math checks …
2017-04-24 11:16:20 +02:00
Ferenc Arn
ceb699f5ec
Fix PRNG randomization.
...
PCG32 doesn't like small seeds, which leads to zero random values (prior to #7532 , zero values were handled as special cases).
Use a large default seed, and also add a shift in Math::randomize.
Fixes #8423 .
2017-04-17 14:05:02 -05:00
Juan Linietsky
4286aef693
Particle system is complete. Rejoice!
2017-04-08 22:40:06 -03:00
Rémi Verschelde
df61dc4b2b
Add "Godot Engine contributors" copyright line
2017-04-08 00:11:42 +02:00
Juan Linietsky
74808ac4d9
New particle system, mostly working, some small features missing.
2017-04-06 23:49:27 -03:00
Ferenc Arn
9a37ff1e34
Added various functions basic math classes. Also enabled math checks only for debug builds.
...
Added set_scale, set_rotation_euler, set_rotation_axis_angle. Addresses #2565 directly.
Added an euler angle constructor for Basis in GDScript and also exposed is_normalized for vectors and quaternions.
Various other changes mostly cosmetic in nature.
2017-04-06 13:03:56 -05:00
Rémi Verschelde
2c4e4432af
Merge pull request #8214 from tagcup/bounce_reflect_slide
...
Made slide and reflect active verbs acting on itself in Vector2 and V…
2017-04-05 01:23:09 +02:00
Ferenc Arn
1a620bd5fa
Made slide and reflect active verbs acting on itself in Vector2 and Vector3.
...
This is in alignment with other functions in vector classes.
Also added checks for normalization, fixed the sign of reflect (which now corresponds to reflection along a plane mathematically), added bounce method and updated docs.
Fixes #8201 .
2017-04-03 10:02:12 -05:00
Rémi Verschelde
5b09dde3fe
Merge pull request #8146 from supagu/astar
...
Added ability to change A-star cost function
2017-04-03 13:52:59 +02:00
Fabian Mathews
b541402417
Added ability to change A-star cost function
2017-04-01 16:36:22 +10:30
Ferenc Arn
97d510531a
Fix polar decomposition in 2D.
...
When performing polar decomposition in 2D as B = R.S, where R is rotation (with determinant +1) and S is scaling, use the convention that reflections are absorbed into S through a reflection around y axis.
In 3D, this is done by using a reflection along all three axes, but since the dimensionality is even in 2D, one axis needs to be chosen.
Fixes Matrix32::get_rotation and Matrix32::get_scale (which weren't properly fixed in #7445 ).
2017-03-29 12:04:49 -05:00
Rémi Verschelde
60a9debb99
Merge pull request #8132 from tagcup/vector3_angle_to
...
Use atan2 rather than acos in Vector3.angle_to.
2017-03-24 22:52:46 +01:00
Rémi Verschelde
beba97c0c3
Merge pull request #8122 from tagcup/axis_check_normalization
...
Explicitly documented that Transform.basis is not necessarily an orth…
2017-03-24 22:51:27 +01:00
Rémi Verschelde
debeee56f7
Fix typos in source code using codespell
...
From https://github.com/lucasdemarchi/codespell
2017-03-24 21:45:31 +01:00
Ferenc Arn
3730e0533c
Use atan2 rather than acos in Vector3.angle_to.
...
Fixes #8111 .
2017-03-24 12:03:33 -05:00
Ferenc Arn
6bb9b58b09
Explicitly documented that Transform.basis is not necessarily an orthogonal matrix.
...
Also added a check that in axis-angle rotations, axis is a normalized vector, and modified the docs accordingly.
Fixes #8113 .
2017-03-23 12:27:00 -05: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
Rémi Verschelde
e1c1d7d1d7
Add a bunch of missing Godot headers in own files
2017-03-05 15:47:28 +01:00
Leandro Motta Barros
0e5863c86a
Fix RANDOM_MAX, which is 2^32-1 with PCG32.
2017-03-01 14:33:45 -03:00
Saracen
5e938f0001
Inf and NaN support added to GDScript.
2017-02-28 21:52:33 +00:00
Hein-Pieter van Braam
b696beea65
Correct hash behavior for floating point numbers
...
This fixes HashMap where a key or part of a key is a floating point
number. To fix this the following has been done:
* HashMap now takes an extra template argument Comparator. This class
gets used to compare keys. The default Comperator now works correctly
for common types and floating point numbets.
* Variant implements ::hash_compare() now. This function implements
nan-safe comparison for all types with components that contain floating
point numbers.
* Variant now has a VariantComparator which uses Variant::hash_compare()
safely compare floating point components of variant's types.
* The hash functions for floating point numbers will now normalize NaN
values so that all floating point numbers that are NaN hash to the same
value.
C++ module writers that want to use HashMap internally in their modules
can now also safeguard against this crash by defining their on
Comperator class that safely compares their types.
GDScript users, or writers of modules that don't use HashMap internally
in their modules don't need to do anything.
This fixes #7354 and fixes #6947 .
2017-02-16 18:44:29 +01:00
Juan Linietsky
da11d6d9e8
Many fixes to make exported scenes work better, still buggy.
2017-02-15 08:34:02 -03:00
Juan Linietsky
04a6d2789e
Revert "Make nan==nan true for GDScript"
2017-02-14 17:05:16 -03:00
Hein-Pieter van Braam
adcc211feb
Make nan==nan true for GDScript
...
After discussing this with Reduz this seemed like the best way to
fix #7354 . This will make composite values that contain NaN in the same
places as well as the same other values compare as the same.
Additionally non-composite values now also compare equal if they are
both NaN. This breaks IEEE specifications but this is probably what most
users expect. There is a GDScript function check for NaN if the user
needs this information.
This fixes #7354 and probably also fixes #6947
2017-02-14 13:32:23 +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
Juan Linietsky
0aa7242624
WIP new AudioServer, with buses, effects, etc.
2017-01-21 19:01:00 -03:00
Juan Linietsky
ee0f53df52
Merge pull request #7528 from tagcup/real_t_float_fixes
...
Use real_t rather than float or double in generic functions (core/mat…
2017-01-20 19:24:49 -03:00
BastiaanOlij
d11a4c1120
Some changes in the header so Godot3 compiles again on Windows.
2017-01-18 21:55:47 +11:00
Ferenc Arn
6f4f9aa6de
Overloaded basic math funcs (double and float variants). Use real_t rather than float or double in generic functions (core/math) whenever possible.
...
Also inlined some more math functions.
2017-01-16 13:36:33 -06:00
Rémi Verschelde
bf05dab74f
Merge pull request #7532 from tagcup/pcg_prng
...
Replace the existing PRNG (Xorshift31) with (minimal) PCG-32.
2017-01-16 20:06:54 +01:00
BastiaanOlij
cef0ae5d5d
Fix compile errors related to audio on OSX
2017-01-16 20:32:44 +11:00
Rémi Verschelde
2a0ddc1e89
Style: Various fixes to play nice with clang-format
2017-01-16 08:49:52 +01:00
Rémi Verschelde
f44ee891be
Style: Fix statements ending with ';;'
2017-01-16 08:49:52 +01:00
Rémi Verschelde
3890256fc5
Style: Cleanups, added headers, renamed files
...
Made sure files in core/ and tools/ have a proper Godot license header
when written by us. Also renamed aabb.{cpp,h} and object_type_db.{cpp,h}
to rect3.{cpp,h} and class_db.{cpp,h} respectively.
Also added a proper header to core/io/base64.{c,h} after clarifying
the licensing with the original author (public domain).
2017-01-16 08:04:23 +01:00
Ferenc Arn
4c9004671a
Replace the existing PRNG (Xorshift31) with (minimal) PCG (XSH-RR variant with 32-bit output, 64-bit state).
...
PCG is better than many alternatives by many metrics (see www.pcg-random.org) including statistical quality with good speed.
2017-01-15 19:15:16 -06:00
Juan Linietsky
b400c69cd4
Oops! Audio engine has vanished :D
2017-01-15 16:07:51 -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
Juan Linietsky
6e88b1096a
Vector2.get_aspect() renamed to Vector2.aspect() to keep consistent method naming
2017-01-13 20:00:43 -03:00
Juan Linietsky
ad224295c0
made math functions inlnie
2017-01-12 08:55:42 -03:00
Juan Linietsky
bc26f90581
Type renames:
...
Matrix32 -> Transform2D
Matrix3 -> Basis
AABB -> Rect3
RawArray -> PoolByteArray
IntArray -> PoolIntArray
FloatArray -> PoolFloatArray
Vector2Array -> PoolVector2Array
Vector3Array -> PoolVector3Array
ColorArray -> PoolColorArray
2017-01-11 00:52:51 -03:00
Juan Linietsky
710692278d
Merge pull request #7426 from m4nu3lf/bugfix/physics
...
Fixed inertia tensor computation and center of mass
2017-01-10 22:27:32 -03:00
Juan Linietsky
6671670e81
Merge pull request #7445 from tagcup/2d_math_fixes
...
Various corrections in 2D math.
2017-01-10 22:25:45 -03:00
Juan Linietsky
0acd4fccd5
Merge pull request #7438 from tagcup/matrix3_rotate_fix
...
Fix the order in which additional transformations are applied
2017-01-10 22:22:56 -03:00
Ferenc Arn
f271591ac2
Various corrections in 2D math.
...
This is the follow up for the 2D changes mentioned in PR #6865 . It fixes various mistakes regarding the order of matrix indices, order of transformation operations, usage of atan2 function and ensures that the sense of rotation is compatible with a left-handed coordinate system with Y-axis pointing down (which flips the sense of rotations along the z-axis). Also replaced float with real_t, and tried to make use of Matrix32 methods rather than accessing its elements directly.
Affected code in the Godot code base is also fixed in this commit.
The user code using functions involving angles such as atan2, angle_to, get_rotation, set_rotation will need to be updated to conform with the new behavior. Furthermore, the sign of the rotation angles in existing 2D scene files need to be flipped as well.
2017-01-10 10:14:20 -06:00
m4nu3lf
2e38b32e0f
Fixed inertia tensor computation and center of mass
2017-01-09 00:13:54 +00:00
Ferenc Arn
6b1252cdfa
Fix the order in which additional transformations are applied in Matrix3 and Transform.
...
This is a part of the breaking changes proposed in PR #6865 , solving the issue regarding the order of affine transformations described in #2565 . This PR also fixes the affected code within Godot codebase. Includes improvements to documentation too.
Another change is, Matrix3::get_scale() will now return negative scaling when the determinant of the matrix is negative. The rationale behind this is simple: when performing a polar decomposition on a basis matrix M = R.S, we have to ensure that the determinant of R is +1, such that it is a proper rotation matrix (with no reflections) which can be represented by Euler angles or a quaternion.
Also replaced the few instances of float with real_t in Matrix3 and Transform.
Furthermore, this PR fixes an issue introduced due to the API breakage in #6865 . Namely Matrix3::get_euler() now only works with proper rotation matrices. As a result, the code that wants to get the rotation portion of a transform needs to use Matrix3::get_rotation() introduced in this commit, which complements Matrix3::get_scaled(), providing both parts of the polar decomposition.
Finally, it is now possible to construct a rotation matrix from Euler angles using the new constructor Matrix3::Matrix3(const Vector3 &p_euler).
2017-01-08 10:36:14 -06:00
Juan Linietsky
2ab83e1abb
Memory pool vectors (DVector) have been enormously simplified in code, and renamed to PoolVector
2017-01-07 18:26:38 -03:00
Ferenc Arn
bd7ba0b664
Use right handed coordinate system for rotation matrices and quaternions. Also fixes Euler angles (XYZ convention, which is used as default by Blender).
...
Furthermore, functions which expect a rotation matrix will now give an error simply, rather than trying to orthonormalize such matrices. The documentation for such functions has be updated accordingly.
This commit breaks code using 3D rotations, and is a part of the breaking changes in 2.1 -> 3.0 transition. The code affected within Godot code base is fixed in this commit.
2017-01-03 17:41:04 -06: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
Juan Linietsky
22a90e8f2a
DOF blur, near and far fields..
2016-12-10 01:13:20 -03:00
Juan Linietsky
a299c3ebf1
Support for SSAO
2016-12-04 12:45:30 -03:00
Juan Linietsky
cacf9ebb7f
all light types and shadows are working, pending a lot of clean-up
2016-11-09 23:55:06 -03:00
Rémi Verschelde
2ba1b58374
Merge pull request #7039 from RandomShaper/fix-triangulation
...
Clean/fix triangulation internals
2016-11-09 15:46:13 +01:00
SPTelur
df737ebb46
Some missing License notice has been added
2016-11-07 06:16:18 +06:00
Pedro J. Estébanez
0e1972aa51
Clean/fix triangulation internals
...
Drop unused variable
Remove commented-out code
Fix leak by using Vector instead of raw memory
2016-11-05 10:16:44 +01:00
Rémi Verschelde
d4c17700aa
style: Fix PEP8 whitespace issues in Python files
...
Done with `autopep8 --select=E2,W2`, fixes:
- E201 - Remove extraneous whitespace.
- E202 - Remove extraneous whitespace.
- E203 - Remove extraneous whitespace.
- E211 - Remove extraneous whitespace.
- E221 - Fix extraneous whitespace around keywords.
- E222 - Fix extraneous whitespace around keywords.
- E223 - Fix extraneous whitespace around keywords.
- E224 - Remove extraneous whitespace around operator.
- E225 - Fix missing whitespace around operator.
- E226 - Fix missing whitespace around operator.
- E227 - Fix missing whitespace around operator.
- E228 - Fix missing whitespace around operator.
- E231 - Add missing whitespace.
- E231 - Fix various deprecated code (via lib2to3).
- E241 - Fix extraneous whitespace around keywords.
- E242 - Remove extraneous whitespace around operator.
- E251 - Remove whitespace around parameter '=' sign.
- E261 - Fix spacing after comment hash.
- E262 - Fix spacing after comment hash.
- E265 - Format block comments.
- E271 - Fix extraneous whitespace around keywords.
- E272 - Fix extraneous whitespace around keywords.
- E273 - Fix extraneous whitespace around keywords.
- E274 - Fix extraneous whitespace around keywords.
- W291 - Remove trailing whitespace.
- W293 - Remove trailing whitespace.
2016-11-01 00:35:16 +01:00
Rémi Verschelde
89001369e7
Merge pull request #6751 from SuperUserNameMan/new_PRNG_for_rand_from_seed
...
xorshift32 PRNG for Math::rand_from_seed()
2016-10-30 10:49:22 +01:00
Juan Linietsky
4428115916
Everything returning to normal in 3D, still a long way to go
...
-implemented the scene part of visual server and rasterizer, objects without lighting and material are rendererd only
2016-10-19 11:14:41 -03:00
Rémi Verschelde
fc8ccd5b8c
SCsub: Add python shebang as a hint for syntax highlighting
...
Also switch existing shebangs to "better" /usr/bin/env python.
2016-10-17 20:10:46 +02:00
yg2f
a747c8ccee
xorshift32 PRNG for Math::rand_from_seed()
...
should fixes #1043
PRNG adapted from : http://excamera.com/sphinx/article-xorshift.html
2016-10-10 20:41:36 +02:00
Mateusz Adamczyk
8671836b76
Added simple check to viewport, if matrix32 is invesile ( https://github.com/godotengine/godot/issues/6296 ).
2016-10-08 12:33:10 +02:00
J08nY
deb36b44d1
Vector3: added angle_to(Vector3 other)
2016-10-03 13:41:59 +02:00
J08nY
f468cfc379
Vector3: format properly, fix indents
2016-10-03 13:41:45 +02:00
anneomcl
aa5ade834c
Fix for #6158 . Converting Vector2 to Size2 for scaling functions.
2016-09-19 23:31:45 -07:00
Juan Linietsky
827a9aa829
Added a generic AStar implementation to Godot.
...
It's pretty fast, use it for games where Navigation does not cut it.
2016-09-13 18:17:18 -03:00
Juan Linietsky
fc61eb37ce
Merge pull request #5920 from 29jm/fix-warnings
...
Fix some more warnings
2016-09-10 12:21:02 -03:00
Juan Linietsky
23ababdcd5
Changed Vector3.snap from fmod to stepify, which makes more sense, fixes #6399
2016-09-06 19:14:47 -03:00
Ignacio Etcheverry
3578800230
Matrix32: Add constructor that takes six real_t params
2016-08-24 18:54:23 +02:00
Johan Manuel
67b29e3b9e
Fix some warnings about misleading indentation
2016-08-13 13:21:35 +02:00
Ignacio Etcheverry
2d4c4b6ea9
Fix regression with str() improvements for math types
2016-07-28 14:58:12 +02:00
Rémi Verschelde
c6c9f29827
Merge pull request #5921 from neikeq/pr-issue-5919
...
Prettier str() for some math types
2016-07-27 17:23:17 +02:00
Ignacio Etcheverry
eefca1ada9
Prettier str() for some math types
2016-07-27 17:00:07 +02:00
Juan Linietsky
9151eb591d
Changed the way the step decimals are computed to a safer way, fixes many issues.
2016-07-26 17:25:10 -03:00
Rémi Verschelde
308d405c31
Turn some prints to error logs, remove others
...
Fixes #5876 in passing.
2016-07-24 00:02:19 +02:00
Rémi Verschelde
f40f360a2c
Remove unused variables (fourth pass) + dead code
...
Also fix a potential regression from 3fcb9b1ec1
.
2016-07-08 16:47:55 +02:00
Juan Linietsky
d6225b1e00
Improved binding system (ObjectTypeDB::bind_method) to be friendlier to statically typed languages, should help in the Mono integration.
...
Disabled by default.
2016-06-22 23:13:41 -03:00
J08nY
449571b6cd
Remove USE_QUAD_VECTORS unused check
2016-06-19 00:41:52 +02:00
Rémi Verschelde
80727b6896
Drop empty .cpp files for header-only classes
...
Part of #5272
2016-06-18 20:00:08 +02:00
Rémi Verschelde
b7dbf9207a
Drop empty files that are not used anywhere
...
Part of #5272
2016-06-18 19:46:30 +02:00
Juan Linietsky
a75f896338
First version of Profiler
...
It is now possible to profile GDScript as well as some parts of Godot
internals.
2016-05-21 21:18:16 -03:00
Rémi Verschelde
6883325f92
math: Fix rounding error for 0 in Math::round ( #4495 )
...
Thus revert the previous workaround in commit b123bc4a2a
.
Fixes #3221 .
2016-05-01 11:37:46 +02:00
Hubert Jarosz
4a4f247914
remove trailing whitespace
2016-03-09 00:00:52 +01:00
sheepandshepherd
c88c60d08e
Correct octree's AABB intersect test, fixes #3576 and #3253
2016-02-17 20:06:40 +01:00
Juan Linietsky
7a931b4d3a
Fixed the decimals function, it can't be perfect but it should be good enough. Closes #1955
2016-01-03 19:18:47 -03:00
George Marques
5be9ff7b67
Update copyright to 2016 in headers
2016-01-01 11:50:53 -02:00
reduz
555ad5f8b7
removed wron return types, fixes #2483
...
removed console, which was obsolete and unused sine long long ago
2015-12-29 18:46:21 -03:00
Juan Linietsky
1312df7fdc
implement point cloud function using convex hull for ConvexPolygonShape2D, fixes #2848
2015-12-14 09:06:53 -03:00
Juan Linietsky
d3eb9e8c54
-remove Vector2.atan2() replaced by Vector2.angle(), fixes #2260
2015-11-19 10:41:20 -03:00
Juan Linietsky
0c3386b2ed
Merge pull request #2707 from akien-mga/master
...
Cosmetic fixes to SCons buildsystem
2015-11-18 19:43:28 -03:00
Franklin Sobrinho
541812e999
Implement Quat multiply operator, and xform method
2015-11-11 11:30:55 -03:00
Rémi Verschelde
399b1b0474
Cosmetic fixes to SCons buildsystem
...
- Removed trailing spaces
- Made sure all indentation is done using tabs (fixes #39 )
- Potentially fixed an identation issue for openssl check
2015-11-01 20:53:26 +01:00
Juan Linietsky
0bc6a8894c
Merge pull request #2266 from MrGreenTea/master
...
added floor() and ceil() to Vector3
2015-10-17 12:10:32 -03:00
Rémi Verschelde
1e147c4945
Fix some copy-paste mistakes in linear/db volume functions
2015-09-26 21:06:12 +02:00
MrGreenTea
ec11762006
added floor() and ceil() to Vector3
2015-07-15 01:59:35 +02:00
James McLean
2e6d3b7fad
Changed floats to 'real_t'.
2015-06-11 21:37:54 -04:00
James McLean
c2181285eb
Changed 'scale' to 'scale_basis' in 'interpolate_with'.
2015-06-11 13:44:04 -04:00
James McLean
b19ed63eb6
Implemented interpolation for affine transformations (Matrix32::interpolate_with)
2015-06-11 10:43:48 -04:00
Juan Linietsky
9acab32daa
new file dialog!
...
-ItemList control for easier lists/thumbnails
-New file dialog, with support for thumbnails, favorites, recent places,
etc
-Moved .fscache out of the project, no more bugs due to committed/pulled
.fscache!
-Dir dialog now sorts directories
2015-06-06 09:44:38 -03:00
ehriche
897a1aade5
optional formal changes
2015-05-06 01:22:31 +02:00
Juan Linietsky
4804462ee0
-Fixes from source code analyzizer, closes #1768
2015-05-01 10:44:08 -03:00
Juan Linietsky
7006fe3cc4
Corrected rectangle intersection, fixes #1731
2015-04-24 16:08:05 -03:00
Juan Linietsky
4661a6e126
-try to avoid errors when path using ".." is present in script include, fixes #1703
2015-04-18 16:17:33 -03:00
Juan Linietsky
fdaa2920eb
Updated copyright year in all headers
2015-04-18 14:38:54 -03:00
Juan Linietsky
6b3cd13c8d
-fix vector rotation, fixes #1705
2015-04-18 14:19:33 -03:00
Juan Linietsky
28304bc330
-Changed the cubic interpolator, improves situation with PathFollow in #1659
2015-04-13 09:47:03 -03:00
Juan Linietsky
f706e3e5d1
Merge pull request #1380 from ElectricSolstice/wparentheses_removal
...
Changed code to remove gcc -Wparentheses warnings.
2015-03-22 15:05:47 -03:00
Juan Linietsky
a1f715a4da
support for 2D shadow casters
...
Added support for 2D shadow casters.
*DANGER* Shaders in CanvasItem CHANGED, if you are using shader in a
CanvasItem and pull this, you will lose them. Shaders now work through a
2D material system similar to 3D. If you don't want to lose the 2D
shader code, save the shader as a .shd, then create a material in
CanvasItem and re-assign the shader.
2015-03-02 00:54:43 -03:00
Juan Linietsky
5ef3f7392f
support for light and normal mapping in 2D
2015-02-18 19:40:02 -03:00
ElectricSolstice
0e1f34b49d
Changed code to remove gcc -Wparentheses warnings.
2015-02-16 18:58:41 -08:00
Juan Linietsky
2185c018f6
begin new serialization framework
...
also got rid of STL dependency on triangulator
2015-02-15 01:21:26 -03:00
Juan Linietsky
c5f509f238
New Navigation & Pathfinding support for 2D
...
-Added Navigation & NavigationPolygon nodes
-Added corresponding visual editor
-New pathfinding algorithm is modern and fast!
-Similar API to 3D Pathfinding (more coherent)
2015-02-14 12:10:15 -03:00
Juan Linietsky
a36a774897
Fixes
...
-=-=-=
-Added missing quaternion constructor
-code completion fixes
-winrt fixes
2014-12-20 15:30:06 -03:00
Juan Linietsky
089d7fa171
Small batch of fixes
...
-=-=-=-=-=-=-=-=-=-=
-Fixed looping error in AudioStreamResampled
-winrt port progress
-fixes in material in ambient light
2014-12-15 15:42:58 -03:00
Juan Linietsky
e82dc40205
-Much improvement to baked light baker
...
-Fixed many bugs in stretch mode
-Fixes to camera project and unproject as consequence of the above
-added setget to script (documented in script doc)
-more fixes to collada exporter for blender
2014-10-27 22:54:32 -03:00
Guy Rabiller
5f2222ee89
- Fix issue #802 : randomize() now generate non-zero seed during the first hour of every days, the first minute of every hours and the first second of every minutes.
2014-10-27 09:58:12 +01:00