Commit Graph

685 Commits

Author SHA1 Message Date
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
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 a503f8aadc Groundbreaking!! Godot resources can now be flagged to be local to the scene being edited!
This means that each time this scene is instanced, the resource will be unique!
As such, thanks to this, the following features were implemented:
-ButtonGroup is no longer a control, it's now a resource local to the scene
-ViewportTexture can be created from the editor and set to any object, making ViewportSprite and other kind of nodes obsolete!
2017-01-10 01:07:03 -03:00
Juan Linietsky e9bb65db81 -All types have editable script now in properties
-Changed clip to a property in Control which can be set by the user
2017-01-09 15:50:59 -03:00
Rémi Verschelde be13360f56 Merge pull request #7458 from bojidar-bg/right-click-menu
Fix #7455 - script text editor's right click menu being weird
2017-01-09 09:37:55 +01:00
Juan Linietsky 94ee7798ce -removed stop mouse and ignore mouse from control, which were confusing, replaced by mouse filter 2017-01-08 19:54:19 -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
Bojidar Marinov 91ea719c6e
Fix #7455 - script text editor's right click menu being weird 2017-01-07 13:54:10 +02: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 9e477babb3 -GDScript support for accessing properties directly
-Added code lookup and code completion support for properties too
2017-01-04 17:37:45 -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
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 3fc4ee6243 Merge pull request #7401 from Zylann/bucket_fill_preview
Bucket fill preview
2017-01-02 14:47:08 +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
Marc Gilleron 39771f22b6 Added option to toggle bucket fill preview 2016-12-31 17:56:27 +01:00
Marc Gilleron 36d0281a2b Added bucket fill preview 2016-12-31 17:42:05 +01:00
Juan Linietsky 19ba45587c put some limits to max ubo sizes to avoid crashes 2016-12-23 01:05:21 -03:00
Juan Linietsky 4e729f38e0 baking now shows a proper button, and bakes can be saved. 2016-12-23 00:37:38 -03:00
Andreas Haas c2040324be
TextureRegionEditor: Fix mouse wheel scroll speed.
Any given mouse wheel input will generate two InputEvents in godot.
The zoom methods here acted on both ones, effectively giving a step value of 4 instead of 2.
Fixes #7236
2016-12-03 21:38:49 +01:00
Pedro J. Estébanez 86789c7071 Add modulate (color) to TileSet tiles 2016-11-30 14:33:39 +01:00
Dmitry Kram d766738991 Fix snap mode selector sticking in texture region module
When changing snap mode in texture region plugin ticks was not updating. Issue fixed changing order of setting checked status and setting snap mode.
2016-11-27 02:56:42 +02:00
Juan Linietsky a732708b9d Blend shapes using transform feedback (GPU) 2016-11-24 20:46:55 -03:00
Juan Linietsky 943d27f46d Instancing is working! (hooray) 2016-11-22 01:26:56 -03:00
Ben Hickling 4d1acab79b Added snapping to 3D path handles to bring it in line with its 2D counterpart 2016-11-14 14:46:08 +00:00
volzhs c3f4d676c0 Prevent to select children if selection lock or instanced scene
Fix #7086
2016-11-12 22:43:31 +09: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
Paulb23 0e2c15e91a Made background and symbol color follow the color API 2016-11-06 13:50:23 +00: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
volzhs a7d492eb53 Fix memory leak with drag & drop on 2D viewport 2016-10-31 11:50:34 +09:00
volzhs 707185d9d8 Fix p_index out of size error when closing script 2016-10-31 06:20:54 +09:00
volzhs 513820ab27 Fix 2 search menus are shown 2016-10-31 00:07:16 +09: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
volzhs eed9179ea3 Improve drag and drop on 2D viewport 2016-10-26 21:21:01 +09:00
Henrique Lacreta Alves 853d1ce9f3 Prevent unwanted script editor input on game crash
Fixes #6530.
2016-10-22 12:54:38 +02: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
George Marques 682c20be46 Merge pull request #6814 from Hinsbart/animplayer
Only show AnimationEditor automatically when an Animplayer is selected.
2016-10-13 13:07:37 -03:00
Andreas Haas 86fd40b06c
Only show AnimationEditor automatically when an Animplayer is selected.
Previous behaviour was to show it when an AnimationPlayer has been detected in the scene, now you actually have to select it.
Fixes #6213
2016-10-13 12:31:56 +02:00
Andreas Haas 094073e4b2
Refresh TextureRegionEditor when region has been changed externally.
Now the TextureRegionEditor updates when you change the region_rect either via the inspector or via
undo/redo.

Fixes #6772
2016-10-11 11:31:25 +02:00
Rémi Verschelde f3106cddb3 Merge pull request #6775 from RandomShaper/one-based-col-numbers
Make text column numbers one-based
2016-10-11 09:09:49 +02:00
Pedro J. Estébanez 2f80965845 Make text column numbers one-based
Make one-based the column number on the code editor

Make one-based the column number for GDScript error messages

Make one-based the column number for shader code error messages
2016-10-10 11:56:45 +02:00
Pedro J. Estébanez 0159e4f969 Refactor duplicated code 2016-10-10 10:39:58 +02:00
Pedro J. Estébanez d9c1729a8f Add line length guideline to code editors 2016-10-10 10:39:58 +02:00
Juan Linietsky 850eaf7ed7 -the new shader language seems to work
-shader editor plugin can edit shaders
-code completion in shader editor plugin
2016-10-07 11:31:18 -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
Rémi Verschelde 803ccb5c7f Merge pull request #6684 from Hinsbart/save_all
Fix "Save All" option in Script editor.
2016-10-03 12:10:25 +02:00
Rémi Verschelde ad280e7bfc Merge pull request #6640 from Hinsbart/color_picker
Add inline ColorPicker to Script text editor.
2016-10-03 12:00:10 +02:00
Andreas Haas ac80e68d2f
Fix "Save All" option in Script editor.
Also removes some old code.
fixes #6667
2016-10-02 20:39:15 +02:00
Andreas Haas f81d009525
Add inline ColorPicker to Script text editor.
Adds an option to the script editor context menu that lets you open
a ColorPicker in order to easily edit `Color()` constructors.
To do this, right click on the word `Color` and select `Pick Color`.

A side effect of this change is that the script editor now has its own
context menu instead of re-using the one from TextEdit.
It's now possible to indent left/right and to toggle comments via this menu.
I also felt free to make it more context-sensitive than before:
Now "Cut" and "Copy" will only be shown if text has actually been selected.

I also added default shortcuts for indent left/right. (alt + left/right)

Closes #6232
2016-09-29 09:12:45 +02:00
Geequlim fd236a4b6c More custom theme support for editor 2016-09-20 20:41:57 +08:00
Rémi Verschelde c47fd20cc6 Merge pull request #6498 from Paulb23/current_script_highlight_fix
Fix highlight current script when script temperature is disabled
2016-09-17 18:36:23 +02:00
Rémi Verschelde 80861b7d59 Merge pull request #6414 from RandomShaper/improve-shader-shadow
Expose additional light/shadow properties to canvas item shaders
2016-09-17 18:34:22 +02:00
Paulb23 fbd0b6f995 Fix highlight current script when script temputure is disabled 2016-09-15 17:34:32 +01:00
Rémi Verschelde dc6eefdbf2 Merge pull request #6465 from Paulb23/script_highlight_color_update
Update current script color on change
2016-09-12 16:33:28 +02:00
Paulb23 a0136838b3 Update current script color on change 2016-09-12 15:19:30 +01:00
Juan Linietsky 37f1e86108 Do ctrl-click on any code identifier to go to definiton or help page. 2016-09-12 10:53:31 -03:00
Juan Linietsky c40ab446c9 Changed default assignment of shorcut for alt-left/right to history next/prev, which is more standard and useful.
Indent can be done with tab and shift-tab anyway.
If you don't like this, feel free to reassign them manually in the editor settings :P
2016-09-11 12:27:14 -03:00
Juan Linietsky 95eb7466df -Added a ColorFrame control, kind of like Texture but for color.
-Added dropping nodes to text editor for them to become a path
-Fixed issues with font not properly being set in code editor
2016-09-11 11:28:01 -03:00
Juan Linietsky 1bf684cea2 -Cleaned up find/replace bar for replace (made selection only default if selection exists), also made buttons look like buttons
-Fixed a bug related to theme propagation, may be able to solve #6443, #6302 and others. Please test.
2016-09-11 10:05:46 -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 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 fc61eb37ce Merge pull request #5920 from 29jm/fix-warnings
Fix some more warnings
2016-09-10 12:21:02 -03:00
Juan Linietsky 3c30a3b1aa Merge pull request #6137 from supaiku-o/master
Add a Close All files option to script editor
2016-09-10 12:07:39 -03:00
Paulb23 a82ecf6d80 Added customisable grid color, issue 3781 2016-09-08 14:53:39 +01:00
Rémi Verschelde 633f940c96 Merge pull request #6368 from Garmelon/issue-6320
Tilemap editor: Bucket tool - allow deleting and replacing of tiles
2016-09-08 07:58:06 +02:00
George Marques 6aedff7968 Merge pull request #6418 from RandomShaper/canvas-show-hide-bones
Add show bones checkable menu item
2016-09-07 23:53:46 -03:00
Paulb23 9e92fcaef9 Added setting to change current script background color, issue 5450 2016-09-07 17:54:20 +01:00
Pedro J. Estébanez 17c5fc5955 Add show bones checkable menu item 2016-09-07 11:10:28 +02:00
Pedro J. Estébanez 0960887625 Expose light shadow color to canvas item shaders 2016-09-07 01:52:54 +02:00
Joscha acd41d964a Tilemap editor: Bucket tool - allow deleting and replacing of tiles 2016-09-02 12:04:52 +00:00
Rémi Verschelde ace2ad961c Merge pull request #6228 from manokara/tilemap-someinfo
Add mouse position information in TileMap.
2016-08-31 07:42:14 +02:00
Mark Nokalt cd71fcb097 editor: Add mouse position information in TileMap 2016-08-30 19:58:17 -03:00
Rémi Verschelde e51d59ed98 Merge pull request #6188 from TheHX/undo-redo
Implemented UndoRedo mergeable modes
2016-08-29 19:04:42 +02: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
Rémi Verschelde 1b01246731 Merge pull request #6186 from TheHX/pr-issue-5878
Fix editor glitches when the mesh/material preview is shown
2016-08-27 22:01:20 +02:00
Rémi Verschelde 475b944f9c Merge pull request #6094 from djrm/texure_region_zoom_by_scroll
Zoom texture region using mouse wheel
2016-08-27 21:43:55 +02:00
Juan Linietsky 9c6175db11 More visual script work
-Block switches to 2d/3d editor if editing visual script
-Added cast node in flow control
-Added ability to do RPC in visual script
-Comment nodes
-Fix bug with inverted cable in connecting backwards
-Copy and paste nodes, including from different scripts
2016-08-25 17:45:20 -03:00
Juan Linietsky dc7139c90d Making bits of docs appear in different dialogues is made easier with EditorHelpBit 2016-08-23 23:15:16 -03:00
Franklin Sobrinho debf574df3 Implemented UndoRedo mergeable modes 2016-08-17 17:14:51 -03:00
Franklin Sobrinho a4c3d2dc89 Fix editor glitches when the mesh/material preview is shown 2016-08-16 12:10:44 -03:00
Franklin Sobrinho 0fa26cd850 Small usability improvements on the TileMap editor tile palette.
* The column width changes with the zoom, now the icons don't overlap.
  * Added a tile hsepation setting.
  * Added a setting to show/hide tile names.
2016-08-16 06:00:47 -03:00
Johan Manuel cec1c48a7e Fix various warnings
The warnings fixed were about things like unused variables, misleading
indentation, missing default cases in switches and better grouping of
conditions in if statements.
2016-08-13 13:21:35 +02:00
supaiku 3d84849e03 Added CLOSE_ALL files option to script editor 2016-08-13 02:56:38 +02:00
Daniel J. Ramirez 1e7d0c6ac1 Zoom texture region via mouse wheel 2016-08-09 17:28:40 -05:00
Juan Linietsky 9890c1d2ca Likely with bugs and with some features are missing, as well as profiler support, but VisualScript should be more or less done! 2016-08-06 19:00:54 -03:00
Saracen b578cf4da8 TextureRegionEditor snap_mode fix. 2016-08-04 19:49:11 +01:00
Paulb23 e8780d9d32 Added missing license and quotation typo 2016-08-03 16:16:20 +01:00