Commit Graph

28220 Commits

Author SHA1 Message Date
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
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
Marcel Admiraal 557dce8e72 Mark the first shape as inside, not the second shape, when CSG shapes are
co-planer.
2020-08-12 07:28:33 +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
Rémi Verschelde 900949b316 i18n: Sync translations with Weblate 2020-08-11 16:07:11 +02:00
Yuri Roubinsky d0c705781c [3.2] Added UniformRef visual shader node 2020-08-11 15:04:06 +03:00
Rémi Verschelde 6477481e68
Merge pull request #41131 from totlmstr/3.2-missing-svg
[3.2] Add missing #ifdef SVG_ENABLED
2020-08-11 11:52:05 +02:00
Rémi Verschelde 702a16ffc4
Merge pull request #41146 from capnm/capnm-32x-pr41139
[3.2] Add option to disable virtual keyboard for TextEdit
2020-08-11 11:48:54 +02:00
Rémi Verschelde efbeafd08c
Merge pull request #41041 from qarmin/leak_bullet_shape
[3.2] Fixes leak when creating bullet shape
2020-08-10 19:47:08 +02:00