Commit graph

119 commits

Author SHA1 Message Date
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
Juan Linietsky a7854d3ae6 2D and 3D viewport are working again :D 2017-01-15 09:50:27 -03:00
Juan Linietsky 5dde810aa5 no more errors related to missing GlobalConfig::Get (or so I hope) 2017-01-14 21:57:22 -03:00
Juan Linietsky dcb95ec147 removed duplicated functions in class hierarchy that were bound more than once
added a check to detect this case in the future
2017-01-14 11:10:42 -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
Rémi Verschelde f19fd7a4c1 Reenable node name case setting + code cleanups
The method _generate_serial_child_name is indeed called relatively often
in editor mode, but that commented out code chunk hardly adds to its
slowness (and with the default setting, not at all).

Also did various related code cleanups and simplifications.
2017-01-13 22:38:43 +01:00
Juan Linietsky 04c749a1f0 New API for visibility in both CanvasItem and Spatial
visible (property) - access set_visible(bool) is_visible()
is_visible_in_tree() - true when visible and parents visible
show() hide() - for convenience
2017-01-13 10:45:50 -03:00
Juan Linietsky 83cb84753f Renamed most signals so they refer to:
-An action being requested to the user in present tense: (ie, draw, gui_input, etc)
-A notification that an action happened, in past tense (ie, area_entered, modal_closed, etc).
2017-01-12 00:51:08 -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 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
Juan Linietsky 48097f6df3 Removed the set_child_rect() in AcceptDialog. AcceptDialog now works as a container! 2017-01-10 01:49:55 -03:00
Juan Linietsky 4fd464a4c5 Removed ratio anchoring (will have to fix multiple 3D views later..) 2017-01-08 19:12:24 -03:00
Juan Linietsky fa170cbc58 PopupMenu now emits both index_pressed and id_pressed instead of item_pressed, closes #3188 2017-01-08 18:18:54 -03:00
Juan Linietsky 920947f297 renamed _input_event for GUI events to _gui_input, so it's more differentiated than generalized _input 2017-01-08 16:28:12 -03: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
Juan Linietsky 99ceddd11e Editor settings categories are now tidy and beautiful! 2017-01-05 19:41:36 -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 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 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
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
Juan Linietsky cacf9ebb7f all light types and shadows are working, pending a lot of clean-up 2016-11-09 23:55:06 -03:00
Juan Linietsky d6567010bf -Many many fixes
-Gizmos work again
2016-10-29 20:48:09 -03:00
Juan Linietsky 53d8f2b1ec PBR more or less working, still working on bringing gizmos back 2016-10-27 11:50:26 -03: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
Juan Linietsky cf5778e51a -Added ViewportContainer, this is the only way to make viewports show up in GUI now
-2D editing now seems to work
-Added some functions and refactoring to Viewport
2016-10-05 01:26:35 -03:00
Fabio Alessandrelli 63abe3dcd0 Add shortcut to reset cursor position in 3D Editor ( #166 )
The shortcut will focus the origin after you moved around with shift + mouse3.
The default shortcut is the letter "O", like "F" for focus.
This can be customized in the editor shortcuts menu.

Closes #166
2016-10-04 21:42:11 +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
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 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
Paulb23 a82ecf6d80 Added customisable grid color, issue 3781 2016-09-08 14:53:39 +01:00
Daniel J. Ramirez 70c9979cce Double click on scene tree element to focus currently selected node
In 3D it will focus in the first viewport
Enable double click for trees
2016-08-27 17:15:49 -05:00
Franklin Sobrinho 914d670a71 Fix EditorSpatialGizmo virtual functions not being called
* Bind EditorSpatialGizmo::clear method
2016-07-09 13:10:13 -03:00
Rémi Verschelde 3fcb9b1ec1 Removed unused variables (second pass) + dead code
Fixes various gcc 5.4.0 warnings for -Wunused-variable and -Wunused-but-set-variable
2016-07-07 23:15:59 +02:00
Daniel J. Ramirez 96c9f11aad Added spatial editor shortcuts
for now it does not support the emulate numpad setting
2016-06-30 15:54:34 -05:00
sunnystormy b3b1fdae85 Renamed Trackpad Hint to Emulate 3 Button Mouse. (#5258) 2016-06-21 12:16:06 +02:00
Nuno Donato a713188388 * fix messages when modifying on switching the active axis 2016-06-10 10:42:13 +01:00
DimOkGamer f7d0110cdf Added 3 more translatable strings
and fixed russian localization based on user feedback.

Added strings already contained in the current version of the
localization.
2016-06-01 14:32:20 +03:00
DimOkGamer 0fc4f1bcf4 Added more translatable strings in code. Updated template tools.pot.
also improved Russian localization.
2016-05-30 21:47:53 +03:00
Rémi Verschelde be053e6286 i18n: Use %d instead of %i in vformat
Fixes #4742.
2016-05-21 16:34:56 +02:00
Hubert Jarosz 33403d91f7
remove trailing whitespace 2016-05-21 15:29:25 +02:00
Rémi Verschelde 00d8f86044 i18n: Second pass at proofreading
Mostly removing commented out strings, plus a few critical ones
that should not be translated.
2016-05-21 01:27:27 +02:00
Rémi Verschelde 94c34ff890 i18n: Proofreading of all strings
Done to ensure that no important identifiers are translatable,
to fix compound strings using the new vformat() function, and
some general English proofreading here and there.
2016-05-21 00:21:57 +02:00
Rémi Verschelde fb277dbde6 i18n: Don't make print_line calls translatable 2016-05-04 15:28:37 +02:00
Juan Linietsky 567cb691ec Modified editor strings to be translatable in the future 2016-05-03 22:25:37 -03:00