summaryrefslogtreecommitdiff
path: root/core/io
AgeCommit message (Collapse)Author
2021-06-07FileAccess: Don't err in `store_buffer` with buffer of size 0Rémi Verschelde
The error check was added for `FileAccessUnix` but it's not an error when both `p_src` and `p_length` are zero. Added correct error checks to all implementations to prevent the actual erroneous case: `p_src` is nullptr but `p_length > 0` (risk of null pointer indexing). Fixes #33564.
2021-06-07Merge pull request #49221 from Faless/mp/4.x_rpc_refactorRémi Verschelde
[Net] Refactor RPCs, remove RSETs
2021-06-07Style: Cleanup uses of double spaces between wordsRémi Verschelde
Or after punctuation. Tried to leave third-party stuff alone, unless it has been heavily modified for Godot.
2021-06-04Rename Quat to QuaternionMarcel Admiraal
2021-06-03Merge pull request #38430 from aaronfranke/transform3dRémi Verschelde
2021-06-03Merge pull request #49269 from sarchar/fix-dns-locksRémi Verschelde
Fix DNS resolve mutex locks
2021-06-03Fix DNS resolve mutex locksChuck
This fixes #49261, which was happening because of a deadlock in the resolver mutex. There was leftover old mutex code and it's all be converted to new MutexLock class now.
2021-06-03Merge pull request #48889 from Calinou/file-rename-endian-swapRémi Verschelde
Rename File's `endian_swap` to `big_endian`
2021-06-03Rename Variant TRANSFORM to TRANSFORM3DAaron Franke
Also _transform to _transform3d
2021-06-03Rename Transform to Transform3D in coreAaron Franke
2021-06-01Merge pull request #49026 from sarchar/multiple-dns-resolvesRémi Verschelde
2021-06-01[Net] Refactor RPCs, remove RSETsFabio Alessandrelli
In this PR: - Removed rset - rpc_config can now optionally configure transfer mode (reliable/unreliable/ordered) and channel (channels are not actually implemented yet.) - Refactor how the RPC id is computed to minimize the logic in Node and scripts that now only needs a single `get_rpc_methods` function.
2021-06-01Support multiple address resolution in DNS requestsChuck
Add two new functions to the IP class that returns all addresses/aliases associated with a given address. This is a cherry-pick merge from 010a3433df43a94fee95474360ffa6662c7441b9 which was merged in 2.1, and has been updated to build with the latest code. This merge adds two new methods IP.resolve_hostname_addresses and IP.get_resolve_item_addresses that returns a List of all addresses returned from the DNS request.
2021-05-25Rename File::get_len() get_length()Marcel Admiraal
2021-05-24Merge pull request #46866 from bruvzg/symlinks_and_macos_gdn_framework_export_4Rémi Verschelde
2021-05-24Fix duplicate close files when deconstructing ZipArchiveZae
2021-05-22Add symlink API to the DirAccess (on macOS and Linux).bruvzg
2021-05-21Merge pull request #48806 from timothyqiu/xml-parser-fixesRémi Verschelde
Fix XMLParser behavior for comments and premature endings
2021-05-20Change behavior of String.rightTomasz Chabora
2021-05-20Rename File's `endian_swap` to `big_endian`Hugo Locurcio
This new name is more consistent with ResourceSaver and StreamPeer.
2021-05-20Fix typos with codespellRémi Verschelde
Using codespell 2.0.0. Method: ``` $ cat > ../godot-word-whitelist.txt << EOF ang curvelinear dof doubleclick fave findn GIRD leapyear lod merchantibility nd numer ois ony que seeked synching te uint unselect webp EOF $ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po" $ git diff // undo unwanted changes ```
2021-05-18Fix XMLParser behavior for comments and premature endingsHaoyu Qiu
2021-05-17Make all file access 64-bit (uint64_t)Pedro J. Estébanez
This changes the types of a big number of variables. General rules: - Using `uint64_t` in general. We also considered `int64_t` but eventually settled on keeping it unsigned, which is also closer to what one would expect with `size_t`/`off_t`. - We only keep `int64_t` for `seek_end` (takes a negative offset from the end) and for the `Variant` bindings, since `Variant::INT` is `int64_t`. This means we only need to guard against passing negative values in `core_bind.cpp`. - Using `uint32_t` integers for concepts not needing such a huge range, like pages, blocks, etc. In addition: - Improve usage of integer types in some related places; namely, `DirAccess`, core binds. Note: - On Windows, `_ftelli64` reports invalid values when using 32-bit MinGW with version < 8.0. This was an upstream bug fixed in 8.0. It breaks support for big files on 32-bit Windows builds made with that toolchain. We might add a workaround. Fixes #44363. Fixes godotengine/godot-proposals#400. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2021-05-14Merge pull request #42337 from zaevi/fix-zip-open-twiceRémi Verschelde
Fix zip file opening twice
2021-05-14Fix zip file opening twiceZae
2021-05-06Rename `IP_Unix`, `IP_Address` and `TCP_Server` to remove underscoresHugo Locurcio
2021-05-05Add PackedDataContainer data pointer check for non nullableMaxStgs
2021-05-05Fix error handling for user-defined `ResourceFormatLoader.load`Rémi Verschelde
See #48463.
2021-04-30Implement Particle Trailsreduz
-Enable the trails and set the length in seconds -Provide a mesh with a skeleton and a skin -Or, alternatively use one of the built-in TubeTrailMesh/RibbonTrailMesh -Works deterministically -Fixed particle collisions (were broken) -Not working in 2D yet (that will happen next)
2021-04-27Core: Drop custom `copymem`/`zeromem` definesRémi Verschelde
We've been using standard C library functions `memcpy`/`memset` for these since 2016 with 67f65f66391327b2967a20a89c3627e1dd6e84eb. There was still the possibility for third-party platform ports to override the definitions with a custom header, but this doesn't seem useful anymore.
2021-04-27Merge pull request #47398 from Faless/feature/network-local-port-salvagedRémi Verschelde
2021-04-19Use multiple threads to import.Juan Linietsky
- For now everything imports multithreaded by default (should work I guess, let's test). - Controllable per importer Early test benchmark. 64 large textures (importing as lossless, _not_ as vram) on a mobile i7, 12 threads: Importing goes down from 46 to 7 seconds. For VRAM I will change the logic to use a compressing thread in a subsequent PR, as well as implementing Betsy.
2021-04-14Separate set.h from map.hBartłomiej T. Listwon
2021-04-12This renames PacketPeerUDP.listen to bind.Fabio Alessandrelli
2021-04-12Allow local port control on net_socket connectionsdam
2021-03-26Optimize image channel detectionJuan Linietsky
Speeds up compression
2021-03-23Merge pull request #40804 from naithar/fix/json-parseRémi Verschelde
JSON parser fix
2021-03-22Add a "keep" import mode to keep files as-is and export them.Juan Linietsky
2021-03-22Improved 3D Scene ImporterJuan Linietsky
* Added option for importers to show an Advanced settings dialog * Created advanced settings dialog for Scene Importer * Cleaned up importers (remove many old/unused options) * Added the ability to customize every node, material, mesh and animation individually * Saving to animations and meshes to files is now a manual process, making it more predictable * Added the ability for materials to be replaced by external files (or to be made external, up to you). * When doubleclicking an impoted scene in the filesystem dock, it automatically shows the import settings instead of asking to open it. WARNING: Lightmap UV unwrap is not working, it needs to be re-made.
2021-03-16Allow nullptr with zero length in FileAccess get_bufferAlex Hirsch
fix #47071
2021-03-14Merge pull request #46810 from W4RH4WK/file-access-get-buffer-parameter-checksRémi Verschelde
Add parameter checks to FileAccess get_buffer functions
2021-03-12Fixes small typos and grammar correctionAnshul7sp1
2021-03-09Add parameter checkes to FileAccess get_buffer functionsAlex Hirsch
fix #46540
2021-03-03Fix crash on HTTPClient::poll methodPedro Rodrigues
The problem happened because `poll` assumed that when the SSL flag was true, the `connection` would be a subclass of StreamPeerSSL. However that invariant could be broken by calling HTTPClient::set_connection with a `connection` that is not a subclass of StreamPeerSSL. Fixes #46138
2021-03-01JSON parser: add UTF-16 surrogate pairs support.bruvzg
2021-02-28Logger: Cache 'flush_stdout_on_print' to improve performance, and works ↵Mateo Kuruk Miccino
before ProjectSettings starts. ProjectSetting: Now 'application/run/flush_stdout_on_print' requires a restart of the Editor to take effect
2021-02-27ResourceLoader: Fix inverse 'if' on the cache modeMateo Kuruk Miccino
2021-02-25Merge pull request #38844 from hbina/patch-5Rémi Verschelde
Avoid copying vector in constructor of PathMD5
2021-02-24Merge pull request #46354 from reduz/importer-defaults-editorRémi Verschelde
Added Import Defaults Editor in Project Settings
2021-02-24Merge pull request #45914 from HenryWConklin/45841-xml-entitiesRémi Verschelde
Add support for numeric XML entities to XMLParser