Commit Graph

356 Commits

Author SHA1 Message Date
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
Rémi Verschelde 7b9f2d9929 Finish renaming *Frame GUI classes to *Rect
ReferenceFrame had been overlooked, and the cpp files still used the old
names. Also ripgrep'ed it all to find some forgotten references.
2017-01-14 10:52:54 +01:00
Rémi Verschelde f392b340ff Tween: Rename times_in_sec (sic) param to duration 2017-01-13 19:40:18 +01:00
Juan Linietsky da477b76a9 some class renames
TextureFrame -> TextureRect
Patch9Frame -> NinePatchRect
ColorFrame -> ColorRect
2017-01-12 18:28:12 -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 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
Emmanuel Leblond 0fbf3b990d Remove deprecated Vector2.floorf method 2017-01-10 09:11:36 +01: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
Emmanuel Leblond 28d7486267 Fix codeblock tag in classes.xml for EditorSettings 2017-01-08 12:34:39 +01: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
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 c9366f8b56 Merge pull request #7410 from nounoursheureux/master
Add the 'finished' signal to AnimatedSprite
2017-01-02 15:54:58 +01:00
Rémi Verschelde 0b2771bd65 Merge pull request #7271 from Faless/ipv6_cleanup
Fixes and improvementes for IPv6 implementation.
2017-01-02 15:51:45 +01:00
Bruno Ortiz 7e0d0d0bb9 Exposing edit_resource method of EditorNode in the EditorPlugin (#7355) 2017-01-02 13:37:22 +01:00
Wilhem Barbier f6262fde11 Add the 'finished' signal to AnimatedSprite 2017-01-02 12:24:37 +01:00
Rémi Verschelde f8e6cdd89d Merge pull request #7322 from Jerome67000/classref-edit
doc improvement for get_colliding_bodies() methods
2016-12-23 15:48:47 +01:00
Ivan P. Skodje da950cd0f2 PopupMenu upgrade: Hide on item selection (#7306)
* Added the option to set hide on item selection. Usable in GDScript and from within the source code when you want to specify popup menus you don't want to close immediately when selecting an item

* Renamed getter from get_ to is_, fixed parent/child behavior, renamed bool variable to match most code and added ADD_PROPERTYNO to save some memory
2016-12-23 15:43:45 +01:00
Jerome67000 3cd5c86b1a doc improvement for get_colliding_bodies() methods 2016-12-17 17:18:33 +01:00
Fabio Alessandrelli c18c5013f8 Migrate int.IP_TYPE_ constants to IP.TYPE_ 2016-12-09 18:24:59 +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
Rémi Verschelde 35e754db59 Merge pull request #7138 from bojidar-bg/ready_guard
Do not enter _ready twice
2016-11-28 15:19:50 +01:00
George Marques a692b7a1c1 Merge pull request #7149 from Kazuo256/array-last
Add Array.front() and Array.back()
2016-11-22 08:08:59 -02:00
romeojulietthotel f8d523b68b Correct description for the return values from get_status. (#7137) 2016-11-21 11:55:57 +01:00
Kazuo256 bf4fda64fd Add Array.front() and Array.back() 2016-11-18 18:45:51 -02: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
Rémi Verschelde f0f04d5082 Merge pull request #6862 from Faless/fix_6388
Fix Keyboard Input Hangs when using modifiers
2016-11-11 10:47:10 +01:00
ISylvox b5c383fd61 vsnc --> vsync 2016-11-08 21:06:57 +07:00
Rémi Verschelde 9f7b781657 Merge pull request #7050 from DTV96Calibre/master
Fixed minor typo
2016-11-06 12:09:40 +01:00
DTV96Calibre 37098419c5 Fixed minor typo 2016-11-06 01:38:41 -05:00
George Marques 411faaa6f4
Rename remaining WinRT references to UWP 2016-11-03 14:51:08 -02:00
Fabio Alessandrelli 7f42da0330 Update docs to IPv6 2016-10-30 17:46:05 +01:00
Rémi Verschelde 21828209ec Merge pull request #6950 from rdb/master
Add "Never" underline mode to LinkButton
2016-10-30 12:11:49 +01:00
rdb d517bc908f Add "Never" underline mode to LinkButton 2016-10-28 10:52:57 +02:00
Juan Linietsky 53d8f2b1ec PBR more or less working, still working on bringing gizmos back 2016-10-27 11:50:26 -03:00
Zher Huei Lee c3b4686082 Added global sub and bounds checking to RegEx 2016-10-27 10:27:40 +01:00
Zher Huei Lee 439d439321 RegEx re-implemented as a module
Re-wrote nrex as a module using godot-specific parts and new
features:

 * Added string substitutions.
 * Named groups are now supported.
 * Removed use of mutable variables in RegEx. RegExMatch is returned
   instead.
2016-10-27 10:27:40 +01:00
Rémi Verschelde afd86ee240 Merge pull request #6090 from WalasPrime/raytrace_force
Added force_raycast_update GDScript method for RayCast[2D]
2016-10-22 12:40:14 +02:00
Fabio Alessandrelli 17d7e6a142 Fix Keyboard Input Hangs when using modifiers
Main input parsing loop only update actions for keyboard if the state has changed.
`InputMap::event_is_action` now ignores keyboard modifiers if the event is not pressed.
Clarify difference between `InputMap::action_has_event` and `InputMap::event_is_action` in docs.

Fixes #6388.
2016-10-19 17:52:49 +02:00
Rémi Verschelde 345f82d4ca Merge pull request #6779 from WalasPrime/rpc_docs
Documentation of RPC-related methods and classes
2016-10-17 09:58:34 +02:00
Rémi Verschelde 292132ef6b Merge pull request #6821 from akien-mga/pr-bye-speex
Remove speex support, it is obsoleted by opus
2016-10-14 18:14:33 +02:00
Rémi Verschelde d3d0507c05 Remove speex support, it is obsoleted by opus
As mentioned by upstream, Xiph.Org [0]:
> The Speex codec has been obsoleted by Opus. It will continue to be
> available, but since Opus is better than Speex in all aspects,
> users are encouraged to switch.

[0] http://www.speex.org/
2016-10-13 18:58:56 +02:00
Karol Walasek 5687fa4709 Fixed Particle2D docs - radians to degrees for some params 2016-10-13 18:25:06 +02:00
Karol Walasek 61cca26ddf Documentation of RPC-related methods and classes 2016-10-13 18:00:24 +02:00
Rémi Verschelde abfa42dd39 Merge pull request #6781 from volzhs/unnecessary-parentheses
Remove unnecessary parentheses

[ci skip]
2016-10-10 20:06:46 +02:00
volzhs 42c72eee66 Remove unnecessary parentheses 2016-10-11 02:59:29 +09:00
Rémi Verschelde ddf2acad4e Merge pull request #6613 from pkowal1982/tween
Tween reset/stop/resume/remove for all object properties at once
2016-10-09 13:56:33 +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
Karol Walasek 8d57640d37 Added general notes on RayCast[2D] updating behaviour and force_raycast_update() 2016-10-03 12:40:25 +02:00
Karol Walasek db0a46d7f7 Filled blanks and normalized documentation on RayCast[2D] 2016-10-01 16:21:33 +02:00