Commit graph

27717 commits

Author SHA1 Message Date
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
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
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
Hugo Locurcio
c2d7d81ac8 Fix inconsistent indentation in the FreeDesktop MIME type XML
(cherry picked from commit 4dc6efc08e)
2020-08-14 00:32:04 +02:00
bruvzg
b0aabf2c03 [macOS] Fix crash on failed fork.
(cherry picked from commit d6e3a8a137)
2020-08-14 00:32:04 +02:00
Rémi Verschelde
5972495d99 Revert "Virtual keyboard size adjustment fixes"
Also reverts "[3.2] Move PopupWindow logic to GodotEditText on Android".

This reverts commits 69db38742f and.
ff0ada164b.
2020-08-14 00:32:04 +02:00
Fabio Alessandrelli
a97b84378c Remap script path when registering class.
Was causing `class_name`-defined scripts to not being loaded in exported
games due to the remap from `*.gd` to `*.gdc`/`*.gde`.

(cherry picked from commit fceb64827e)
2020-08-14 00:32:04 +02:00
Rémi Verschelde
f732cea0ff
Merge pull request #41231 from lawnjelly/force_inlines_are_evil
Removes some superfluous FORCE_INLINES
2020-08-13 23:07:34 +02:00
lawnjelly
e126b941be Removes some superfluous FORCE_INLINES
Compiler is usually in the best position to decide whether to inline functions. Great care must be taken using FORCE_INLINE because it can have unforeseen consequences with recursion, loops and bloat to the executable.

Here some FORCE_INLINES are removed in order to allow the compiler to make best choice and remove a compilation warning where unable to inline during a recursive function.

Fixes #41226
2020-08-13 17:58:47 +01:00
Rémi Verschelde
abf019d810
Merge pull request #41187 from bruvzg/fix_repeat_null_termination
Add missing NULL termination to the String::repeat function.
2020-08-11 16:37:01 +02:00
bruvzg
8dab067c01
Add missing NULL termination to the String::repeat function. 2020-08-11 17:23:44 +03:00