Commit Graph

1807 Commits

Author SHA1 Message Date
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
Hugo Locurcio 379e1789dd
Remove unused stb_truetype-based DynamicFont implementation
The DynamicFont implementation currently in use is based on
FreeType, which provides much better visual quality.

This old implementation wasn't exposed anywhere, so this shouldn't
break compatibility.

This decreases binary sizes by a few kilobytes.
2019-10-03 01:19:02 +02:00
Yuri Roubinsky 31ada3b685 Fix global code in visual shaders if two or more custom nodes are used 2019-10-02 17:13:19 +03:00
clayjohn afaa68628a updated defaults and documentation for GLES2 glow 2019-10-01 07:55:04 -07:00
Rémi Verschelde b60fdb21e9
Merge pull request #32461 from Chaosus/vs_sampler_type
Added sampler port type for visual shaders
2019-10-01 13:59:27 +02:00
Chaosus f14bcd8cc5 Added sampler port type for visual shaders 2019-10-01 13:20:08 +03:00
Rémi Verschelde 1f40117caa
Merge pull request #31845 from clayjohn/GLES2-BCS
Implement DOF blur, Glow, and BCS in GLES2
2019-10-01 09:21:31 +02:00
clayjohn 82f63633d1 Implement DOF blur, Glow, and BCS in GLES2 2019-09-30 08:04:31 -07:00
Rodolfo Ribeiro Gomes 20b493f790 fix dynamic font crash if no available font size 2019-09-29 12:05:11 -03:00
Rémi Verschelde d0e45e78a4 doc: Sync classref with current source
And various fixes to bindings, hyperlinks and an uninitialized variable.
2019-09-27 22:16:42 +02:00
Hugo Locurcio 70c4e96623
Draw an indicator to denote overbright colors in ColorPicker
This makes it faster to distinguish overbright colors from
"standard" colors.
2019-09-27 15:28:42 +02:00
Hugo Locurcio a199e2b263
Mention `MeshLibrary.get_item_preview()` not working in running project 2019-09-25 22:01:59 +02:00
Rémi Verschelde dec10dd776
Merge pull request #32051 from qarmin/some_error_explanation
Added some obvious errors explanations
2019-09-25 11:51:54 +02:00
qarmin 17732fe698 Added some obvious errors explanations 2019-09-25 10:28:50 +02:00
Rémi Verschelde 0c3335d1f3
Merge pull request #32309 from clayjohn/particles_tex_scale
Fix particles scale randomization
2019-09-24 18:05:44 +02:00
clayjohn bc94203add fix particles scale randomization 2019-09-24 08:03:53 -07:00
Rémi Verschelde 2f52d73c21
Merge pull request #31925 from bojidar-bg/31855-overriden-properties-docs
Add overriden properties to the documentation
2019-09-24 11:53:43 +02:00
Rémi Verschelde 823c3def72 Fix copyright headers and style issues 2019-09-24 11:52:06 +02:00
Rémi Verschelde 4f294b958f doc: Sync classref with current source
Fix a few missing bindings or unspecified argument names and default values.
2019-09-24 11:52:06 +02:00
Rémi Verschelde 159470df08
Merge pull request #32275 from godotengine/skin_support
Added skin support and simplified APIs to override bone position + glTF 2.0 import fixes
2019-09-23 15:02:15 +02:00
Rémi Verschelde cf1e914897
Merge pull request #32027 from lupoDharkael/group-order
Preserve group order in scene files
2019-09-23 09:24:56 +02:00
Hugo Locurcio 40a5de97e6
Remove an unused icon and constant in Tree 2019-09-20 17:50:13 +02:00
Rémi Verschelde 1e73a44e24
Merge pull request #31904 from byfron/styleboxflag_uvcoords
Computes UV coordinates of the canvas_item vertices of StyleBoxFlat
2019-09-19 20:04:46 +02:00
Juan Linietsky d81ddaf33e Added skin support and simplified APIs to override bone position. 2019-09-18 19:46:32 -03:00
Yuri Rou 6dcd4379ca Some formatting fixes in visual_shader_nodes.cpp 2019-09-18 19:04:40 +03:00
lupoDharkael d6269e1bc0 Preserve group order in scene files 2019-09-07 15:54:53 +02:00
Chaosus89 c188c5597f Removed useless code from Switch in visual shader 2019-09-05 09:07:13 +03:00
Chaosus89 bd507739ea Fix formatting error for bool in resulted code of visual shader 2019-09-05 08:32:24 +03:00
Yuri Roubinsky aadbb66dc2
Merge pull request #31926 from Chaosus/vs_switch
Some improvements for Switch node in visual shaders
2019-09-04 19:21:54 +03:00
Chaosus89 bf3024c172 Added missing OUTPUT_IS_SRGB and FRONT_FACING to visual shaders 2019-09-04 18:24:44 +03:00