summaryrefslogtreecommitdiff
path: root/core/io
AgeCommit message (Collapse)Author
2022-03-11Convert uses of `DirAccess *` to `DirAccessRef` to prevent memleaksRémi Verschelde
`DirAccess *` needs to be deleted manually, and this is often forgotten especially when doing early returns with `ERR_FAIL_COND`. `DirAccessRef` is deleted automatically when it goes out of scope. Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2022-03-10Discern between virtual and abstract class bindingsreduz
* Previous "virtual" classes (which can't be instantiated) are not corretly named "abstract". * Added a new "virtual" category for classes, they can't be instantiated from the editor, but can be inherited from script and extensions. * Converted a large amount of classes from "abstract" to "virtual" where it makes sense. Most classes that make sense have been converted. Missing: * Physics servers * VideoStream * Script* classes. which will go in a separate PR due to the complexity involved.
2022-03-07Merge pull request #57930 from piiertho/bugfix/add-none-flag-to-resource-saverRémi Verschelde
2022-03-07Fix ResourceSaver::save method exposition flag parameterPierre-Thomas Meisels
enh: Add FLAG_NONE to SaverFlags in ResourceSaver to fix api inconsistency fix: flags parameter of ResourceSaver::save is now uint32_t to allow flag composition in scripts
2022-02-25Print every file exported with `PCKPacker.flush()`s verbose parameterHugo Locurcio
Previously, only one line per 100 files was printed. This also refactors the print statement to use Godot methods and make it more informative overall.
2022-02-19Merge pull request #58166 from Zylann/fix_binary_resource_with_doublesRémi Verschelde
Fix loading of binary resources with 64-bit floats
2022-02-19Merge pull request #58205 from Zylann/fix_variant_encode_with_doublesRémi Verschelde
Add missing flag when encode_variant writes math types with doubles
2022-02-18Fix decompression functions not returning errcodesRicardo Subtil
2022-02-16Add missing flag when encode_variant writes math types with doublesMarc Gilleron
2022-02-16Style: Cleanup single-line blocks, semicolons, dead codeRémi Verschelde
Remove currently unused implementation of TextureBasisU, could be re-added later on if needed and ported.
2022-02-16Fix loading of binary resources with 64-bit floatsMarc Gilleron
2022-02-14Fixed variant decoding Segmentation FaultMax
2022-02-14[ResourceUID] Use CryptoCore::RandomGenerator for IDs.Fabio Alessandrelli
2022-02-12Fix resource reuse in binary loaderreduz
* Reuse was not setting the internal index. * Supersedes #52599, without re-reading all properties.
2022-02-10Fix typos with codespellRémi Verschelde
Using codespell 2.2-dev from current git. Added `misc/scripts/codespell.sh` to make it easier to run it once in a while and update the skip and ignore lists.
2022-02-07ResourceImporter: Restore default append logic for new importersRémi Verschelde
This was changed in #56943 to allow adding new importers from plugins that take precedence over built-in ones, but this should be opt-in, not the default behavior. Fixes #57730.
2022-02-05Merge pull request #56943 from V-Sekai/override-importRémi Verschelde
Make add_importer and add_post_importer_plugin override existing importers.
2022-02-05Merge pull request #49775 from fire/faster-cvttRémi Verschelde
Faster CVTT by lowering default quality
2022-02-05[Net] Fix bogus FileAccessNetwork deconstructor.Fabio Alessandrelli
Now correctly erases old instances. The code will likely need overhaul anyway to be usable. It doesn't apply to editor runs, there's a bunch of inconsistencies on how to clients are handled, and I don't really understand why multiple instances are created for a single client/server.
2022-02-04Faster CVTT by reducing quality.K. S. Ernest (iFire) Lee
Make BC6 and BC7 CVTT faster while still having better quality than DXT5.
2022-02-04Cleanup and move char functions to the `char_utils.h` header.bruvzg
2022-02-03Merge pull request #57562 from AnilBK/string-add-containsRémi Verschelde
String: Add contains().
2022-02-04String: Add contains().Anilforextra
2022-02-03[Net] Non-blocking request in HTTPClientTCP.Fabio Alessandrelli
HTTPClientJavaScript already supports non-blocking requests.
2022-02-02Merge pull request #56771 from mhilbrunner/unacceptableFabio Alessandrelli
Verify custom HTTP headers, fix off by one error
2022-02-02Vectors: Use clear() and has().Anilforextra
Use clear() instead of resize(0). Use has() instead of "find(p_val) != -1".
2022-01-29[Net] Simplify IP resolution code, fix caching.Fabio Alessandrelli
First, we should not insert into cache if the hostname resolution has failed (as it might be a temporary internet issue), second, the async resolver should also properly insert into cache. Took the chance to remove some duplicate code with critical section in it at the cost of little performance when calling the blocking resolve_hostname function.
2022-01-28Merge pull request #57116 from bruvzg/win_net_shareRémi Verschelde
2022-01-27Merge pull request #57205 from TechnoPorg/variant-template-castRémi Verschelde
Allow method binds to take Object subclasses as arguments
2022-01-27Verify custom HTTP headers, fix off by one errorMax Hilbrunner
2022-01-27HTTP comment cleanupMax Hilbrunner
2022-01-25Allow method binds to take Object subclasses as argumentsTechnoPorg
This commit adds a condition to VariantCaster that casts Variants of type OBJECT to any type T, if T is derived from Object. This change enables a fair bit of code cleanup. First, the Variant implicit cast operators for Node and Control can be removed, which allows for some invalid includes to be removed. Second, helper methods in Tree whose sole purpose was to cast arguments to TreeItem * are no longer necessary. A few small changes also had to be made to other files, due to the changes cascading down all the includes.
2022-01-24Fix translation with multiple sources for the same language.bruvzg
Remove unnecessary locale length checks. Add "C" -> "en" locale remap.
2022-01-24[Windows] Add support for handling network share paths.bruvzg
2022-01-23Merge pull request #56931 from lyuma/etcpak_po2Rémi Verschelde
Enforce mult-of-4 requirements on etcpak input.
2022-01-22Pad etcpak input to 4x4 blocks. Fixes #49981Lyuma
2022-01-23[Net] Fix get_response_body_length for large files.Fabio Alessandrelli
Parsing was fixed, but not the return value for the exposed getter.
2022-01-20Rename or refactor macros to avoid leading underscoresOmar Polo
These are not used consistently and some can conflict with system-specific defines. While here, also delete some unused macros.
2022-01-19Fix locale always selecting translation instead of "en", when no match found.bruvzg
2022-01-19Make add_importer and add_post_importer_plugin override existing importers.K. S. Ernest (iFire) Lee
2022-01-18Improve locale detection.bruvzg
Use separate language, script and country lists. Add locale selection dialog and property hint.
2022-01-14Remove support for PVRTC texture encoding and decodingHugo Locurcio
On the only platform where PVRTC is supported (iOS), ETC2 generally supersedes PVRTC in every possible way. The increased memory usage is not really a problem thanks to modern iOS' devices processing power being higher than its Android counterparts.
2022-01-12Merge pull request #56492 from akien-mga/remove-author-docstringsRémi Verschelde
2022-01-06Rename Variant enum members in resource_format_binary.cppAaron Franke
2022-01-06Merge pull request #56224 from Calinou/variant-rename-packed-array-constantsRémi Verschelde
2022-01-06Fix multiple missing UTF-8 decoding.bruvzg
2022-01-06Merge pull request #53434 from Faless/io/4.x_file_access_compressedRémi Verschelde
[File] Fix FileAccessCompressed::get_buffer return value.
2022-01-04Style: Remove inconsistently used `@author` docstringsRémi Verschelde
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-04Merge pull request #56331 from Cnidarias/large_http_downloadsFabio Alessandrelli
Fix http limitation for large "content-length"
2022-01-03Update copyright statements to 2022Rémi Verschelde
Happy new year to the wonderful Godot community!