Commit Graph

28083 Commits

Author SHA1 Message Date
Hugo Locurcio a6f0810d51
Make the lack of AtlasTexture support in AnimatedTexture more prominent
See https://github.com/godotengine/godot/issues/33855.

(cherry picked from commit a7ad7ce3bd)
2020-08-21 02:28:17 +02:00
Hugo Locurcio 336bc03d66
Add an editor setting to invert 3D pan/orbit on the X axis
This also makes the invert Y axis option apply to 3D panning.

This closes #28082.

(cherry picked from commit 2c9d4ef961)
2020-08-21 02:28:17 +02:00
Rémi Verschelde 42dca43c50
Merge pull request #41029 from masi456/fix/40888
Make sure that Image is not locked before creation
2020-08-21 02:27:22 +02:00
Rémi Verschelde 2a692f41a3
Merge pull request #41364 from m4gr3d/fix_textedit_movement_bug_3_2
Fix issue causing the textedit to move upward
2020-08-21 02:25:25 +02:00
Rémi Verschelde 4d51c16b28
Merge pull request #41394 from Yetizone/3.2
Viewport Usage enumeration documentation
2020-08-21 02:05:14 +02:00
Rémi Verschelde 20e411545c
Merge pull request #41408 from neikeq/senkyu
3.2 New csproj style with backport of Godot.NET.Sdk
2020-08-21 01:57:54 +02:00
Ignacio Etcheverry c3954441f3 3.2 New csproj style with backport of Godot.NET.Sdk
This is a cherry-pick of
ced77b1e9b
with several 3.2 specific alterations.

There are a lot of build issues coming from
old style projects. At this point fixing every
single one of those would require adding patch
after patch to the project file, which is a
considerable amount work and makes the csproj
even more bloated than it already is.

As such I decided this effort would be better
spent back-porting the Sdk style support that's
already available in 4.0-dev to the 3.2 branch.

This will prevent many issues, but it will also
introduce other benefits, among them:

- While target framework stays as .NET Framework
  v4.7.2, it can be changed to .NET Standard 2.0
  or greater if desired.
- It makes it much easier to add future patches.
  They are added to Godot.NET.Sdk and the only
  change required in Godot code is to update the
  Sdk version to use.
- Default Godot define constants are also
  backported, which fixes IDE issues with the
  preprocessor.

There are a few differences in the changes
applied during patching of the csproj compared
to 4.0 with the purpose of preventing breaking
builds:

- 'TargetFramework' stays net472 both for new
  projects and when importing old ones. It can
  be manually changed to netstandard 2.0+ if
  desired though.

The following features are enabled by default for
new projects. Enabling them in imported projects
may result in errors that must be fixed manually:

- 'EnableDefaultCompileItems' is disabled as it
  can result in undesired C# source files being
  included. Existing include items are kept.
  As long as 'EnableDefaultCompileItems' remains
  disabled, Godot will continue taking care of
  adding and removing C# files to the csproj.
- 'GenerateAssemblyInfo' is disabled as it
  guarantees a build error because of conflicts
  between the existing 'AssemblyInfo.cs' and the
  auto-generated one.
- 'Deterministic' is disabled because it doesn't
  like wildcards in the assembly version (1.0.*)
  that was in the old 'AssemblyInfo.cs'.

Of importance:

This is a breaking change. A great effort was
put in avoiding build errors after upgrading a
project, but there may still be exceptions.

This also breaks forward compatibility. Projects
opened with Godot 3.2.3 won't work out of the box
with older Godot versions. This was already the
case with changes introduced in 3.2.2.

Albeit C# support in 3.2.x was still labeled as
alpha, we've been trying to treat it as stable
for some time. Still the amount of problems this
change solves justifies it, but no more changes
that break project compatibility are to be
introduced from now on (at least for 3.x).
2020-08-20 21:48:59 +02:00
Ignacio Etcheverry 4d7b7d9b73 3.2 C#: Upgrade GodotTools to nuget Microsoft.Build
This upgrade is needed in order to support
reading and editing project files that use Sdks
as well as other new features. A common example
in 3.2 is having to specify a PackageReference
version with a child element rather than the
attribute. This is no longer the case now.

Partial cherry-pick of f3bcd5f8dd
Most of the other changes from that commit were already partially
cherry-picked in 3928fe200f.
2020-08-20 21:45:34 +02:00
Ignacio Etcheverry e1f17a0b35 3.2 C#/Mono: Check assembly version when loading
Not sure if we should check revision too, but this is good enough for what we want.
This will be needed to load the correct Microsoft.Build when we switch to the nuget version.

Manual cherry-pick of af4acb5b11 (relevant parts)
2020-08-20 21:38:33 +02:00
Yetizone 5bc06c7014 Viewport Usage enumeration
Mention that 3D effects are not available when using USAGE_2D
2020-08-20 17:54:14 +03:00
Rémi Verschelde 9bf5a0b791
Merge pull request #41081 from naithar/feature/ios-framework-import-3.2
[iOS] [3.2] Export: Add a method to embed a framework
2020-08-19 14:11:27 +02:00
Sergey Minakov 910c554a1a iOS Export: Add a method to embed a framework
By default 'add_ios_framework' would not embed a framework to save previous behavior.
New 'add_ios_embedded_framework' would embed framework on export.
2020-08-19 14:54:59 +03:00
Rémi Verschelde a43bb5927d
Merge pull request #41346 from lawnjelly/kessel_useless_transform_bug
GLES2 batching - Fix redundant transform synchronization in batches
2020-08-19 10:26:32 +02:00
Fredia Huya-Kouadio a8240f7351 Fix issue causing the textedit to move upward 2020-08-18 17:05:23 -07:00
Rémi Verschelde 5a3096a1cd
Merge pull request #41088 from clayjohn/DOCS-32-Sprite3D
Update Sprite3D docs to reflect recent changes
2020-08-18 23:38:58 +02:00
lawnjelly ecd39094ed GLES2 2D fix normal mapping - batching and nvidia workaround
Normal mapping previously took no account of rotation or flips in any path except the TEXTURE_RECT (uniform draw) method. This passed flips to the shader in uniforms.

In order to pass flips and rotations to the shader in batching and nvidia workaround, a per vertex attribute is required rather than a uniform. This introduces LIGHT_ANGLE which encodes both the rotation of a quad (vertex) and the horizontal and vertical flip.

In order to optionally store light angles in batching, we switch to using a 'unit' sized array which can be reused for different FVF types, as there is no need for a separate array for each FVF, as it is a waste of memory.
2020-08-18 17:49:24 +01:00
lawnjelly 667c970b77 Optimize octree and fix octree leak
Prevents adding new octants until a limiting number of elements have been added to the current octant. This enables balancing the benefits of brute force against the benefits of spatial partitioning. The limit can be set per octree.

Project settings are added for rendering octree to set the best balance per project depending on number of tests per frame / tick, and the amount of editing of the octree.

Fixes octants being leaked when removing elements.

Optimize octree with cached linear lists

Storing elements in octants using linked lists is efficient for housekeeping but very slow for testing. This optimization stores additional local_vectors with Element pointers and AABBs which are cached and only updated when a dirty flag is set on the octant.

This is selectable with 2 versions of Octree : Octree and Octree_CL, Octree being the old behaviour. At present the cached list version is only used for the visual server octree (rendering) as it has only been demonstrated to be faster there so far.

This uses slightly more memory (probably a few kb in most cases) but can be significantly faster during testing (culling etc).

Co-authored-by: Sergey Minakov <naithar@icloud.com>
2020-08-18 11:02:21 +01:00
lawnjelly 2961d905bb GLES2 batching - Fix redundant transform synchronization in batches
In rare circumstances an item would issue multiple transform commands before a (non rect) draw command. The command syncronization would incorrectly start from first transform, instead of the current transform in these circumstances, which could have the result of missing drawing some commands from the end of the batch.

This had been shown in the wild occuring in debug collision polys. It was a benign error (sometimes visual elements would be lost), but did not cause any serious problems.

This PR fixes this synchronization error.
2020-08-18 08:37:07 +01:00
Rémi Verschelde 212744e7a5
Merge pull request #41318 from ThakeeNathees/autocompletion-enhanced-for-class-level
Auto completion enhanced for extends and class level identifier
2020-08-17 14:54:44 +02:00
Rémi Verschelde 2e7129c248
Merge pull request #41327 from bruvzg/win_tablet_modifiers3
[Windows] Fix modifier keys when using tablet input.
2020-08-17 14:38:15 +02:00
bruvzg 2b996cca67
[Windows] Fix modifier keys when using tablet input. 2020-08-17 14:43:23 +03:00
Rémi Verschelde a6ef6b10b2 Revert "Fixes the get_visible_line_count() of rich text label"
This reverts commit dc7e9d46e6.
2020-08-17 11:21:36 +02:00
Gordon MacPherson c1a5e9f513 fixed linker being slow on OSX
(cherry picked from commit 788c521ce8)
2020-08-17 11:05:53 +02:00
Michael Alexsander 8adfeda6f8 Make the editor's 'CheckButton' icon be smaller
(cherry picked from commit 0c182ce8e8)
2020-08-17 11:05:27 +02:00
Hugo Locurcio 62256e0b3a Reference Range signals in the Slider class documentations
See https://github.com/godotengine/godot-docs/issues/3837.

(cherry picked from commit eaa52cbb36)
2020-08-17 11:05:04 +02:00
Cheeseness e70b165c61 Skip indentation of empty lines when indenting a selection.
(cherry picked from commit 1f159306ed)
2020-08-17 11:04:36 +02:00
Hugo Locurcio d4740ee643 Document the lack of kerning support in DynamicFont
(cherry picked from commit e506479fce)
2020-08-17 11:04:32 +02:00
Thakee Nathees d53f5b55ec Auto completion enhanced for extends and class level identifier 2020-08-17 12:54:01 +05:30
Rémi Verschelde a10ae31c0f
Merge pull request #41315 from clayjohn/Polygon2D-crash
Check arrays before generating Polygon2D AABBs
2020-08-17 08:46:50 +02:00
Rémi Verschelde 5acc78ac81
Merge pull request #41314 from clayjohn/Sprite3D-uvs
Check for uncompressed uvs in Sprite3D
2020-08-17 08:44:51 +02:00
clayjohn 8571f7b041 Check arrays before generating Polygon2D AABBs 2020-08-16 21:08:52 -07:00
clayjohn d33a9aaacb Check for uncompressed uvs in Sprite3D 2020-08-16 19:19:14 -07:00
Rémi Verschelde 72d12289bb
Merge pull request #41286 from bruvzg/macos_on_top_3
[macOS] Fix "on top" not set on init, and resetting on window update.
2020-08-15 17:59:12 +02:00
bruvzg 2b1cfad591
[macOS] Fix "on top" not set on init, and reseting on window update. 2020-08-15 18:05:59 +03:00
Rafał Mikrut abd7c1833e Added Linux sanitizer with xvfb to github workspace 2020-08-14 12:15:58 +02:00
Rémi Verschelde 13a615bd9c
Merge pull request #41235 from akien-mga/3.2-cherrypicks
Cherry-picks for the 3.2 branch (future 3.2.3) - 6th batch
2020-08-14 00:42:25 +02:00
Rémi Verschelde e283d4b5c8 Update AUTHORS and DONORS list
New contributors added to AUTHORS:
@hinlopen, @naithar, @rrcore, @SkyLucilfer, @TwistedTwigleg

Thanks to all contributors and donors for making Godot possible!

---

Also changes to relevant code that parses the DONORS.md to match
the new tiers.

(cherry picked from commit d2d4c1c957)
2020-08-14 00:32:05 +02:00
Tomasz Chabora 7ce476c425 Expose NOTIFICATION_POST_ENTER_TREE
(cherry picked from commit 677796a2c3)
2020-08-14 00:32:05 +02:00
Umang Kalra 330afdd6cb Fix RichTextLabel center alignment bug
Fixes #40207.

(cherry picked from commit cec21ab82c)
2020-08-14 00:32:05 +02:00
Thakee Nathees b62872d5bc Documentation: clarify the indent parameter of JSON.print
(cherry picked from commit 3609351788)
2020-08-14 00:32:05 +02:00
Tomasz Chabora f592600ee8 Mention that Array.front/back throw error if empty
(cherry picked from commit 4ff1a34171)
2020-08-14 00:32:05 +02:00
Hazar 58a30199b4 grow_mask() description added
Description;
> Applies morphological dilation to the bitmap. The first argument is the dilation amount, Rect2 is the area where the dilation will be applied.

(cherry picked from commit 1c61c8ab55)
2020-08-14 00:32:05 +02:00
Gordon MacPherson 5db6095bde update to use scons compile db tool
(cherry picked from commit 974a4cde9d)
2020-08-14 00:32:05 +02:00
Maganty Rushyendra 69dc9c9417 Fix tile placement preview for rotated, skewed or scaled TileMaps
Ensures that the editor preview when placing a tile on a TileMap takes
into account the transformation of the TileMap. Previously, only the
origin of the Tile was transformed, but not its orientation or
scaling.

(cherry picked from commit cf04aabef1)
2020-08-14 00:32:05 +02:00
Antoine Félix 3211a51be8 Modify the scene only when color changed
Editor now changes a color in the inspector only when it is different
from the current one.

Solves fake unsaved changes in editor after using the ColorPicker.

Resolves: #40879
(cherry picked from commit f3626364fc)
2020-08-14 00:32:05 +02:00
Tomasz Chabora cea16907bb Properly disambiguate unsaved scripts
(cherry picked from commit 3082def404)
2020-08-14 00:32:05 +02:00
Andreas Haas abdcb7d299 DirectInput: use correct joypad id
Previously `joypad_count` was used as the index into the d_joypads array when initializing a new gamepad.
This caused the accidental override of an already connected device when a gamepad with a lower id was disconnected and connected again.

fixes #17566

(cherry picked from commit 802a0316c5)
2020-08-14 00:32:05 +02:00
Christopher Davis f19bab5165 platform: Update metadata for export platforms
Updates the logos of for macOS, Android, and iOS.

Addresses https://github.com/godotengine/godot-proposals/issues/1161

(cherry picked from commit 41d8c0c818)
2020-08-14 00:32:05 +02:00
Tomasz Chabora 5433b8470c Improve Vector2.angle() description
(cherry picked from commit a09078e64b)
2020-08-14 00:32:05 +02:00
Hugo Locurcio 0429779835 Improve the project README
- Use the SVG version of the logo.
- Mention console support in the first paragraph.
- Point contributors to the `#godotengine-devel` IRC channel.
- Improve formatting for better readability.
- Add more links when needed.
- Fix warnings reported by markdownlint.

(cherry picked from commit b0713e9e6c)
2020-08-14 00:32:04 +02:00