Commit graph

6473 commits

Author SHA1 Message Date
Rémi Verschelde
a800048071
Merge pull request #38109 from nekomatata/mesh-instance-active-material
Fix get_active_material when a material is directly set on the mesh
2020-04-23 12:42:11 +02:00
JFonS
f7dadc4796 Add caching the lightmap unwrapping on import
This commit adds caching to the lightmap mesh unwraps generated on
import. This speeds up re-imports of meshes that haven't changed and
also makes sure that the unwraps are consistent across imports.

The unwrapping process is not deterministic, so one could end up with
a different mapping every time the scene was imported, breaking any
previously baked lightmaps. The changes in this commit prevent that
from happening.
2020-04-22 15:34:00 +02:00
PouleyKetchoupp
72ee09082c Fix get_active_material when a material is directly set on the mesh
Makes MeshInstance3D::get_active_material consistent with the logic
in the rendering system.

Fixes #38108
2020-04-22 14:35:25 +02:00
Rémi Verschelde
f989a43135
Merge pull request #38086 from volzhs/seek-animation-finished
Emit signal when animation ends by seek
2020-04-22 10:07:29 +02:00
volzhs
bf1cc116e1 Emit signal when animation ends by seek 2020-04-22 00:45:44 +09:00
Juan Linietsky
f8ef38efed Add proper type to most public API uses of Array 2020-04-21 12:16:45 -03:00
Juan Linietsky
5d4dc2d45c Add ability to bind typed arrays to script API
Note: Only replaced 2 instances to test, Node.get_children and TileMap.get_used_cells
Note: Will do a mass replace on later PRs of whathever I can find, but probably need
a tool to grep through doc.
Warning: Mono will break, needs to be fixed (and so do TypeScript and NativeScript, need to ask respective maintainers)
2020-04-21 10:15:40 +02:00
Juan Linietsky
ae09b55a19 Exposed RenderingDevice to script API
Also added an easier way to load native GLSL shaders.

Extras:

Had to fix no-cache for subresources in resource loader, it was not properly working, making shaders not properly reload.

Note:

The precommit hooks are broken because they don't seem to support enums from one class being used in another.
Feel free to fix this after merging this PR.
2020-04-20 21:21:58 -03:00
Rémi Verschelde
94f0c62789 Fix more GCC -Wmaybe-uninitialized warnings
Fixes #38005.
2020-04-20 22:34:20 +02:00
Rémi Verschelde
9cf48b3e99
Merge pull request #38039 from akien-mga/docdata-skip-unexposed
DocData: Skip unexposed classes
2020-04-20 15:21:49 +02:00
Rémi Verschelde
0ef8bcac4d DocData: Skip unexposed classes
Properly expose classes that we actually want accessible.
2020-04-20 12:51:10 +02:00
Rémi Verschelde
b7b46093d8 doc: Sync classref with current source
Add missing enum bindings.
2020-04-20 11:48:00 +02:00
Rémi Verschelde
088c2a0870
Merge pull request #37947 from clayjohn/DOCS-rendering-update
Update many docs with recent rendering changes
2020-04-20 11:16:12 +02:00
qarmin
559bc3ca87 Change non-existent World to World3D 2020-04-18 11:00:51 +02:00
clayjohn
b50d954cb0 Update many docs with recent rendering changes 2020-04-17 09:47:59 -07:00
Rémi Verschelde
17304f1aae
Merge pull request #37949 from reduz/implement-global-shader-uniforms
Implement global and per instance shader uniforms.
2020-04-17 18:36:06 +02:00
Rémi Verschelde
cfda0e3770
Merge pull request #37953 from clayjohn/VULKAN-sky-sun-size
Add light size to Sky Shaders
2020-04-17 18:35:45 +02:00
clayjohn
7cd2ff309c Add light size to Sky Shaders 2020-04-17 09:32:24 -07:00
Rémi Verschelde
077dbdf246
Merge pull request #37964 from AndreaCatania/AndreaCatania-patch-2
Activate Physics Process in SpringArm3D.
2020-04-17 17:38:22 +02:00
Juan Linietsky
0e1c66d9fc Implement global and per instance shader uniforms.
Adds two keywords to shader language for uniforms:
-'global'
-'instance'

This allows them to reference values outside the material.
2020-04-17 12:35:41 -03:00
Andrea Catania
152303bf51
Activate Physics Process in SpringArm3D. 2020-04-17 16:22:24 +02:00
Rémi Verschelde
51d86c9112
Merge pull request #37047 from YeldhamDev/tabcontainer_doc_control_fix
Fix incorrect TabContainer documentation for 'get_tab_control()'
2020-04-16 12:36:42 +02:00
Rémi Verschelde
3c1218a39a
Merge pull request #37914 from clayjohn/VULKAN-decal-fix
Fix texture check in decal setup
2020-04-15 21:26:08 +02:00
Rémi Verschelde
9c80674aee
Merge pull request #37911 from madmiraal/fix-32876
Run SpringArm3D's process within physics.
2020-04-15 21:21:09 +02:00
clayjohn
61d86190e0 Fix texture check in decal setup 2020-04-15 12:06:02 -07:00
Marcel Admiraal
188bb6f867 Run SpringArm3D's process within physics. 2020-04-15 17:48:46 +01:00
Andrii Doroshenko (Xrayez)
430d1fd795 Bind Shape2D draw method 2020-04-15 18:17:21 +03:00
asheraryam
67c98cb438 Add "node_unselected" signal for GraphEdit 2020-04-15 18:06:21 +03:00
Rémi Verschelde
5b4ea6529a
Merge pull request #37896 from NutmegStudio/decal-enum-constant-fix
Change DecalTexture bind from BIND_CONSTANT to BIND_ENUM_CONSTANT
2020-04-15 12:02:19 +02:00
NutmegStudio
fa6d9e0c01 Change DecalTexture bind from BIND_CONSTANT to BIND_ENUM_CONSTANT 2020-04-15 15:00:48 +07:00
NutmegStudio
df863cf7ee Fix typo in light3d (Texture -> Texture2D) 2020-04-15 14:09:48 +07:00
Rémi Verschelde
9db525941f
Merge pull request #37887 from reduz/implement-projectors
Add support for projectors in spot and omni lights.
2020-04-14 23:03:32 +02:00
Juan Linietsky
6f293ed795 Add support for projectors in spot and omni lights. 2020-04-14 17:05:45 -03:00
Rémi Verschelde
59a8af2106
Merge pull request #37316 from nekomatata/physical-bone-settings
Add PhysicalBone rotation, damping, axis lock & can sleep
2020-04-14 18:33:43 +02:00
Rémi Verschelde
5e5103f460
Merge pull request #37861 from reduz/implement-decals
Implement decals
2020-04-14 17:13:20 +02:00
Juan Linietsky
5944eb6e7f Implement decals
Also implemented decal atlas, so projectors and other stuff can be added.
Sidenote: Had to make RID hashable, so some unrelated includes changed
in order to include it in hashfuncs.h
2020-04-14 11:13:34 -03:00
PouleyKetchoupp
5c1c03f29a Add PhysicalBone rotation, damping, axis lock & can sleep 2020-04-14 11:55:46 +02:00
janglee
5e64c146bc Fixed 0 width issue of rich text label
Fixes #37746
2020-04-13 14:59:38 +05:30
MickeMakaron
2edb59ec88 Handle huge offset values in Path2D and Path3D set_offset 2020-04-13 07:42:47 +02:00
Rémi Verschelde
06748a2b5f
Merge pull request #37749 from clayjohn/Vulkan-improved-ss
Add vogel filter and settings to soft shadows
2020-04-13 00:39:37 +02:00
Juan Linietsky
a57dc398db Implement MSAA 2020-04-12 15:33:57 -03:00
Juan Linietsky
16ae2cc1bf Add screen space AA option, with FXAA implementation. 2020-04-12 10:57:18 -03:00
clayjohn
621f6f09a8 Add proper quality settings to soft shadows 2020-04-10 23:09:17 -07:00
Zak Grumbles
a8de034f78 Fix OptionButton docs godotengine#36803
* item_selected and item_focused docs incorrectly had 'id' as the parameter. Changed to
'index'.
* Fix parameter name in ADD_SIGNAL callin code.
2020-04-10 20:35:40 -05:00
Rémi Verschelde
5566c5eb8d
Merge pull request #37517 from nekomatata/slider-grab-area-highlight
Add style for highlighted Slider grab area
2020-04-10 12:08:02 +02:00
Rémi Verschelde
9ab08f06c8
Merge pull request #37688 from theludovyc/dev
Remove unused ofs variable in Tree::_draw
2020-04-10 11:44:11 +02:00
Rémi Verschelde
c2f0d58c36
Merge pull request #37722 from reduz/implement-softshadows
Support light size and soft shadows
2020-04-10 10:24:57 +02:00
Juan Linietsky
6a730ffeab Support light size and soft shadows 2020-04-09 15:11:15 -03:00
Bastiaan Olij
afc8c6391c Renaming all ARVR nodes to XR 2020-04-09 15:33:01 +10:00
theludovyc
875c994109 Remove unused ofs variable 2020-04-08 20:00:43 +02:00
Juan Linietsky
26ecd924cc
Merge pull request #37678 from reduz/refactor-shadowmapping
Refactored shadowmapping.
2020-04-08 13:59:10 -03:00
Juan Linietsky
4ffc0d6b3f Refactored shadowmapping.
- Made shadow bias size independent, so it will remain when changing light or camera size.
- Implemented normal offset bias, which greatly enhances quality.
- Added transmission to subsurface scattering
- Reimplemented shadow filter modes

Closes #17260
2020-04-08 11:19:43 -03:00
theludovyc
7e2de76236 erase : if ( i < offset ) { continue;} in for loops 2020-04-08 11:14:46 +02:00
janglee
9c2c2ab2b0 Fixed underlines and striketrough not respecting visible character 2020-04-07 19:04:13 +05:30
Rémi Verschelde
026ec44b02
Merge pull request #37551 from KoBeWi/found_your_screen
Add the missing argument in files_dropped signal
2020-04-07 09:18:38 +02:00
Rémi Verschelde
3586f21519
Merge pull request #37591 from Anutrix/remove_reduntant_class
Removed redundant class LineEditFileChooser from file_dialog
2020-04-07 09:14:53 +02:00
Rémi Verschelde
2c6affe084
Merge pull request #37642 from dreamsComeTrue/rich-text-strike-fix
Calculate strike-through y-position correctly (RichTexteLabel)
2020-04-07 09:14:29 +02:00
Rémi Verschelde
5d82fa74d9
Merge pull request #37615 from guilhermefelipecgs/fix_37526
Fix TextureRect::flip_* when used with atlas texture
2020-04-07 09:10:44 +02:00
Dominik 'dreamsComeTrue' Jasiński
06a79f260c Calculate strike-through position correctly
Fixes: #37637
2020-04-06 22:26:58 +02:00
Rémi Verschelde
0d4d96d4b0
Merge pull request #37639 from qarmin/no_more_leaks
Fixes leaks when running editor
2020-04-06 21:25:36 +02:00
qarmin
5cbab81564 Fixes leaks when running editor 2020-04-06 20:07:08 +02:00
Guilherme Felipe
fb2d2dd5d0 Fix TextureRect::flip_* when used with atlas texture
Fix #37526
2020-04-06 08:36:36 -03:00
Yuri Roubinsky
e0a9879ce4
Merge pull request #37623 from Chaosus/vs_fix_keyword_name
Adds warning to the uniform name in visual shader if its equal to keyword
2020-04-06 14:15:20 +03:00
Yuri Roubinsky
8dfe6716ec Adds warning to the uniform name in visual shader if its equal to keyword 2020-04-06 12:29:50 +03:00
Rémi Verschelde
6b07c72d76
Merge pull request #37556 from KoBeWi/kill_get_index
Remove Node.get_position_in_parent()
2020-04-06 09:44:38 +02:00
Tomasz Chabora
c1023157eb Remove Node.get_position_in_parent() 2020-04-06 01:19:20 +02:00
Rémi Verschelde
de1d021574
Merge pull request #37397 from Eoin-ONeill-Yokai/Bug37081
Correction to RichTextLabel Tabulation (Bug 37081)
2020-04-05 10:07:47 +02:00
unknown
0fa7703565 Removed reduntant class LineEditFileChooser. 2020-04-05 02:50:32 +05:30
Rémi Verschelde
da887714be
Merge pull request #37570 from reduz/implement-sss
Re-implement subsurface scattering.
2020-04-04 17:14:48 +02:00
Juan Linietsky
c54f80d35c Re-implement subsurface scattering.
The size settings are more "just works", with default scale and depth scale
values that don't need much tweaking.

Additionally, a "skin" mode was added so skin looks better.
EDIT: Cleaned up SSR filter shader a bit.
2020-04-04 11:44:28 -03:00
unknown
4413c562d6 Fix file dialog not showing icons 2020-04-04 17:18:43 +05:30
unknown
7e4db6174d Remove redundant vbx variable in FileDialog 2020-04-04 14:58:57 +05:30
Michael Alexsander
a9e43ac73c Re-expose a simplified version of the stretch properties in SubViewport 2020-04-03 14:11:22 -03:00
Tomasz Chabora
16cbfcf0de Add the missing argument in files_dropped signal 2020-04-03 17:33:53 +02:00
Rémi Verschelde
59d44ee872
Merge pull request #37505 from YeldhamDev/viewcont_rename
Rename ViewportContainer to SubViewportContainer
2020-04-03 15:53:35 +02:00
Rémi Verschelde
b50387c8bf
Merge pull request #37521 from akien-mga/more-nullptr
Replace more occurrences of NULL with nullptr
2020-04-02 17:37:09 +02:00
Rémi Verschelde
6a38ce1b31
Merge pull request #37512 from reduz/implement-ssr
Re-Added screen space reflection.
2020-04-02 17:17:27 +02:00
Juan Linietsky
87c658b304 Re-Added screen space reflection. 2020-04-02 11:25:21 -03:00
PouleyKetchoupp
4c8173af0f Add style for highlighted Slider grab area 2020-04-02 15:05:46 +02:00
Rémi Verschelde
ea7b497065 Replace more occurrences of NULL with nullptr 2020-04-02 14:56:01 +02:00
lupoDharkael
95a1400a2a Replace NULL with nullptr 2020-04-02 13:38:00 +02:00
Rémi Verschelde
5f11e15571
Merge pull request #37504 from qarmin/out_of_bound_cursor
Fix array out of bounds access caused by uninitialised variables
2020-04-02 13:07:55 +02:00
Michael Alexsander
0c6851ae53 Rename ViewportContainer to SubViewportContainer 2020-04-01 16:11:44 -03:00
Rafał Mikrut
359bebd8c0 Fix out of bound array access caused by unassigned variable 2020-04-01 19:29:35 +02:00
Rémi Verschelde
2e84b7b916
Merge pull request #37443 from Leleat/master
Fix PopupMenu's letter jumping on any InputEventKey (instead of just a press)
2020-04-01 16:51:10 +02:00
Rémi Verschelde
96e654335a
Merge pull request #37481 from ThakeeNathees/bind-method-typo
some typo in method binds fixed
2020-04-01 12:57:26 +02:00
Thakee Nathees
cb53b1d88e some typo in method binds fixed 2020-04-01 14:01:18 +05:30
Rémi Verschelde
a30bfe5176
Merge pull request #35765 from clayjohn/master
Add a method to retrieve active material from MeshInstance
2020-03-31 18:03:11 +02:00
Rémi Verschelde
3a996faeed
Merge pull request #37442 from YeldhamDev/subviewport_register
Register SubViewport class
2020-03-31 16:29:41 +02:00
Rémi Verschelde
e5033d3952 doc: Sync classref with DisplayServer/Window changes 2020-03-31 11:56:58 +02:00
clayjohn
3362e81674 Add a method to retrieve active material from MeshInstance 2020-03-30 16:53:07 -07:00
Leleat
8a5660f3d1 fixed PopupMenus letterjumping on any InputEvent 2020-03-30 21:45:56 +02:00
Michael Alexsander
46a6751302 Register SubViewport class 2020-03-30 16:43:55 -03:00
Rémi Verschelde
f3c74afd28
Merge pull request #37436 from akien-mga/doc-node-renames
doc: Update classref with node renames
2020-03-30 20:32:11 +02:00
Rémi Verschelde
6fed21c7cb
Merge pull request #37356 from akien-mga/scons-enable-werror
SCons: Treat all warnings as errors
2020-03-30 20:30:54 +02:00
Rémi Verschelde
f097511b96 Fix another batch of -Wmaybe-uninitialized warnings
And simplify code in CSGShape.
2020-03-30 18:27:36 +02:00
Rémi Verschelde
eaaee63b62 doc: Update classref with node renames
A few extra renames for classes which were missed in last week's PRs.
2020-03-30 18:23:02 +02:00
Juan Linietsky
89e1263117 Move glow upscale quality to a global setting, for consistency 2020-03-30 10:46:03 -03:00
Rémi Verschelde
cd4e46ee65 SCons: Format buildsystem files with psf/black
Configured for a max line length of 120 characters.

psf/black is very opinionated and purposely doesn't leave much room for
configuration. The output is mostly OK so that should be fine for us,
but some things worth noting:

- Manually wrapped strings will be reflowed, so by using a line length
  of 120 for the sake of preserving readability for our long command
  calls, it also means that some manually wrapped strings are back on
  the same line and should be manually merged again.

- Code generators using string concatenation extensively look awful,
  since black puts each operand on a single line. We need to refactor
  these generators to use more pythonic string formatting, for which
  many options are available (`%`, `format` or f-strings).

- CI checks and a pre-commit hook will be added to ensure that future
  buildsystem changes are well-formatted.
2020-03-30 09:05:53 +02:00
Eoin O'Neill
2000e110a9 Correction to RichTextLabel Tabulation
Correct backtrack assignment to prevent excessive tabulation. Worth
noting that tabulation is treated differently in RichTextLabel because
of custom user-asignable tab variable which creates problems with
dynamic fonts specifically.
2020-03-29 14:33:17 -07:00
Rémi Verschelde
3f7fa93179
Merge pull request #37362 from reduz/audioserver-memory-cleanup
Remove the audio memory allocator, use regular one instead.
2020-03-28 15:49:48 +01:00
Rémi Verschelde
60d486acc8 Fix copyright headers for recently added files 2020-03-28 13:29:29 +01:00
Rémi Verschelde
0c320a6bf3 More server renames for consistency after #37361 2020-03-28 13:20:48 +01:00
dankan1890
06e8740184 Fixed missed occurrences in #37361 renamings. 2020-03-28 12:37:44 +01:00
Juan Linietsky
16245f2c29 Remove the audio memory allocator, use regular one instead. 2020-03-27 20:36:43 -03:00
Juan Linietsky
a6f3bc7c69 Renaming of servers for coherency.
VisualServer -> RenderingServer
PhysicsServer -> PhysicsServer3D
Physics2DServer -> PhysicsServer2D
NavigationServer -> NavigationServer3D
Navigation2DServer -> NavigationServer2D

Also renamed corresponding files.
2020-03-27 15:21:27 -03:00
Juan Linietsky
307b1b3a58
Merge pull request #37340 from reduz/rename-3d-nodes
Make 2D and 3D node names more explicit
2020-03-27 13:47:15 -03:00
Rémi Verschelde
d1acbbce7f Rename more 2D and 3D nodes to follow convention
Rename editor plugins to match the new node names.
2020-03-27 16:26:34 +01:00
Rémi Verschelde
92d25e62f7
Merge pull request #37353 from bruvzg/fix_editor_font
Fix default editor font.
2020-03-27 15:45:31 +01:00
Rémi Verschelde
c3a760c507 Fix build with disable_3d=yes, remove dependency on WorldEnvironment 2020-03-27 14:55:14 +01:00
Juan Linietsky
eaae4b6408 Renamed 2D and 3D nodes to make their types explicit
Fixes #30736.
2020-03-27 14:54:04 +01:00
Martin Liska
c554677c95
Fix various -Wmaybe-uninitialized (#37352). 2020-03-27 13:57:20 +01:00
bruvzg
21c2116744
Fix default editor font.
Fix popup_centered_clamped definition typo.
2020-03-27 14:13:01 +02:00
bruvzg
15a9f94346 Add macOS DisplayServer implementation.
Change global menu to use Callable, add support for check items and submenus.
2020-03-26 16:24:05 +01:00
Juan Linietsky
197cb4e771 Fixes to X11, still pretty broken 2020-03-26 15:50:00 +01:00
Mateo Kuruk Miccino
f387b9b4f4 Multiple changes to DisplayServerX11
- Travis: Change x11 to linuxbsd
- SCons: Change x11 plataform to linuxbsd
- Plugins: Remove ; to avoid fallthrough warning
- DisplayServerX11: Implement set_icon
- DisplayServerX11: Fix X11 bug when a window was erased from windows
  map, all the changes from that erased windows are sending to the main
  window
- DisplayServerX11: Reorder create_window commands
- DisplayServerX11: Change every Size2 to Size2i and Rect2 to Rect2i
  where it belongs

+ More X11 fixes which have been integrated directly back into reduz's
original commits while rebasing the branch.
2020-03-26 15:49:54 +01:00
Juan Linietsky
9a5d15a2dc Implemented drag and drop across windows, both OS and embedded. 2020-03-26 15:49:46 +01:00
Juan Linietsky
047e0b7de5 Reworked tooltips to use the popup system. 2020-03-26 15:49:45 +01:00
Juan Linietsky
b3080bc2f4 Popups have also been converted to windows
Controls using the old modal API have been replaced to use popups.
2020-03-26 15:49:44 +01:00
Juan Linietsky
c7b4dcae2f Open sub-windows as embedded if the OS does not support them 2020-03-26 15:49:43 +01:00
Juan Linietsky
441f1a5fe9 Popups are now windows also (broken!) 2020-03-26 15:49:42 +01:00
Juan Linietsky
4758057f20 Working multiple window support, including editor 2020-03-26 15:49:40 +01:00
Juan Linietsky
f51fdc6eef Support for transient windows 2020-03-26 15:49:39 +01:00
Juan Linietsky
8e6960a69e Refactored input, goes all via windows now.
Also renamed Input to InputFilter because all it does is filter events.
2020-03-26 15:49:39 +01:00
Juan Linietsky
9e08742de8 Added a Window node, and made it the scene root.
Still a lot of work to do.
2020-03-26 15:49:38 +01:00
Juan Linietsky
f8a79a97c7 Effective DisplayServer separation, rename X11 -> LinuxBSD 2020-03-26 15:49:34 +01:00
Juan Linietsky
4396e98834 Refactored Input, create DisplayServer and DisplayServerX11 2020-03-26 15:49:32 +01:00
Rémi Verschelde
4d5705eefa
Merge pull request #37274 from Janglee123/corrected-text-selection-in-color-picker
Corrected text selection in color picker
2020-03-26 09:29:18 +01:00
Rémi Verschelde
4507d0cd2b
Merge pull request #37279 from Waridley/fix_22016
Fix volume interpolation in positional audio nodes
2020-03-26 09:28:50 +01:00
Yuri Roubinsky
1358febfa1
Merge pull request #37287 from Chaosus/vs_sky
Added sky shader mode to visual shaders
2020-03-26 08:38:19 +03:00
Yuri Roubinsky
898b843718 Added sky shader mode to visual shaders 2020-03-25 19:04:42 +03:00
janglee
77b70aa79d Corrected text selection in color picker
Fixes #35603
2020-03-25 08:13:31 +00:00
Waridley
ff1fbd2bc5 Fix volume interpolation in positional audio nodes
Fixes #22016
2020-03-25 02:37:35 -05:00
Rémi Verschelde
5fede4a81c
Merge pull request #37272 from AndreaCatania/fix_ik_rot
Fixed IK rotation issue
2020-03-25 08:25:44 +01:00
Rémi Verschelde
4d7ab010db
Merge pull request #37281 from ThakeeNathees/fix-project-manager-don't-consume-Enter
Fix: project manager don't consume Enter key #17620
2020-03-25 08:13:04 +01:00
Thakee Nathees
b98153886f fix project manager don't consume Enter key #17620 2020-03-25 07:09:36 +05:30
Rémi Verschelde
e9ecb06cf3
Merge pull request #37280 from KoBeWi/n
Make search in RichTextLabel case-insensitive
2020-03-24 21:31:57 +01:00
Rémi Verschelde
b587f98fcc
Merge pull request #37176 from dkaste/line-edit-secret-fix-2
Use LineEdit secret character width everywhere
2020-03-24 21:27:44 +01:00
Tomasz Chabora
b3f83ac115 Make search in RichTextLabel case-insensitive 2020-03-24 20:03:09 +01:00
Rémi Verschelde
641c85a54f
Merge pull request #37268 from clayjohn/VULKAN-sky-color
Replace subpass textures with color in sky shader
2020-03-24 19:22:55 +01:00
clayjohn
61c67cd5e1 Replace subpass textures with color in sky shader 2020-03-24 10:11:00 -07:00
Andrea Catania
277696d6c5 Fixed IK rotation issue 2020-03-24 10:06:24 +01:00
Rémi Verschelde
9d24541597 Remove unused classes and stray headers
Found by reviewing headers with 1 or less matching includes:
```
find -name thirdparty -prune -o -name "*.h" -exec basename {} \; | sort -u > headers
for header in $(cat headers); do echo "$header: "; rg -l "#include \"(.*/)?$header\"" | wc -l; done > list-includes
```
2020-03-24 09:50:51 +01:00
Dominik 'dreamsComeTrue' Jasiński
f530c38174 Remove unreferenced & undocumented class Space2D 2020-03-24 01:30:28 +01:00
Rémi Verschelde
ed9a0d0484
Merge pull request #37179 from clayjohn/VULKAN-sky-shader
Implement Sky Shaders
2020-03-22 20:03:35 +01:00
clayjohn
61a74739ca Working sky shader implementation 2020-03-21 20:43:44 -07:00
Rémi Verschelde
ca4e4506db Fix potential divisions by 0 reported by MSVC
The `TextEdit` one was indeed a potential bug.
The `PCKPacker` one seems to be a false positive, it's already in a
`for` loop that depends on `files.size()`.
2020-03-21 11:54:08 +01:00
Rémi Verschelde
87404bda8a
Merge pull request #37169 from AndreaCatania/AndreaCatania-patch-2
Fixes navigation path reset
2020-03-20 09:34:53 +01:00
Bastiaan Olij
c3fee7ba6c Add shader based background mode 2020-03-19 18:30:39 -07:00
Darren Kaste
c7c47410aa Use LineEdit secret character width everywhere 2020-03-19 19:06:14 -04:00
Andrea Catania
c7cf624836 Fixes navigation path reset 2020-03-19 18:05:31 +01:00
Rémi Verschelde
cf50ee4fa4
Merge pull request #37094 from dkaste/line-edit-secret-select
Calculate LineEdit selection with secret character
2020-03-18 21:50:14 +01:00
Rémi Verschelde
ae68c33570
Merge pull request #37123 from simpuid/placeholder-fix
Remove update condition from LineEdit::update_placeholder_width
2020-03-18 21:49:43 +01:00
Rémi Verschelde
87118ac39e
Merge pull request #37113 from KoBeWi/to_enable_or_not_to_enable
Fix visibility enabler flag toggling
2020-03-18 20:27:30 +01:00
Rasmus Vermeulen
760095e28d Clarify the Viewport size warning message 2020-03-17 22:47:20 +01:00
simpuid
43b2f75d64 Remove update condition from LineEdit::update_placeholder_width
Placeholder with length greater than `max_length` are allowed, so there is no reason for those update condition.
It fixes the odd alignment of placeholder when it's length is greater than `max_length`
2020-03-18 02:22:45 +05:30
Rasmus Vermeulen
855f4dc193 Add size warning to Viewport Node 2020-03-17 21:33:39 +01:00
Tomasz Chabora
2ccd1a7805 Fix visibility enabler flag toggling 2020-03-17 17:46:18 +01:00
Rémi Verschelde
cb282c6ef0 Style: Set clang-format Standard to Cpp11
For us, it practically only changes the fact that `A<A<int>>` is now
used instead of the C++03 compatible `A<A<int> >`.

Note: clang-format 10+ changed the `Standard` arguments to fully
specified `c++11`, `c++14`, etc. versions, but we can't use `c++17`
now if we want to preserve compatibility with clang-format 8 and 9.
`Cpp11` is still supported as deprecated alias for `Latest`.
2020-03-17 07:36:24 +01:00
Rémi Verschelde
f9decec1bc
Merge pull request #36491 from AndreaCatania/edit_node_anim_state_mac
Added new method to edit an already added node to anim state machine
2020-03-16 19:29:38 +01:00
Andrea Catania
422926cfc6 Added new method to replace an already added node to the animation state machine 2020-03-16 17:42:29 +01:00
Darren Kaste
395a038c85 Calculate LineEdit selection with secret character 2020-03-16 12:22:13 -04:00
Michael Alexsander
8f925b1970 Fix incorrect TabContainer documentation for 'get_tab_control()' 2020-03-14 10:53:21 -03:00
Ev1lbl0w
380b8039ec
Fix divison by zero issue 2020-03-14 13:08:01 +00:00
Rémi Verschelde
951ecc4f79
Merge pull request #36518 from Janglee123/no-underlined-keywords
Removed underlining of not clickable symbols
2020-03-12 22:24:43 +01:00
Rémi Verschelde
3c376a898a
Merge pull request #36961 from JFonS/fix_mesh_selection
Return correct mesh format for PrimitiveMesh
2020-03-12 12:35:56 +01:00
Rémi Verschelde
98cdf50a55
Merge pull request #36977 from lupoDharkael/decompose-copy
Mesh::convex_decompose: Remove unneeded vector copy
2020-03-11 15:12:15 +01:00
Rémi Verschelde
153a2b094c
Merge pull request #36978 from lupoDharkael/opti-trimesh
Loop over faces in create_trimesh_shape()
2020-03-11 15:04:14 +01:00
janglee
50a570c9c1 Removed underlining for not clickable symbols 2020-03-11 08:57:21 +00:00
Rémi Verschelde
e80da4a920
Merge pull request #36715 from dreamsComeTrue/fix-text-edit-comment-quotes
Allow single quotes [',"] in comments in TextEdit
2020-03-11 07:32:24 +01:00
Dominik 'dreamsComeTrue' Jasiński
ab6456d1bc Allow single quotes in comments
Fixes: #36638
2020-03-11 06:27:28 +01:00
lupoDharkael
ee0262977e Loop over faces in create_trimesh_shape() 2020-03-11 00:33:39 +01:00
lupoDharkael
97d1149c3b Mesh::convex_decompose: Remove unneeded vector copy 2020-03-11 00:14:29 +01:00
JFonS
9f2f7ee5eb Return correct mesh format for PrimitiveMesh.
The return value was changed during the Vulkan port, but it didn't include ARRAY_FORMAT_INDEX. This meant they were wrongly considered non-indexed meshes and the click-selection logic for all primitive meshes broke.
2020-03-10 13:08:17 +01:00
Rémi Verschelde
478337c412
Merge pull request #36751 from Faless/debugger/threads_and_profilers
ScriptDebugger refactor, threading, profilers.
2020-03-09 19:08:07 +01:00
lupoDharkael
d63bf6dea5 Complete NavigationMeshInstance rename 2020-03-08 17:33:34 +01:00
Fabio Alessandrelli
b8ddaf9c33 Refactor ScriptDebugger.
EngineDebugger is the new interface to access the debugger.
It tries to be as agnostic as possible on the data that various
subsystems can expose.

It allows 2 types of interactions:

- Profilers:
  A subsystem can register a profiler, assigning it a unique name.
  That name can be used to activate the profiler or add data to it.
  The registered profiler can be composed of up to 3 functions:
    - Toggle: called when the profiler is activated/deactivated.
    - Add: called whenever data is added to the debugger
      (via `EngineDebugger::profiler_add_frame_data`)
    - Tick: called every frame (during idle), receives frame times.

- Captures: (Only relevant in remote debugger for now)
  A subsystem can register a capture, assigning it a unique name.
  When receiving a message, the remote debugger will check if it starts
  with `[prefix]:` and call the associated capture with name `prefix`.

Port MultiplayerAPI, Servers, Scripts, Visual, Performance to the new
profiler system.

Port SceneDebugger and RemoteDebugger to the new capture system.
The LocalDebugger also uses the new profiler system for scripts
profiling.
2020-03-08 12:36:39 +01:00
Bastiaan Olij
0ca1711681 ARVRController.is_button_pressed requires to return a boolean 2020-03-07 12:22:18 +11:00
Yuri Roubinsky
d5bff588c7 Removed boolean return type from majority of method in Tween 2020-03-06 10:59:07 +03:00
Rémi Verschelde
ee0f670807
Merge pull request #36772 from pyacier/warning-concavepolygonshape
Add a new configuration warning to CollisionShape
2020-03-05 12:01:59 +01:00
Pierre Caye
ad227d9a85 Add a new configuration warning to CollisionShape
In the case where a ConcavePolygonShape is used as a shape for a RigidBody
in another mode than static, a configuration warning will appear in the
editor.
2020-03-05 11:18:45 +01:00
Rémi Verschelde
a0e33e17fb
Merge pull request #36733 from qarmin/static_analyzer_fixes
Fixes bugs found by Sonarcloud and Coverity
2020-03-04 13:41:38 +01:00
Rémi Verschelde
f83f1d7c9b
Merge pull request #36069 from RandomShaper/imvu/improve_drives_ux
Improve UX of drive letters
2020-03-04 13:19:55 +01:00
Rémi Verschelde
da8a0913f4
Merge pull request #36689 from eevee/patch-1
Fix inverted use of Camera2D.offset_v
2020-03-03 10:39:12 +01:00
Pedro J. Estébanez
aee586553a Improve UX of drive letters
Namely, move the drive dropdown to just the left of the path text box and don't include the former
in the latter.

This improves the UX on Windows.

In the UNIX case, since its concept of drives is (ab)used to provide shortcuts to useful paths, its
dropdown is kept at the original location.
2020-03-03 10:38:34 +01:00
qarmin
1f209bfc41 Fixes bugs found by Sonarcloud and Coverity 2020-03-02 19:17:20 +01:00
Rémi Verschelde
e2b66cacf7
Merge pull request #18020 from bruvzg/input_fix_non_latin_and_add_hw_scancodes
Fix non-latin layout scancodes on Linux, adds access to physical scancodes.
2020-03-01 23:00:42 +01:00
Eevee
40816574ac
Fix inverted use of Camera2D.offset_v
The code above for horizontal movement uses the right margin (_positive_ x direction) when the offset is negative, but vertical movement uses the top margin (_negative_ y direction) when the offset is negative.

The resulting problem is easily seen in the editor — set the drag margins to be asymmetrical, turn on drawing the drag margins, and slide the offsets from -1 to 1 and back.  The horizontal offset moves the camera's center between the left and right margins, but the vertical offset gets them backwards and will move the camera outside the margins entirely.
2020-02-29 16:50:33 -07:00
Gil Arasa Verge
c27811ee68 Double click on a folder didn't open it
There is a deferred call to _update_file_list inside _tree_item_activated but it was not bound.
2020-02-29 21:11:03 +01:00
Juan Linietsky
c9cab7ac9f Properly handle EOF when parsing text resource
Fixes #36652
2020-02-28 17:45:33 -03:00
Rémi Verschelde
620030b600
Merge pull request #36640 from reduz/resource-loader-refactor
Removed ResourceInteractiveLoader, add built-in threaded loading.
2020-02-28 17:21:16 +01:00
Juan Linietsky
475e4ea67b Removed interactive loader, added proper thread loading. 2020-02-28 11:20:45 -03:00
Rémi Verschelde
09a6a2d8f8 Signals: Port more uses of connect_compat
Those were problematic as they call a method of their parent class,
but callable_mp does not allow that unless it's public.

To solve it, we declare a local class that calls the parent class'
method, which now needs to be protected to be accessible in the
derived class.
2020-02-28 14:24:09 +01:00
Rémi Verschelde
f742dabafe Signals: Manually port most of remaining connect_compat uses
It's tedious work...

Some can't be ported as they depend on private or protected methods
of different classes, which is not supported by callable_mp (even if
it's a class inherited by the current one).
2020-02-28 14:24:09 +01:00
Rémi Verschelde
01afc442c7 Signals: Port connect calls to use callable_mp
Remove now unnecessary bindings of signal callbacks in the public API.
There might be some false positives that need rebinding if they were
meant to be public.

No regular expressions were harmed in the making of this commit.
(Nah, just kidding.)
2020-02-28 14:24:09 +01:00
Rémi Verschelde
5a025d3ce8
Merge pull request #36626 from giarve/stop-input-event-prop-on-popup-close
Clicking backgrd. dimming of editor popup stops input event propagation
2020-02-28 10:09:04 +01:00
Rémi Verschelde
4f64f3401a
Merge pull request #36388 from AndreaCatania/some_renames
Rename Navigation{Mesh,Polygon}Instance and PlaneShape for clarity
2020-02-28 09:15:38 +01:00
Andrea Catania
483994601d Renamed NavigationPolygonInstance to NavigationRegion2D 2020-02-28 08:28:53 +01:00
Rémi Verschelde
b7b3978684
Merge pull request #36556 from RandomShaper/rework_mutex
Reimplement `Mutex` with C++'s `<mutex>` (plus more)
2020-02-28 00:26:01 +01:00
Gil Arasa Verge
35bc88ca34 Clicking backgrd. dimming of editor popup stops input event propagation
A click on the dimmed background of a popup in the editor should stop the input event from propagating to the background.

This solution reuses the system introduced in commit efc3ffb8, taking advantage of the hide() notifications from the modal where we will set the flag "pass_on_modal_close_click(false)" to stop event handling at the viewport input event handling.
The viewport first hides the modal and after marks the input as handled if the flag mentioned above is set.

Fixes #36341
2020-02-28 00:02:06 +01:00