Commit graph

2035 commits

Author SHA1 Message Date
Yetizone
701493ab33 mesh_library.h: Update header guard to reflect file name 2020-09-08 15:12:31 +03:00
Yuri Roubinsky
e50b2e58b2 Added active boolean to particles mode output in visual shaders 2020-09-07 19:21:22 +03:00
Yuri Roubinsky
dc6685d28f Remakes particles in visual shaders 2020-09-07 13:33:51 +03:00
Yuri Roubinsky
e2aca7e047 Fix some broken visual shader nodes 2020-09-07 12:39:20 +03:00
Rémi Verschelde
753b2bd010
Merge pull request #41767 from lolleko/patch-1
Remove ArrayMesh::surface_remove declaration
2020-09-07 08:33:12 +02:00
reduz
d0bddf53c5 Implement manual particle emission and particle sub emitters. 2020-09-06 10:29:27 -03:00
Yuri Roubinsky
f188c41ffd Cleanup constructor code in visual shader nodes 2020-09-05 16:13:38 +03:00
Lorenz Junglas
9367310e2b
Remove ArrayMesh::surface_remove declaration
Removal was omitted in 449df8f688
2020-09-04 16:27:59 +02:00
Rémi Verschelde
de284f931d
doc: Sync classref with current source 2020-09-04 10:43:11 +02:00
bruvzg
80b8eff6aa
[Complex Test Layouts] Change String to use UTF-32 encoding on all platforms. 2020-09-03 19:56:24 +03:00
Rémi Verschelde
d84954a281
Merge pull request #41459 from Paulb23/nested_color_regions
Fix colour region end key seach and start key order
2020-09-03 11:32:04 +02:00
Yuri Roubinsky
58f0aa44d1
Merge pull request #41724 from Chaosus/vs_fix_particles
Restore Particles functionality in visual shader
2020-09-03 11:18:09 +03:00
Yuri Roubinsky
c291b1d23c Restore Particles functionality in visual shader 2020-09-03 10:22:00 +03:00
Rémi Verschelde
1956c7ad33
Merge pull request #41533 from Chaosus/vs_fix_specular
Fix specular render_mode for visual shaders
2020-09-03 07:36:58 +02:00
Juan Linietsky
f5f27bacdb Re-Implement GPU particles on master.
-No new features yet
-Unlike godot 3.x, sorting happens using GPU
2020-09-02 21:37:11 +02:00
Rémi Verschelde
74dbcf1e4d
Merge pull request #30148 from zaksnet/fix-texture-editor
Adds automatic update for StyleBoxTexture > region_rect
2020-08-31 13:25:28 +02:00
Andrii Doroshenko (Xrayez)
528056a3c5 Make AnimatedTexture.MAX_FRAMES public
The constant is already exposed in GDScript, but not in C++.
This information is useful for implementing animated texture
resource importers via modules.
2020-08-30 23:44:41 +03:00
Zak
7d7727bade Adds automatic update for region_rect
When changing the texture region for a StyleBox, the regions was not updating automatically in the Texture editor.
2020-08-29 19:46:52 +02:00
Yuri Roubinsky
4e2d699745 Fix specular render_mode for visual shaders 2020-08-28 12:50:46 +03:00
Paulb23
6cdcdbc242 Fix color region end key seach and start key order 2020-08-22 19:55:44 +01:00
Juan Linietsky
4e52c75a98
Merge pull request #41345 from clayjohn/VULKAN-sky-fog
Add fog to sky shaders
2020-08-20 09:50:52 -03:00
clayjohn
9d341acf2d Add fog to sky shaders 2020-08-19 22:58:14 -07:00
jjjlalonde@gmail.com
94b09da9a1 Update ResourceLoaderText::load to not update progress if resources are 0
Include check in other progress update statement

Update additional progress update statement
2020-08-16 13:12:21 -07:00
Juan Linietsky
6a5ecfdef1 Restored fog (non volumetric).
Uses a simpler and more intuitive implementation based on density.
Its less flexible than before, but its easier to get nice results.
2020-08-13 22:09:22 -03:00
Juan Linietsky
079ca220e1 Added volumetric fog effect. 2020-08-13 11:28:45 -03:00
Rémi Verschelde
dc90b17691
Merge pull request #41166 from somnathsarkar/gradient-fix
Sort points in a Gradient for color and offset updates.
2020-08-12 12:38:46 +02:00
Somnath Sarkar
d5d832417e Sort points in a Gradient for color and offset updates. 2020-08-12 01:55:41 -04:00
Rémi Verschelde
5ffbc7d678
Merge pull request #40964 from DrRevert/debug-mesh-lines-const
Change Shape3D::get_debug_mesh_lines into const methods
2020-08-11 19:02:19 +02:00
Paulb23
5cf2cf8646 Fix colour region continuation over blank lines, issue 41120 2020-08-08 15:36:46 +01:00
Arkadiusz Marcin Kołek
8e1c9ff1c1 Shape3D::get_debug_mesh_lines const methods 2020-08-02 11:10:43 +02:00
Yuri Roubinsky
4d52456613 Fix small reconnection bug in visual shader 2020-07-31 10:40:05 +03:00
Brian Semrau
69d1c48b73 Fixed shader editor comment highlighting 2020-07-28 15:16:24 -04:00
Yuri Roubinsky
cf03f90fa8
Merge pull request #40785 from Chaosus/vs_uniform_ref
Added UniformRef visual shader node
2020-07-28 16:17:37 +03:00
Yuri Roubinsky
7ddaff47a3 Added UniformRef visual shader node 2020-07-28 14:44:53 +03:00
Yuri Roubinsky
8fefdcf113 Added default value for uniforms in visual shaders 2020-07-27 15:44:22 +03:00
Yuri Roubinsky
167f033782 Optimize code generation for fresnel node in visual shaders 2020-07-27 11:35:53 +03:00
Yuri Roubinsky
5dfef9d8bc Removes redundant code generation in VisualShaderNodeTextureUniform 2020-07-26 04:28:07 +03:00
Tomasz Chabora
e1a1bb0a6e Keep transition value when replacing key 2020-07-23 22:59:04 +02:00
Rémi Verschelde
a5fb445121
Merge pull request #40450 from asmaloney/spelling
Fix spelling & grammar in comments, docs, and messages
2020-07-21 22:14:04 +02:00
Andy Maloney
4dda62f591 Fix spelling & grammar in comments, docs, and messages 2020-07-21 15:17:23 -04:00
Pedro J. Estébanez
80a5df4821 Add DynamicFont::get_available_chars() 2020-07-20 17:44:39 +02:00
Rémi Verschelde
2921827387
Merge pull request #40327 from pkdawson/patch-1
Avoid overflow when calculating visible_cells
2020-07-14 14:16:29 +02:00
Patrick Dawson
9e28df22a0 Avoid overflow when calculating visible_cells 2020-07-13 16:53:58 +02:00
Paulb23
bc4cee4458 Extract Syntax highlighting from TextEdit and add EditorSyntaxHighlighter
- Extacted all syntax highlighting code from text edit
- Removed enable syntax highlighting from text edit
- Added line_edited_from signal to text_edit
- Renamed get/set_syntax_highlighting to get/set_syntax_highlighter
- Added EditorSyntaxHighligher
2020-07-11 17:09:58 +01:00
Paulb23
156daddaaf Expose Syntax highlighter for editor plugins 2020-07-11 15:40:00 +01:00
Paulb23
2f1080be9b Convert syntax highlighters into a resource 2020-07-11 15:26:58 +01:00
Rémi Verschelde
9678a41b19
Merge pull request #40272 from clayjohn/VULKAN-time-slicing
Add incremental update mode to sky
2020-07-11 10:00:39 +02:00
clayjohn
a54f93c169 Add incremental update mode to sky 2020-07-11 00:10:15 -07:00
Marcel Admiraal
7517821950 Add missing overrides to visual_shader_nodes.h 2020-07-10 21:25:37 +01:00
Rémi Verschelde
dcd11faad3
Merge pull request #40253 from madmiraal/add-override-keywords
Add override keywords.
2020-07-10 21:04:23 +02:00
Yuri Roubinsky
ecb5f7ea23 Added 'fma' function to shader language 2020-07-10 19:58:03 +03:00
Marcel Admiraal
26fcf2b04c Add override keywords. 2020-07-10 13:56:54 +01:00
Juan Linietsky
110e650dc8 Change how default fonts are created, fixes #39235
Also fixes file dialog icons.
2020-07-03 21:29:12 -03:00
lordkettune
4313a7bdc8 Fix issues with custom tracks on reimport 2020-07-02 16:08:20 -07:00
Rémi Verschelde
67e4082b1e
Merge pull request #37350 from aaronfranke/force-impulse
Refactor physics force and impulse code to use (force, position) order
2020-07-02 18:39:16 +02:00
Rémi Verschelde
372136fe75 Environment: Refactor code for readability + more
- Makes all boolean setters/getters consistent.
- Fixes bug where `glow_hdr_bleed_scale` was not used.
- Split CameraEffects to their own source file.
- Reorder all Environment method and properties declarations,
  definitions and bindings to be consistent with each other
  and with the order of property bindings.
- Bind missing enum values added with SDFGI.
- Remove unused SDFGI enhance_ssr boolean.
- Sync doc changes after SDFGI merge and other misc changes.
2020-07-01 14:44:45 +02:00
Hugo Locurcio
a31fc59ff3 Write "Aces" tonemapping in uppercase as it's an acronym 2020-06-30 15:21:35 +02:00
Juan Linietsky
201d606b3d Addition of SDFGI for open world global illumination
Move GI to a deferred pass
2020-06-26 11:06:48 -03:00
Hugo Locurcio
9bd2d7a617
Fix default editor/project Button styles after ToolButton removal
Before this fix, all Buttons made with the default project theme
looked flat until hovered.
2020-06-24 17:21:47 +02:00
Hugo Locurcio
31b7f02a29
Remove ToolButton in favor of Button
ToolButton has no redeeming differences with Button;
it's just a Button with the Flat property enabled by default.
Removing it avoids some confusion when creating GUIs.

Existing ToolButtons will be converted to Buttons, but the Flat
property won't be enabled automatically.

This closes https://github.com/godotengine/godot-proposals/issues/1081.
2020-06-19 20:49:49 +02:00
Yuri Roubinsky
cb9cbf840d Added Texture2DArray support to visual shaders 2020-06-19 18:02:05 +03:00
Rémi Verschelde
78d09a4163
Merge pull request #37903 from Xrayez/shape-2d-draw-bind
Bind Shape2D draw method
2020-06-16 15:15:51 +02:00
Yuri Roubinsky
cc6ca5f1eb Use path instead classname to prevent errors for exported visual shaders 2020-06-15 21:44:03 +03:00
Michael Alexsander
637927f803 Add generic file icon and its modulation to the 'FileDialog' 2020-06-08 10:31:45 -03:00
Rémi Verschelde
c080ec5da2 PackedScene: Prevent crash when root node has parent attribute
The crash happens further down when setting an invalid owner in
`Node::_set_owner_nocheck` but I couldn't figure out how to fix it.

But here the proper fix is to catch the invalid scene file early on
and fail loading it.

Part of #17372.
2020-06-08 13:07:07 +02:00
Marcus Brummer
ffbb211bbe Set "shader_param/" prefix in Shader::has_param() 2020-06-04 17:41:10 +02:00
Phischermen
2fc274d572 Made property hint consistent with other property hints 2020-06-03 13:01:27 -07:00
Rémi Verschelde
7460bc36dd
Merge pull request #39130 from Calinou/dynamicfont-disable-outline-antialiasing
Disable antialiasing on the DynamicFont outline as well when requested
2020-06-03 12:59:15 +02:00
Aaron Franke
ba27deef06
Refactor physics force and impulse code 2020-06-02 23:18:59 -04:00
Andrii Doroshenko (Xrayez)
9bb070b030 Move RayShape2D implementation into its own translation unit 2020-06-01 01:52:07 +03:00
Rémi Verschelde
1620669f4e
Merge pull request #39051 from Xrayez/geometry-split
Split `Geometry` singleton into `Geometry2D` and `Geometry3D`
2020-05-29 12:10:37 +02:00
Hugo Locurcio
2919fc7317
Disable antialiasing on the DynamicFont outline as well when requested
This partially addresses
https://github.com/godotengine/godot-proposals/issues/943.
2020-05-28 22:30:38 +02:00
Andrii Doroshenko (Xrayez)
69d5de632e Split Geometry singleton into Geometry2D and Geometry3D
Extra `_2d` suffixes are removed from 2D methods accoringly.
2020-05-27 14:28:34 +03:00
Maganty Rushyendra
a4413710f9 Expose get_char_size() from Font instead of BitmapFont
`get_char_size()` is a public virtual function defined in the `Font`
class. Implementations exist for both `BitmapFont` and `Dynamic Font`.
However, it was only exposed to the GDScript API through the Bitmap
Font, and not for Dynamic Font.

This commit exposes the function through `Font` instead.

Fixes #23967
2020-05-27 17:28:23 +08:00
rileylyman
40ce9bfc2d skip extra newline in .tscn when renaming dependency 2020-05-25 14:25:34 -07:00
Dominik 'dreamsComeTrue' Jasiński
08377b3f04 Clarifies 'icon_separation' in TabContainer (instead of 'hseparation')
Fixes: #38911
2020-05-21 21:53:17 +02:00
clayjohn
4408efade3 Add night sky to PhysicalSkyMaterial 2020-05-16 12:59:55 -07:00
Hugo Locurcio
d935a4348d
Remove HQ2X and the Image.expand_2x_hq2x() method
As of Godot 3.0, HQ2X is no longer used to upscale the editor theme
and icons on hiDPI displays, which limited its effective uses.
HQ2X was also used to upscale the project theme when the "Use Hidpi"
project setting was enabled, but results were often less than ideal.
The new StyleBoxFlat and SVG support also make HQ2X less important
to have as a core feature.

This decreases binary sizes slightly (-150 KB on most platforms,
-212 KB on WebAssembly release).

This partially addresses #12419.
2020-05-16 16:10:50 +02:00
Rémi Verschelde
0ee0fa42e6 Style: Enforce braces around if blocks and loops
Using clang-tidy's `readability-braces-around-statements`.
https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14 21:57:34 +02:00
Rémi Verschelde
07bc4e2f96 Style: Enforce separation line between function definitions
I couldn't find a tool that enforces it, so I went the manual route:
```
find -name "thirdparty" -prune \
  -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \
  -o -name "*.glsl" > files
perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files)
misc/scripts/fix_style.sh -c
```

This adds a newline after all `}` on the first column, unless they
are followed by `#` (typically `#endif`). This leads to having lots
of places with two lines between function/class definitions, but
clang-format then fixes it as we enforce max one line of separation.

This doesn't fix potential occurrences of function definitions which
are indented (e.g. for a helper class defined in a .cpp), but it's
better than nothing. Also can't be made to run easily on CI/hooks so
we'll have to be careful with new code.

Part of #33027.
2020-05-14 16:54:55 +02:00
Rémi Verschelde
0be6d925dc Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks
Which means that reduz' beloved style which we all became used to
will now be changed automatically to remove the first empty line.

This makes us lean closer to 1TBS (the one true brace style) instead
of hybridating it with some Allman-inspired spacing.

There's still the case of braces around single-statement blocks that
needs to be addressed (but clang-format can't help with that, but
clang-tidy may if we agree about it).

Part of #33027.
2020-05-14 16:54:55 +02:00
Rémi Verschelde
a1aaed5a84 Remove redundant void argument lists
Using clang-tidy's `modernize-redundant-void-arg`.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-redundant-void-arg.html
2020-05-14 13:51:45 +02:00
Rémi Verschelde
dcd1151d77 Enforce use of bool literals instead of integers
Using clang-tidy's `modernize-use-bool-literals`.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-bool-literals.html
2020-05-14 13:45:01 +02:00
Rémi Verschelde
1f6f364a56 Port member initialization from constructor to declaration (C++11)
Using `clang-tidy`'s `modernize-use-default-member-init` check and
manual review of the changes, and some extra manual changes that
`clang-tidy` failed to do.

Also went manually through all of `core` to find occurrences that
`clang-tidy` couldn't handle, especially all initializations done
in a constructor without using initializer lists.
2020-05-14 10:01:56 +02:00
Rémi Verschelde
d3bd219362 doc: Sync classref with current source
Adds API changes from the new GPU lightmapper.
2020-05-12 10:10:50 +02:00
Juan Linietsky
1bea8e1eac New lightmapper
-Added LocalVector (needed it)
-Added stb_rect_pack (It's pretty cool, we could probably use it for other stuff too)
-Fixes and changes all around the place
-Added library for 128 bits fixed point (required for Delaunay3D)
2020-05-10 15:59:09 -03:00
Rémi Verschelde
94721f5ab8 Revert "Renamed plane's d to distance"
This reverts commit ec7b481170.

This was wrong, `d` is not a distance but the `d` constant in the
parametric equation `ax + by + cz = d` describing the plane.
2020-05-10 16:47:11 +02:00
Rémi Verschelde
69de7ce38c Style: clang-format: Disable AllowShortCaseLabelsOnASingleLine
Part of #33027.
2020-05-10 13:13:54 +02:00
Rémi Verschelde
e956e80c1f Style: clang-format: Disable AllowShortIfStatementsOnASingleLine
Part of #33027, also discussed in #29848.

Enforcing the use of brackets even on single line statements would be
preferred, but `clang-format` doesn't have this functionality yet.
2020-05-10 13:12:16 +02:00
Rémi Verschelde
9cc67b19b8
Merge pull request #38613 from MCrafterzz/plane
Renamed plane's d to distance
2020-05-10 13:06:55 +02:00
Marcel Admiraal
68eaaa6d6b Prevent CapsuleShape2D height from being less than zero. 2020-05-10 11:45:27 +01:00
Marcus Elg
ec7b481170 Renamed plane's d to distance 2020-05-10 12:12:51 +02:00
Marcus Elg
9a7e515d50 Rename Lineshapes d to distance 2020-05-09 15:10:00 +02:00
PouleyKetchoupp
4e14eefd94 Fixed export var default value in PackedScene when script is not loaded in editor 2020-05-08 12:43:23 +02:00
Rémi Verschelde
d7b85fbaa1
Merge pull request #31086 from volzhs/underline
Use underline position and thickness value in font file
2020-05-07 21:18:41 +02:00
Rémi Verschelde
42649565e9
Merge pull request #38475 from Chaosus/vs_quals
Added uniform qualifiers to visual shaders
2020-05-06 07:27:35 +02:00
Yuri Roubinsky
463e4ad0f5 Some fixes for canvas item visual shader inputs 2020-05-05 13:19:36 +03:00
Yuri Roubinsky
082542b525 Added uniform qualifiers to visual shaders 2020-05-05 11:25:48 +03:00
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
Tomasz Chabora
3a40c268a6 Add disabled theme icons for CheckBox 2020-04-10 15:10:29 +02: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
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