Commit Graph

1899 Commits

Author SHA1 Message Date
lawnjelly 8814578ceb MultiRect - Fix flushing in TextEdit
The FontDrawer used in TextEdit was previously not being flushed before drawing auto-completion boxes. This was causing rendering artifacts.
This PR also increases the backward compatibility of the MultiRect OFF mode, by forcing a flush after each character.
2023-07-15 14:02:21 +01:00
wareya a40ecc71e6 move autotile fallback helper functions + fix comments and docs 2023-06-10 12:17:57 -04:00
wareya 73ad6517e4 make autotiles fall back to the most similar bitmask using heuristics 2023-06-09 22:27:19 -04:00
lawnjelly 6f8e632848 Make acos and asin safe
A common bug with using acos and asin is that input outside -1 to 1 range will result in Nan output. This can occur due to floating point error in the input.

The standard solution is to provide safe_acos function with clamped input. For Godot it may make more sense to make the standard functions safe.
2023-05-11 09:51:44 +01:00
lawnjelly 43b6205887 Multirect - Fix refining regions for all derived Textures
Fixes allowing all derived texture types to modify region prior to rendering.
2023-05-08 14:48:46 +01:00
Rémi Verschelde e250950760
Merge pull request #76703 from kleonc/tilemap-nested-atlas-texture-rendering-fix
[3.x] Fix rendering tiles using nested AtlasTextures
2023-05-08 14:58:07 +02:00
kleonc 12c923cb8b Fix rendering tiles using nested AtlasTextures 2023-05-03 18:29:28 +02:00
Ninni Pipping 48347499c2 Fix size error in `BitMap.opaque_to_polygons`
Previous estimate of upper limit on size was incorrect
2023-04-28 19:03:49 +02:00
Rémi Verschelde a6b01ca69d
Merge pull request #75995 from AThousandShips/3_x_autohide_theme
[3.x] Don't apply scale to autohide theme property
2023-04-17 17:25:35 +02:00
Rémi Verschelde e3656745cc
Merge pull request #69723 from lawnjelly/surface_tool_revamp
SurfaceTool - efficiency improvements
2023-04-17 17:25:30 +02:00
Ninni Pipping 1c66257568 [3.x] Don't apply scale to autohide theme property 2023-04-12 17:45:27 +02:00
lawnjelly 910ddd13c4 Batching - Add MultiRect command
Large groups of similar rects can be processed more efficiently using the MultiRect command. Processing common to the group can be done as a one off, instead of per rect.

Adds the new API to VisualServerCanvas, and uses the new functionality from Font, BitmapFont, DynamicFont and TileMap, via the VisualServerCanvasHelper class.
2023-03-10 10:58:04 +00:00
Rémi Verschelde 48217503c5
Merge pull request #68576 from Maran23/rich-text-label-bbcode-color-tag-fix
[3.x] Fix RichTextLabel: BBCode [color] tags are not counting in font char spacing
2023-02-13 13:08:13 +01:00
Fredia Huya-Kouadio aed400cce2
Merge pull request #71654 from m4gr3d/increase_scroll_bar_size_for_touchscreen_3x
[3.x] Update the size of the scrollbar for the editor on touchscreen devices
2023-01-31 21:52:03 -08:00
lawnjelly 5a0cb54b3a Improve error messages and classref for occluders and portals
Misused functions would previously produce no error messages which was confusing for users.
2023-01-24 14:05:48 +00:00
Fredia Huya-Kouadio 8170b7ae1e Add a theme usability setting which updates the touch area of UI elements (e.g: scrollbar) for the editor on touchscreen devices 2023-01-22 07:09:48 -08:00
Rémi Verschelde abf5f72073
Merge pull request #70717 from Calinou/particles-tweak-animation-offset-property-hint-3.x
Tweak particles animation offset property hint to allow more precise values (3.x)
2023-01-11 11:57:38 +01:00
Rémi Verschelde 1426cd3b3a
One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".

Backported from #70885.
2023-01-10 15:26:54 +01:00
Marius Hanl fa304b5130 Fix RichTextLabel: BBCode [color] tags are not counting in font char spacing
Each BBCode tag is drawn individually, so we have to add the character spacing manually.
2023-01-03 07:53:19 +01:00
Hugo Locurcio 717cbbd6e7
Tweak particles animation offset property hint to allow more precise values 2022-12-29 22:17:47 +01:00
Rémi Verschelde 7a46f61089
Merge pull request #70368 from pfertyk/issue-70187-bit-map-resize-spams-errors
Fix `BitMap.resize` error spam
2022-12-22 08:56:25 +01:00
kleonc 7b196dd0ee AtlasTexture Fix calculating rects when flipping
(cherry picked from commit c3851b91db)
2022-12-21 09:34:39 +08:00
Paweł Fertyk ddd7189b39 Fix `BitMap.resize` error spam
Fixes #70187.
2022-12-20 21:54:21 +01:00
FireForge 0d602ce881 Add Vector2/3 linking to more properties
- Camera2D.zoom
- CanvasLayer.scale
- ParallaxBackground.scroll_base_scale
- ParallaxLayer.motion_scale
- Polygon2D.texture_scale
- SpatialMaterial.uv1_scale
- SpatialMaterial.uv2_scale

(cherry picked from commit 92817aa72f)
2022-12-18 10:32:04 +08:00
lawnjelly ff714fbe02 SurfaceTool - efficiency improvements
Changed to use LocalVector rather than linked lists.
2022-12-12 20:12:50 +00:00
Rémi Verschelde 5d5f0a3958
Merge pull request #69963 from lawnjelly/variant_parser_optional_readahead_3
VariantParser make readahead optional [3.x]
2022-12-12 19:02:17 +01:00
lawnjelly 776c9d0579 VariantParser make readahead optional
It turns out some areas are independently moving / reading filepointers outside of the VariantParser, which can cause the readahead caching to get out of sync.

This PR makes the VariantParser readahead to be optional to allow for these use cases.
2022-12-12 15:44:39 +00:00
Hugo Locurcio 56ac14fbf0
Use circular fade instead of linear fade for distance fade
This makes distance fade look the same regardless of the camera angle,
for all distance fade modes (Pixel Alpha, Pixel Dither, Object Dither).
Distance fade now behaves like fog in this regard.
2022-12-12 15:16:34 +01:00
bruvzg efa6b01c97
[TextMesh, 3.x] Fix auto-translation and ignore control chars. 2022-12-04 23:11:28 +02:00
jbcolli2 dd807ca5e7
Changed normal of CylinderMesh to account for slanted side.
(cherry picked from commit 491ec622f6)
2022-11-30 15:34:26 +01:00
bruvzg 46e2e0f62e
[3.x] Improve font glyph cache packing shelf best height fit heuristic, delay font texture update, until texture is accessed. 2022-10-19 14:31:41 +03:00
Michael Alexsander 6059cf2594 Expose various color themes for `Button` 2022-10-12 18:19:52 -03:00
Haoyu Qiu 456c0ecda6 Remove leading spaces from enumerator name hints 2022-10-08 15:23:46 +08:00
Waridley 199f3d99c3 Support multiline strings in buttons 2022-10-01 21:50:39 -05:00
lawnjelly 96a1b86717 Bind Physics Interpolation functions in VisualServer
To allow maximum flexibility in the initial rollout, VisualServer functions were not bound in order to prevent compatibility issues if the API changed.

These functions are now bound to allow direct use from the VisualServer.
2022-08-30 18:06:12 +01:00
Rémi Verschelde a21221d70c
Merge pull request #64298 from Razoric480/raz/bin-cache
Fix binary resource internal cache not being filled at polling time
2022-08-29 07:04:31 +02:00
Rémi Verschelde 39ac24e278
Merge pull request #64745 from bruvzg/fix_mixed_font_color3
[3.x] Fix color modulation of the grayscale glyphs in font with mixed color / grayscale data.
2022-08-23 07:46:51 +02:00
Rémi Verschelde 812caa5f44
Merge pull request #58601 from Calinou/material-triplanar-sharpness-clamp-3.x 2022-08-22 22:21:59 +02:00
bruvzg 4d0c0f3ffa
Fix color modulation of the grayscale glyphs in font with mixed color / grayscale data. 2022-08-22 20:39:29 +03:00
Yuri Sizov 39f46613bb Backport fixes to documentation for paths, curves and navigation servers 2022-08-19 15:52:03 +03:00
Francois Belair d331e5c7ac Fix binary internal cache not being filled 2022-08-14 12:30:59 -04:00
Francois Belair 420794b61d Force external resources to have their path set 2022-08-09 23:50:45 -04:00
Rémi Verschelde 36fc99158d
Merge pull request #63971 from paddy-exe/spatial-shader-built-ins 2022-08-08 15:50:25 +02:00
Rémi Verschelde 4f1dc83b0d
Merge pull request #64044 from Calinou/add-torusmesh-3.x 2022-08-08 15:37:58 +02:00
Hugo Locurcio 659fa79479
Use interleaved gradient noise for distance fade
This provides better visuals and performance compared to the previous
ordered dither.
2022-08-07 15:23:43 +02:00
hoontee 53adb2a142
Add `TorusMesh` 2022-08-07 12:42:24 +02:00
Rémi Verschelde 14c9325b5d
Merge pull request #62408 from Razoric480/raz/fix-no-cache
[3.x] Fix nested resources being cached if no-cache argument used
2022-08-05 23:43:54 +02:00
Rémi Verschelde 61b5e35de5
Merge pull request #61559 from kleonc/triangle_mesh_from_triangle_strip_or_fan_3x
[3.x] Make `Mesh::generate_triangle_mesh()` handle `PRIMITIVE_TRIANGLE_STRIP` and `PRIMITIVE_TRIANGLE_FAN`
2022-08-05 22:35:52 +02:00
Rémi Verschelde 906a693934
Merge pull request #53852 from Calinou/particles-allow-negative-scale
Allow negative scale in Particles and CPUParticles
2022-08-05 22:34:43 +02:00
Rémi Verschelde 5d3b6eb073
Merge pull request #48372 from Calinou/gradienttexture-add-hdr-property-3.x
Add an `use_hdr` property to GradientTexture to allow storing HDR colors (3.x)
2022-08-05 22:33:44 +02:00