Commit Graph

398 Commits

Author SHA1 Message Date
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
Rémi Verschelde 3ecd8560fd Classref: Sync template with current source 2016-10-01 13:01:44 +02:00
Pawel Kowal acc242fd6a Tween reset/stop/resume/remove for all object properties at once 2016-09-25 23:25:52 +02:00
George Marques 7cd64c3c8d
Add docs for XMLparser, VideoPlayer and most of Tree 2016-09-19 18:39:36 -03:00
George Marques 98e7c1edba
Add a function to plugin get the main screen parent
- Fix a bug where the main screen button did not disappear when the plugin
  was deactivated.
2016-09-16 15:02:01 -03:00
Andreas Haas cef70a5f8b
Update documentation on joystick vibration.
Added a note that long vibration durations are not recommended because of hardware limitations.
For example, my ps4 controller can only vibrate for ~3s on linux.
2016-09-16 11:08:32 +02:00
Juan Linietsky 2a003d7b4e fix get_selected_nodes() 2016-09-10 17:50:20 -03:00
Juan Linietsky 65b93d177e -Added bindings to the resource filesystem for editor
-Added set_child_rect, which was unavailable for script
2016-09-10 17:34:27 -03:00
Juan Linietsky 2da3aaefc2 small clarification in doc 2016-09-10 16:46:00 -03:00
Juan Linietsky 491dde2eb4 Made it possible to properly draw over the 2D canvas for 2D objects. Arranged some functions to achieve this. 2016-09-10 16:44:03 -03:00
Juan Linietsky 67d3935eb1 -Added way to generate resource previews from script plugin.
-Updated documentation
2016-09-10 15:32:17 -03:00
Juan Linietsky 6abd1437cd Merge pull request #5879 from gau-veldt/subarray_patch
Subarray patch
2016-09-10 12:22:31 -03:00
Juan Linietsky 026c7913cf Merge pull request #5942 from pkowal1982/scroll
ScrollContainer expand children bug fix
2016-09-10 12:14:33 -03:00
Paulb23 7d455fca71 Added ItemList get_v_scroll to docs 2016-09-09 15:28:01 +01:00
Gastronok cd82fafd58 Change the documentation to reflect that Directory.list_dir_begin()
returns true (not false) when a stream could not be initialized. (See, for
example,
https://github.com/godotengine/godot/blob/master/drivers/windows/dir_access_windows.cpp#L76
)
2016-09-07 16:32:59 -07:00
Rémi Verschelde a40309b532 Merge pull request #6420 from Paulb23/itemlist_tooltip_disable_issue_6240
Itemlist tooltip disable issue 6240
2016-09-07 20:42:26 +02:00
Paulb23 607d602493 Document itemlist disable tooltip 2016-09-07 18:13:44 +01:00
Rémi Verschelde b1ce9821e7 classref: Sync with current source 2016-09-07 08:54:42 +02:00
Rémi Verschelde 028171845f classref: Sync with recent changes 2016-08-31 08:57:39 +02:00
Rémi Verschelde 9a35ed5d54 Merge pull request #5670 from timoschwarzer/feature/camera2d_limit_smoothing
Add an option to smooth camera limits when camera smoothing is enabled.
2016-08-30 16:52:55 +02:00
Rémi Verschelde 41ee85b6a0 Merge pull request #5262 from vnen/button-signals
Add button_down and button_up signals
2016-08-30 16:49:12 +02:00
Rémi Verschelde 835ee75d57 Merge pull request #6159 from touilleMan/issue-6148
Add Node2d global rot/rotd/scale methods
2016-08-29 19:04:24 +02:00
Rémi Verschelde c29c70275e Merge pull request #6187 from TheHX/pr-pinfo-function
Added add_property_info function to Globals and EditorSettings classes
2016-08-27 22:04:50 +02:00
George Marques 141360ed82
Better document the BaseButton signals 2016-08-26 22:01:11 -03:00
Gau o fthe Veldt f9e931bf12 Documentation for most of ItemList control.
The icon stuff is incomplete since I haven't used icons.
2016-08-18 08:29:51 -07:00
Franklin Sobrinho 038e99e107 Update Globals and EditorSettings docs 2016-08-16 17:11:30 -03:00
Franklin Sobrinho a27d2e4c29 Update EditorPlugin doc 2016-08-15 15:28:21 -03:00
Emmanuel Leblond c402ac13df Add Node2D's set_global_rot get_global_rot set_global_rotd get_global_rotd set_global_scale get_global_scale methods. 2016-08-15 11:39:19 +02:00
Rémi Verschelde df12333fab classref: Sync with current source 2016-08-10 20:14:48 +02:00
MSC 7b05b4c83c Some additions to the OS documentation (#6037) 2016-08-05 12:29:23 +02:00
Hubert Jarosz 1445553fea
[ci skip] update Raycast documentation
clarification that set_cast_to needs LOCAL point
and get_collision_point gives GLOBAL point
2016-08-03 22:46:50 +02:00
eska b80c42ef4e Document FuncRef, GDFunctionState, InstancePlaceholder, RID, World2D 2016-07-30 21:27:58 +02:00
Pawel Kowal 853161a000 ScrollContainer expand children bug fix 2016-07-27 20:24:10 +02:00
Pawel Kowal 535a6f9faf Array has() documentation 2016-07-27 15:49:15 +02:00
Javier López Úbeda 2f8910185e Update Tween class documentation 2016-07-25 21:15:27 +02:00
MarianoGNU 23a20791d1 Update documentation. 2016-07-24 18:09:56 -03:00
Gau o fthe Veldt 82d4cb5114 Added slicing operation to DVector via DVector.subarray(int start,int end) method.
Negative indices index from the end of the array.
Indices are range checked before attempting and return appropriate error when out of range.
Binding for RawArray in gdscript to access DVector.subarray() provided.
Documentation of RawArray.subarray() in classes.xml provided.
2016-07-23 12:52:41 -07:00
Juan Linietsky 221cb58382 Add some doc to ImmediateGeometry 2016-07-23 08:58:57 -03:00
Rémi Verschelde 51519b5d6b Merge pull request #5851 from 29jm/typo-scroll
Fix typo in ScrollContainer documentation
2016-07-22 13:32:36 +02:00
Johan Manuel 908f585ef6 Fix typo in ScrollContainer documentation 2016-07-22 12:03:10 +02:00
Rémi Verschelde c57b992774 Merge pull request #5847 from 29jm/patch-3
Expose virtual keyboard functions to GDScript
2016-07-22 08:39:07 +02:00
Johan Manuel ec8c6e2c7c Expose virtual keyboard functions to GDScript 2016-07-21 23:58:58 +02:00
Zher Huei Lee 3dd5ffb48a Added examples to RegEx doc 2016-07-21 22:01:53 +01:00
Rémi Verschelde d723e5a62f Merge pull request #5560 from vnen/os-request-attention
Add OS.request_attention() for Windows
2016-07-21 17:29:45 +02:00
Rémi Verschelde 5274f2a126 Merge pull request #5819 from hurikhan/android_getScreenDPI
Implement get_screen_dpi() on Android
2016-07-21 09:09:49 +02:00
Mario Schlack 0717893772 Implement get_screen_dpi() on Android 2016-07-20 14:54:48 +02:00
Rémi Verschelde 4bf1654272 classref: WIP improved docs for Node
Also clarified the purpose of Input.get_mouse_speed (see #1355)
2016-07-19 23:45:59 +02:00
Rémi Verschelde b50b099f0d classref: Sync classes with source 2016-07-19 23:40:31 +02:00
Rémi Verschelde f53e7efefe Merge pull request #5527 from djrm/color_picker_fixes
Color picker fixes
2016-07-18 16:43:41 +02:00
Juan Linietsky 254d79a560 Add a function to notify font users that the font changed. Closes #5774 2016-07-18 10:00:26 -03:00
Rémi Verschelde 62eae7cbe2 Merge pull request #5723 from Paulb23/toggle_breakpoint_gutter_issue_5712
Fixed toggle breakpoint gutter not updating when the game is running, issue 5712
2016-07-18 00:52:36 +02:00
Rémi Verschelde 8de5aedb9e Merge pull request #5718 from jay3d/master
Added gyroscope support to Godot and Android
2016-07-18 00:52:15 +02:00
Rémi Verschelde 3183834c5d Merge pull request #5657 from Paulb23/block_caret
Added block caret to TextEdit
2016-07-18 00:44:45 +02:00
Daniel J. Ramirez b10b16ee49 Added documentation for color picker raw mode 2016-07-15 13:34:57 -05:00
Jamil Halabi 370ae3512d Added gyroscope support to Godot and Android 2016-07-16 01:43:32 +08:00
Paulb23 2c9468a46a Update docs with breakpoint_toggled signal 2016-07-15 15:05:57 +01:00
Rémi Verschelde eaeee58b9e Merge pull request #5705 from StraToN/doc-update
Docs-update: AnimatedSprite, AnimatedSprite3D (unfinished)
2016-07-15 13:04:22 +02:00
Julian Murgia 952cb12364 Written AnimatedSprite, AnimatedSprite3D (unfinished) 2016-07-14 22:03:14 +02:00
George Marques 98eec177ae
Fix classes.xml structure
Fix the addition in #4854 which added elements in the wrong place.
2016-07-14 12:13:04 -03:00