summaryrefslogtreecommitdiff
path: root/core/io
AgeCommit message (Collapse)Author
2021-07-20[Net] Single `rpc` annotation. "sync" no longer part of mode.Fabio Alessandrelli
- Move the "sync" property for RPCs to RPCConfig. - Unify GDScript annotations into a single one: - `@rpc(master)` # default - `@rpc(puppet)` - `@rpc(any)` # former `@remote` - Implement three additional `@rpc` options: - The second parameter is the "sync" option (which also calls the function locally when RPCing). One of "sync", "nosync". - The third parameter is the transfer mode (reliable, unreliable, ordered). - The third parameter is the channel (unused for now).
2021-07-18Optimize StringName usagereduz
* Added a new macro SNAME() that constructs and caches a local stringname. * Subsequent usages use the cached version. * Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time. * Replaced all theme usages by this new macro. * Replace all signal emission usages by this new macro. * Replace all call_deferred usages by this new macro. This is part of ongoing work to optimize GUI and the editor.
2021-07-16Merge pull request #46554 from likeich/is_server_quiet_failureFabio Alessandrelli
MultiplayerAPI is_network_server Fails Silently
2021-07-13Fix decompression with FastLZ when buffer size is less than 16 bytesHaoyu Qiu
2021-07-12[Net] Rename NetworkedMultiplayerPeer to MultiplayerPeer.Fabio Alessandrelli
2021-07-11[Net] Fix crash when receiving RPC on node without a script.Fabio Alessandrelli
2021-07-11Merge pull request #50362 from timothyqiu/http-eofRémi Verschelde
Fix unicode invalid skip error in AssetLib
2021-07-11Fix unicode invalid skip error in AssetLibHaoyu Qiu
2021-07-11Handle Z_BUF_ERROR in decompress_dynamicHaoyu Qiu
2021-06-30Network port comparison is always falseK. S. Ernest (iFire) Lee
error: comparison is always false due to limited range of data type [-Werror=type-limits] ERR_FAIL_COND_V_MSG(p_port < 0 || p_port > 65535, ERR_INVALID_PARAMETER, "The local port number must be between 0 and 65535 (inclusive).");
2021-06-28Validate image formats, check if resize_to_po2 failedPaweł Fertyk
2021-06-27Fix Image.adjust_bcs crash when image format is invalidHaoyu Qiu
2021-06-23[Net] Makes HTTPClient a custom instance class.Fabio Alessandrelli
2021-06-23[Net] Unify HTTPClient request and request_raw.Fabio Alessandrelli
2021-06-19Rename `instance()`->`instantiate()` when it's a verbLightning_A
2021-06-20Merge pull request #48080 from aaronfranke/real-serializationRémi Verschelde
Binary serialization for reals
2021-06-19Consolidate JSON, JSONParseResults and JSONParser into JSONMarcel Admiraal
Renames JSON.parse_string() to parse() Renames JSON.decode_data() to stringify()
2021-06-17Binary serialization for realsAaron Franke
Added new "encode_real" methods for handling real_t, and used them for vector types. Types are encoded based on compilation setting. But for decoding, always check how it was encoded. This way, serialized data is cross-compatible with Godot compiled with singles and Godot compiled with doubles. At least, in theory.
2021-06-17Add PROPERTY_USAGE_NONE and use itAaron Franke
2021-06-14Fix json dump and print of circular structureHaoyu Qiu
2021-06-12Merge pull request #48746 from KoBeWi/bane_of_all_virtual_compatibilityRémi Verschelde
Consistently prefix bound virtual methods with _
2021-06-12Merge pull request #49123 from aaronfranke/it-is-timeRémi Verschelde
Add a Time singleton
2021-06-12Consistently prefix bound virtual methods with _kobewi
2021-06-11Merge pull request #49312 from RandomShaper/reference_to_ref_countRémi Verschelde
Rename `Reference` to `RefCounted`
2021-06-11Merge pull request #47835 from mortarroad/master-lossless-webpRémi Verschelde
Implement lossless WebP encoding
2021-06-11Rename Reference to RefCountedPedro J. Estébanez
2021-06-11Implement lossless WebP encodingMorris Tabor
2021-06-11Merge pull request #49421 from floppyhammer/fix-vram-compressed-mipmapsJuan Linietsky
Fix mipmaps of VRAM compressed textures
2021-06-11Merge pull request #49511 from akien-mga/core-diraccess-fileaccess-ioRémi Verschelde
Core: Move DirAccess and FileAccess to `core/io`
2021-06-11Merge pull request #34566 from Heikki00/34541_to_json_precisionRémi Verschelde
Increased String::num default decimal precision
2021-06-11Add Time singletonAaron Franke
2021-06-11Core: Move DirAccess and FileAccess to `core/io`Rémi Verschelde
File handling APIs are typically considered part of I/O, and we did have most `FileAccess` implementations in `core/io` already.
2021-06-08fix-vram-compressed-mipmapsfloppyhammer
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-29Increase String::num default decimal precisionHeikki Simojoki
Fixes #34541 Renamed MAX_DIGITS to MAX_DECIMALS, since it only changes the amount of digits after the decimal point. Increased MAX_DECIMALS to 32, and made String::num use MAX_DECIMALS consistently. If -1 is passed as decimal precision to String::num, it now gets changed to the correct precision based on the number's magnitude, instead of using printf default(which is 6) String::num_real also calculates the correct precision now. Also made the types used in floating-point math more consistent in a few places.
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