Commit graph

1244 commits

Author SHA1 Message Date
Rémi Verschelde
d616c3ecd0
Merge pull request #82408 from hpvb/fix-import-crash
Fix Image import crash
2023-09-27 14:03:47 +02:00
Rémi Verschelde
19057c07bc
Merge pull request #67080 from Mickeon/resource-virtual-local-to-scene-setup
Reimplement Resource.`_setup_local_to_scene` & deprecate signal
2023-09-27 14:03:28 +02:00
Hein-Pieter van Braam
b5705958e6 Fix import crash
I was trying to import a solid colored metal/roughness texture that
worked in Godot 4.1.1 but failed to load on master. I eventually tracked
it down to this: to_x and to_y can be 0, which then leads them to be -1
later, which then causes ofs to overflow.

Some of these cases were hidden because of the use of Vector so we were
just happily scribbling in ram elsewhere.

Switched to LocalVector as it made debugging a bit easier.
2023-09-26 23:50:50 +02:00
Saracen
0b0a6109b6 Make notify_dependency_error only defer calls if called from secondary threads. 2023-09-26 03:36:11 +01:00
bitsawer
16c3a19d91 Expose and document Image.get_mipmap_count() 2023-09-19 14:34:59 +03:00
A Thousand Ships
893f889d74 [Core] Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable 2023-09-11 19:45:49 +02:00
Micky
79ce0c6e80 Reimplement Resource._local_to_scene_setup & remove workaround
Reimplements the virtual method _setup_local_to_scene, lost in #51970

Also deprecates the redundant `setup_local_to_scene_requested` signal.
2023-09-09 13:51:12 +02:00
Yuri Sizov
d8ff69d53c Extract ScriptInstance to simplify includes
This allows to include script_instance.h directly in the
generated gdvirtual.gen.inc, and remove excessive includes
from the codebase.

This should also allow Resource to use GDVIRTUAL macros,
which wasn't possible previously due to a circular dependency.
2023-09-06 22:54:38 +02:00
David Nikdel
067807c1cb Remove nondeterminism in pck_packer
PCK files (like other build products) should be deterministic based on their inputs. Removed calls to Math::rand() that are being used to generate padding.

Looks like these were introduced as part of adding encryption support, but the padding being random does not have any cryptographic significance. This can be trivially inferred since file blocks that happen to be aligned don't get padding anyway.

If there's a desire to indroduce something that functions as a nonce it should probably be added explicitly and only if encryption is enabled.
remove Math::rand() calls in editor_export_platform.cpp

follow up to make consistent with pck_packer
2023-09-03 18:14:30 -04:00
clayjohn
0045dc204c Revert "Implement loading DDS textures at run-time"
This reverts commit 34ab1c8a36.
2023-08-29 14:25:16 +02:00
acazuc
a00cf02241 Add support for KTX & KTX2 image format
Add support glTF KHR_texture_basisu extension
2023-08-19 10:27:29 +02:00
Rémi Verschelde
e73a4a382e
Merge pull request #79201 from Rindbee/fix-setup-state-not-cleared
Clear the previously set state when configuring for a new scene root node
2023-08-17 15:43:38 +02:00
Rémi Verschelde
efdff9cbc2
Fix GCC -Wmaybe-uninitialized warnings 2023-08-14 14:35:35 +02:00
bruvzg
8aa6f29b56
[FileAccess] Add methods to get/set "hidden" and "read-only" attributes on macOS/BSD and Windows. 2023-08-08 21:51:32 +03:00
Rindbee
4795c3cdfa Clear the previously set state when configuring for a new scene root node
Saving a subscene causes the main scene to be re-instantiated. And the resource
instance in the main scene will be reused when the main scene is re-instantiated.
So for resources with `resource_local_to_scene` enabled, resetting state may be
necessary (at least for `ViewportTexture`).
2023-08-08 23:49:53 +08:00
Rémi Verschelde
faaf27f284
Fix various typos with codespell
Also includes typo fixes from #79993, #80068, #80276, and #80303.

Co-authored-by: betalars <contact@betalars.de>
Co-authored-by: spaceyjase <429978+spaceyjase@users.noreply.github.com>
Co-authored-by: Swarkin <102416174+Swarkin@users.noreply.github.com>
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2023-08-07 13:09:47 +02:00
Marcin Nowak
34ab1c8a36 Implement loading DDS textures at run-time 2023-07-31 21:31:26 +02:00
Yuri Sizov
0be587521e Merge pull request #79737 from Calinou/resourceloader-load-error-clarify-expected-type
Mention expected resource type in ResourceLoader load error
2023-07-31 21:01:28 +02:00
Ithamar R. Adema
f37c2b5be2 Fix ImageTextureLayered serialisation issues. 2023-07-23 13:54:04 +02:00
Hugo Locurcio
5bf64255b0
Mention expected resource type in ResourceLoader load error
This helps troubleshoot issues due to incorrect import types.
2023-07-21 04:45:34 +02:00
kobewi
de4a3fa151 Unify and streamline connecting to Resource changes 2023-07-17 19:35:57 +02:00
Maxim Kulkin
058604f5b8 Fix crash when saving resources with circular references
When saving resources, marking of already seen resources was
done too late, causing infinite loop traversing referenced resources
and eventual stack overflow. The change marks traversed resource
before descending to it's children, thus when this resource is
encountered again, it is already marked as seen and traversal stops.
2023-07-14 19:20:04 +02:00
Yuri Sizov
f53329d045 Merge pull request #78890 from KoBeWi/who_needs_restart_anyway
Allow change import type without restarting editor
2023-07-12 17:16:53 +02:00
Yuri Sizov
e88934cb74 Merge pull request #74238 from bitsawer/fix_image_convert
Fix `Image.convert()` overwriting custom mipmaps
2023-07-12 17:15:39 +02:00
Yuri Sizov
f25233cbc9 Merge pull request #49524 from Calinou/document-editor-import-options
Document editor import options in the class reference
2023-07-12 17:15:19 +02:00
Yuri Sizov
6960a1d0e8 Merge pull request #78248 from felaugmar/load-svg-adjustable-scale
Added `Image::load_svg_from_(buffer|string)`
2023-07-12 15:09:03 +02:00
Yuri Sizov
f6d568b9e4 Merge pull request #66170 from RedMser/json-fix-invalid-escapes
Disallow invalid escape sequences in `JSON.parse`
2023-07-12 15:08:29 +02:00
Rémi Verschelde
f1e63b808a
Merge pull request #79101 from akien-mga/linux-unbundle-brotli
Linux: Allow unbundling brotli to use system library
2023-07-07 08:35:44 +02:00
Rémi Verschelde
5ee36d119f
Merge pull request #78935 from timothyqiu/zip-pack
Fix error when non-ASCII characters in resource pack path
2023-07-07 08:30:56 +02:00
Rémi Verschelde
153c4a4c4f
Linux: Allow unbundling brotli to use system library 2023-07-06 15:26:38 +02:00
Rémi Verschelde
cdd2313ba2
Merge pull request #78977 from RandomShaper/workaround_tls_shutdown
Workaround resource loading crashes due to buggy TLS
2023-07-03 19:43:07 +02:00
Pedro J. Estébanez
41c0785636 Workaround resource loading crashes due to buggy TLS 2023-07-03 13:54:55 +02:00
kobewi
244968c8d1 Allow change import type without restarting editor 2023-07-03 13:24:24 +02:00
Pedro J. Estébanez
30925fcfb0 Fix management of safe-for-nodes flag in ResourceLoader and WorkerThreadPool 2023-07-03 12:27:57 +02:00
Haoyu Qiu
df5c68af99 Fix error when non-ASCII characters in resource pack path 2023-07-02 16:09:57 +08:00
RedMser
427b293c7d Disallow invalid escape sequences in JSON.parse 2023-06-30 21:28:36 +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
Rémi Verschelde
fa971b7b5e
Merge pull request #77361 from jpcerrone/fix_pck_path_inconsistencies
Fix PCK file path inconsistencies
2023-06-20 00:02:22 +02:00
andybarcia
553f4f8dce
Improve error reporting when parsing CSV translation file
Fixes #46682.

Also fix unit test suite to separate generic FileAccess CSV testing
from using CSV as translation. And add more CSV translation tests.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-06-19 12:47:44 +02:00
kobewi
313c0c7f5d Fix missing UID handling for binary formats 2023-06-16 13:40:10 +02:00
Danil Alexeev
eb391d3302
Display BitField[Enum] in docs to distinguish from Enum 2023-06-15 17:23:02 +03:00
Hugo Locurcio
8352122e70
Document editor import options in the class reference
Tooltips are displayed when hovering import options, both in the Import
dock and in the import defaults editor (which is in the Project Settings).

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-06-15 08:30:48 +02:00
Pedro J. Estébanez
2b001db76e Let user scripts disable thread safety checks 2023-06-09 18:24:01 +02:00
Mack
1326b7e04f Fix buffer over-read and memory leaks when using long filepaths in a zip archive and improved robustness of long filepaths and reading files. 2023-05-31 13:11:59 +00:00
Kory Postma
c8cac39446 Grayscale fix for Image::premultiply_alpha() and Image::convert(FORMAT_L8) while using REC.709, with added test case 2023-05-27 18:01:44 -05:00
Pedro J. Estébanez
e725b4b02b Allow threads to mark themselves as safe for nodes 2023-05-24 00:22:58 +02:00
jpcerrone
0fb307720c PCK file path improvements
Fixes godotengine#77317 (Inconsistent PCK file path behaviour).
Simplifies all PCK file paths so that paths with extra '/' symbols in them
still match to the same path.
Fixes various FileAccess methods that didn't work when using PCK paths that
contain extra '/' symbols.
2023-05-22 15:03:05 -03:00
Pedro J. Estébanez
c450260e3e Fix message queue issues
- Missing flush in resource loading.
- Wrong checks about message queue instance.
2023-05-19 13:11:34 +02:00
Pedro J. Estébanez
a6e43f71b6 Avoid multiple possibilites of deadlock in resource loading 2023-05-17 01:52:39 +02:00
Fabio Alessandrelli
fb10f45efe
Merge pull request #75867 from tefusion/fix_http_client_unicode_request
Fix HTTPClient _request using wrong size
2023-05-14 16:05:39 +02:00