summaryrefslogtreecommitdiff
path: root/core/io
AgeCommit message (Collapse)Author
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.
2022-11-22Merge pull request #64284 from kleonc/image-rotate90-in-placeRémi Verschelde
`Image` Fix `rotate_90`/`rotate_180` methods
2022-11-17Merge pull request #67619 from nongvantinh/fix-calling-pckpacker-crashRémi Verschelde
Fixes engine crashes caused by the user failing to initialize PCKPacker with pck_start()
2022-11-12Fix usages of mesh simplification functions in float=64 buildsMarc Gilleron
2022-11-09Allow to escape closing brackets in CFG tagskobewi
2022-11-04Implement SVG in OT support.bruvzg
2022-11-02Merge pull request #66017 from Mickeon/rename-image-copy-rectRémi Verschelde
Rename Image's `get_rect` to `get_region`
2022-11-01Rename Image's `get_rect` to `get_region`Micky
Also renames its parameter to from "rect" to "region".
2022-11-01Fix Image::bump_map_to_normal_map incorrectly keeping mipmap flagdzil123
2022-10-31Merge pull request #67578 from KoBeWi/GEDITORRémi Verschelde
Unify usage of GLOBAL/EDITOR_GET
2022-10-31Merge pull request #67588 from KoBeWi/if(!GDVIRTUAL_CALL)don'tRémi Verschelde
Simplify GDVIRTUAL_CALL calls
2022-10-31Merge pull request #67577 from qarmin/fix_exporting_big_templatesRémi Verschelde
Fix exporting with big export templates
2022-10-28Expose the logic to recognize a save path in ResourceSaverGilles Roudière
2022-10-24Fix crash when calling `fill` method on an empty `Image`Yuri Rubinsky
2022-10-19Fixes engine crashes caused by the user failing to initialize PCKPacker with ↵Nong Van Tinh
pck_start()
2022-10-19Fix exporting big templatesRafał Mikrut
2022-10-19Simplify GDVIRTUAL_CALL callskobewi
2022-10-18Unify usage of GLOBAL/EDITOR_GETkobewi
2022-10-15Merge pull request #63332 from KoBeWi/static_images_aka_photosRémi Verschelde
Make some Image methods static