summaryrefslogtreecommitdiff
path: root/core/io
AgeCommit message (Collapse)Author
2023-05-18[TLS] Fix crashes trying to use TLS when not available.Fabio Alessandrelli
If no StreamPeerTLS implementation is available, HTTPClient and WebSocketPeer will now correctly refuse to connect using TLS returning ERR_UNAVAILABLE. Similarly, ENetConnection will refuse to setup DTLS when PacketPeerDTLS is not available. (cherry picked from commit eeac6f8c7f070a9f4674bfa51ec35c57516311c0)
2023-05-12Support long path in file access on windowsSamuele Panzeri
Changed windows file access file to check for path length and use the \\?\ long format when needed (cherry picked from commit 59f04e16b87ed5ce013c4ed184fdac796d814dc8)
2023-04-24Expose more compression formats in Image and fix compress checkNinni Pipping
Check for compressing ASTC checked if the function for BPTC was present (cherry picked from commit cf64e2fa479ce548713c589d9c3252e5ac36a6d3)
2023-04-24Lift restriction that resource load thread requester has to be the initiatorPedro J. Estébanez
(cherry picked from commit c51229491d9fe5cba7e4a51821d10dcef7986e1a)
2023-04-07Fix moving position indicator out of bounds in FileAccessMemoryBartłomiej T. Listwon
(cherry picked from commit bff0c71e2e2cb9b880181cc819c4753abfe59508)
2023-03-27Fix crash in resource loadPedro J. Estébanez
(cherry picked from commit 047671df0f6a7a300b83f36b5d6110a8165b0dfd)
2023-03-27Fix data races in startup/teardownmyaaaaaaaaa
(cherry picked from commit d337ed1c64de89ed410cfe208ea162e4cd4ae503)
2023-03-14Modify JSON.stringify so that it doesn't create unnecessary empty lines from ↵Jakub Mateusz Marcowski
empty arrays (cherry picked from commit 0a55a320857b5ddb8ba4e3b6c096acf617f24733)
2023-02-26Fix deadlock in cyclic resource loadPedro J. Estébanez
2023-02-23Merge pull request #73647 from RandomShaper/fix_threaded_loadRémi Verschelde
Fix threading issues in resource loading
2023-02-21Fix FileAccess last open error flag updatebitsawer
2023-02-20Fix cases of resource load tasks not being awaitablePedro J. Estébanez
2023-02-20Fix race condition in resource loader when a load task is reusedPedro J. Estébanez
2023-02-20Make `ResourceCache::get_cached_resources` thread-safevoidedWarranties
2023-02-16Restore FileAccess.close method.bruvzg
2023-02-01Merge pull request #72492 from maiself/fix-binary-res-typed-arrayRémi Verschelde
Fix loading of binary resources with typed arrays
2023-02-01Fix loading of binary resources with typed arraysMai Lavelle
2023-01-31Use enum instead of int in virtual methods return typeRaul Santos
2023-01-30Refactor high quality texture importJuan Linietsky
* Only two texture import modes for low/high quality now: * S3TC/BPTC * ETC2/ASTC * Makes sense given this is the general preferred and most compatible combination in most platforms. * Removed lossy_quality from VRAM texture compression options. It was unused everywhere. * Added a new "high_quality" option to texture import. When enabled, it uses BPTC/ASTC (BC7/ASTC4x4) instead of S3TC/ETC2 (DXT1-5/ETC2,ETCA). * Changed MacOS export settings so required texture formats depend on the architecture selected. This solves the following problems: * Makes it simpler to import textures as high quality, without having to worry about the specific format used. * As the editor can now run on platforms such as web, Mac OS with Apple Silicion and Android, it should no longer be assumed that S3TC/BPTC is available by default for it.
2023-01-30Merge pull request #71995 from Faless/net/4.x_tls_verifyRémi Verschelde
[NET] Refactor TLS configuration.
2023-01-28Fix `Resource::duplicate()` missing packed arraysAdam Scott
2023-01-28[Net] Remove StreamPeerTLS.blocking_handshake option.Fabio Alessandrelli
Which was unused internally, and can be replaced by: ``` while tls.get_status() == tls.STATUS_HANDSHAKING: tls.poll() ```
2023-01-28[NET] Refactor TLS configuration.Fabio Alessandrelli
Use a TLSOptions configuration object which is created via static functions. - "TLSOptions.client": uses the standard CA and common name verification. - "TLSOptions.client_unsafe": uses optional CA verification (i.e. if specified) - "TLSOptions.server": is the standard server configuration (chain + key) This will allow us to expand the TLS configuration options to include e.g. mutual authentication without bloating the classes that uses StreamPeerTLS and PacketPeerDTLS as underlying peers.
2023-01-24Add PROPERTY_USAGE_NEVER_DUPLICATE flag and use for scriptAaron Franke
Co-authored-by: Yakov Borevich <j.borevich@gmail.com>
2023-01-24PropertyUsage: Rename "DO_NOT_SHARE_ON_DUPLICATE" to "ALWAYS_DUPLICATE"Aaron Franke
2023-01-23Convert en_GB spelling to en_US with codespellRémi Verschelde
2023-01-21Merge pull request #71687 from reduz/support-script-class-name-in-efsRémi Verschelde
Support script global resource name in EditorFileSystem
2023-01-21Support script global resource name in EditorFileSystemJuan Linietsky
* Works for binary and text files. * Makes EditorQuickOpen work with custom resources again. * Information is cached and easily accessible. Properly fixes #66179. Supersedes #66215 and supersedes #62417 **WARNING**: This required breaking backwards binary compatibility (.res and .scn files). Files saved after this PR is merged will no longer open in any earlier versions of Godot.
2023-01-21Merge pull request #71390 from reduz/fix-json-as-resourceRémi Verschelde
Fixes to JSON as resource
2023-01-19Merge pull request #44596 from KoBeWi/🧹🧹🧹Rémi Verschelde
Cleanup unused engine code v2
2023-01-19Cleanup unused engine code v2kobewi
2023-01-19[GDExtension] Expose some low level functions and String operators.bruvzg
2023-01-14Fixes to JSON as resourceJuan Linietsky
* It was not a resource, hence it was not working to load it as such. * Changed so, when opened in editor, a parse error will not fail load and the text will be kept. * This should allow proper editing from within the code editor, including syntax checking and saving files as-is in text. Partially addresses #66820. The code editor still needs to be changed for this to work.
2023-01-12Merge pull request #68450 from KoBeWi/bracket_escapistRémi Verschelde
Allow to escape closing brackets in CFG tags
2023-01-10Merge pull request #70726 from heppocogne/Fix-open_compressed-get_pathRémi Verschelde
Fix `get_path()` is not working when files are opend with `open_compressed`
2023-01-09Ability to change a resource UID from APIJuan Linietsky
* Works for text, binary and imported resources * Allows better clean up of duplicate files. TODO (future PRs): * Use this API for assigning new UIDs to copied files. * Use this API for UID conflict on FS scanning (if more than one file has the same UID, the newer one(s) should get assigned a different UID).
2023-01-06Merge pull request #68429 from KoBeWi/PropertySettingsRémi Verschelde
Add PropertyInfo overload for GLOBAL_DEF
2023-01-05One Copyright Update to rule them allRémi Verschelde
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-02Merge pull request #67853 from Zylann/fix_lods_with_doublesClay John
Fix usages of mesh simplification functions in float=64 builds
2022-12-30Fix `get_path()` is not working when files are opend with `open_compressed`heppocogne
And also fixed `get_absolute_path()` in the same way
2022-12-21Fix crashed when compressing empty image data.stmSi
2022-12-20Merge pull request #65376 from reduz/astc-supportRémi Verschelde
Implement basic ASTC support
2022-12-20Implement basic ASTC supportJuan Linietsky
Implements basic ASTC support: * Only 4x4 and 8x8 block sizes. * Other block sizes are too complex to handle for Godot image compression handling. May be implemented sometime in the future. The need for ASTC is mostly for the following use cases: * Implement a high quality compression option for textures on mobile and M1 Apple hardware. * For this, the 4x4 is sufficient, since it uses the same size as BPTC. ASTC supports a lot of block sizes, but the benefit of supporting most of them is slim, while the implementation complexity in Godot is very high. Supporting only 4x4 (and 8x8) solves the real problem, which is lack of a BPTC alternative on hardware where it's missing. Note: This does not yet support encoding on import, an ASTC encoder will need to be added.
2022-12-12Merge pull request #69718 from groud/finally_rename_gdnative_to_gdextensionRémi Verschelde
Rename all gdnative occurences to gdextension
2022-12-12Rename all gdnative occurences to gdextensionGilles Roudière
Non-exhaustive list of case-sensitive renames: GDExtension -> GDNative GDNATIVE -> GDEXTENSION gdextension -> gdnative ExtensionExtension ->Extension (for where there was GDNativeExtension) EXTENSION_EXTENSION ->EXTENSION (for where there was GDNATIVE_EXTENSION) gdnlib -> gdextension gdn_interface -> gde_interface gdni -> gde_interface
2022-12-11Add PropertyInfo overload for GLOBAL_DEFkobewi
2022-12-07Fix `ResourceLoader::thread_load_tasks` crashAdam Scott
2022-12-04Use system fonts as fallback and improve system font handling.bruvzg
Add support for font weight and stretch selection when using system fonts. Add function to get system fallback font from a font name, style, text, and language code. Implement system font support for Android. Use system fonts as a last resort fallback.
2022-12-02ETCPAK expects BGRA data for ETCBastiaan Olij
2022-11-29[Core] Fix Resource.resource_name type.Fabio Alessandrelli
The methods returns a String, but the Variant was bound as a StringName. We could alternatively change the method return type but that's a breaking change which will requires code changes in other parts of the engine.