Commit graph

2220 commits

Author SHA1 Message Date
Juan Linietsky
33b5c57199 Variant: Added 64-bit packed arrays, renamed Variant::REAL to FLOAT.
- Renames PackedIntArray to PackedInt32Array.
- Renames PackedFloatArray to PackedFloat32Array.
- Adds PackedInt64Array and PackedFloat64Array.
- Renames Variant::REAL to Variant::FLOAT for consistency.

Packed arrays are for storing large amount of data and creating stuff like
meshes, buffers. textures, etc. Forcing them to be 64 is a huge waste of
memory. That said, many users requested the ability to have 64 bits packed
arrays for their games, so this is just an optional added type.

For Variant, the float datatype is always 64 bits, and exposed as `float`.

We still have `real_t` which is the datatype that can change from 32 to 64
bits depending on a compile flag (not entirely working right now, but that's
the idea). It affects math related datatypes and code only.

Neither Variant nor PackedArray make use of real_t, which is only intended
for math precision, so the term is removed from there to keep only float.
2020-02-25 12:55:53 +01:00
bruvzg
1af06d3d46
Rename scancode to keycode.
Add `physical_keycode` (keyboard layout independent keycodes) to InputEventKey and InputMap.
Fix non-latin keyboard layout keycodes on Linux/X11 (fallback to physical keycodes).
2020-02-25 12:30:33 +02:00
Rémi Verschelde
15e6a82faf Signals: Fix invalid connections to missing callbacks
These bugs existed since those lines were added, so I assume that
their intended use is no longer relevant.
2020-02-23 23:48:44 +01:00
Hugo Locurcio
5dd851e849
Mention version compatibility when there are no results in the assetlib
This closes #36469.
2020-02-23 23:27:42 +01:00
nathanwfranke
ad15edbc65 Partial revert "Fix two signal errors"
This partially reverts commit a31bc1b0ba.

Possible compatibility issues with #35864 that I am not sure about.

Do I need to change "connect" to "connect_compat"?
2020-02-23 15:04:45 -06:00
Rémi Verschelde
2cf6ac6c50 Replace FALLTHROUGH macro by C++17 [[fallthrough]]
This attribute is now part of the standard we target so we no longer
need compiler-specific hacks.

Also enables -Wimplicit-fallthrough for Clang now that we can properly
support it. It's already on by default for GCC's -Wextra.

Fixes new warnings raised by Clang's -Wimplicit-fallthrough.
2020-02-23 00:52:50 +01:00
Yuri Roubinsky
7c1415b99b
Merge pull request #36421 from Chaosus/vs_sort_custom_nods
Refactor node processing in visual shader member dialog
2020-02-21 21:34:03 +03:00
Yuri Roubinsky
b78b37ed3f Refactor node processing in visual shader member dialog 2020-02-21 18:34:31 +03:00
Fabio Alessandrelli
cbc450c0e5 Huge Debugger/EditorDebugger refactor. 2020-02-21 11:12:03 +01:00
Juan Linietsky
69c95f4b4c Reworked signal connection system, added support for Callable and Signal objects and made them default. 2020-02-20 08:24:50 +01:00
Rémi Verschelde
353e2071d0
Merge pull request #36340 from nathanwfranke/fix-signal-errors
Fix two signal errors, remove unused break_request signals in profilers
2020-02-20 07:13:54 +01:00
nathanwfranke
a31bc1b0ba Fix two signal errors
Update
2020-02-19 15:22:34 -06:00
janglee
d3c580f0bc Make orthogonal view mode persistent in new scene
Fixes #36339.
2020-02-19 21:33:43 +05:30
Hugo Locurcio
ac3c93077c
Decrease the script editor's default split width to 70
This also makes its value change to match the editor scale.
2020-02-18 23:00:38 +01:00
Juan Linietsky
3205a92ad8 PoolVector is gone, replaced by Vector
Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are
sugar for `Vector<Type>`.
2020-02-18 10:10:36 +01:00
Hugo Locurcio
5c659dd399
Increase the width of the "Connections to method" dialog
This closes #36245.
2020-02-15 16:36:10 +01:00
Juan Linietsky
867d073b98 Changed logic and optimized ObjectID in ObjectDB and Variant, removed RefPtr. 2020-02-15 08:36:04 -03:00
Hugo Locurcio
3e4b508c3b
Add a soft line length guideline to the script editor
The default value is 80. The hard line length guideline's
default column has been moved to 100 to account for the new
soft line length guideline.

It can be disabled by setting its value to the same column as the
hard line length guideline.

This closes https://github.com/godotengine/godot-proposals/issues/347.
2020-02-15 03:02:40 +01:00
Rémi Verschelde
710d829886
Merge pull request #36044 from dreamsComeTrue/fix-replace-all-shortcut
Added 'Replace in files' functionality to text editors
2020-02-14 20:30:53 +01:00
Yuri Roubinsky
b798e26e28 Restore cubemaps in visual shaders 2020-02-14 12:51:46 +03:00
Dominik 'dreamsComeTrue' Jasiński
4c80beab44 Added 'Replace in files' functionality to text editors
Fixes issue #31146
2020-02-13 23:45:05 +01:00
Yuri Roubinsky
7aad7df574 Restore drag&drop textures in visual shaders 2020-02-13 19:19:41 +03:00
Rémi Verschelde
386968ea97 Remove obsolete GLES3 backend
Due to the port to Vulkan and complete redesign of the rendering backend,
the `drivers/gles3` code is no longer usable in this state and is not
planned to be ported to the new architecture.

The GLES2 backend is kept (while still disabled and non-working) as it
will eventually be ported to serve as the low-end renderer for Godot 4.0.

Some GLES3 features might be selectively ported to the updated GLES2
backend if there's a need for them, and extensions we can use for that.

So long, OpenGL driver bugs!
2020-02-13 10:36:44 +01:00
Yuri Roubinsky
bc647393ba Added virtual method to VisualShaderNodeCustom to enable high-end mark 2020-02-13 09:43:43 +03:00
Yuri Roubinsky
516cd821c0 Added high-end (Vulkan) label to some functions in visual shader 2020-02-12 23:17:00 +03:00
Juan Linietsky
cf8c679a23 ObjectID converted to a structure, fixes many bugs where used incorrectly as 32 bits. 2020-02-12 14:24:54 -03:00
Michael Alexsander
eeb972faef Fix problems with concave shapes in the TileSet editor 2020-02-11 18:31:25 -03:00
Juan Linietsky
2049dec79e Added normalmap guided roughness mipmap generator, and a global roughness limiter. 2020-02-11 12:16:01 +01:00
Juan Linietsky
bed8980ca5 Re-implemented screen space ambient occlusion 2020-02-11 12:15:46 +01:00
Juan Linietsky
bd364d1447 Auto exposure re-implemented in Vulkan 2020-02-11 12:14:23 +01:00
Yuri Roubinsky
171691aad9 [Vulkan] Add repeat flag to texture preview checkerboard background 2020-02-11 12:05:43 +01:00
Rémi Verschelde
fff4240bb4 Fix code formatting issues and VS compilation
Also temporarily disable multicheck build so that we get a full build
even when there are style issues on Vulkan.

Fixes #33356.
2020-02-11 12:05:19 +01:00
Juan Linietsky
da0457fa29 Several fixes to GIProbes 2020-02-11 12:04:56 +01:00
Juan Linietsky
6ee2f5e6b6 More GIProbe work and fixes 2020-02-11 12:03:49 +01:00
Juan Linietsky
fb739f9da7 Fixed display menu visualizations. 2020-02-11 12:03:24 +01:00
Juan Linietsky
acf0f6c8a7 GIProbes working. 2020-02-11 12:03:20 +01:00
Juan Linietsky
dd3682e5fe Modernized default 3D material, fixes material bugs. 2020-02-11 12:01:24 +01:00
Juan Linietsky
6deffa62fb Several fixes to 3D rendering, and multimesh implementation. 2020-02-11 12:01:22 +01:00
Juan Linietsky
2d6a916835 Environment sky more or less working. 2020-02-11 12:01:05 +01:00
Juan Linietsky
449df8f688 Base 3D engine done, still untested, though. 2020-02-11 11:59:25 +01:00
Juan Linietsky
50e9befb88 Changes to material required to add custom shaders in RD renderer 2020-02-11 11:53:28 +01:00
Juan Linietsky
e1b3444415 Bugfixes and ability to better specify filter and repeat modes everywhere.
Removes antialiased flag for draw_* methods.
2020-02-11 11:53:28 +01:00
Juan Linietsky
3f335ce3d4 Texture refactor
-Texture renamed to Texture2D
-TextureLayered as base now inherits 2Darray, cubemap and cubemap array
-Removed all references to flags in textures (they will go in the shader)
-Texture3D gone for now (will come back later done properly)
-Create base rasterizer for RenderDevice, RasterizerRD
2020-02-11 11:53:26 +01:00
Rémi Verschelde
12244c46ae
Merge pull request #36086 from KoBeWi/TOOL_MOVE_move
Allow to use arrow keys with TOOL_MOVE
2020-02-11 09:21:10 +01:00
Tomasz Chabora
cfa9060f8b Fix selectable locked items 2020-02-11 00:01:10 +01:00
Tomasz Chabora
18918b4efa Allow to use arrow keys with TOOL_MOVE 2020-02-10 21:39:05 +01:00
Rémi Verschelde
78074fed8d
Merge pull request #36085 from YeldhamDev/rip_animationtreeplayer_press_f
Remove AnimationTreePlayer node
2020-02-10 21:12:10 +01:00
Michael Alexsander
021fdb1b58 Remove AnimationTreePlayer node 2020-02-10 16:25:50 -03:00
Gilles Roudière
b66d45d986 Fixes a crash in the 2D editor 2020-02-10 18:27:13 +01:00
Andrea Catania
e6be3f68da - Integrated NavigationServer and Navigation2DServer.
- Added Navigation Agents and Obstacles.
- Integrated Collision Avoidance.

This work has been kindly sponsored by IMVU.
2020-02-10 14:38:52 +01:00
Rémi Verschelde
8cd5102c65
Merge pull request #35704 from KoBeWi/free_the_nodes
Include locked nodes on selection list
2020-02-10 14:29:21 +01:00
Tomasz Chabora
de77bda605 Include locked nodes on selection list 2020-02-10 13:59:24 +01:00
Rémi Verschelde
50e940129a Merge pull request #33815 from Calinou/assetlib-focus-search-shortcut
Make Ctrl+F focus the editor asset library's search field
2020-02-10 11:34:47 +01:00
Rémi Verschelde
37432587f9 Merge pull request #35787 from Calinou/editor-expose-create-single-convex-shape
Re-add a way to generate a single convex shape from the editor
2020-02-10 10:49:05 +01:00
Rémi Verschelde
0b9f0cd412 Merge pull request #36054 from Calinou/rebind-tilemap-editor-select-pick-tile
Change the Pick Tile and Select default shortcuts in the TileMap editor
2020-02-10 10:36:43 +01:00
Aaron Franke
ef9b4ee2e2
Fix 2D CollisionShape controls pointing the wrong way
They now point down, matching Godot's 2D coordinate system.
2020-02-09 17:37:30 -05:00
Rémi Verschelde
8cb2de5243
Merge pull request #33451 from MCrafterzz/movementHandle
Added movement handles to 2D
2020-02-09 22:19:32 +01:00
Rémi Verschelde
9f9d6c6cc1
Merge pull request #35656 from ericrybick/35460-fix2
Use a new approach to fix bone pose override not being reset when IK animation is stopped.
2020-02-09 22:14:31 +01:00
Eric Rybicki
bb0358dd8d Use a new approach to fix bone pose override not being reset when IK animation is stopped.
This reverts PR #35460 & commit 551c37167b.
2020-02-09 19:50:13 +01:00
Hugo Locurcio
88213b54ba
Change the Pick Tile and Select default shortcuts in the TileMap editor
The new default keys were chosen to match common graphics editing
software. A modifier is no longer required to use the Select tool,
making it faster to use.

This closes #34170.
2020-02-09 17:46:01 +01:00
Rémi Verschelde
23531207a5 Merge pull request #36008 from AndreaCatania/physical_bone_impr
Skeleton animates physical bones
2020-02-09 11:15:43 +01:00
Andrea Catania
557d38cad3 Fixed Skeleton Physical Bone generation 2020-02-09 09:41:18 +01:00
Hugo Locurcio
3e95b79b65
Update the zoom percentage when using Frame Selection in the 2D editor
This closes #36019.
2020-02-08 18:29:28 +01:00
Rémi Verschelde
6b42d83ff1
Merge pull request #35950 from Chaosus/vs_scalar_uniform_range
Implemented hint_range for VisualShaderNodeScalarUniform
2020-02-07 20:45:40 +01:00
Yuri Roubinsky
22ad83edae Implemented hint_range for VisualShaderNodeScalarUniform 2020-02-07 17:04:24 +03:00
MCrafterzz
812fea7ccd Changed transformation handles y arrow to match positive y 2020-02-07 09:07:46 +01:00
Yuri Roubinsky
0812f991f0
Merge pull request #35952 from Chaosus/shader_editor_enchance
Few enchancements for shader editor
2020-02-06 19:52:01 +03:00
Yuri Roubinsky
24368206ca Few enchancements for shader editor 2020-02-06 17:50:12 +03:00
Rémi Verschelde
f003b3efaa
Merge pull request #35068 from akien-mga/containers-mouse-filter-pass
Use MOUSE_FILTER_PASS for all containers
2020-02-06 12:23:39 +01:00
Rémi Verschelde
6aaff5dc68
Merge pull request #35731 from timothyqiu/texture-region-gestures
Adds pan and zoom gestures to TextureRegion editor
2020-02-06 11:12:34 +01:00
Rémi Verschelde
bdaca7f44b
Merge pull request #35918 from timothyqiu/script-views-min-height
Shortens minimum height of script editor
2020-02-05 16:27:45 +01:00
Marcel Admiraal
6d69cd40bd Add do..while(0) wrappers to macros without one.
- Add do..while(0) wrapper to ERR_FAIL_NULL macros.
- Add do..while(0) wrapper to ERR_FAIL_COND macros.
- Add do..while(0) wrapper to ERR_CONTINUE macros.
- Add do..while(0) wrapper to ERR_BREAK macros.
- Add do..while(0) wrapper to CRASH_COND macros.
- Add do..while(0) wrapper to ERR_FAIL macros.
- Add do..while(0) wrapper to ERR_PRINT macros.
- Add do..while(0) wrapper to WARN_PRINT macros.
- Add do..while(0) wrapper to WARN_DEPRECATED macros.
- Add do..while(0) wrapper to CRASH_NOW macros.
2020-02-05 11:19:12 +01:00
Marcel Admiraal
f0db13502a Remove duplicate WARN_PRINT macro. 2020-02-05 11:13:24 +01:00
Haoyu Qiu
6785e199bb Shortens minimum height of script editor windows 2020-02-05 13:16:54 +08:00
Hugo Locurcio
90af009f2e
Re-add a way to generate a single convex shape from the editor
It was removed after the implementation of VHACD. Generating a single
shape can lead to better performance, so it may still be desired.

This also adds tooltips for several options in the Mesh menu.

This closes #35692.
2020-01-31 16:42:02 +01:00
Haoyu Qiu
d1b1edba84 Adds pan and zoom gestures to TextureRegion editor 2020-01-30 11:39:13 +08:00
Haoyu Qiu
ca537dea76 Fixes invalid read when using fill tool in empty tilemap 2020-01-27 20:39:49 +08:00
Tan Wang Leng
ee2f406c73 Fix wrong guideline values shown during dragging
Suppose that the user wants to use some guidelines in 2D mode. The
user has enabled "Use Pixel Snap", and configured the "Grid Step" to
1px.

On some zoom levels, when dragging the guidelines step by step, some
offsets shows the wrong value. The offsets that are wrong vary - it is
affected by the zoom level, so some zoom levels do not display this
problem.

For example, a user may see this while dragging the guideline:

0px   1px   1px   3px   4px   5px   5px   7px   8px

whereby 2px and 6px are missing.

This is due to a floating-point error. The values are printed as
(truncated) integers, but they are actually decimals, so they were
actually 1.9999 and 5.9999 for the missing cases.

Let's fix that by rounding up the values before printing them to get rid
of the errors.

This fixes #35010.
2020-01-24 23:52:43 +08:00
Haoyu Qiu
b420618c46 Fixes scrollbar positions on HiDPI display
* TextureRegion editor
* Ploygon2D UV editor
2020-01-23 08:55:52 +08:00
Rémi Verschelde
37897dba80
Merge pull request #35406 from lawnjelly/ortho-shadow
Replace CameraMatrix::get_viewport_size with get_viewport_half_extents, shadow culling with ortho camera and other affected issues
2020-01-22 22:02:09 +01:00
Rémi Verschelde
91b0be18dc
Merge pull request #35421 from williamd1k0/improve-top-animation-menu
Use an icon in the top Animation Key menu
2020-01-22 21:21:15 +01:00
William Tumeo
cb3fcba99f Use an icon in the top Animation Key menu 2020-01-22 17:06:40 -03:00
lawnjelly
eaf8e5ce52 Change CameraMatrix::get_viewport_size to get_viewport_half_extents
Fixes #26637.
Fixes #19900.

The viewport_size returned by get_viewport_size was previously incorrect, being half the correct value. The function is renamed to get_viewport_half_extents, and now returns a Vector2.

Code which called this function has also been modified accordingly.

This PR also fixes shadow culling when using ortho cameras, because the correct input for CameraMatrix::set_orthogonal should be the full HEIGHT from get_viewport_half_extents, and not half the width.

It also fixes state.ubo_data.viewport_size in rasterizer_scene_gles3.cpp to be the width and the height of the viewport in pixels as stated in the documentation, rather than the current value which is half the viewport extents in worldspace, presumed to be a bug.
2020-01-22 18:22:00 +00:00
Rémi Verschelde
4faaf6089a Remove unused #if 0'ed code 2020-01-21 21:41:54 +01:00
Eric Rybicki
99346e9654 Fix asset library video play overlay not being centered on the thumbnail 2020-01-21 08:04:32 +01:00
Rémi Verschelde
709665b15d
Merge pull request #35379 from dankan1890/quick_fix
TextureRegionEditor: Corrected typo
2020-01-20 21:34:02 +01:00
dankan1890
a2170dcd40 TextureRegionEditor: Corrected typo 2020-01-20 20:58:42 +01:00
Rémi Verschelde
c3fd1012de
Merge pull request #35351 from ericrybick/32342-Resize-snapping-lines-bug
Fix editor drawing snapping lines for wrong edge/corner when resizing elements with smart snapping enabled
2020-01-20 12:57:44 +01:00
Eric Rybicki
b91b26d073 Fix editor drawing snapping lines for wrong edge/corner when resizing elements with smart snapping enabled
fixes #32342
2020-01-20 08:03:20 +01:00
Rémi Verschelde
e8dc581bfc
Merge pull request #35303 from timothyqiu/hidpi-anitreeplayer
Fixes AnimationTreePlayer editor UI on HiDPI
2020-01-19 10:21:20 +01:00
Rémi Verschelde
d7072e9cd4
Merge pull request #35273 from dankan1890/quick_fix
AssetLibrary layout fix
2020-01-19 10:13:31 +01:00
Rémi Verschelde
7522aa80c2
Merge pull request #35295 from N0hbdy/animation-editor-line-edit-fix
Fix AnimationTree Editor by using CONNECT_DEFERRED on LineEdit
2020-01-19 09:32:00 +01:00
Haoyu Qiu
2db685da09 Fixes AnimationTreePlayer editor on HiDPI
* The minimum editor size
* The position of buttons and status text
2020-01-19 10:20:53 +08:00
Hugo Locurcio
c9aca9ef81
Clamp the editor scale to 1 when resetting zoom in the 2D editor
This closes #35294.
2020-01-18 22:26:21 +01:00
N0hbdy
3fffb1c031 Fix AnimationTree Editor by using CONNECT_DEFERRED on LineEdit
Not having this causes the LineEdit to be deleted while still processing
signals, which can cause a crash during focus changes.

Fixes 35293
2020-01-18 12:12:13 -08:00
dankan1890
29daba5b0c AssetLibrary when the download size is unknown:
hidden progress bar
added in the description the downloaded bytes
Fixes #35267
2020-01-18 21:07:51 +01:00
Yuri Roubinsky
41acb1f6ba Fix minimap updating in shader tab 2020-01-18 12:31:33 +03:00
Hugo Locurcio
8bce0b6176
Mark alternate editor display modes as disabled in the GLES2 renderer
This partially addresses #27018.
2020-01-17 16:06:47 +01:00
Rémi Verschelde
05e042b06f
Merge pull request #34879 from Phischermen/canvas-item-editor-local-space-mode
Fix issue regarding rotating Canvas Items in editor
2020-01-16 23:10:41 +01:00
andrycodestuffs
d0b3cb89f7 Fixed unknown symbol drawn instead of tabs in breakpoints/bookmarks lists
Tab characters were not rendered properly in the breakpoints and
bookmarks lists of the script editor if the bookmarked line was a
comment, resulting in unknown ASCII symbols “�”.

Fixes #34046.

Also changed formatting a bit to enclose the code in backticks (like in
Markdown) instead of quotes.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2020-01-16 13:50:30 +01:00