Commit Graph

3573 Commits

Author SHA1 Message Date
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
Zumo ef74954e66 Fully exposes data variable on AudioStreamSample/AudioStreamOGGVorbis...
...and also changes "_set_data" and "_get_data" to "set_data" and "get_data" respectively.
2018-05-01 12:19:15 +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
Benedikt Bär 84d60b0829 Implement missing navgiation polygon debugging in tilemap 2018-03-30 17:28:53 +02:00
Bastiaan Olij a36e5951ff Improve side impulse calculation 2018-03-30 09:30:38 +11:00
JFonS 9c307d4b6c Added flag on SpatialMaterial to disable shadows 2018-03-29 18:46:42 +02:00
Bojidar Marinov 91eb80041d
Fix StyleBox ignoring region rect and ProgressBar using center size
ProgressBar used the center size of the stylebox to calculate its minimum size, thus disallowing certain setups.
If the old behaviour is wanted, it can be forced by providing a custom minimum size, or by giving proper margins to the stylebox.

Fixes #17779.
2018-03-28 20:56:09 +03:00
Pedro J. Estébanez a6dc160d5c Use radio-button-like menu entries where applicable 2018-03-27 19:19:45 +02:00
Pedro J. Estébanez ab3b1d9f3e Add radio-button-looking entries to PopupMenu
They work exactly the same as current checkbox-decorated items, but in order to preserve compatibility, separate methods are used, like `add_radio_check_item()`. The other option would have been to add a new parameter at the end of `add_check_item()` and the like, but that would have forced callers to provide the defaults manually.

`is_item_checkable()`, `is_item_checked()` and `set_item_checked()` are used regardless the item is set to look as check box or radio button.

Keeping check in the name adds an additional clue about these facts.

Closes #13055.
2018-03-27 19:19:45 +02:00
Ivan Vodopiviz e0f6b54b77 Removed unnecessary newlines from tscn
References #6025. Made small changes to avoid adding newlines for no reason.
2018-03-25 23:09:19 +02:00
robfram ef2b7b090c Fix `RichTextLabel` column size growing beyond its calculated `max_width`
When `RichTextLabel` calculated the actual width of columns, it let
them grow to sizes greater than its calculated `max_width`. Now this
PR ensures no columns grows beyond `max_width`, and the excess width
is distributed among the columns which can still grow.

It should fix #17731.
2018-03-24 18:09:35 +01:00
Poommetee Ketson ed3b080ca6 Fix converting to tileset crashes Godot if existing file is not tileset
also make TileSetEditorPlgn tile list updates the preview modulate
2018-03-23 21:27:30 +07:00
Rémi Verschelde 01bb39ac3f
Merge pull request #17321 from LinkDoyle/issue_16350
Fix switching WindowDialog types leaves garbage buttons
2018-03-23 11:38:59 +01:00
Rémi Verschelde f720d86b0b
Merge pull request #17555 from poke1024/add-worldenv-warning
Warn about WorldEnvironment being ignored
2018-03-23 11:27:03 +01:00
Rémi Verschelde 8cfca7726f
Merge pull request #17571 from kubecz3k/cam-disable
a way to ensure that camera is disabled
2018-03-23 11:08:44 +01:00
Rémi Verschelde 5f0ea4ddcf
Merge pull request #17612 from robfram/fix-richtextlabel-bbcode
Fix bad rendering of BBCode tables in `RichTextLabel`
2018-03-23 10:22:33 +01:00
bosak 1fa69c24a0 add tint property to TextureProgress changes progress color 2018-03-21 22:33:48 +02:00
brendor 7061c28df7
Particles 2D and 3D - fix hue variation not working by transposing the hue matrix
The hue variation matrix is hardcoded as transposed and thus the multiplication always yielded the original color value.
I wanted to keep the matrix and get the same result by switching the operands (getting a result as if the matrix was transposed).
2018-03-20 01:28:41 +01:00
Ruslan Mustakov 47747718d6 Fix oversampled font artifacts after resize
Font update after resize relies on the viewport size which was updated
after the font was already refreshed, which resulted in artifacts when
it was rendered into the actual/new viewport size.

Fixes #15173.
2018-03-19 20:44:26 +07:00
Rémi Verschelde cc8f7c78af
Merge pull request #17618 from groud/fix_gridcontainer
Fixes wrong calculation of gridcontainer's children size
2018-03-19 10:12:20 +01:00
Gilles Roudiere 896e5a64d3 Fixes wrong calculation of gridcontainer's children size 2018-03-18 22:33:17 +01:00
robfram 5358befb41 Fix bad rendering of BBCode tables in `RichTextLabel`
Text overflowed canvas as tables didn't calculate correctly the width
of their columns. They used the whole table width available for each
column. Also, the `cell` parameter was wrongly parsed if used with its
optional argument (expand ratio).

This PR fixs the parsing of `cell` parameter (i.e. `cell=e`) and the
distribution of the full table width between columns, but it overrides
automatically the `expand` flag if the column is smaller than it could
be, to allow a better UX out-of-the-box. It keeps the `expand_ratio`
flag to let the user customize how every column grows in relation to
the rest.

Partially fix #6289.
2018-03-18 18:06:24 +01:00
Jakub Grzesik f78c7353ea a way to ensure that camera is disabled 2018-03-17 10:57:04 +01:00
Fabio Alessandrelli c531262190
Merge pull request #16947 from Faless/ui_actions
GUI elements ui_action usage, improvements
2018-03-16 20:55:11 +01:00
ShyRed bc1522e268 Use fake audio playing property in editor
It appears that some time ago users were supposed to be able to include the playback of sound effects in their animations by placing keys on the "playing" property. Back then the key frame editor took the value of the checkbox in the property_editor.

Somewhere / Sometime this behaviour changed and the key frame editor is now reading the actual value from the object instead of relying on the property editor.

This commit introduces a fake active field that is returned when reading the playing property in the editor. While the actual active flag is changed when playback is finished the fake one will stay the same thus allowing the user to take their time with setting the key in the animation editor.
2018-03-16 15:26:23 +01:00
Geoffrey 09c887f38e Implemented interface for bullet joint motors 2018-03-16 13:37:15 +01:00
Bernhard Liebl 29d305599d Warn about WorldEnvironment being ignored 2018-03-16 11:21:57 +01:00
Rémi Verschelde f17c35b447
Merge pull request #17537 from Noshyaar/intcam
InterpolatedCamera: use internal_process
2018-03-16 08:10:37 +01:00
Poommetee Ketson 6b22ec5f6c InterpolatedCamera: use internal_process 2018-03-16 05:15:26 +07:00
Hein-Pieter van Braam 99f286e23f
Merge pull request #17264 from poke1024/fix-gesture-key-event-accepted
Fix gesture events being blocked
2018-03-15 23:13:04 +01:00
Hein-Pieter van Braam 64b336b367
Merge pull request #17293 from bncastle/basebutton_fix_pressed
Fix "ui_accept" action not calling _pressed() function in GDScript Button
2018-03-15 22:58:49 +01:00
Ruslan Mustakov aa8561ded4 Ceil dynamic font glyph size
Fixes #15459. When oversampling is enabled, glyphs may have fractional
size, but they are still rendered into integral pixels, which results in
them taking more space than was anticiped by autowrapping algorithm. The
solution here is to return ceiled width, which makes autowrapper
consider characters a bit larger than they are, but it doesn't hurt the
actual rendering and ensures there is enough space for the characters.
2018-03-14 19:53:44 +07:00
Goutte ed69345a19 Add a binary mask to allow configuration of which mouse buttons the BaseButton will respond to. 2018-03-13 23:59:53 +01:00
Rémi Verschelde fe93459ef9
Merge pull request #17345 from AlexHolly/expose-itemlist-move-item
expose Itemlist.move_item and optimize functionality
2018-03-13 20:05:00 +01:00
Alexander Holland a3d2f59dbe expose itemlist.unselect_all() 2018-03-13 16:46:25 +01:00
Bojidar Marinov 9f6c0c6eae
Duplicate Arrays and Dictionaries when instancing scene in editor
Also, add deep (=false) parameter to Array.duplicate and Dictionary.duplicate

Fixes #13971
2018-03-13 17:18:08 +02:00
Alexander Holland 73146af740 expose Itemlist.move_item and optimize functionality 2018-03-13 15:19:43 +01:00
Rémi Verschelde c81356153e
Merge pull request #16971 from Noshyaar/tilemap
TileMap: add fix_invalid_tiles
2018-03-13 13:57:58 +01:00
Rémi Verschelde 96bda9c463
Merge pull request #17094 from Calinou/add-dynamicfont-hinting-options
Add an hinting mode setting to DynamicFonts
2018-03-13 13:38:35 +01:00
Rémi Verschelde 931f669b30
Merge pull request #17114 from poke1024/fix15719
Fix line thickness for CollisionPolygon2D.
2018-03-13 13:34:32 +01:00
Rémi Verschelde 88c1430613
Merge pull request #17314 from robfram/complete-path-15813
Fix bad autocomplete of partially written node paths when using syntactic sugar notation ($)
2018-03-13 12:16:51 +01:00
Rémi Verschelde 6d97fbdfc1
Merge pull request #17359 from AlexHolly/completion-edge-jump
Auto completion edge jump
2018-03-13 12:01:14 +01:00
Rémi Verschelde b49746f3cd
Merge pull request #17381 from poke1024/fix-anim-scrub
AnimationPlayer: fix scrubbing after play backwards
2018-03-13 11:51:30 +01:00
Rémi Verschelde 6e491ff283
Merge pull request #17383 from poke1024/colorpicker-tweaks
Better tab support for color picker
2018-03-13 11:42:51 +01:00
Rémi Verschelde ada1357dfd
Merge pull request #17422 from robfram/fix-radial-textureprogress
Implement line clipping for `TextureProgress` to avoid bad rendering
2018-03-13 11:25:49 +01:00
Rémi Verschelde b1c9a7c757
Merge pull request #17410 from groud/fix_grid_container
Fixes infinite loop in GridContainer
2018-03-13 10:34:31 +01:00
Rémi Verschelde c446231a6e
Merge pull request #17191 from garyo/fix_grid_cont
Fix infinite loop in GridContainer layout
2018-03-13 10:34:20 +01:00
Rémi Verschelde 7e246a0cb7
Merge pull request #17432 from ShyRed/tilemapupdate
Update TileMap when its TileSet changes
2018-03-13 09:30:38 +01:00
Bernhard Liebl 8277bf29a4 Various ui tweaks for color picker 2018-03-12 13:58:31 +01:00
ShyRed 67f4944a21 Update TileMap when its TileSet changes
Make TileMap monitor its TileSet for changes and emit a signal when the TileSet changes. This makes the editor update and show the updated version of the TileSet.
2018-03-11 12:24:50 +01:00
Alexander Holland 11e40d3700 expose Itemlist.is_anything_selected 2018-03-11 03:01:16 +01:00
robfram 7991bd168d Implement line clipping for `TextureProgress` to avoid bad rendering due to imprecise UV mapping
Original code used a quick aproximation for simulating the
correspondent texel in the `TextureProgress` texture as radial
progress indicator. This lead to visualization errors. Changed it for
a Liang-Barsky line clipping algorithm stripped to its minimum for
this specific use case.

Fix #17364.
2018-03-10 20:51:42 +01:00
Gary Oberbrunner 561e57df13 Fix infinite loop in GridContainer layout
I had a grid container and tried to set rect.min_height larger in the
editor; that caused an infinite loop in GridContainer::_notification
at line 118. The reason is max_index was being set to the *height* of
the row, not the *index* of the row. So later when it tried to erase
that row and try again, there was nothing to erase.
I applied the same fix to the width code.
2018-03-10 14:38:35 -05:00
ShyRed a23c0877f1 Update Sprite when Texture changes
Make Sprite monitor its Texture for changes and trigger an update when the sprite changes.
2018-03-10 17:23:29 +01:00
Gilles Roudiere 44cb8eb3a2 Fixes infinite loop in GridContainer 2018-03-10 14:01:20 +01:00
Bernhard Liebl b553b38e7b AnimationPlayer: fix scrubbing after play backwards 2018-03-09 19:41:14 +01:00
Alexander Holland e36dd4282b auto-completion edge jump
arrow up/down jumps to end/start on edges
2018-03-09 17:31:07 +01:00
Rémi Verschelde 079b919b41
Merge pull request #17341 from poke1024/fix16461
Fix unselectable flipped sprites (fixes 16461)
2018-03-08 08:40:49 +01:00
Rémi Verschelde 0b600fde3f
Merge pull request #17189 from CodeAndWeb/master
Fixes Selection of Sprites using AtlasTexture
2018-03-08 08:37:22 +01:00
poke1024 bd2e1df216 Fix unselectable flipped sprites (fixes 16461) 2018-03-07 18:58:45 +01:00
Leon Krause 38623e07ac Prevent division by zero in GridContainer 2018-03-07 17:36:28 +01:00
Link 611c050469 Fix switching WindowDialog types leaves garbage buttons
We can distinguish between node-specific children and custom children by `child->is_owned_by_parent()`.

Fixes: #16350
2018-03-07 18:28:29 +08:00
robfram 95f186b621 Fix bad autocomplete of partially written node paths when using syntactic sugar notation ($)
If you had a tree like Node2D->Sprite->Camera2D and you write a
code like $Node2D/Spr and chose the autocompletion sugested
Node2D/Sprite, the resulting string was $Node2D/Node2D/Sprite
instead $Node2D/Sprite. If you chose Node2D/Sprite/Camera2D, then
you ended with $Node2D/Node2D/Sprite/Camera2D.

Fix #15813.
2018-03-06 19:25:14 +01:00
Rémi Verschelde 2efd7add4a
Merge pull request #17205 from Ranoller/patch-3
FIX Windows enter/exit mouse notifications
2018-03-06 10:16:01 +01:00
eon-s 5e427190bc Added create_instance
Allows to create an instance from an `InstancePlaceholder` without removing the placeholder.

Deprecates `replace_by_instance`.
2018-03-05 22:57:17 -03:00
bncastle ceb079fa35 Fix BaseButton not always calling _pressed()
Fix "ui_accept" action in BaseButton.cpp not calling _pressed() func in
GDScript
2018-03-05 20:37:10 -05:00
Rémi Verschelde 6a6aab498e
Merge pull request #17262 from poke1024/fix-sprite-get-rects
Fix uninitialized data in Sprite::_get_rects()
2018-03-05 10:46:17 +01:00
Bernhard Liebl 166c2bdea7 Fix gesture events being blocked 2018-03-04 22:19:10 +01:00
Bernhard Liebl 5f917139ab Fix uninitialized data in Sprite::_get_rects() 2018-03-04 21:19:32 +01:00
Fabio Alessandrelli 5081ced57f Use MultiplayerAPI class for high level networking
Remove networking related logic from Node and SceneTree.
SceneTree now simply relay all networking related stuff to
MultiplayerAPI for compatibility
2018-03-03 18:34:22 +01:00
robfram 5ef88cf577 Added `get_playing_speed` method to AnimationPlayer, returning the actual
playing speed of the animation being played.

As stated in #16550, there is no way to get the playing speed of an
animation. The `playback_speed` property is for the whole AnimationPlayer
node, and the argument passed to `play` method is another scale applied
in top of the AnimationPlayer properties.

Thus, the actual playing speed is AnimationPlayer.speed_scale *
AnimationPlayer.playback.current.speed_scale. If it is not playing, the
method returns 0.
2018-03-03 09:29:22 +01:00
Ranoller 979dccbd8d
FIX Windows enter/exit mouse notifications
Fix to this issue #17202
2018-03-03 03:42:38 +01:00
Bernhard Liebl 0e1e95c41f Fix more regressions in RichTextLabel from PR 15711 2018-03-02 19:19:46 +01:00
Andreas Loew a01ba4523b Fix selection of Sprites using AtlasTexture in the editor.
Fixes #16261.
2018-03-02 19:17:47 +01:00
Rémi Verschelde ab001d830b Fix serialization of identifiers with non printable ASCII characters
Fixes #6888.
2018-03-02 13:33:53 +01:00
Hein-Pieter van Braam 555eebf3f4 Don't crash when trying to add an invalid navmesh
It is possible to try to add an invalid object as a navmesh through
GDScript which results in an engine crash. This creates a debug message
that should help the user figure out what's wrong.
2018-03-02 09:37:32 +01:00
poke1024 89f607604e Fix regression through fa98637aca 2018-03-01 18:03:53 +01:00
Rémi Verschelde ce7da2c7d6 Viewport: Fix missing tooltips w/ disabled physics object picking
Previously this option seemed to be the sole responsible for enabling
physics processing in Viewport, while several other features like
tooltips and debugging collision hints rely on it.

All this logic is moved to internal processing (it's incorrect to let
it be affected by users disabling physics/idle processing), and disabling
physics object picking no longer affects the internal physics processing.

Fixes #17001.
2018-03-01 16:01:10 +01:00
poke1024 a36f6e5386 Fix line thickness for CollisionPolygon2D. 2018-03-01 07:30:30 +01:00
Hein-Pieter van Braam d702d7b335 Fix various valgrind reported uninitialized variable uses 2018-02-28 21:55:13 +01:00
Hugo Locurcio c1544c12ef
Add an hinting mode setting to DynamicFonts
- Editor font hinting can now be tweaked in the Editor Settings.
- DynamicFonts used in projects now have tweakable hinting settings
  in their DynamicFontData child. Changes will be visible upon
  reloading the scene in the editor.
2018-02-28 00:12:26 +01:00
Rémi Verschelde 6093660bfb
Merge pull request #16656 from JFonS/fix_gradient_crash
Fix weird editor crash when switching from editing one gradient to another keeps 'grabbing' variable to true
2018-02-27 11:38:19 +01:00
Juan Linietsky 125fc8cc44 Add a split editor to polygon 2D UV editor, moving an inch closer to adding support for in the future 2018-02-25 12:07:13 -03:00
Marc Gilleron d2fae5c9a6 Fix Line2D tile mode for non-square textures 2018-02-25 01:49:10 +01:00
Rémi Verschelde bc4b7bc82e
Merge pull request #16973 from JFonS/fix_initial_gizmo_visibility
Fix visibility of gizmos on scene load
2018-02-24 14:06:50 +01:00
Poommetee Ketson 7effe46461 TileMap: add fix_invalid_tiles 2018-02-24 19:34:41 +07:00
JFonS 99d740c46e Fix visibility of gizmos on scene load 2018-02-24 12:05:43 +01:00
Poommetee Ketson 38865345d9 Particles: fix corrupted scene when saved after convert (2nd try) 2018-02-24 15:58:17 +07:00
Rémi Verschelde eedb85e618
Merge pull request #16932 from groud/fix_collision_shape_selection
Fixes collisions shape selection
2018-02-24 01:32:16 +01:00
Rémi Verschelde 6b32e96d6e
Merge pull request #16930 from PJB3005/18-02-22-styleboxtexture-texture
StyleBoxTexture: Texture instead of RES for texture and normal_map.
2018-02-24 01:29:35 +01:00
Rémi Verschelde 23ebae01dc Refactor version macros and fix related bugs
The previous logic with VERSION_MKSTRING was a bit unwieldy, so there were
several places hardcoding their own variant of the version string, potentially
with bugs (e.g. forgetting the patch number when defined).

The new logic defines:

- VERSION_BRANCH, the main 'major.minor' version (e.g. 3.1)
- VERSION_NUMBER, which can be 'major.minor' or 'major.minor.patch',
  depending on whether the latter is defined (e.g. 3.1.4)
- VERSION_FULL_CONFIG, which contains the version status (e.g. stable)
  and the module-specific suffix (e.g. mono)
- VERSION_FULL_BUILD, same as above but with build/reference name
  (e.g. official, custom_build, mageia, etc.)
  Note: Slight change here, as the previous format had the build name
  *before* the module-specific suffix; now it's after
- VERSION_FULL_NAME, same as before, so VERSION_FULL_BUILD prefixed
  with "Godot v" for readability

Bugs fixed thanks to that:

- Export templates version matching now properly takes VERSION_PATCH
  into account by relying on VERSION_FULL_CONFIG.
- ClassDB hash no longer takes the build name into account, but limits
  itself to VERSION_FULL_CONFIG (build name is cosmetic, not relevant
  for the API hash).
- Docs XML no longer hardcode the VERSION_STATUS, this was annoying.
- Small cleanup in Windows .rc file thanks to new macros.
2018-02-23 20:15:29 +01:00
Fabio Alessandrelli 920d2bfdfa Add two new default actions ui_end, ui_home
Used by Slider and Scrollbar
2018-02-23 13:01:28 +01:00
Fabio Alessandrelli ff122a7e1f Add item_focused signal to OptionButton
And id_focused to Popupmenu.
2018-02-23 13:01:28 +01:00
Fabio Alessandrelli 90b9449844 Properly set input as handled when closing modal 2018-02-23 13:01:28 +01:00
Fabio Alessandrelli 59c23c1369 Scrollbar now uses UI actions instead of keys 2018-02-23 13:01:28 +01:00
Fabio Alessandrelli e15fe296bd Line edit up/down focus pass through
When line edit receive a up/down and the cursor is at beginning/end it
will not set the input as handled
2018-02-23 13:01:28 +01:00
Fabio Alessandrelli e3eb686906 Tree now uses UI actions instead of keys 2018-02-23 12:58:35 +01:00
Fabio Alessandrelli 4a71483a65 Popupmenu now uses UI actions instead of keys 2018-02-23 12:58:16 +01:00
Gilles Roudiere c250a9a9f9 Fixes collisions shape selection 2018-02-22 20:48:25 +01:00
Pieter-Jan Briers b51a86a57a StyleBoxTexture: Texture instead of RES for texture and normal_map. 2018-02-22 19:27:35 +01:00
Rémi Verschelde e349cedb6e Skeleton2D: Fix missing return value in comparator 2018-02-22 08:18:25 +01:00
Juan Linietsky 7cd867c3fe 2D Skeletons WORK IN PROGRESS 2018-02-21 17:24:00 -03:00
luz.paz 612ab4bbc6 Fix typos with codespell
Found via `codespell -q 3 --skip="./thirdparty,./editor/translations" -I ../godot-word-whitelist.txt`
Whitelist consists of:
```
ang
doubleclick
lod
nd
que
te
unselect
```
2018-02-21 19:46:06 +01:00
Max 6a48f952ca Fixed disappearing text on filedialog buttons 2018-02-21 16:04:51 +02:00
Juan Linietsky 9e3a1e5401 Add base support for 2D meshes in Godot, including Sprite -> Mesh2D conversion. 2018-02-21 09:39:09 -03:00
Rémi Verschelde 35053e57ab
Merge pull request #16710 from YeldhamDev/filedialog_nothing_disabled
Fixed "Open" button being enabled when nothing is selected in a FileDialog while in "Open folder" mode
2018-02-21 13:25:27 +01:00
Rémi Verschelde 222516a815
Merge pull request #16756 from willnationsdev/shifted-rect-sprite
Simplify detection of Sprite clicks
2018-02-21 10:42:47 +01:00
Rémi Verschelde c291fc39ad
Merge pull request #16772 from damarindra/tileset_editor_improvement
Tileset Editor Improvement
2018-02-21 10:40:43 +01:00