Commit graph

1689 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
Juan Linietsky 8ecc34bfae removed unnecesary modulate funtions, which were superseded by self_modulate 2017-01-08 12:31:14 -03:00
Juan Linietsky 8963ca3d17 Fix code completion for new getnode syntax 2017-01-08 03:01:52 -03: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
Juan Linietsky 99ceddd11e Editor settings categories are now tidy and beautiful! 2017-01-05 19:41:36 -03:00
Juan Linietsky 495d059a74 Merge branch 'master' of https://github.com/godotengine/godot 2017-01-05 09:18:03 -03:00
Juan Linietsky 0f7af4ea51 -Changed most project settings in the engine, so they have major and minor categories.
-Changed SectionedPropertyEditor to support this
-Renamed Globals singleton to GlobalConfig, makes more sense.
-Changed the logic behind persisten global settings, instead of the persist checkbox, a revert button is now available
2017-01-05 09:16:00 -03:00
Juan Linietsky d8e54b1e26 Merge pull request #7431 from MarianoGnu/gles3
Fix Color Picker
2017-01-04 20:28:28 -03:00
Juan Linietsky 76c2e8583e Merge branch 'master' of https://github.com/godotengine/godot 2017-01-04 01:17:41 -03:00
Juan Linietsky b085c40edf -Conversion of most properties to a simpler syntax, easier to use by script
-Modified help to display properties

GDScript can still not make use of them, though.
2017-01-04 01:16:14 -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 3fae505128 Begin modifying properties to make them more friendly to script and doc. 2017-01-03 00:38:16 -03: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
Juan Linietsky ce26eb74bc Merge branch 'master' of https://github.com/godotengine/godot 2017-01-02 19:12:25 -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 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 b530904038 Merge pull request #7341 from bruno-ortiz/master
Bugfixes for Tree node
2017-01-02 15:53:43 +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
Rémi Verschelde 6428ebd91f Merge pull request #7406 from neikeq/pr-issue-5076
TileMap: _update_dirty_quadrants() cancel pending update pre return
2017-01-02 15:11:23 +01:00
Rémi Verschelde f50afe81d8 Merge pull request #7385 from bojidar-bg/tree-range-drag-lock
Fix #7098 by not accepting right clicks while dragging the range
2017-01-02 14:38:25 +01:00
Bruno Ortiz 4b9a96859b Making deselect work for TreeItem when select_mode is SELECT_SINGLE and item_selected is now properly emitted 2017-01-02 11:26:37 -02:00
Rémi Verschelde 3e1b5ad223 Merge pull request #7382 from volzhs/fix-visibility
Able to change visibility when ancestor node is hidden
2017-01-02 14:17:42 +01:00
Rémi Verschelde 1a2a57e2ee Merge pull request #7376 from volzhs/scroll-horizontal
Scroll horizontally with mouse wheel when horizontal enabled only
2017-01-02 13:52:31 +01:00
Rémi Verschelde 2e87232f0a Merge pull request #7391 from ktksgit/master
Update DebugMesh when NavMesh changes
2017-01-02 13:50:10 +01:00
Rémi Verschelde 0cf34cb3af Merge pull request #7372 from chanon/master
Fix ColorPicker not correctly updating after pasting hex html color
2017-01-02 13:48:03 +01:00
Rémi Verschelde 17bb7e1c7e Merge pull request #7363 from Elinvention/bone_attachment
Expose set_bone_name and get_bone_name to GDscript
2017-01-02 13:43:13 +01:00
Wilhem Barbier f6262fde11 Add the 'finished' signal to AnimatedSprite 2017-01-02 12:24:37 +01:00
Juan Linietsky 741e038671 Add a metallic mode 2017-01-02 00:01:55 -03:00
Juan Linietsky c2a217c350 WIP particle system
Ability to enable and change MSAA settings
Ability to change VCT quality
Ability to enable/disable HDR rendering
2017-01-01 22:16:52 -03: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
Ignacio Etcheverry 5b3acd287d TileMap: _update_dirty_quadrants() cancel pending update pre return 2017-01-01 21:08:12 +01:00
Juan Linietsky a62c99c4e4 Some fixes and clean ups 2016-12-31 10:53:29 -03:00
reduz f4a56e7782 begin work on new particle system 2016-12-30 08:35:54 -03:00
ktksgit 2807507325 Update DebugMesh when NavMesh changes
Fixes #7371
2016-12-29 12:16:36 +01:00
Bojidar Marinov d40eb1565e
Fix #7098 by not accepting right clicks while dragging the range 2016-12-28 23:20:54 +02:00
volzhs f33e21e7af Show visual notice for visibility on Scene Dock 2016-12-28 22:12:08 +09:00
volzhs 792ff11642 Able to change visibility when ancestor node is hidden 2016-12-28 14:27:27 +09:00
volzhs 22b76511fb Scroll horizontally with mouse wheel when horizontal enabled only 2016-12-27 16:32:22 +09:00
chanon 0bf5d86546 fix ColorPicker not correctly updating after pasting hex html color 2016-12-26 15:38:48 +07:00
reduz 0d4abf2aa3 fixed a horrible bug on Windows AMD, scenes saved until now in this branch
are no longer valid :(
2016-12-24 16:23:30 -03:00
Elia Argentieri b96e2e1126 Expose set_bone_name and get_bone_name to GDscript 2016-12-24 15:27:08 +01:00
Rémi Verschelde 0f76c47be3 Merge pull request #7349 from volzhs/fix-richtextlabel
Fix duplicated string on RichTextLabel if starts with '\n'
2016-12-23 16:00:21 +01:00
Rémi Verschelde 2b847d2a2e Merge pull request #7330 from darkfoxprime/#7326-fix-whole-word-search
Fix search to find "whole" words at end of line
2016-12-23 15:52:21 +01:00
Rémi Verschelde 6d6ec54093 Merge pull request #7311 from bojidar-bg/quad-leak
Fix a Quad node mesh data leak
2016-12-23 15:45:57 +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
Juan Linietsky 3adb42e217 Fixed many more bugs reported by Valgrind 2016-12-23 08:47:16 -03:00
Juan Linietsky 4e729f38e0 baking now shows a proper button, and bakes can be saved. 2016-12-23 00:37:38 -03:00
Juan Linietsky f9603d8236 can bake for omni and spotlight
store normal when baking
2016-12-22 10:00:15 -03:00
volzhs 0ecc968c5c Fix duplicated string on RichTextLabel if starts with '\n'
Fix #6212, #3773
2016-12-22 08:52:57 +09:00
Juan Linietsky 075fde7f26 work in progress global illumination 2016-12-20 00:21:07 -03:00
Ignacio Etcheverry ce41464fc0 Register SpatialGizmo as a scene type 2016-12-18 20:02:35 +01:00
Johnson Earls d1cf29fe99 Fix search to find "whole" words at end of line
Fix `_get_column_pos_of_word` so that the `SEARCH_WHOLE_WORDS` flag will properly find words that are at the end of a line.

Fixes #7326 .
2016-12-18 06:19:22 -08:00
Bojidar Marinov 7504a015aa
Fix #7303, Quad node mesh data leak 2016-12-16 14:50:46 +02:00
Fabio Alessandrelli d194e1c48e Expose HTTP classes' set_ip_type to scripting 2016-12-13 11:09:37 +01:00
Rémi Verschelde afbe013ba1 Merge pull request #7283 from Hinsbart/clear_curve
Curve2D/3D: Add clear_points method.
2016-12-13 08:44:40 +01:00
Ignacio Etcheverry d579d0a814 KinematicBody: Fix wrong method bind return type 2016-12-10 16:23:47 +01:00
Juan Linietsky 22a90e8f2a DOF blur, near and far fields.. 2016-12-10 01:13:20 -03:00
Fabio Alessandrelli a77a0118f6 Allow setting ip_type for TCP/UDP and HTTP classes 2016-12-09 18:24:59 +01:00
Juan Linietsky 18ebd22000 Multi stage glow with light bleeding from HDR 2016-12-08 09:48:38 -03:00
Juan Linietsky 8534ced22d Tonemapping and Auto Exposure support 2016-12-07 17:49:52 -03:00
Juan Linietsky a299c3ebf1 Support for SSAO 2016-12-04 12:45:30 -03:00
Andreas Haas e741da869a
Curve2D/3D: Add clear_points method.
Adds a method to the Curve2D and Curve3D classes to easily clear the curve.
So you don't have to remove each point manually.
2016-12-03 21:35:59 +01:00
Andreas Haas 4dd6bead1f
Particles2D: Fix initial size randomness property having no effect.
It was just a little typo :p
2016-12-03 20:16:03 +01:00
Juan Linietsky 27a46d78ec Subsurface scattering material param is now working! 2016-12-02 22:23:16 -03:00
Pedro J. Estébanez 86789c7071 Add modulate (color) to TileSet tiles 2016-11-30 14:33:39 +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
Juan Linietsky a47c78aed1 Screen space reflection effect 2016-11-29 19:55:12 -03:00
Rémi Verschelde 8e4f10a3a1 Merge pull request #7200 from volzhs/fix-anim-scroll
Fix scroll bar moving in AnimationPlayer editor
2016-11-28 15:32:27 +01:00
Rémi Verschelde bb1201af1f Merge pull request #7198 from volzhs/fix-color-picker
Fix color selected with mouse scroll
2016-11-28 15:32:06 +01:00
Rémi Verschelde 895b29978b Merge pull request #7184 from volzhs/spinbox
Prevent Spinbox value update while not focused or disabled
2016-11-28 15:28:55 +01:00
Rémi Verschelde 2cf4c5e173 Merge pull request #7170 from Ovnuniarchos/TileMapBlendMode
TileMap now honors blending mode.
2016-11-28 15:21:35 +01:00
Rémi Verschelde 39fede4b17 Merge pull request #7157 from leezh/buttonarray_fixes
Flat button support in ButtonArray. Fixes #7153
2016-11-28 15:20:07 +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
volzhs babc5048dd Fix scroll bar moving in AnimationPlayer editor
Fix #7196
2016-11-28 02:41:47 +09:00
volzhs d9048309e4 Fix color selected with mouse scroll
Fix #7192
2016-11-28 01:58:01 +09:00
Juan Linietsky a732708b9d Blend shapes using transform feedback (GPU) 2016-11-24 20:46:55 -03:00
Ovnuniarchos e07dd9ab32 TileMap now honors blending mode. 2016-11-24 21:28:10 +01:00
volzhs 4df33cbcb3 Prevent Spinbox value update while not focused or disabled 2016-11-25 03:15:42 +09:00
Juan Linietsky 943d27f46d Instancing is working! (hooray) 2016-11-22 01:26:56 -03:00
Rémi Verschelde 9e2d09f580 Merge pull request #7145 from avril-gh/fixes-6464-lost-icons
fixes #6464 lost icons in dock and file dialog, also #6443 , #6302
2016-11-21 12:01:23 +01:00
Rémi Verschelde e3c09ed90d Merge pull request #7124 from volzhs/select_match
Select exactly matched file automatically in FileDialog
2016-11-21 11:54:33 +01:00
Juan Linietsky a2505542ff Huge amount of improvement in the material system. Materials should be
a lot more complete and usable now.
2016-11-20 22:49:53 -03:00
Juan Linietsky c39d2b3f42 working reflection probes!! 2016-11-19 13:23:37 -03:00
Zher Huei Lee 191fdc873e Reused Button styleboxes for ButtonArray
Plus other tweaks to make it look more similar to a VBoxContainer of
Buttons.
2016-11-19 22:07:12 +08:00
Zher Huei Lee 4b7443aeea Flat button support in ButtonArray. Fixes #7153 2016-11-19 21:48:39 +08:00
Ariel Manzur b3616089fa adding get_stored_values method
changed order name

(cherry picked from commit dbca4ee3fe)
2016-11-18 21:55:21 +01:00
Avril 958dbc1173 fixes #6464 lost icons in dock and file dialog, also #6443 , #6302
Fixes lost icons in docks, file manager, sample library, settings and
various other places.
2016-11-18 06:13:36 +01: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
Bojidar Marinov 184173a9b9
Guard agains duplicate calling of _ready when instanced in _enter_tree
Fixes #6005
2016-11-17 18:10:53 +02:00
volzhs ff4f04e878 Select exactly matched file automatically in FileDialog 2016-11-17 03:39:30 +09:00
Rémi Verschelde 77f5b683c4 Merge pull request #7112 from khairul169/hidehttpreqdebug
Disable debug properties of HTTP Request
2016-11-15 08:17:04 +01:00
George Marques e167c664c8 Merge pull request #7109 from volzhs/emit-signal-from-set
Emit "*_changed" signal in set_*
2016-11-14 13:46:28 -02:00
Rémi Verschelde 715ab48a54 Merge pull request #7107 from eska014/wasm
Some WebAssembly stuff
2016-11-14 08:26:24 +01:00
khairul169 6a7aebdf6c Uncomment debug properties of HTTP Request 2016-11-14 09:27:10 +07:00
volzhs 384625aa31 Emit "*_changed" signal in set_* 2016-11-14 04:21:29 +09:00
eska 31f929caa2 Clarify a NULL comparison
'TreeItem::get_children()' does not return the child count, but rather
a pointer to the children.

This comparison caused an error during WebAssembly builds using the
LLVM backend path.
2016-11-13 15:27:17 +01:00
Juan Linietsky a7078a4be9 Done with lights and shadows (wonder if i'm missing something..) 2016-11-11 12:27:52 -03:00
Rémi Verschelde 34f0ce1168 Merge pull request #6833 from Elinvention/master
Make the step property useful for sliders
2016-11-11 10:46:17 +01: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 7d1230a266 Merge pull request #7052 from Paulb23/text_edit_color_uniformation
Made background and symbol color follow the color API
2016-11-09 15:47:15 +01:00