Commit graph

1836 commits

Author SHA1 Message Date
volzhs
9f1de2cfdd Use underline position and thickness value in font file 2020-04-29 21:56:15 +09:00
Aaron Franke
540156b387
[Core] Rename linear_interpolate to lerp 2020-04-29 04:02:49 -04:00
Rémi Verschelde
dfe38fbf8a
Merge pull request #38287 from JiRuifanCR/animatedtexture-oneshot-pause-set-frame
Add set_frame, pause, and oneshot to AnimatedTexture
2020-04-29 09:14:37 +02:00
Revan Ji
f5029e18ca Add set_frame, pause, and oneshot to AnimatedTexture
Add API documentation for said changes.
2020-04-29 00:26:37 +08:00
Rémi Verschelde
d8066aa6a4
Merge pull request #38286 from bojidar-bg/x-expose-cell-size
Expose the cell_size affecting VisibilityNotifier2D precision
2020-04-28 11:19:16 +02:00
Bojidar Marinov
d49ff7aff7
Expose the cell_size affecting VisibilityNotifier2D precision
Refs: #4803
2020-04-28 10:33:45 +03:00
Rémi Verschelde
717f053e37
Merge pull request #38121 from JFonS/add_unwrap_caching
Add caching the lightmap unwrapping on import
2020-04-27 18:51:32 +02:00
Hugo Locurcio
ad55749718
Tweak SSAO property hints to allow setting more precise values
This was requested by an user on Twitter who was working on a
game with a very small-scale world.
2020-04-23 21:46:20 +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
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
clayjohn
7cd2ff309c Add light size to Sky Shaders 2020-04-17 09:32:24 -07:00
Andrii Doroshenko (Xrayez)
430d1fd795 Bind Shape2D draw method 2020-04-15 18:17:21 +03: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
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
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
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
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
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
Rafał Mikrut
359bebd8c0 Fix out of bound array access caused by unassigned variable 2020-04-01 19:29:35 +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
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
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
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
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
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
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
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
4758057f20 Working multiple window support, including editor 2020-03-26 15:49:40 +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
Yuri Roubinsky
898b843718 Added sky shader mode to visual shaders 2020-03-25 19:04:42 +03: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
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
clayjohn
61a74739ca Working sky shader implementation 2020-03-21 20:43:44 -07:00
Bastiaan Olij
c3fee7ba6c Add shader based background mode 2020-03-19 18:30:39 -07: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
Ev1lbl0w
380b8039ec
Fix divison by zero issue 2020-03-14 13:08:01 +00: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
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
qarmin
1f209bfc41 Fixes bugs found by Sonarcloud and Coverity 2020-03-02 19:17:20 +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
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
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
Rémi Verschelde
f9d93ee819
Merge pull request #36288 from Calinou/meshlibrary-allow-non-tools-use
Allow using `MeshLibrary.get_item_preview()` in non-editor builds again
2020-02-27 21:10:09 +01:00
Andrea Catania
2e0fb66c6f Renamed PlaneShape to WorldMarginShape 2020-02-27 17:45:16 +01:00
Andrea Catania
3b64ecbc4b Renamed NavigationMeshInstance to NavigationRegion 2020-02-27 17:42:53 +01:00
Pedro J. Estébanez
18fbdbb456 Reimplement Mutex with C++'s <mutex>
Main:
- It's now implemented thanks to `<mutex>`. No more platform-specific implementations.
- `BinaryMutex` (non-recursive) is added, as an alternative for special cases.
- Doesn't need allocation/deallocation anymore. It can live in the stack and be part of other classes.
- Because of that, it's methods are now `const` and the inner mutex is `mutable` so it can be easily used in `const` contexts.
- A no-op implementation is provided if `NO_THREADS` is defined. No more need to add `#ifdef NO_THREADS` just for this.
- `MutexLock` now takes a reference. At this point the cases of null `Mutex`es are rare. If you ever need that, just don't use `MutexLock`.
- Thread-safe utilities are therefore simpler now.

Misc.:
- `ScopedMutexLock` is dropped and replaced by `MutexLock`, because they were pretty much the same.
- Every case of lock, do-something, unlock is replaced by `MutexLock` (complex cases where it's not straightfoward are kept as as explicit lock and unlock).
- `ShaderRD` contained an `std::mutex`, which has been replaced by `Mutex`.
2020-02-26 20:40:10 +01:00
Yuri Roubinsky
1e8108310a Changed float type to int for INDEX visual shader input 2020-02-26 16:39:42 +03:00
Yuri Roubinsky
4a3d277623 Add support for integer type in visual shaders 2020-02-26 10:12:06 +03:00
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
Yuri Roubinsky
3b0638fe1c Changed default capsule axis to vertical
Co-authored-by: Hugo Locurcio <https://hugo.pro>
2020-02-23 23:18:01 +03: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
Rémi Verschelde
bf7d6de556
Merge pull request #36441 from YeldhamDev/tabs_unused_constants
Remove unused theme constants in Tab(Container)
2020-02-22 08:17:33 +01:00
Michael Alexsander
e9244c4c23 Remove unused theme constants in Tab(Container) 2020-02-22 01:24:16 -03: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
Juan Linietsky
3c0059650d Added StringName as a variant type.
Also changed all relevant properties defined manually to StringName.
2020-02-21 14:25:29 +01:00
Juan Linietsky
9a34f39d32 Add support for named binds in Skin.
Helps better reutilization of skeletons from Maya exported files.
2020-02-21 09:40:29 -03: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
f8c87c0ac4
Merge pull request #36375 from Xrayez/pimpmaps-typos
Fix MIMPAMPS typos in constants throughout the engine
2020-02-20 07:00:25 +01:00
Haoyu Qiu
a7578459c2 Fixes crash when loading StreamTexture from file 2020-02-20 09:45:00 +08:00
Andrii Doroshenko (Xrayez)
fa766265a7 Fix MIMPAMPS typos in constants throughout the engine 2020-02-20 01:31:43 +02:00
Rémi Verschelde
49fec646cb Fix compilation warnings and re-enable werror=yes on Travis
Fix -Wunused-variable, -Wunused-but-set-variable and -Wswitch warnings
raised by GCC 8 and 9.

Fix -Wunused-function, -Wunused-private-field and
-Wtautological-constant-out-of-range-compare raised by Clang.

Fix MSVC 2019 warning C4804 (unsafe use of type 'bool' in comparison
operation).

GCC -Wcpp warnings/Clang -W#warnings (`#warning`) are no longer raising
errors and will thus not abort compilation with `werror=yes`.

Treat glslang headers are system headers to avoid raising warnings.

Re-enables us to build with `werror=yes` on Linux and macOS, thus
catching warnings that would be introduced by new code.

Fixes #36132.
2020-02-18 20:51:25 +01:00
Rémi Verschelde
ae99439667
Merge pull request #36317 from godotengine/revert-36182-how_to_text_file
Revert "Remove TextFile from public API"
2020-02-18 12:59:15 +01:00
Rémi Verschelde
77b05256d6
Revert "Remove TextFile from public API" 2020-02-18 10:35:30 +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
Yuri Roubinsky
ed05e27c81 Fix GDCLASS for Texture2D/TextureLayered 2020-02-17 08:21:10 +03:00
Hugo Locurcio
64fac9dd5d
Allow using MeshLibrary.get_item_preview() in non-editor builds again
This closes #36268.
2020-02-17 00:07:44 +01:00
Haoyu Qiu
3584e27948 Fixes memory leak when loading StreamTexture 2020-02-16 13:22:25 +08:00
Juan Linietsky
867d073b98 Changed logic and optimized ObjectID in ObjectDB and Variant, removed RefPtr. 2020-02-15 08:36:04 -03:00
Handola
697b8a891e Fix bind method set_override_exposure_enabled of CameraEffects 2020-02-14 20:05:54 +01:00
Rémi Verschelde
4a5eab05f5
Merge pull request #36182 from KoBeWi/how_to_text_file
Remove TextFile from public API
2020-02-14 17:41:55 +01:00
Tomasz Chabora
591cd3fd84 Remove TextFile from public API 2020-02-14 15:46:16 +01:00
Rémi Verschelde
d2537407ef Fix various GCC compilation warnings after Vulkan merge
Part of #36132.
2020-02-14 10:02:31 +01:00
Rémi Verschelde
54ac8eaba6 Remove more deprecated methods and code 2020-02-13 12:37:45 +01:00
Yuri Roubinsky
bc647393ba Added virtual method to VisualShaderNodeCustom to enable high-end mark 2020-02-13 09:43:43 +03:00
Rémi Verschelde
0bdd748d34 doc: Add BaseMaterial3D strings ported from SpatialMaterial
Follow-up to #36135.
2020-02-12 15:23:26 +01:00
Rémi Verschelde
0e3d625737 doc: Sync classref with current source
Lots of internal API changes and some docstrings were lost in the conversion.
I manually salvaged many of them but for all the rendering-related ones, an
additional pass is needed.

Added missing enum bindings in BaseMaterial3D and VisualServer.
2020-02-12 12:37:13 +01:00
Juan Linietsky
bed8980ca5 Re-implemented screen space ambient occlusion 2020-02-11 12:15:46 +01:00
Juan Linietsky
f8b5c5f063 DOF fully implemented, can be edited on the fly. 2020-02-11 12:15:26 +01:00
Juan Linietsky
f14defb6f9 WIP CameraEffects implementation (bokeh not working for now) 2020-02-11 12:15:03 +01:00
Juan Linietsky
b859e69919 -Refactored post processing, re-added glow and added a mix blend mode. 2020-02-11 12:14:21 +01:00
Juan Linietsky
acf0f6c8a7 GIProbes working. 2020-02-11 12:03:20 +01:00
Juan Linietsky
4aea9f74e6 Rewritten StreamTexture for better code reuse, added basis universal support 2020-02-11 12:02:36 +01:00
Yuri Roubinsky
ca66fec570 [Vulkan] Fix typo in shading modes 2020-02-11 12:02:24 +01:00
Juan Linietsky
bc3dbe8240 Properly working instancing, and compatibility fixing for old meshes 2020-02-11 12:01:33 +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
1b4281b895 basic 2D engine is more or less working with Vulkan, including editor.
Still a lot to do
2020-02-11 11:53:27 +01:00
Juan Linietsky
42b44f43ee Basic 2D engine is more or less working, needs more work for editor to be usable. 2020-02-11 11:53:27 +01:00
Juan Linietsky
9b0dd4f571 A lot of progress with canvas rendering, still far from working. 2020-02-11 11:53:27 +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
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
47f19cc776 Merge pull request #36031 from zxcvdev/fix_gpu_particles_some_devices
Fix undefined behavior with atan in GPU Particles
2020-02-10 08:32:10 +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
51863f6e1e Merge pull request #35808 from clayjohn/unexpose-compress-base
Unexpose ARRAY_COMPRESS_BASE
2020-02-09 12:54:24 +01:00
zxcvdev
3580ad6005 Fix GPU Particles
The special case atan(y,0) of the built-in shader function atan(y,x)
returns different results on different devices. So this commit will add
checks when the atan(y,x) function is used in ParticlesMaterial to set
the direction of GPU Particles to make sure the desired values are
returned (act as atan2(y,x)).
2020-02-09 03:41:48 +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
Rémi Verschelde
f3726ee994 Use modules_enabled.gen.h to improve inter dependency checks
- Fix build with gdscript module disabled. Fixes #31011.
- Remove unused `gdscript` compile option.
- Fix build with regex module disabled.
- Fix ImageLoaderSVG to forward declare thirdparty structs.
2020-02-07 11:50:40 +01:00
Haoyu Qiu
7a41c44be2 Completes doc for ItemList and Tree 2020-02-07 12:52:53 +08:00
Rémi Verschelde
2af3fb97f4
Merge pull request #35908 from YeldhamDev/tileset_hide_properties
Hide TileSet's properties from the inspector
2020-02-05 16:48:11 +01:00
D00T24
bcc0493a4a changed max point limit to 1 instead of 2 2020-02-05 14:20:15 +04: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
Marcel Admiraal
5af3b4ca27 Remove duplicate ERR_PRINT macro. 2020-02-05 11:13:24 +01:00
Michael Alexsander
5452028d55 Hide TileSet's properties from the inspector 2020-02-04 16:09:59 -03:00
Yuri Roubinsky
6e1187ad2f Added missing '\n' in visual shader expression node code generation 2020-02-03 15:58:58 +03:00
Yuri Roubinsky
c8639a0013 Added missing '\n' in visual shader fresnel node code generation 2020-02-03 12:33:37 +03:00
Yuri Roubinsky
b0f166f0c5 Few extra formatting fixes for visual shader node generation
For 'If' and 'Switch' nodes
2020-02-01 17:41:49 +03:00
Yuri Roubinsky
9d8b59e86a Added missing '\n' in visual shader custom node code generation 2020-02-01 16:25:34 +03:00
Yuri Roubinsky
45218316c9
Merge pull request #35618 from Chaosus/vs_improvements
Better visual shader code generation
2020-02-01 16:03:48 +03:00
Yuri Roubinsky
bfec48abf1 Better visual shader code generation 2020-02-01 15:53:02 +03:00
clayjohn
be39808b00 Unexpose ARRAY_COMPRESS_BASE 2020-01-31 16:29:46 -08:00
Yuri Roubinsky
b822da00f8 Fix canvas_item light alpha output in visual shaders 2020-01-31 19:34:34 +03:00
Rémi Verschelde
8d00dcb421
Merge pull request #35670 from clayjohn/material-flag-cache
Add an extra bit to material flag cache
2020-01-28 20:59:49 +01:00
clayjohn
ec4d606e07 Add an extra bit to material flag cache 2020-01-28 10:38:54 -08:00
Rémi Verschelde
50830632c9
Merge pull request #35620 from TrevorPeyton/bind-autotile-center
Added binding for Autotile Center
2020-01-28 10:50:09 +01:00
Yuri Roubinsky
9705d5587e Hide "control" methods from VisualShaderNodeGroupBase 2020-01-28 10:24:59 +03:00
Yuri Roubinsky
274f1d8610 Hide "editable" property from VisualShaderNodeGroupBase public interface 2020-01-28 09:43:07 +03:00
Yuri Roubinsky
796484d761 Added missing property "size" to VisualShaderNodeGroupBase 2020-01-27 19:18:48 +03:00
Yuri Roubinsky
3479cf4b42 Removed unused method "build" from VisualShaderNodeExpression 2020-01-27 18:24:39 +03:00
TrevorPeyton
ae4fee52d5
Added binding for Autotile Center 2020-01-27 09:07:32 -05:00
Yuri Roubinsky
4912d4c6e4 Added missed bracket to VisualShaderNodeCubeMap 2020-01-27 13:09:15 +03:00
Yuri Roubinsky
4445f892d2 Fix VisualShaderNodeCubeMap generation 2020-01-27 12:17:06 +03:00
Rémi Verschelde
bb6c0d3e8b doc: Complete documentation for VideoStreams
Also quick clean up of the matching C++ files.
2020-01-26 11:29:07 +01:00
Yuri Roubinsky
ce43c92208 Docs for some nodes in visual shader
Fix typo in `VisualShaderNodeCompare.ComparisonType` name.
2020-01-23 22:39:00 +01:00
Michael Alexsander
151f33111b Fix TileSet shape data not updating when being set via code 2020-01-23 11:48:38 -03:00
Yuri Roubinsky
86cdccebe6 Hide "default_input_values" property in VisualShaderNode. 2020-01-23 11:18:51 +03:00
Rémi Verschelde
5127afa812
Merge pull request #35413 from akien-mga/if-0-means-couperet
Remove unused #if 0'ed code
2020-01-21 22:27:50 +01:00
Rémi Verschelde
4faaf6089a Remove unused #if 0'ed code 2020-01-21 21:41:54 +01:00
Rémi Verschelde
0be64da008 Allow greater values for DynamicFont size property
See https://github.com/godotengine/godot/issues/22581#issuecomment-576836691.

Not using `or_greater` as there *is* a max size value that the current
implementation can accept. If using e.g. size 6000 with
FiraSans-Regular.ttf, errors are printed due to failing asserts on a
glyph size that should be within 4096x4096 px.
2020-01-21 20:59:16 +01:00
Yuri Roubinsky
a8ab4e3357 Forbid recursive connections in visual shader 2020-01-20 18:15:45 +03:00
Haoyu Qiu
0eab15a5a9 Destroys FreeType library on load error 2020-01-20 11:00:51 +08:00
Rémi Verschelde
1de633205f Validate input in (CPU)Particles set_emission_shape()
Fixes #29777.

Co-authored-by: Cameron Reikes <cameronreikes@gmail.com>
2020-01-16 11:08:51 +01:00
Rémi Verschelde
40f0649e5b Fix typos with codespell
Using codespell 1.16.0.

See ab3bccdb78 for procedure.
2020-01-15 00:49:52 +01:00
Yuri Roubinsky
ed22a4c454
Merge pull request #33817 from Chaosus/vs_fresnel
Make Fresnel node in visual shaders to use default NORMAL/VIEW
2020-01-08 12:15:46 +03:00
Michael Alexsander
8b5992f665 Make possible to edit the GraphEdit's selection rect colors 2020-01-07 23:20:48 -03:00
Haoyu Qiu
3df9d187a3 Fixes crash when using Mesh::create_outline and Mesh::create_convex_shape
Adds a size check to the array returned by `surface_get_arrays`.

During debugging, `create_outline` also crashes when the indices size is
one (not a multiple of three). For now, just reports the error and fail
the function.
2020-01-07 16:15:14 +08:00
Haoyu Qiu
d43ad46e42 Fixes import of models as PackedScene 2020-01-07 07:21:17 +08:00
Rémi Verschelde
24281cd9c9
Merge pull request #34865 from volzhs/oversampling-emoji
Update size and position for colored font with oversampling
2020-01-06 18:32:24 +01:00
volzhs
e03ac8c618 Update size and position for colored font with oversampling 2020-01-07 02:15:23 +09:00
Rémi Verschelde
ce75a2f33d
Merge pull request #33987 from nekomatata/own-world-environment
Viewport environment is updated properly when set to own world
2020-01-06 15:26:52 +01:00
Rémi Verschelde
f5d1177fcb
Merge pull request #34303 from Chaosus/fix_texture_crash
Fixed crash if passing invalid image ref to TextureLayered
2020-01-06 14:21:20 +01:00
Rémi Verschelde
8aea5decc6
Merge pull request #34020 from gytsen/unify-pack-version
PCK: Set VERSION_PATCH in header, factor out header magic
2020-01-06 14:04:55 +01:00
Rémi Verschelde
080e6e48ad
Merge pull request #34829 from timothyqiu/checks-bundle
Fixes crash for bad property of PackedScene
2020-01-06 13:43:38 +01:00
Joost Heitbrink
dc61323b2c PCK: Set VERSION_PATCH in header, factor out header magic
Unify pack file version and magic to avoid hardcoded literals.

`version.py` now always includes `patch` even for the first release in
a new stable branch (e.g. 3.2). The public name stays without the patch
number, but `Engine.get_version_info()` already included `patch == 0`,
and we can remove some extra handling of undefined `VERSION_PATCH` this
way.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2020-01-06 13:13:17 +01:00
PouleyKetchoupp
a7a025531b Fixed StyleBoxFlat antialiasing with aa size of 1
Also made aa size consistent when computing uv coordinates and fixed a warning about aa_border_width not initialized in some cases.

fixes #34830
2020-01-05 10:54:24 +01:00
Haoyu Qiu
4b660a87d8 Fixes crash for bad property of PackedScene 2020-01-05 11:13:29 +08:00
Hugo Locurcio
ac3087eb4b
Don't connect ShaderMaterial's changed signal when not in the editor
This closes #34741.
2020-01-02 17:20:54 +01:00
Rémi Verschelde
a7f49ac9a1 Update copyright statements to 2020
Happy new year to the wonderful Godot community!

We're starting a new decade with a well-established, non-profit, free
and open source game engine, and tons of further improvements in the
pipeline from hundreds of contributors.

Godot will keep getting better, and we're looking forward to all the
games that the community will keep developing and releasing with it.
2020-01-01 11:16:22 +01:00
Michael Alexsander
fd2c181a35 Revert "Merge pull request #34315 from YeldhamDev/editor_theme_optionbutton_arrow"
This reverts commit 0da0eec6cc, reversing
changes made to ec97535ea3.
2019-12-28 14:16:51 -03:00
Rémi Verschelde
0df1122acc
Merge pull request #34488 from nekomatata/style_box_flat_aa
Fixed StyleBoxFlat border size with aa on
2019-12-22 12:31:19 +01:00
PouleyKetchoupp
6ffbd36e3d Fixed StyleBoxFlat border size with aa on
The different Rect used to draw rings were wrongly calculated when anti-aliasing was enabled. Also getting rid of some overlapping glitches when using transparent colors for the filling or borders.

Fixes #34104
2019-12-20 13:29:43 +01:00
Haoyu Qiu
e7e095da3f Encodes property names properly in project.godot 2019-12-20 10:42:08 +08:00
Rémi Verschelde
389b7939bf
Merge pull request #34356 from Calinou/styleboxflat-lower-max-corner-detail
Lower the maximum StyleBoxFlat corner detail to 20
2019-12-15 11:41:00 +01:00
Hugo Locurcio
324e02596f
Lower the maximum StyleBoxFlat corner detail to 20
This value should be sufficient even for very large corner radii.

This closes #34354.
2019-12-14 23:35:01 +01:00
Michael Alexsander
af67e97445 Remove unused theme elements in H/VSlider 2019-12-13 21:17:51 -03:00
Rémi Verschelde
1cd736951a
Merge pull request #34189 from aaronfranke/mesh-aabb
Expose Mesh get_aabb
2019-12-13 09:14:16 +01:00
Yuri Roubinsky
f3ea2a0267 Fixed crash if passing invalid image ref to TextureLayered 2019-12-12 14:15:39 +03:00
Yuri Roubinsky
57441ab2c6 Added missed enum constant VisualShaderNodeTexture::SOURCE_PORT 2019-12-12 12:05:54 +03:00
Aaron Franke
a139104646
Expose Mesh get_aabb 2019-12-11 08:25:36 -05:00
Rémi Verschelde
30cf60bb89
Merge pull request #34259 from timothyqiu/validate-texture-32982
Fixes crash after set_piece_texture with invalid texture
2019-12-11 08:41:29 +01:00
Rémi Verschelde
ea865d0e7e
Merge pull request #34241 from timothyqiu/sync-fallbacks-size-32701
Fixes crash when using DynamicFont::set_font_data
2019-12-11 08:34:21 +01:00
Rémi Verschelde
74381c380b
Merge pull request #34240 from timothyqiu/invalid-shader-io-29985
Fixes crash when shader inputs/outputs is invalid string
2019-12-11 08:33:54 +01:00
Haoyu Qiu
5586103a94 Validates texture in set_piece_texture 2019-12-11 11:24:42 +08:00
Haoyu Qiu
5deb6497a1 Fixes crash when using DynamicFont::set_font_data 2019-12-10 21:26:42 +08:00
Haoyu Qiu
024c25426b Fixes crash when shader inputs/outputs is invalid string 2019-12-10 17:04:18 +08:00
Haoyu Qiu
c29b8cf751 Fixes crash when using Theme::clear 2019-12-10 16:31:40 +08:00
Rémi Verschelde
2845e6a21a
Merge pull request #34040 from qarmin/unused_variable_more_precise_numbers
Removed unused variables, add some constants numbers
2019-12-10 08:25:31 +01:00
Rafał Mikrut
ed1c4bc77d Removed unused variables, add some constants numbers 2019-12-10 05:13:02 +01:00
Tomasz Chabora
3b80eb06b7 Don't store index of root nodes 2019-12-05 01:18:48 +01:00
PouleyKetchoupp
dc13750189 Viewport environment is updated properly when set to own world
When own_world property is set, the viewport stores a unique resource for the world. With this change it keeps being updated from changes made to the world property instead of storing a default empty world with environment settings that can't be modified.

Fixes #23412
2019-11-29 11:50:10 +01:00
Hugo Locurcio
639c9b3a35
Only display Environment sky rotation in degrees in the Inspector
This makes it consistent with Spatial.
2019-11-26 18:57:29 +01:00
clayjohn
85dba0c09d Fix bug where specularmode disabled is not cached 2019-11-25 07:36:07 -08:00
PouleyKetchoupp
1120de862d StyleBox preview adjusted to fit all drawn content
This change allows StyleBox preview to take shadows and content margins into account to display how a whole panel would be rendered.

The preview control clips contents so that in any case it doesn't bleed on controls around.

Fixes #33801
2019-11-24 16:26:30 +01:00
Yuri Roubinsky
7abb09ecf4 Makes Fresnel node in visual shaders to use default NORMAL/VIEW 2019-11-22 18:28:59 +03:00
Rafał Mikrut
99d8626f4a Fix some overflows and unitialized variables 2019-11-20 16:22:16 +01:00
Rémi Verschelde
0a96235b44
Merge pull request #33683 from clayjohn/material-texture-bug
Properly update texture when roughness/metallic set
2019-11-17 21:48:00 +01:00
clayjohn
2bc6302607 Properly update texture when roughness/metallic set 2019-11-17 11:11:25 -08:00
PouleyKetchoupp
2511f275b9 StyleBoxFlat doesn't draw content when width or height is zero
Causes unnecessary computations and drawing, and a division by zero when calculating uv coordinates.

This case happened with ScriptEditor's member overview (ItemList), initialized with a minimum width of 0.

Fixes #33634
2019-11-17 15:38:05 +01:00
Rémi Verschelde
2143f46df2
Merge pull request #33516 from qarmin/small_fixes
Memory leaks and crash fixes
2019-11-10 10:17:19 +01:00
Rémi Verschelde
e711534c46
Merge pull request #33452 from Chaosus/fix_tilemap
Fix incorrect offset for old-format tilemaps
2019-11-10 10:10:29 +01:00
Rafał Mikrut
7dda9309f9 Memory leak and crash fixes 2019-11-10 09:49:13 +01:00
Rémi Verschelde
0bfd06a911
Merge pull request #33465 from rxlecky/list-theme-resources-fix
Fix functions listing all theme resources
2019-11-09 18:23:49 +01:00
rxlecky
80b9c8e950 Fix functions listing all theme resources
Fix functions get_<resource>_list in Theme currently returning vector
of double-the-necessary size with the first half completely empty.
2019-11-09 11:56:55 +00:00
Rémi Verschelde
60d4909048
Merge pull request #33431 from Kaonnull/bugParticles2D_2
Fixed the particles2D prematurely animation ending
2019-11-09 07:40:07 +01:00
Simon Hardt
7e4ae4c503 Fixed prematurely ending animation of particles. 2019-11-08 21:28:19 +01:00
Yuri Roubinsky
26b933dc21 Fix incorrect offset for old-format tilemaps 2019-11-08 20:07:41 +03:00
Rémi Verschelde
77816fea8b
Merge pull request #32477 from aaronfranke/equal-approx-separate
Make is_equal_approx separate and make == exact again
2019-11-07 14:54:15 +01:00
Yuri Roubinsky
f5ffc1aedc Fix invalid casting on visual shader sampler 2019-11-04 18:50:33 +03:00
Yuri Roubinsky
8243afb0e9 Added sampler inputs for visual shaders 2019-11-03 17:59:15 +03:00
Rémi Verschelde
9381a80b24
Merge pull request #33277 from clayjohn/update_material
Force update SpatialMaterial when texture set and always use ALBEDO
2019-11-03 07:51:22 +01:00
clayjohn
21e1f1df0f Force update SpatialMaterial when texture set and always use ALBEDO 2019-11-02 17:42:36 -07:00
Rafał Mikrut
9ddb3265e1 Fix some crashes, overflows and using variables without values 2019-11-01 16:16:31 +01:00
Yuri Roubinsky
9086e7330f Removes translations from generated visual shader code 2019-10-29 09:26:05 +03:00
Rémi Verschelde
aaa9751de3
Merge pull request #33120 from YeldhamDev/popup_dialog_panel_style
Add "panel" style to PopupDialog
2019-10-28 12:54:03 +01:00
Rémi Verschelde
63c5cd7eb8
Merge pull request #33104 from qarmin/fix_some_crashes
Fix some crashes and using null pointers
2019-10-28 08:37:59 +01:00
Rafał Mikrut
e53e1c566a Fix some crashes and using null pointers 2019-10-28 08:07:29 +01:00
clayjohn
7b3d098b2b Fixed using compressed textures and add work around for firefox webgl mesa sampler limit 2019-10-27 23:53:52 -07:00
Michael Alexsander
d92123ed97 Add "panel" style to PopupDialog 2019-10-27 19:45:03 -03:00
Hugo Locurcio
c5279432fd
Fix the default TextEdit background color
This closes #32724.
2019-10-25 14:51:59 +02:00
SeleckyErik
61bda112bd Refactor VideoPlayer and VideoStream
VideoStream:
- Fix const correctenss

VideoPlayer:
- Remove unused member variable last_frame
- Move _mix_audios function definition to source file
- Fix function parameter naming to match p_ convention
- Fix const correctness
- Add null checking
2019-10-24 01:35:47 +01:00
Rémi Verschelde
2408e214a7
Merge pull request #33006 from Chaosus/fix_billboard_bug
Allows change Sprite3D scale if Billboard mode is enabled
2019-10-23 21:41:19 +02:00
Yuri Roubinsky
fa9148f343 Allows change Sprite3D scale if Billboard mode is enabled 2019-10-23 14:32:59 +03:00
SeleckyErik
fa59defb53 Theme code refactoring
- Move GDScript-exposed function definitions from header to source file
- Add null check to functions taking list pointers as parameters
- Call clear() in copy_theme() if null is passed
2019-10-23 03:08:40 +01:00
Rémi Verschelde
1be39232b4
Merge pull request #32842 from LikeLakers2/animation-idx-to-track-idx
Changes the name of all parameters referring to track indices within Animation, to `track_idx`
2019-10-22 14:55:21 +02:00
LikeLakers2
68552d9a4b Changes the name of all parameters referring to track indices within Animation, to "track_idx" 2019-10-14 18:08:41 -04:00
Aaron Franke
aeb7075628
Replace vector == and is_zero_approx(distance) with is_equal_approx
Internal changes only
2019-10-14 16:47:42 -04:00
qarmin
616ab4fac2 Small fixes to redundand code, copy paste bugs 2019-10-14 11:40:55 +02:00
Hugo Locurcio
c8a8be6dd1
Optimize images losslessly using oxipng -o6 --strip all --zopfli 2019-10-12 23:23:33 +02:00
Rémi Verschelde
062650860a
Merge pull request #32731 from codecustard/fix_concaveshape_not_selecting
Fixes concaveshape not selecting in viewport
2019-10-11 14:55:47 +02:00
Emmanuel Barroga
29690f6aec Fixes concaveshape not selecting in viewport
This PR resolves the issue of ConcaveShapes not being selectable in the Viewport.
2019-10-11 03:42:36 -07:00
Yuri Roubinsky
b217babca2 [VShaders] Added sampler port to CubeMap, fixed parsing in expresssion s 2019-10-11 10:36:04 +03:00
Rémi Verschelde
2c84a9651f
Merge pull request #32707 from Chaosus/vs_lod_textures
Uses LoD even if UV slot is not used in visual shader textures
2019-10-10 12:37:12 +02:00
Rémi Verschelde
cfc26f53d6
Merge pull request #32705 from qarmin/validate_array_index_stylebox
Validate array indexes in StyleBox
2019-10-10 12:14:09 +02:00
Yuri Roubinsky
d2fd2f32fc Uses LoD even if UV slot is not used in visual shader textures 2019-10-10 13:11:04 +03:00
qarmin
00b86b29f1 Validate array indexes in StyleBox 2019-10-10 11:48:58 +02:00
Yuri Roubinsky
0ec352213d Removed "rebuild" function from public interface of VisualShader 2019-10-10 12:15:55 +03:00
Yuri Roubinsky
fec8da3c5e Makes cube maps to be works in visual shaders 2019-10-09 12:13:53 +03:00
Rémi Verschelde
e2f1b30565
Merge pull request #32618 from nekomatata/sprite-to-polygon
Sprite to polygon conversion improvements
2019-10-08 16:13:38 +02:00
Rémi Verschelde
a65019f41a
Merge pull request #32606 from cbolgiano/bugfix/32294
Fixes Default Angular Damp in Project Settings Disallows Fractional Input #32294
2019-10-08 06:34:25 +02:00
devbox
f5bb9a98dc 32294: Changed the default_angular_damp value to a float.
32294: Added hints for both 2d/3d linear/angular.

32294: Added hints for both 2d/3d linear/angular.
2019-10-07 18:15:20 -04:00
PouleyKetchoupp
1e301479da Sprite to polygon conversion improvements
- No reduced Rect in march square algorithm, it was causing inconsistent cases near the borders and made the outline less accurate
- Ignore invalid generated polygons (under 3 points) to avoid unnecessary errors and crashes
- Error popup only when no polygon could be generated at all
- Added option to shrink pixels (to get rid of small separate islands)
- Fixed polygon preview (lines were sometimes not showing along the borders)

Fixes #32564, #29267
2019-10-07 13:19:30 +02:00
Rémi Verschelde
f84bf7e8a8
Merge pull request #32351 from nekomatata/texture-rect-size-update
Update TextureRect when its Texture is modified directly
2019-10-07 08:57:17 +02:00
PouleyKetchoupp
c7834ee566 Update TextureRect and Sprite when their Texture is modified directly.
Modified Sprite to use "changed" signal instead of _changed_callback to make it work when tool is disabled (change receptors are editor only).

Fixes #32349
2019-10-05 17:32:46 +02:00
Yuri Roubinsky
b11d15d5c3 Makes Texture and TextureUniform in visual shaders to use UV by default 2019-10-03 16:59:49 +03:00