94 Commits

Author SHA1 Message Date
Spartan322
a30eb5a590 Merge commit godotengine/godot@6a6a1168a5 2025-05-07 10:35:16 -04:00
Daniel Kinsman
a0cc41b5ed Use libjpeg-turbo for improved jpg compatibility and speed
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-05-02 11:47:56 +02:00
Spartan322
8122592328 Merge commit godotengine/godot@80a3d205f1 2025-05-01 01:30:09 -04:00
Spartan322
2b59059dde Merge commit godotengine/godot@2d3bdcac35 2025-04-19 16:05:28 -04:00
Thaddeus Crews
ad40939b6f Core: Replace C math headers with C++ equivalents
- Minor restructuring to ensure `math_funcs.h` is the central point for math functions
2025-04-16 15:49:02 -05:00
Thaddeus Crews
f25fc34439 SCons: Add CPPEXTPATH for external includes 2025-04-02 07:29:08 -05:00
Lukas Tenbrink
ffa6ef220b Use append_ instead of parse_ for String methods. 2025-03-27 17:51:02 +01:00
Thaddeus Crews
324512e11c Style: Replace header guards with #pragma once 2025-03-07 17:33:47 -06:00
Spartan322
70b41e3288 Merge commit godotengine/godot@394508d26d 2025-02-22 02:02:27 -05:00
Rémi Verschelde
26ac8ce50f ThorVG: Explicitly enable embedded texture support with THORVG_FILE_IO_SUPPORT
This was made opt-in in 0.15.6 so we need to define it now.

Co-authored-by: Pāvels Nadtočajevs <7645683+bruvzg@users.noreply.github.com>
2025-02-12 19:05:28 +01:00
Spartan322
14bb3617ef Merge commit godotengine/godot@a372214a4a 2024-12-09 17:57:46 -05:00
Jakub Marcowski
5318008ce6 thorvg: Update to 0.15.5 2024-12-04 17:24:43 +01:00
Spartan322
cfc378b251 Merge commit godotengine/godot@fd4c29a189 2024-11-19 11:39:37 -05:00
A Thousand Ships
68f638cf02 Use (r)find_char instead of (r)find for single characters 2024-11-17 10:02:18 +01:00
Spartan322
6beb1eef9a Fix copyright headers referring to Godot 2024-10-27 11:17:29 -04:00
Spartan322
3679f5971a Merge commit godotengine/godot@1015a481ff 2024-10-24 18:01:23 -04:00
katsuhisa yuasa
4dad9c6c05 optimize ImageLoaderSVG::create_image_from_utf8_buffer 2024-10-19 14:09:34 +09:00
Dubhghlas McLaughlin
e8542b06ac Rebrand preambles to Redot
Credits:
Co-authored-by: Skogi <skogi.b@gmail.com>
Co-authored-by: Spartan322 <Megacake1234@gmail.com>
Co-authored-by: swashberry <swashdev@pm.me>
Co-authored-by: Christoffer Sundbom <christoffer_karlsson@live.se>
Co-authored-by: Dubhghlas McLaughlin <103212704+mcdubhghlas@users.noreply.github.com>
Co-authored-by: McDubh <103212704+mcdubhghlas@users.noreply.github.com>
Co-authored-by: Dubhghlas McLaughlin <103212704+mcdubhghlas@users.noreply.github.com>
Co-authored-by: radenthefolf <radenthefolf@gmail.com>
Co-authored-by: John Knight <80524176+Tekisasu-JohnK@users.noreply.github.com>
Co-authored-by: Adam Vondersaar <adam.vondersaar@uphold.com>
Co-authored-by: decryptedchaos <nixgod@gmail.com>
Co-authored-by: zaftnotameni <122100803+zaftnotameni@users.noreply.github.com>
Co-authored-by: Aaron Benjamin <lifeartstudios@gmail.com>
Co-authored-by: wesam <108880473+wesamdev@users.noreply.github.com>
Co-authored-by: Mister Puma <MisterPuma80@gmail.com>
Co-authored-by: Aaron Benjamin <lifeartstudios@gmail.com>
Co-authored-by: SingleError <isaaconeoneone@gmail.com>
Co-authored-by: Bioblaze Payne <BioblazePayne@gmail.com>
2024-10-11 02:26:51 -04:00
Thaddeus Crews
9f9ee0c813 SCons: Add unobtrusive type hints in SCons files 2024-09-25 09:34:35 -05:00
Rémi Verschelde
831ebda806 thorvg: Disable webp loader if corresponding module is disabled
Fixes #91873.
2024-05-13 13:01:34 +02:00
Rémi Verschelde
1cf9f37589 thorvg: Update to 0.13.3, add webp loader
Remove embedded png loader, we use the external (libpng) one.
2024-05-10 09:30:57 +02:00
Haoyu Qiu
66a3a944e2 Fix error when loading SVG imported as Image 2024-04-12 18:01:58 +08:00
Yuri Sizov
815038962f Improve error reporting in the asset library and in related types
This also makes errors related to asset image loading
verbose-only, because, frankly, users can't do much about
those errors. Spamming them with error messages
about some assets on the frontend being broken
is pointless.
2024-01-26 20:33:22 +01:00
Adam Scott
bd70b8e1f6 Add THREADS_ENABLED macro in order to compile Godot to run on the main thread 2024-01-17 13:58:29 -05:00
Martin Capitanio
e090b112ef ThorVG: update from v0.11.6 to v0.12.0
https://github.com/thorvg/thorvg/releases/tag/v0.12.0

Godot-related SVG bug fixes:

+ [SwEngine] Fixed a linear filling scaling issue.
      thorvg/thorvg#1834
+ [SwEngine] Path data not invalid even though
      it doesn't start with MoveTo.
      thorvg/thorvg#1848

Fixes #86128 Gradient issue.
2024-01-08 09:59:43 +01:00
Martin Capitanio
0983022e0c ThorVG: Update to v0.11.1
https://github.com/thorvg/thorvg/releases/tag/v0.11.1

Godot related:
+ [SwEngine] Enhanced the quality of the dash line corners.
+ [SVG] Fixed a regression bug related to maskContentUnit,
	userSpaceOnUse/objectBoundingBox.

Fixes #82982 icons.
Fixes #83198 svg ← png/jpg.
2023-10-16 13:48:22 +02:00
Martin Capitanio
aab650f2ef ThorVG: update to v0.11.0 release.
See https://github.com/thorvg/thorvg/releases/tag/v0.11.0

+ Infrastructure
    Repository folder structure was make it more intuitive and coherent.
        "thorvg/src/lib" -> "thorvg/src/common"
            (providing essential common functionalities
                used internally among the renderer and sub-modules)
        "thorvg/src/lib" -> "thorvg/src/renderer"
            (for vector drawing features)

+ SVG related
    Fix stroke regression https://github.com/thorvg/thorvg/issues/1670
    Support stroke dash offset function https://github.com/thorvg/thorvg/issues/1591#issuecomment-1681319321
    Support Focal property in Radial Gradient https://github.com/thorvg/thorvg/issues/1558
2023-09-29 19:50:19 +02:00
Rémi Verschelde
81949c2cd2 thorvg: Update to 0.10.7
Fixes #81618.
2023-09-26 22:43:44 +02:00
Martin Capitanio
ac9e259d3e Update ThorVG to v0.10.0
- Release Notes: https://github.com/thorvg/thorvg/releases/tag/v0.10.0
- API change ARGB8888_STRAIGHT -> ARGB8888S
- SVG-SCsub: Enable static ThorVG object linking
- SVG-SCsub: avoid building unused ThorVG parts
- update-thorvg.sh: add v0.10.0 and copy only the Godot relevant code
2023-08-09 17:15:59 +02:00
Felipe Augusto Marques
26eb3db234 Added Image's load_svg_from_(buffer|string)
No core dependency to the svg module.
2023-06-23 00:43:43 -03:00
Martin Capitanio
bfc498f3d0 SVG: fix tvg::Picture->size() and scale based errors.
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-04-05 19:15:21 +02:00
Rémi Verschelde
d95794ec8a 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".
2023-01-05 13:25:55 +01:00
HolonProduction
66fa776667 Add support for svg images in the asset lib.
Pixel based image formats are identified by magic numbers. This is not possible with svg therefore svg parsing is tried and if it succeeded the result is used.

WebP and bmp support is added as well. But I could not test it as I am not able to run a local instance of the asset lib and there is no asset using those formats.
2022-12-20 15:41:17 +01:00
Rémi Verschelde
d3b8faac74 ImageLoaderSVG: Improve error reporting 2022-11-23 13:27:31 +01:00
kobewi
072f6feaba Make some Image methods static 2022-10-14 14:34:15 +02:00
Rémi Verschelde
99b450762b thorvg: Sync with 0.8.2, cleanup SCsub and fix includes
We were compiling `src/loaders/external_png` but using the header from
`src/loaders/png`, leading to `-Wodr` warnings.

Remove unused bundled lodepng code since we use `external_png` (libpng).

Whitespace changes are from upstream, will attempt PR'ing a cleanup there for
future updates.
2022-10-13 17:05:41 +02:00
Fabio Alessandrelli
e8fc6bfeb5 [Core] Make ImageFormatLoader extensible. 2022-09-20 02:01:57 +02:00
Yuri Sizov
817d4db21f Allow images to be imported "for editor use" and respect editor settings 2022-09-07 23:31:31 +03:00
Rémi Verschelde
0cf0e96038 Merge pull request #64776 from YuriSizov/import-images-moar-flags 2022-08-25 16:51:26 +02:00
Yuri Sizov
c78cbb523f Extract editor color map and simplify SVG color conversion 2022-08-24 15:59:14 +03:00
Yuri Sizov
672e9d6868 Make ImageLoader take bit field flags 2022-08-23 14:39:01 +03:00
Nathan Franke
eb8482cf95 round dimensions of svg 2022-07-21 20:11:29 -05:00
Rémi Verschelde
d8935b27a9 Fix warnings found by Emscripten 3.1.10
Fix `-Wunused-but-set-variable`, `-Wunqualified-std-cast-call`, and
`-Wliteral-range` warnings.
2022-05-10 13:03:13 +02:00
reduz
de0ca3b999 Refactor module initialization
* Changed to use the same stages as extensions.
* Makes the initialization more coherent, helping solve problems due to lack of stages.
* Makes it easier to port between module and extension.
* removed the DRIVER initialization level (no longer needed).
2022-05-04 17:34:51 +02:00
bruvzg
9381acb6a4 Make FileAccess and DirAccess classes reference counted. 2022-04-11 13:28:51 +03:00
K. S. Ernest (iFire) Lee
683b61b094 Set threads to be one to avoid SVG crash. 2022-03-29 10:05:43 -07:00
Haoyu Qiu
1049e75b89 Fix determination of SVG canvas size 2022-03-14 00:00:05 +08:00
K. S. Ernest (iFire) Lee
f7a809603c ThorVG: Sync with upstream 0.8.0 2022-03-08 06:30:31 -08:00
K. S. Ernest (iFire) Lee
8d02759c72 Use ThorVG instead of NanoSVG for importing SVGs
ThorVG is a platform-independent portable library for drawing vector-based
scene and animation.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-01-14 15:49:39 +01:00
Rémi Verschelde
ba2bdc478b Style: Remove inconsistently used @author docstrings
Each file in Godot has had multiple contributors who co-authored it over the
years, and the information of who was the original person to create that file
is not very relevant, especially when used so inconsistently.

`git blame` is a much better way to know who initially authored or later
modified a given chunk of code, and most IDEs now have good integration to
show this information.
2022-01-04 20:42:50 +01:00