Commit graph

3477 commits

Author SHA1 Message Date
Brian Richardson
680a5cbb0b Camera::project_local_ray_normal needs to be virtual so that ARVRCamera::project_local_ray_normal gets called. 2018-05-03 11:32:37 -07:00
Unknown
4e26e5e268 Script Editor now displays positional column
This solves #17931 and makes the script editor consistent with other text editors(Sublime, Gedit, Vim) in displaying the position rather than the raw number of characters.
2018-05-03 18:03:20 +01:00
Rémi Verschelde
b774156729
Merge pull request #18514 from neikeq/api-hash-fixes
API hash fixes
2018-05-03 14:36:32 +02:00
Rémi Verschelde
75ff86f8f5
Merge pull request #18566 from robfram/fix-lineedit-18184
Fix placeholders position in `LineEdit` when editing inside the Editor
2018-05-02 22:36:24 +02:00
Rémi Verschelde
741637b966
Merge pull request #18451 from volzhs/node-name
Check invalid node name
2018-05-02 22:21:31 +02:00
robfram
c17de1f70f Fix placeholders position in LineEdit when editing inside the Editor
Editing the `Text` property through the editor causes a wrong
placement of the placeholder, as it calls `LineEdit::clear_internal`,
which was wrongly reseting the cached placeholder width.

Fix #18184.
2018-05-02 21:15:46 +02:00
volzhs
6758b6c131 Check invalid node name 2018-05-03 00:00:06 +09:00
Juan Linietsky
4c3c510a80 WIP Polygon2D weight editing 2018-05-02 11:01:12 -03:00
Rémi Verschelde
18c28c159d
Merge pull request #17196 from RandomShaper/improve-gui-touch
Implement universal translation of touch to mouse (3.1)
2018-05-02 10:47:49 +02:00
danilo2205
2224975e7e Added methods get_closest_point and get_closest_offset to both Curve2D and Curve3D 2018-05-01 18:24:41 -03:00
Rémi Verschelde
de97339a2d
Merge pull request #18291 from akien-mga/coverity-uninitialized-scalar-var
Fix Coverity reports of uninitialized scalar variable
2018-05-01 19:14:07 +02:00
Pieter-Jan Briers
20dd2204db Adds z-index properties to TileSets. 2018-05-01 17:24:57 +02:00
Rémi Verschelde
b6a7c5693f
Merge pull request #16977 from SASUPERNOVA/master
Created a new function named get_element in GridContainer. This funct…
2018-05-01 16:32:30 +02:00
Rémi Verschelde
8852ca1455 Fix Node2D::global_scale's PropertyInfo type
Was missed in #18391.
2018-05-01 10:46:08 +02:00
Rémi Verschelde
204de5e6dc
Merge pull request #18348 from rfht/master
fix clang6 assignment error
2018-05-01 09:31:29 +02:00
Rémi Verschelde
7663d65a10
Merge pull request #18382 from groud/fix_gridcontainer_children_visibility
Fix GridContainer's children visibility breaking the layout
2018-05-01 08:47:41 +02:00
Rémi Verschelde
4cce6f3417
Merge pull request #18321 from Crazy-P/Fixes-logically-dead-code
Fixes logically dead code (Coverity)
2018-05-01 08:35:10 +02:00
Pedro J. Estébanez
de9d40a953 Implement universal translation of touch to mouse
Now generating mouse events from touch is optional (on by default) and it's performed by `InputDefault` instead of having each OS abstraction doing it. (*)

The translation algorithm waits for a touch index to be pressed and tracks it translating its events to mouse events until it is raised, while ignoring other pointers.

Furthermore, to avoid an stuck "touch mouse", since not all platforms may report touches raised when the window is unfocused, it checks if touches are still down by the time it's focused again and if so it resets the state of the emulated mouse.

*: In the case of Windows, since it already provides touch-to-mouse translation by itself, "echo" mouse events are filtered out to have it working like the rest.

On X11 a little hack has been needed to avoid a case of a spurious mouse motion event that is generated during touch interaction.

Plus: Improve/fix tracking of current mouse position.

** Summary of changes to settings: **

- `display/window/handheld/emulate_touchscreen` becomes `input/pointing_devices/emulate_touch_from_mouse`
- New setting: `input/pointing_devices/emulate_mouse_from_touch`
2018-04-30 19:03:38 +02:00
Max Hilbrunner
613a8bee41
Merge pull request #18370 from KidRigger/master
Adds support for CMD+Left and CMD+Right on MacOS
2018-04-30 19:02:20 +02:00
Max Hilbrunner
f1bbb59653
Merge pull request #18489 from Calinou/tweak-property-hint-ranges
Tweak the property hint ranges of caret blink and line length guideline
2018-04-30 18:19:09 +02:00
Hugo Locurcio
c118a0ee5e
Make the LineEdit "secret" character customizable 2018-04-30 02:25:17 +02:00
Ignacio Etcheverry
7034d48032 Fix binding some core API methods only in tools builds 2018-04-29 19:49:26 +02:00
Bastiaan Olij
1ee40206d4 added custom aabb to primitives 2018-04-29 15:06:18 +10:00
Hugo Locurcio
0eb2f6c223
Tweak the property hint ranges of caret blink and line length guideline
This allows for more precise adjustments.
2018-04-28 19:13:30 +02:00
Juan Linietsky
8d199a9b2c CSG Support for Godot!
-Missing Icons
-Missing freezing option (for baking light and faster load)
-Missing a way to export from Godot (GLTF2?)
-Probably buggy (may freeze editor, can be worked around easily, but let me know if this happens so it's easier to catch bugs)
Happy testing!
2018-04-27 21:55:10 -03:00
sersoong
21eac24af1 Fixed stylebox crash 2018-04-27 17:30:28 +08:00
Anish
f714637e58 Allows setting the Timer wait_time in start method.
Allows shortening the two line method of Timer.set_wait_time
followed by Timer.start set wait_time as a parameter to
Timer.start. Also modifies the class documentation.

Fixes: #18107
2018-04-27 01:17:20 +05:30
Anish
515f2200fb Support of CMD+Backspace and CMD+Delete on MacOS.
Adds support for CMD+Backspace, to delete all text
before the cursor in the line and CMD+Delete to delete
all text after the cursor in line following the typical
MacOS text editing workflow

Fixes: #18059
2018-04-24 18:53:04 +05:30
Ruslan Mustakov
8619b0d280 Fix Node2D::global_position to have Vector2 type 2018-04-24 10:50:05 +07:00
groud
c3f982156d Fix GridContainer's children visibility breaking the layout 2018-04-23 20:00:06 +02:00
Anish
a126876cc8 Adds support for CMD+Left and CMD+Right on MacOS
CMD+Left and CMD+Right are hotkeys used on MacOS for
moving cursor to start and end of the text, respectively.
They are now supported, alongside ALT+key.

Fixes: #17631
2018-04-23 16:09:20 +05:30
JFonS
aeda5dccfe Fix particle animation controls 2018-04-23 11:14:16 +02:00
Hugo Locurcio
1c419531a0 Change ".." punctuation for "..." in editor strings (#16507) 2018-04-22 19:36:01 +02:00
thfrwn
f48ff4dc64 fix clang6 assignment error 2018-04-21 22:26:43 -07:00
Crazy-P
e6deba8d19 Fixes logically dead code (Coverity)
Fixes reported logically dead codes by Coverity

* image.cpp: Doesn't really need any modification. But to remove the bug
report then we have to move the MAX call away from the for loop
statement.

* rasterizer_gles3.cpp: Removes unnecessary elif condition since it is
checked earlier in the function

* collada.cpp: If stamement never reached due to macro ERR_CONTINUE does
the same.

* navigation_mesh.cpp: Variables should always be null - however, also
checked for the very same condition in their function call. Leaving this
for review (whether the function call is necessary or not)

* path_editor_plugin.cpp: If cancel is true, then it should restore the
edited value to the original provided.
http://docs.godotengine.org/en/3.0/classes/class_editorspatialgizmo.html#class-editorspatialgizmo-commit-handle

* spatial_editor_gizmos.cpp: the very condition of i >= 3 is
predetermined in the if case right before it. Thus case 1 is always '1'
and case 2 is always '-1'

* grid_map_editor.cpp: Same as above in spatial_editor_gizmos.cpp

* voxel_light_baker.cpp: Same as above in spatial_editor_gizmos.cpp

* visual_server.cpp: Same as above in spatial_editor_gizmos.cpp

* visual_script_expression.cpp: char '-' is already true in the switch
case mechanism. Thus it can never reach to default case.

* particles.cpp: Case 'PARAM_MAX' is unreachable due to index checking
right before the switch execution.

* shader_language.cpp: Invalid index is handled in switch default case.
`type < TYPE_FLOAT && type > TYPE_VEC4` -> `(type < TYPE_FLOAT || type > TYPE_VEC4`)
Fixes the "always false problem" in TODO comment.
2018-04-21 22:35:23 +08:00
Rémi Verschelde
bf7ca623a6 Fix Coverity reports of uninitialized scalar variable
Fixes most current reports on Coverity Scan of uninitialized scalar
variable (CWE-457): https://cwe.mitre.org/data/definitions/457.html

These happen most of the time (in our code) when instanciating structs
without a constructor (or with an incomplete one), and later returning
the instance. This is sometimes intended though, as some parameters are
only used in some situations and should not be double-initialized for
performance reasons (e.g. `constant` in ShaderLanguage::Token).
2018-04-19 15:20:45 +02:00
sersoong
a1cfc89108 Fixed context menu TTR bugs 2018-04-19 15:31:38 +08:00
Rémi Verschelde
3b1ea51e40
Merge pull request #18172 from Chaosus/fix_notification
Prevent visibility notification from being called twice in object creation
2018-04-18 16:35:38 +02:00
Rémi Verschelde
67cf812e45
Merge pull request #18161 from flashyincceo/fixing-bug-#18128
Add popup_closed signal for ColorPickerButton
2018-04-18 15:09:57 +02:00
Rémi Verschelde
3018132244
Merge pull request #18204 from tagcup/quat_scale
Avoid converting Quat to Euler angles when not necessary.
2018-04-18 13:55:35 +02:00
Rémi Verschelde
a6a0495829
Merge pull request #18230 from volzhs/fix-image-error
Fix index out of size error on Image
2018-04-18 13:26:03 +02:00
volzhs
d77ffa3e97 Ability to change path color with self modulate
Fix #18164
2018-04-17 15:06:15 +09:00
volzhs
3ecf8eef37 Fix error spam with Sprite has compressed texture
Fix #18177
2018-04-16 21:53:54 +09:00
volzhs
af0d547c02 Fix index out of size error on Image
Fix #18229
2018-04-16 21:15:31 +09:00
SASUPERNOVA
d8d329883e Updated fork to match current version of Godot. 2018-04-15 14:53:28 +03:00
tagcup
a5e0bb447c Avoid converting Quat to Euler angles when not necessary.
Also ensure that get_scale doesn't arbitrarlity change the signs of scales, ensuring that the combination of get_rotation and get_scale gives the correct basis.

Added various missing functions and constructors.

Should close #17968.
2018-04-14 15:53:25 -04:00
ShyRed
cbcb96ae85 ItemList selection: Check against item count
ItemList needs to check against the number of items available when the user moves the selection via "ui_right" action.
2018-04-14 14:36:53 +02:00
Peter Folkins
3f837a623f Add popup_closed signal for ColorPickerButton
Fixes #17688
2018-04-13 15:55:10 -05:00
Juan Linietsky
1d15c5d726
Merge pull request #17502 from groud/2Deditor_rect
Remove the rect surrounding 2D nodes in 2D editor when it's not pertinent
2018-04-13 10:21:44 -03:00
Chaosus
d42b17607e Prevent visibility notification been called twice in object creation 2018-04-13 15:28:38 +03:00
Markus Törnqvist
1c6ea572ca Implement font shadows for RichTextLabel 2018-04-12 15:09:48 +03:00
Oliver Gutierrez
63a472aea4 RichTextLabel, doc: Added new method to get total content height 2018-04-11 14:53:13 +01:00
Rémi Verschelde
fbc61374ca Use internal physics processing for Nodes' internal logic 2018-04-11 09:28:14 +02:00
Poommetee Ketson
72aa87758a
Update classref and docs, fix missing parameters' name 2018-04-11 10:20:22 +07:00
Paulb23
aba4247910 Fixed color region calculation for the first line 2018-04-10 20:42:28 +01:00
Guilherme Felipe
4f05190fb0 Implement Input.set_default_cursor_shape to change the default shape
Closes #18043
2018-04-10 11:38:34 -03:00
Rémi Verschelde
cb996d7169
Merge pull request #18095 from robfram/fix-lineedit-17113
LineEdit placeholder alignment, content margins, and overflow bugs
2018-04-10 08:18:16 +02:00
Rémi Verschelde
a360a9b348
Merge pull request #18091 from RandomShaper/icon-radio-item
Add support for radio-looking items with icon
2018-04-10 08:09:18 +02:00
Rémi Verschelde
7e2782e177
Merge pull request #17081 from endragor/no-press-when-scroll
Make Button not emit press when container is scrolled
2018-04-10 07:56:37 +02:00
Rémi Verschelde
866cb2805f
Merge pull request #17080 from simedis/pretty_print_tree
Made Node.print_tree() print prettily
2018-04-10 07:50:10 +02:00
robfram
53b51f68bf LineEdit placeholder alignment, content margins, and overflow bugs
LineEdit doesn't correctly uses style margins nor use placeholders
width correctly, causing multiple rendering bugs.
2018-04-09 23:57:23 +02:00
Rémi Verschelde
07e4556434
Merge pull request #18080 from Alexander-Alekseev/fix_rigidbody_config_warning
Fix of RigidBody's configuration warning for Z axis
2018-04-09 22:01:13 +02:00
Rémi Verschelde
24c2efc0f5
Merge pull request #16473 from ianb96/move_tab
Drag to Rearrange Editor Docks
2018-04-09 21:45:06 +02:00
Pedro J. Estébanez
b964a9e678 Add support for radio-looking items with icon
Letting users of `PopupMenu` use them. `OptionButton` was one of those interested and is updated in this commit.

Fixes #18063.
2018-04-09 19:55:54 +02:00
Rémi Verschelde
36552c2c90
Merge pull request #18040 from Paulb23/color_region_cache
Fixed colour regions and added local colour region cache
2018-04-09 16:05:26 +02:00
Ruslan Mustakov
dcf5be92a3 Make BaseButton not emit press when container is scrolled
This fixes the problem described in #13996 in a proper way.

This also adds "deadzone" property to ScrollContainer. It can be used
on mobile, where taps are not as precise as mouse clicks. Player could
slightly move their finger when tapping, in which case we still want
the button to be pressed rather than the container to be scrolled.
2018-04-09 20:34:52 +07:00
Geoffrey
8362ce4769 Made print_tree_pretty() function which displays scene tree graphically 2018-04-09 15:01:37 +02:00
Alexander Alekseev
6a5ed3a42b Fix RigidBody's configuration warning for Z axis 2018-04-09 09:28:31 +03:00
George Marques
0ee72fbd30
Merge pull request #18072 from AlexHolly/master
expose Tileset TileMode to GDScript
2018-04-08 21:44:07 -03:00
ianb96
9ac3c474b8 Drag to rearrange Tabs and TabContainer 2018-04-08 20:23:37 -04:00
Alexander Holland
f18b74838c expose Tileset TileMode to GDScript 2018-04-08 22:54:02 +02:00
Juan Linietsky
b756172bdb
Merge pull request #16705 from Chaosus/generate_normals_flip
Add flip switch to SurfaceTool.generate_normals
2018-04-08 17:18:03 -03:00
Juan Linietsky
217a95868a
Merge pull request #16707 from Web-eWorks/atlasfixes
Fix Sprite3D's incorrect behavior when using AtlasTextures.
2018-04-08 17:11:16 -03:00
Juan Linietsky
24cf58f917
Merge pull request #16574 from isaacremnant/better_grow_direction
Added GROW_DIRECTION_BOTH for controls
2018-04-08 16:42:16 -03:00
Ibrahn Sahir
9db767d076 Allow use of frames in sprites with texture region enabled.
If texture region is enabled on a sprite, Hframes and Vframes will now
divide the selected region into frames.
2018-04-08 19:56:58 +01:00
Juan Linietsky
a6c9ccf007
Merge pull request #17150 from robfram/check-animation-playing-backwards
Added `get_playing_speed` method to AnimationPlayer, returning the actual playing speed of the animation being played
2018-04-08 11:36:15 -03:00
Juan Linietsky
e9e5aa617e
Merge pull request #17227 from Faless/multiplayer_api
[RFC] MultiplayerAPI refactor
2018-04-08 11:04:16 -03:00
Juan Linietsky
4ee3f3251d
Merge pull request #17382 from bojidar-bg/13971-path-array-unsaved
Duplicate Arrays and Dictionaries when instancing scene in editor
2018-04-08 09:39:03 -03:00
Juan Linietsky
6eb0c74e9d
Merge pull request #17443 from Noshyaar/tilesetcrash
Fix converting to tileset crashes Godot if existing file is not tileset
2018-04-08 09:31:54 -03:00
Juan Linietsky
9e7cee2ceb Removed strange custom world2d in CanvasLayer, been there since always and not sure why.
Fixes #17524, fixes #17523.
2018-04-07 19:43:09 -03:00
Juan Linietsky
61d70fe47c Document condition to avoid mistakes (like #17690) 2018-04-07 17:04:12 -03:00
Juan Linietsky
14340efa3c
Merge pull request #17602 from ivodopiviz/tscn-issues
Removed unnecessary newlines from tscn
2018-04-07 16:59:12 -03:00
Juan Linietsky
fdfbff3cef
Merge pull request #17642 from brendor/master
Particles 2D and 3D - fix hue variation not working
2018-04-07 16:55:10 -03:00
Juan Linietsky
187b14ae24
Merge pull request #17730 from RandomShaper/radio-buttons-in-menus
Radio buttons in menus
2018-04-07 16:41:39 -03:00
Juan Linietsky
51f689de3c
Merge pull request #17744 from robfram/fix-rtl-table
Fix `RichTextLabel` column size growing beyond its calculated `max_width`
2018-04-07 16:36:50 -03:00
Juan Linietsky
644ada1aac
Merge pull request #17752 from nikibobi/texture-progress-tint
Add tint property to TextureProgress
2018-04-07 16:35:49 -03:00
Juan Linietsky
7dedb22f0b
Merge pull request #17809 from RandomShaper/menu-item-on-release
Improve popup menus usability
2018-04-07 16:22:00 -03:00
Paulb23
b571a29df5 Fixed color regions and added local color region cache 2018-04-07 14:14:19 +01:00
Pedro J. Estébanez
259ed1d400 Improve popup menus usability
It seems that popups were intended to "grab" the mouse click that triggered them, but their intent was being lost. This commit does the necessary changes to let it happen and updates items that were trying to get advantage of it, because the semantics of `Control::grab_click_focus()` have changed a bit. Namely, it must be called **before** showing the modal.

This allows to popup a menu and activate an item in it in a single click-point-release cycle, instead of having to click once to open the menu and once more to pick an item.

This ability is extended even to context menus activated with the RMB (or any other mouse button, for that matter). The editor benefits from this in the context menu of the tree dock, which has been patched to opt-in for this feature.

This improves UX a bit by saving unnecessary clicks.

From now on, `PopupMenu` always grabs the click and also invalidates the first button release unless the mouse has moved (that's what `set_invalidate_click_until_motion()` was doing and now it's removed), so there is no longer the need of doing both things at every point a pop-up menu is shown.
2018-04-07 01:06:02 +02:00
Sherjil Ozair
166c7fdc9d Add additional macos shortcuts for going to start/end of line 2018-04-05 15:44:25 -04:00
Rémi Verschelde
5ede505f14
Merge pull request #17923 from Paulb23/add_abstract_syntax_highlighter
Abstracted the syntax highlighter from text edit.
2018-04-04 09:50:51 +02:00
Rémi Verschelde
60d89d0ab3
Merge pull request #17854 from BastiaanOlij/fix_vehicle_body
Improve side impulse calculation
2018-04-03 23:12:17 +02:00
Rémi Verschelde
7b1c661269
Merge pull request #17914 from Rubonnek/add-signal-to-videoplayer
Added signal to VideoPlayer to notify when the video finished playing
2018-04-03 22:06:47 +02:00
Gilles Roudiere
72ed1e4244 Remove the selection rect for nodes that do not require it 2018-04-03 22:04:19 +02:00
karroffel
4303fbca5a fix bone scale/rotation in AnimationPlayers
fixes #17325.

The bone pose transform was created by setting the rotation and
**then** scaling the transform. This leads to object "deformation"
that's not intended.
2018-04-03 16:43:50 +02:00
Rémi Verschelde
a10be201de
Merge pull request #17902 from Noshyaar/outline
Mesh: fix crash when creating mesh outline from QuadMesh
2018-04-03 11:55:01 +02:00
Paulb23
f7c727e6c3 Abstracted the syntax highlighter from text edit 2018-04-02 12:41:44 +01:00
Wilson E. Alvarez
747c65272d
Added signal to VideoPlayer to notify when the video finished playing 2018-04-01 23:40:26 -04:00
bosak
90918ff5ab add tint for under, progress and over and tint group 2018-04-01 19:22:51 +03:00
Poommetee Ketson
a492d22952 Mesh: fix crash when creating mesh outline from QuadMesh
Since create_outline can only make outline for PRIMITIVE_TRIANGLES,
when QuadMesh (which is PRIMITIVE_TRIANGLE_FAN) is used to create
outline, will leave `arrays` empty, and crash when it is being indexed
for "indices" subarray.

This PR shows error when there's only one surface and it is not
TRIANGLES. Also prevent the crash if it has more than one surface
and none of them are TRIANGLES (and any other cases that could leave
`arrays` empty) by checking the size of `arrays` == 8 before indexing
it, since the method seems to expect `arrays` to be of that size.
2018-04-01 22:06:47 +07:00