Commit graph

6924 commits

Author SHA1 Message Date
bruvzg
99666de00f
[Complex Text Layouts] Refactor Font class, default themes and controls to use Text Server interface.
Implement interface mirroring.
Add TextLine and TextParagraph classes.
Handle UTF-16 input on macOS and Windows.
2020-11-26 14:25:48 +02:00
Yuri Roubinsky
3e1e01b7ab Added extra warning to VisualShaderNodeTexture + fix warning appearing 2020-11-26 14:53:47 +03:00
Rémi Verschelde
a8c2cc9028
Merge pull request #43807 from Xrayez/aspect-ratio-container
Add `AspectRatioContainer` class
2020-11-26 12:20:15 +01:00
Rémi Verschelde
27933784f6
Merge pull request #43865 from madmiraal/fix-43852
Check joint nodes and generate configuration warning messages.
2020-11-26 10:21:36 +01:00
Eric M
4d10524f7f Removed unused property 'pending_resize' from Control 2020-11-26 15:30:13 +10:00
Marcel Admiraal
002cc47fbd Check joint nodes and generate configuration warning messages. 2020-11-25 20:53:19 +00:00
Andrii Doroshenko (Xrayez)
ba68383706 Add AspectRatioContainer class
Co-authored-by: Ugis Brekis <ugis.brekis@productmadness.com>
2020-11-25 15:06:40 +02:00
Rémi Verschelde
8c713fa9bf
Merge pull request #43833 from volzhs/fix-scrollcontainer-bar-max-value
Fix to update scroll bar has correct max value in ScrollContainer
2020-11-25 13:27:36 +01:00
Tomasz Chabora
836b78f329 Update clear button when clicked 2020-11-25 00:42:07 +01:00
volzhs
67c2f2445f Fix to update scroll bar has correct max value in ScrollContainer 2020-11-25 05:30:55 +09:00
Eric M
7941235e06 Add is_valid() check for InputEventKey in CanvasItemEditor. 2020-11-23 21:52:15 +10:00
Eric M
efe5c250d5 Implement new shortcuts system.
unhandled_key_input changed to unhandled_button_input. Controls can set a 'shortcut_context' which they can then use to determine if their shortcuts should be triggered or not, based on if the viewport's focused GUI control is a child of their 'shortcut context'.
2020-11-23 21:14:26 +10:00
Eric M
9d7d20a978 Added accept_event() calls for SceneTreeDock and BaseButton 2020-11-23 21:14:25 +10:00
greenfox
b9c0897713 fixed Camera2D rotation with non-square zoom 2020-11-22 18:09:33 -06:00
Rémi Verschelde
a655de89e3
doc: Warn about using Node internal processing
See #43689.

Also 'fixed' some spelling for behavior in publicly visible strings.
(Sorry en_GB, en_CA, en_AU, and more... Silicon Valley won the tech spelling
war.)
2020-11-20 09:52:37 +01:00
Andrii Doroshenko (Xrayez)
afcb6f38db Do not start Timer upon manual switching of internal process
Prevents `Timer` to prematurely start and timeout immediately if internal
processing is enabled manually with `Timer.set_process_internal(true)` or
`Timer.set_physics_process_internal(true)`.

Even if the internal processing is enabled manually, the user still has to
actually start the timer with `start()` method explicitly.
2020-11-20 01:28:40 +02:00
Andrii Doroshenko (Xrayez)
0ee88d6705 Describe ImageTexture, Image creation and usage 2020-11-17 16:00:41 +02:00
Rémi Verschelde
99d0df2e33
Merge pull request #38812 from aaronfranke/brace-no-empty-line
Remove all empty lines from the start of blocks defined with braces
2020-11-17 08:59:50 +01:00
Rémi Verschelde
9de18cc946
Merge pull request #43547 from TokageItLab/lowering-s3d-and-camera-min-unit
Lowering the Minimum Unit at Shape3D and Cameras
2020-11-17 07:55:44 +01:00
Aaron Franke
02161aad5a
Remove empty lines around braces with the formatting script 2020-11-16 23:38:11 -05:00
Tokage
4a2aaabf9f Lowering the Minimum Unit at Shape3D and Cameras 2020-11-17 13:17:37 +09:00
Rémi Verschelde
d105c718fd
Merge pull request #43316 from YeldhamDev/rate_scale_wav_fix
Fix WAV resources ignoring the AudioServer's 'global_rate_scale' value
2020-11-16 15:52:48 +01:00
Rémi Verschelde
fc70f986b9
Merge pull request #42008 from Calinou/theme-rename-node-type
Rename the `type` parameter to `node_type` in Theme and Control
2020-11-16 13:20:24 +01:00
Rémi Verschelde
6c2db73937
Merge pull request #43566 from Calinou/remove-pause-mode-script-property-groups
Remove property groups for Pause Mode and Script
2020-11-16 12:53:31 +01:00
Rémi Verschelde
94875f5f48
Merge pull request #41851 from EricEzaM/PR/popup-menu-hysteresis
Added hysteresis for popup sub-menus
2020-11-16 09:34:28 +01:00
Hugo Locurcio
5770e08c2a
Remove property groups for Pause Mode and Script
Each of those only grouped 1 property, making them useless.

This closes https://github.com/godotengine/godot-proposals/issues/1840.
2020-11-15 16:01:10 +01:00
Sergey Minakov
8894c64e54 GUI: send cursor data from TextEdit 2020-11-15 16:03:21 +03:00
Nick Swoboda
bf8f763524 Improve error messages related to failing to open files 2020-11-12 17:30:56 -08:00
Rémi Verschelde
acb7d99fce
Merge pull request #43449 from nekomatata/line_edit_window_pos
Expose LineEdit scroll offset to scripts
2020-11-11 13:18:55 +01:00
PouleyKetchoupp
4775db1600 Expose LineEdit scroll offset to scripts 2020-11-11 10:07:31 +01:00
Rémi Verschelde
9d2e8f2f27
Variant: Rename Type::_RID to Type::RID
The underscore prefix was used to avoid the conflict between the `RID` class
name and the matching enum value in `Variant::Type`.

This can be fixed differently by prefixing uses of the `RID` class in `Variant`
with the scope resolution operator, as done already for `AABB`.
2020-11-09 16:29:04 +01:00
reduz
221a2a1742 Refactored variant constructor logic 2020-11-09 08:54:43 -03:00
Eric M
c482e8ec85 Added hysteresis for popup sub-menus
This adds a small lag effect when opening submenus which allow the user to move directly to an item on the submenu without worrying about avoiding the autohide regions.
2020-11-08 13:28:23 +10:00
reduz
127458ed17 Reorganized core/ directory, it was too fatty already
-Removed FuncRef, since Callable makes it obsolete
-Removed int_types.h as its obsolete in c++11+
-Changed color names code
2020-11-07 20:17:12 -03:00
Rémi Verschelde
52c1b5fc41
Merge pull request #43283 from Calinou/color-remove-contrasted
Remove `Color.contrasted()` as its behavior is barely useful
2020-11-06 10:17:12 +01:00
bruvzg
061f65e410
Fix uninitialised variables in the BaseMaterial3D. 2020-11-06 10:17:11 +02:00
Michael Alexsander
04ebe4e7a4 Fix WAV resources ignoring the AudioServer's 'global_rate_scale' value 2020-11-04 17:03:54 -03:00
Rémi Verschelde
424cd00f8b
doc: Sync classref with current source + fixup some bindings
Includes various changes triggered by the refactoring of method bindings.
2020-11-04 15:38:26 +01:00
reduz
f123981a96 Implement DirectionalLight2D
Also separated Light2D in PointLight2D and DirectionalLight2D.
Used PointLight2D because its more of a point, and it does not work
the same as OmniLight (as shape depends on texture).
Added a few utility methods to Rect2D I needed.
2020-11-04 10:03:01 -03:00
Rémi Verschelde
afef8e30ea
Merge pull request #39635 from Meriipu/master_nodrop
do not drop mouseover on WM_MOUSE_EXIT
2020-11-03 20:28:11 +01:00
Hugo Locurcio
7adb6b91b3
Remove Color.contrasted() as its behavior is barely useful
Returning the most contrasting color isn't a trivial task, as there
are often many possible choices. It's usually best left for the user
to implement using a script.
2020-11-03 04:46:08 -05:00
Rémi Verschelde
c5d8dafec4
Tooltips: Improve code clarity and docs
The return type for `_make_custom_tooltip` is clarified as Control, and users
should make sure to return a visible node for proper size calculations.

Moreover in the current master branch, a PopupPanel will be added as parent
to the provided tooltip to make it a sub-window.

Clarifies documentation for `Control._make_custom_tooltip`, and shows how to
use the (until now undocumented) "TooltipPanel" and "TooltipLabel" theme types
to style tooltips.

Fixes #39677.
2020-11-03 09:19:03 +01:00
Marios Staikopoulos
e5d7c7d5fc Alpha Hash and Alpha2Coverage Implementation 2020-11-02 20:11:20 -08:00
Rémi Verschelde
223e361c4e
Merge pull request #42703 from RandomShaper/fix_anim_backwards
Fix premature end of animation playing backwards
2020-11-01 15:47:39 +01:00
reduz
0e6664539d Refactor pixel snapping.
-Rename pixel_snap to snap_2d_to_vertices
-Added snap_2d_to_transforms which is more useful

Fixes #41814
Solves proposal https://github.com/godotengine/godot-proposals/issues/1666
Supersedes #35606, supersedes #41535, supersedes #41534
2020-10-30 08:57:32 -03:00
volzhs
8a588343db Fix crash in TabContainer in case of no content at all 2020-10-29 19:52:21 +09:00
Juan Linietsky
a65481dd35
Update scene/resources/dynamic_font.cpp
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2020-10-28 22:09:37 -03:00
reduz
8ab9b39707 Implement CanvasGroup and CanvasItem clipping
-Allows merging several 2D objects into a single draw operation
-Use current node to clip children nodes
-Further fixes to Vulkan barriers
-Changed font texture generation to white, fixes dark eges when blurred
-Other small misc fixes to backbuffer code.
2020-10-28 18:53:32 -03:00
Yuri Roubinsky
c3df61a602 Removed redundant line from TextEdit
introduced in https://github.com/godotengine/godot/pull/43026
2020-10-28 12:56:20 +03:00
Rémi Verschelde
6328f7a45c
Merge pull request #43147 from Mallos/fix/sprite2d-rect
fix(sprite2d): Rect is not handling pixel snap
2020-10-28 10:16:34 +01:00
Rémi Verschelde
60ad64a101
Merge pull request #42766 from volzhs/tab-container
Put unselected tabs back in TabContainer control
2020-10-28 09:51:41 +01:00
Eric Tuvesson
e892a92ad6 fix(sprite2d): Rect is not handling pixel snap
related https://github.com/godotengine/godot/issues/42985
2020-10-27 23:34:19 +01:00
Hugo Locurcio
c3b246e6af
Rename the type parameter to node_type in Theme and Control
This makes it clearer that it expects a node type as a string
(such as "Label") instead of a type like "TYPE_ARRAY".
This is backwards-compatible since only the name of the parameter
is changed, not its order.
2020-10-27 14:58:52 +01:00
Gilles Roudière
131a7b58c8 Fixes setting top_level not updating the global position 2020-10-27 13:44:35 +01:00
Luke Costello
65eb02b236 Visual Shader Parenthesis fix
missing parenthesis were added to prevent conditional statement from interacting with operations
2020-10-27 03:20:29 -04:00
Hugo Locurcio
4dd5a17636
Fix uninitialized Viewport::use_debanding member variable 2020-10-26 21:37:33 +01:00
Rémi Verschelde
2de498d438
Merge pull request #42969 from Klowner/fixes/42967-popup-position
include parent display location in popup location calculation
2020-10-26 09:26:00 +01:00
Rémi Verschelde
8ee44cc60c
Merge pull request #43075 from Xrayez/color-ramp-to-gradient
Fixup `ColorRamp` to `Gradient` renames
2020-10-26 08:44:27 +01:00
Devin Curry
b9c35af15d ScriptEditor: Fix line number gutter drag select
Fixes issue #42722
2020-10-25 12:13:54 -07:00
Andrii Doroshenko (Xrayez)
8ce2f401dd Fixup ColorRamp to Gradient renames 2020-10-25 18:32:44 +02:00
reduz
84d734da0e Refactored 2D shader and lighting system
-Removed normal/specular properties from nodes
-Create CanvasTexture, which can contain normal/specular channels
-Refactored, optimized and simplified 2D shaders
-Use atlas for light textures.
-Use a shadow atlas for shadow textures.
-Use both items aboves to make light rendering stateless (faster).
-Reorganized uniform sets for more efficiency.
2020-10-24 15:57:25 -03:00
Aaron Franke
961ee3a1d7
Rename button group property to button_group 2020-10-24 01:30:18 -04:00
Yuri Roubinsky
4c65dc975c Shows ColorRect in Color constants autocompletion 2020-10-23 19:03:50 +03:00
Rémi Verschelde
f0f8864c9c
Merge pull request #42907 from Xrayez/add-ref-rect-border-width
Add `border_width` to `ReferenceRect`
2020-10-22 15:58:12 +02:00
clayjohn
6299575250 Add sky_only setting to DirectionalLight3Ds 2020-10-21 23:28:08 -07:00
Mark Riedesel
5a507df255 include parent display location in popup location calculation 2020-10-21 12:58:39 -04:00
Yuri Roubinsky
f2b98b4106 Remove printing of windowpos/screenpos in MenuButton 2020-10-21 09:58:37 +03:00
Andrii Doroshenko (Xrayez)
aef00021a9 Add border_width to ReferenceRect
Exposes a hidden parameter behind `CanvasItem.draw_rect()`.
2020-10-20 13:58:50 +03:00
Yuri Roubinsky
4f4287243c Removed underscore from GraphEdit begin/end_node_move signals 2020-10-20 09:22:40 +03:00
Rémi Verschelde
970d0d433b
Merge pull request #42891 from gvaneyck/graph-begin-node-move-timing
Fix emit_signal timing for GraphEdit's begin/end node move
2020-10-20 07:48:06 +02:00
Gabriel Van Eyck
fbc095dc78 Fix emit_signal timing for GraphEdit's begin/end node move 2020-10-19 18:25:07 -07:00
Rémi Verschelde
ff48a6a3bc
Merge pull request #42874 from dreamsComeTrue/text-edit-bounds-fix
TextEdit - fix valid bounds in 'set_line'.
2020-10-19 22:37:41 +02:00
Rémi Verschelde
17f682226d
Merge pull request #42904 from Xrayez/rects-rename-fixup
Fixup `ColorRect` and `TextureRect` renames
2020-10-19 22:34:40 +02:00
Juan Linietsky
85ebf40b6c
Merge pull request #38097 from Calinou/add-viewport-debanding
Add a debanding property to Viewport
2020-10-19 14:15:44 -03:00
Andrii Doroshenko (Xrayez)
9c3a33a4e8 Fixup ColorRect and TextureRect renames 2020-10-19 19:34:35 +03:00
Rémi Verschelde
6b20859984
Merge pull request #42558 from Chaosus/vs_curve
Added visual shader node to easy gather data from a CurveTexture
2020-10-19 14:58:45 +02:00
Juan Linietsky
53d5a252bb
Revert "Replace SAO implementation with MSSAO" 2020-10-18 19:27:51 -03:00
Juan Linietsky
d98261ab8f
Merge pull request #42077 from clayjohn/MSSAO
Replace SAO implementation with MSSAO
2020-10-18 18:34:43 -03:00
Juan Linietsky
e799a2ba45
Merge pull request #42201 from clayjohn/Vulkan-new-glow
Optimize Glow with local memory
2020-10-18 18:32:36 -03:00
clayjohn
366ee46774 Replace SAO implementation with MSSAO 2020-10-18 13:15:51 -07:00
clayjohn
63a34b93aa Optimize Glow with local memory 2020-10-18 11:37:12 -07:00
Rémi Verschelde
d9e5c355e5
Merge pull request #41418 from clayjohn/Vulkan-aerial
Add aerial perspective to fixed fog
2020-10-18 17:32:19 +02:00
reduz
ee06a70ea6 Refactor MethodBind to use variadic templates
Removed make_binders and the old style generated binders.
2020-10-18 12:28:44 +02:00
Yuri Roubinsky
f402e1e675 Added VisualShaderNodeCurve to easy gather data from a CurveTexture 2020-10-18 09:57:15 +03:00
clayjohn
8c21c26fb5 Add aerial perspective to fixed fog 2020-10-17 10:53:07 -07:00
Dominik 'dreamsComeTrue' Jasiński
99c8a07919 TextEdit - fix valid bounds in 'set_line'. Fixes #41967 2020-10-17 17:59:15 +02:00
Rémi Verschelde
14e3d68dd9
Merge pull request #42778 from madmiraal/remove-get_layers
Remove old RigidBody get_layers() methods.
2020-10-15 18:40:21 +02:00
Paulb23
0d0a856ad5 Fixed main gutter not drawing on item toggle 2020-10-13 18:01:59 +01:00
Marcel Admiraal
a17fdaef09 Remove old RigidBody layers property and methods. 2020-10-13 16:59:49 +01:00
volzhs
9eaa5ffab5 Put unselected tabs back in TabContainer control 2020-10-13 22:05:26 +09:00
FIF15
0e7e25d488 Remove redundant property "enabled_focus_mode"
Fixes #41529.
2020-10-13 10:04:37 +02:00
volzhs
cac4fedb2a Respect Tree.set_icon_max_width size for drawing selection box 2020-10-13 10:38:32 +09:00
Rémi Verschelde
d22791c271
doc: Sync classref with current source 2020-10-12 10:58:02 +02:00
Pedro J. Estébanez
826af5b28a Fix premature end of animation playing backwards 2020-10-10 21:37:28 +02:00
Yuri Roubinsky
f4eef287f9 Adds Metallic to spatial light input of visual shaders 2020-10-10 16:55:36 +03:00
reduz
26f5bd245c Implement GPU Particle Collisions
-Sphere Attractor
-Box Attractor
-Vector Field
-Sphere Collider
-Box Collider
-Baked SDF Collider
-Heightmap Collider
2020-10-09 13:25:47 -03:00
PouleyKetchoupp
4686200f0e Fix Popup crash in single window mode
focus_target->exclusive_child could be invalidated during the call to
focus_target->grab_focus(), now using the same logic with safe accesses
to focus_target.
2020-10-09 11:20:38 +02:00
Duroxxigar
8bfeb9d6ae Added a more helpful error message when there is no current animation for the animation player 2020-10-06 01:21:23 -04:00
Rémi Verschelde
2e99d0b26f
glTF: Fix parsing image data with mimeType undefined
The glTF 2.0 spec only makes `mimeType` mandatory for `bufferView` image data,
so the previous logic to handle URIs with base64-encoded images could fail if
`mimeType` is undefined.

The logic was documented and refactored to better handle the spec, notably:

- `uri` and `bufferView` are now mutually exclusive, and only the latter fails
  if `mimeType` is undefined.
- `uri` with a file path will now respect the `mimeType` if defined, and thus
  attempt loading the file with the specified format (even if its extension is
  not the one expected for this format). So we can support bad extensions (PNG
  data with `.jpg` extension) or custom ones (PNG data in `.img` file for
  example).
- `uri` with base64 encoded data will infer MIME type from `data:image/png` or
  `data:image/jpeg` if it was not documented in `mimeType` initially.
- `uri` with base64 encoded data, no `mimeType` and `application/octet-stream`
  or `application/gltf-buffer` will fall back to trying both PNG and JPEG
  loaders.

Fully fixes #33796 (and fixes up #42501).
2020-10-05 13:06:50 +02:00
Yuri Roubinsky
2d45f7ac87 Fix typo in VisualShaderNodeSample3D::generate_code 2020-10-04 10:34:58 +03:00