Commit graph

28607 commits

Author SHA1 Message Date
Andrii Doroshenko (Xrayez)
e95c24d783
Make property_list_changed_notify protected in Object
Alternative to `_change_notify()` to be called from within C++ classes.

Achieves low-level consistency with scripting, where this method is
exposed for updating the editor (inspector) with new values.

(cherry picked from commit 9aa06c3e65)
2020-12-29 13:52:13 +01:00
Dominik 'dreamsComeTrue' Jasiński
e0bdb19a62
Fix camera2d zoom when set to zero (causing ERROR: affine_invert: Condition ' det == 0 ' is true.)
Fixes: #41873
(cherry picked from commit aba477361d)
2020-12-29 13:50:49 +01:00
Yuri Roubinsky
8f5bdf6a63
Changes 'always show grid' hotkey to prevent conflict with 'pan mode'
(cherry picked from commit 1c546fdaea)
2020-12-29 13:49:59 +01:00
Rémi Verschelde
d839afdeb2
Merge pull request #44790 from lawnjelly/ewok_ninepatch_proxy
Batching - fix ninepatch proxy textures (e.g. animated)
2020-12-29 13:13:28 +01:00
lawnjelly
1e99e893ef Batching - fix proxy textures (e.g. animated) especially ninepatch
Ninepatch code has a check to prevent use of zero sized textures. This didn't deal properly with animated textures, which use a proxy (link to another texture).

This PR uses a generalised method of getting textures, with built in support for proxy textures and protection against infinite loops.
2020-12-29 10:40:17 +00:00
Rémi Verschelde
fb9f723bf1
Merge pull request #44746 from adamscott/fix-accessor-normalized-3.2
[3.2] Add missing "normalized" accessor property to glTF document
2020-12-28 10:46:22 +01:00
Adam Scott
d96fdcd45e Add missing "normalized" accessor property to glTF document for the 3.2 branch 2020-12-28 03:17:37 -05:00
Rémi Verschelde
74512fd876
Merge pull request #44711 from clayjohn/GLES3-auto-exposure-fxaa
Properly apply auto exposure with FXAA in GLES3
2020-12-27 10:54:11 +01:00
clayjohn
6cefadc233 Properly apply auto exposure with FXAA in GLES3 2020-12-26 15:23:08 -08:00
Rémi Verschelde
93172515de
Merge pull request #44683 from madmiraal/fix-etc-quality-3.2
[3.2] Fix ETC quality setting
2020-12-26 10:23:46 +01:00
lawnjelly
a237c671bb Improve 2d snapping
Partially revert change allowing sprite get_rect snapping to be controlled by `pixel_snap` again rather than `transform_snap` (to prevent breaking compatibility). Adds a final `use_camera_snap` project setting to allow snapping viewports as in reduz original PR.
2020-12-25 18:53:00 +00:00
Rémi Verschelde
626ca08108
Merge pull request #44679 from bruvzg/fix_outline_advance
[3.2] Use base character advances for outline drawing.
2020-12-25 15:18:52 +01:00
Rémi Verschelde
4436f95dce
Merge pull request #44458 from dedm0zaj/3.2_lightmap_capture_data_energy
[3.2] Lightness of dynamic objects from Energy BakedLightmapData
2020-12-25 15:07:31 +01:00
Marcel Admiraal
125032d8ee Fix ETC quality setting 2020-12-25 11:36:26 +00:00
bruvzg
7ed2cf79ae
[3.2] Use base character advances for outline drawing. 2020-12-25 13:27:36 +02:00
Rémi Verschelde
cddff0404d
Merge pull request #44610 from m4gr3d/fix_top_level_android_export_3_2
[3.2] Fix the `String::get_base_dir()` logic to properly check for top level directories on Windows
2020-12-23 23:57:44 +01:00
Rémi Verschelde
7ef143faaf
Merge pull request #44620 from bruvzg/m1_dragdrop_3
[3.2] Fix file drag-drop on M1 Macs.
2020-12-23 18:24:17 +01:00
bruvzg
36a6a713b4
[3.2] Fix file drag-drop on M1 Macs. 2020-12-23 18:01:02 +02:00
Rémi Verschelde
ebe9d61ec7
Merge pull request #44613 from lawnjelly/ewok_remove_options
Remove buffer orphaning options project settings
2020-12-23 16:47:02 +01:00
lawnjelly
15e57a0235 Remove buffer orphaning options project settings
These were only put in for the betas, in order to test hypotheses for stalling on Macs. It seems that most of the problems in the Mac editor have been solved by fixing the excessive redraw_requests.

As a result no one has reported any results from these options, but in future we will be able to refer users to try the beta versions, so there is no need to include them in the stable release. Indeed they are only likely to cause confusion.
2020-12-23 15:23:02 +00:00
Fredia Huya-Kouadio
94aa09a854 Fix the String::get_base_dir() logic to properly check for top level directories on Windows. 2020-12-23 00:43:03 -08:00
Rémi Verschelde
9c3293b844
Merge pull request #44306 from Demindiro/fix-conv-to-32bit-float
Fix Variant conversion to float instead of double
2020-12-21 01:36:18 +01:00
Rémi Verschelde
542acc8580
Merge pull request #44340 from lawnjelly/ninepatch_zerosize
Batching - Protection against zero and small sized ninepatches
2020-12-20 19:50:01 +01:00
Rémi Verschelde
8c63b65b67
Merge pull request #44489 from ForestKatsch/3.2
Fix PanoramaSky artifacts on Android/GLES2
2020-12-20 19:31:17 +01:00
Forest Katsch
8825aa8b5b Fixes #43667.
The root cause of the issue is that OpenGL ES 2 does not support the `textureCubeLod` function.
There are (optional) extensions to support this, but they don't appear to be exposed with the ES2 renderer (even though the hardware needed to support LOD features are certainly available.)
The existing shim in `drivers/gles2/shaders/cubemap_filter.glsl` just creates a macro:

```
 #define textureCubeLod(img, coord, lod) textureCube(img, coord)
```

But the third parameter of `textureCube` is actually a mip bias, not an absolute mip level.
(And it doesn't seem to work regardless.)
In this specific case, the `cubemap_filter` should only sample from the first level of the "source" panorama cubemap.
In lieu of a method to force a lod level of zero, I've chosen to comment out the switchover from a 2D equirectangular panorama to the cubemap version of the same image, therefore always sampling roughness values from the 2D equirectangular panorama.
This may cause additional artifacts or issues across the seam, but at least it prevents the glaringly obvious black areas.

---

This same issue (no fragment texture LOD support) has rather large repercussions elsewhere too; it means materials with larger cubemap density (i.e. planar or distant objects) will be far rougher than expected.
Since GLES 3 appears to properly support fragment `texture*Lod` functions, switching to the GLES 3 backend would solve this problem.

---

Root cause discovered with help from @KaadmY.
2020-12-20 10:32:30 -06:00
Rémi Verschelde
a4d25a115e
Merge pull request #44460 from theogen-ratkin/3.2
[3.2] Add interpolation parameter to resize_to_po2()
2020-12-19 09:36:01 +01:00
Rémi Verschelde
344a02834b
Merge pull request #43899 from madmiraal/fix-43852-3.2
[3.2] Remove any constraints connected to a Bullet body when removing it
2020-12-19 09:31:04 +01:00
Theogen Ratkin
8f6a6ac8d0 Add interpolation parameter to resize_to_po2()
Image::resize_to_po2() now takes an optional p_interpolation parameter
that it passes directly to resize() with default value INTERPOLATE_BILINEAR.

GLES2: call resize_to_po2() with interpolate argument

Call resize_to_po2() in GLES2 rasterizer storage with either
INTERPOLATE_BILINEAR or INTERPOLATE_NEAREST depending on TEXTURE_FLAG_FILTER.

This avoids filtering issues with non power of two pixel art textures.
See #44379
2020-12-18 14:02:38 -04:00
Rémi Verschelde
68013d2393
Merge pull request #44470 from pycbouh/graph-minimap-3.2
[3.2] Add a minimap to the GraphEdit
2020-12-17 23:43:00 +01:00
Yuri Sizov
816fef21f9 Add a minimap to the GraphEdit 2020-12-18 01:31:17 +03:00
Rémi Verschelde
65c1db3131
Merge pull request #44305 from RevoluPowered/fbx-update-plugin
[fbx] Implement ColorIndex for Vertex Colors to ensure they are correct and duplicate vertexes correctly for multiple color attributes.
2020-12-17 21:19:59 +01:00
dedm0zaj
96e2887945 Lightness of dynamic objects from Energy Lightmap Capture Data 2020-12-17 22:02:08 +07:00
Rémi Verschelde
3f47cdc5c6
Merge pull request #44453 from RandomShaper/fix_crash_parsing_ref_3.2
Fix crash parsing a serialized Reference (3.2)
2020-12-17 13:15:15 +01:00
Pedro J. Estébanez
4dafa5b21e Fix crash parsing a serialized Reference 2020-12-17 12:24:55 +01:00
Rémi Verschelde
80c9f2d975
Merge pull request #44373 from neikeq/3.2-mono-wasm-m2n-hook
[3.2] Mono: Make Godot provide its own WASM m2n trampolines
2020-12-17 09:58:50 +01:00
Rémi Verschelde
9710a38637
Merge pull request #44435 from Calinou/fix-max-renderable-elements-hint
Fix invalid property hint for `max_renderable_elements` project setting
2020-12-16 21:59:29 +01:00
Hugo Locurcio
680312b95a
Fix invalid property hint for max_renderable_elements project setting
This closes #36240.
2020-12-16 19:33:15 +01:00
Rémi Verschelde
6e8146281e
Merge pull request #44428 from akien-mga/3.2-revert-43948
Revert "Don't open editor window when using --export, --doctool, or --gdnative-generate-json-api"
2020-12-16 15:31:30 +01:00
Rémi Verschelde
afbca1216e
Revert "Don't open editor window when using --export, --doctool, or --gdnative-generate-json-api"
This reverts commit 27393de36e.

Fixes #44403.
2020-12-16 15:02:10 +01:00
Rémi Verschelde
5d49894270
Merge pull request #44418 from skyace65/TypeHint3
[3.2] Document what can be used as a type hint
2020-12-16 14:18:05 +01:00
Rémi Verschelde
574ca8a8cd
Merge pull request #43560 from naithar/fix/ios-keyboard
[3.2] [iOS] Keyboard input changes
2020-12-16 05:43:23 +01:00
skyace65
04926adb8a [3.2] Document what can be used as a type hint 2020-12-15 22:34:25 -05:00
Sergey Minakov
f1fd0440f3 GUI: use cursor in TextEdit for non selected text. 2020-12-16 05:33:10 +03:00
Sergey Minakov
8b6357cf28 iOS: fix keyboard display 2020-12-16 05:05:38 +03:00
Sergey Minakov
4c3b84b3d7 GUI: send cursor data from TextEdit 2020-12-16 05:05:38 +03:00
Rémi Verschelde
c01ccab885
Merge pull request #44392 from madmiraal/fix-42285-3.2
[3.2] Remove Generic6DOFJoint precision property
2020-12-15 19:07:27 +01:00
Rémi Verschelde
6956b01cb5
Merge pull request #44371 from RevoluPowered/fix-parser-crash-mesh-geometry
[fbx] fix crash in FBX parser caused by mesh geometry
2020-12-15 13:04:08 +01:00
Marcel Admiraal
825ad65fc4 Remove Generic6DOFJoint precision property 2020-12-15 10:15:42 +00:00
Rémi Verschelde
40333a02de
Merge pull request #44385 from Calinou/doc-call-group-arg-limit
Document the argument count limit in `SceneTree.call_group()`
2020-12-15 08:47:42 +01:00
Hugo Locurcio
9c234abdc9
Document the argument count limit in SceneTree.call_group()
This limitation should be lifted in 4.0 thanks to the new method
binding system, but it's still present in 3.2.x.
2020-12-15 00:53:40 +01:00