summaryrefslogtreecommitdiff
path: root/core/io
AgeCommit message (Collapse)Author
2018-09-29Fix warning about functions defined but not used [-Wunused-function]Rémi Verschelde
Fixes the following GCC 5 warnings: ``` core/io/zip_io.h:128:26: warning: 'zlib_filefunc_def zipio_create_io_from_file(FileAccess**)' defined but not used [-Wunused-function] core/script_debugger_remote.cpp:110:17: warning: 'ObjectID safe_get_instance_id(const Variant&)' defined but not used [-Wunused-function] drivers/unix/socket_helpers.h:103:12: warning: 'int _socket_create(IP::Type&, int, int)' defined but not used [-Wunused-function] drivers/unix/socket_helpers.h:45:15: warning: 'size_t _set_sockaddr(sockaddr_storage*, const IP_Address&, int, IP::Type)' defined but not used [-Wunused-function] drivers/unix/socket_helpers.h:76:15: warning: 'size_t _set_listen_sockaddr(sockaddr_storage*, int, IP::Type, IP_Address)' defined but not used [-Wunused-function] editor/editor_fonts.cpp:40:24: warning: 'Ref<BitmapFont> make_font(int, int, int, int, const int*, const Ref<Texture>&)' defined but not used [-Wunused-function] editor/editor_themes.cpp:85:26: warning: 'Ref<StyleBoxFlat> change_border_color(Ref<StyleBoxFlat>, Color)' defined but not used [-Wunused-function] editor/import/editor_import_collada.cpp:493:13: warning: 'void _generate_normals(const PoolVector<int>&, const PoolVector<Vector3>&, PoolVector<Vector3>&)' defined but not used [-Wunused-function] editor/import/editor_import_collada.cpp:524:13: warning: 'void _generate_tangents_and_binormals(const PoolVector<int>&, const PoolVector<Vector3>&, const PoolVector<Vector3>&, const PoolVector<Vector3>&, PoolVector<float>&)' defined but not used [-Wunused-function] editor/pvrtc_compress.cpp:118:13: warning: 'void _compress_etc(Image*)' defined but not used [-Wunused-function] modules/etc/image_etc.cpp:89:13: warning: 'void _decompress_etc1(Image*)' defined but not used [-Wunused-function] modules/etc/image_etc.cpp:93:13: warning: 'void _decompress_etc2(Image*)' defined but not used [-Wunused-function] modules/gdscript/editor/gdscript_highlighter.cpp:46:13: warning: 'bool _is_whitespace(CharType)' defined but not used [-Wunused-function] scene/2d/cpu_particles_2d.cpp:510:14: warning: 'float rand_from_seed_m1_p1(uint32_t&)' defined but not used [-Wunused-function] scene/3d/cpu_particles.cpp:474:14: warning: 'float rand_from_seed_m1_p1(uint32_t&)' defined but not used [-Wunused-function] scene/resources/default_theme/default_theme.cpp:123:20: warning: 'Ref<Shader> make_shader(const char*, const char*, const char*)' defined but not used [-Wunused-function] scene/resources/default_theme/default_theme.cpp:130:24: warning: 'Ref<BitmapFont> make_font(int, int, int, int, const int*, const Ref<Texture>&)' defined but not used [-Wunused-function] ``` Had to split `core/io/zip_io.h` into header and .cpp file without 'static' keyword. Not fixed yet (static definition in header used in some files but not all): ``` modules/websocket/lws_helper.h:111:13: warning: 'void _lws_make_protocols(void*, int (*)(lws*, lws_callback_reasons, void*, void*, size_t), PoolVector<String>, _LWSRef**)' defined but not used [-Wunused-function] ``` Also fixed a couple other warnings missed in previous commits.
2018-09-28SCons: Build core's thirdparty code in own environmentRémi Verschelde
Also move Zlib and Zstd's build instructions to core/SCsub.
2018-09-27Fix warnings about unhandled enum value in switch [-Wswitch]Rémi Verschelde
Fixes GCC 5 warnings of the form: core/io/http_client.cpp:288:9: warning: enumeration value 'STATUS_SSL_HANDSHAKE_ERROR' not handled in switch [-Wswitch] core/io/marshalls.cpp:806:9: warning: enumeration value 'AABB' not handled in switch [-Wswitch] Those can be trivial cases where adding a default fallback is the solution, or more complex issues/hidden bugs where missed values are actually meant to be handled.
2018-09-27Fix warnings for operator precedence disambiguation [-Wparentheses]Rémi Verschelde
Fixes the following GCC 5 warnings: ``` core/io/resource_format_binary.cpp:1721:29: warning: suggest parentheses around arithmetic in operand of '|' [-Wparentheses] core/typedefs.h:108:24: warning: suggest parentheses around comparison in operand of '!=' [-Wparentheses] editor/plugins/spatial_editor_plugin.cpp:2202:58: warning: suggest parentheses around comparison in operand of '!=' [-Wparentheses] editor/plugins/spatial_editor_plugin.cpp:5002:12: warning: suggest explicit braces to avoid ambiguous 'else' [-Wparentheses] main/input_default.cpp:346:59: warning: suggest parentheses around '-' inside '<<' [-Wparentheses] main/input_default.cpp:348:60: warning: suggest parentheses around '-' inside '<<' [-Wparentheses] main/input_default.cpp:579:57: warning: suggest parentheses around '-' inside '<<' [-Wparentheses] modules/gridmap/grid_map_editor_plugin.cpp:613:14: warning: suggest explicit braces to avoid ambiguous 'else' [-Wparentheses] modules/theora/video_stream_theora.cpp:335:34: warning: suggest parentheses around '+' in operand of '&' [-Wparentheses] modules/theora/video_stream_theora.cpp:336:35: warning: suggest parentheses around '+' in operand of '&' [-Wparentheses] modules/visual_script/visual_script_property_selector.cpp:215:38: warning: suggest parentheses around '&&' within '||' [-Wparentheses] scene/gui/rich_text_label.cpp:424:84: warning: suggest parentheses around '&&' within '||' [-Wparentheses] scene/gui/rich_text_label.cpp:512:80: warning: suggest parentheses around '&&' within '||' [-Wparentheses] scene/gui/scroll_container.cpp:173:36: warning: suggest parentheses around '&&' within '||' [-Wparentheses] scene/gui/scroll_container.cpp:173:86: warning: suggest parentheses around '&&' within '||' [-Wparentheses] scene/gui/tree.cpp:1419:98: warning: suggest parentheses around '&&' within '||' [-Wparentheses] ```
2018-09-25Better MultiplayerAPI error logs.Fabio Alessandrelli
2018-09-25Skip RPC/RSET when MASTERSYNC and we are master.Fabio Alessandrelli
2018-09-22StreamPeer get[_utf8]_string with negative length.Fabio Alessandrelli
If the "bytes" parameter of get_string and get_utf8_string is negative, the length will be read from the stream instead. The bytes parameter has now a default (-1), allowing to use them directly as reverses of put_string and put_utf8_string . put_string was not implemented, so I implemented it to allow sending ASCII strings (which are much smaller than UTF8 ones).
2018-09-21Add checks for clean disconnect in HTTP/TCP/SSL.Fabio Alessandrelli
Half-open TCP connection can, of course, only be detected by writing the socket, or waiting for TCP timeout.
2018-09-16Merge pull request #22066 from Faless/bundle_certsRémi Verschelde
Bundle SSL certs with the templates
2018-09-15Fix HTTPClient _get_http_data bug after #21976.Fabio Alessandrelli
2018-09-15Allow system certs file to be used by Editor.Fabio Alessandrelli
Note, it will only used by the Editor, not when running the game. This allows package maintainer to compile Godot to use system installed certificates when accessing the AssetLib.
2018-09-15Bundle SSL certs with the templates.Fabio Alessandrelli
If this is undesired it can be avoided by specifying builtin_certs=no . Bundled SSL certs will be used unless you specify an override in: Project Settings -> SSL -> Certificates .
2018-09-15doc: Sync classref with current sourceRémi Verschelde
2018-09-15Clearly deprecate sync too in favor of remotesync.Fabio Alessandrelli
NOTE: This changes the RPC_MODE_* enum values. Games should be re-exported. GDNative rebuilt.
2018-09-15Rename slave keyword to puppetFabio Alessandrelli
The slave keyword will still be available as deprecated in 3.1 but will be dropped from future releases.
2018-09-13Fix FileAccessCompressed::get_8 returning 0 for the last byte of a fileelasota
2018-09-13Merge pull request #21976 from Faless/http_client_eof_fixRémi Verschelde
Fix non chunked HTTP reading till eof.
2018-09-13Merge pull request #22020 from Faless/tcp_fixRémi Verschelde
Fix TCP connecting state not set correctly
2018-09-13Merge pull request #21982 from luzpaz/misc-typosRémi Verschelde
Misc. typos
2018-09-13Fix TCP connecting state not set correctlyFabio Alessandrelli
2018-09-12Misc. typosluz.paz
Found via `codespell -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"`
2018-09-12Unify StreamPeerTCP/TCP_Server with NetSocket APIFabio Alessandrelli
2018-09-12Unify PacketPeerUDP using NetSocketFabio Alessandrelli
2018-09-12New NetSocket interface, BSD/Win implementationFabio Alessandrelli
Unified BSD and Winsock sockets into a single implementation of a generic NetSocket interface. This is some ground work for few network improvements: - Reuse as much code as possible between Posix and Windows. - Provide a single point of implementation for exotic sdks (consoles). - Provide platform agnostic StreamPeerTCP and PacketPeerUDP in core. - Implement connect for UDP allowing for DTLS implementation.
2018-09-12Fix non chunked HTTP reading till eof.Fabio Alessandrelli
2018-09-12Make core/ includes absolute, remove subfolders from include pathRémi Verschelde
This allows more consistency in the manner we include core headers, where previously there would be a mix of absolute, relative and include path-dependent includes.
2018-09-02Change ResourceLoader::load to make it more thread safe.Juan Linietsky
2018-08-28Fix DNS resolution when cache is invalid.Fabio Alessandrelli
Fix StreamPeerTCP.connect_to_host return value.
2018-08-27Removed fallback system and merged bptc into s3tcJuan Linietsky
2018-08-24Make some debug prints verbose-only, remove othersRémi Verschelde
2018-08-24Add print_verbose to print to stdout only in verbose modeRémi Verschelde
Equivalent of the cumbersome: if (OS::get_singleton()->is_stdout_verbose()) print_line(msg);
2018-08-21BPTC supportelasota
2018-08-12Fix ResourceLoader::exists() false negative and readd deprecated has()Rémi Verschelde
2018-08-10Added function ResourceLoader.exists(), to check if a resource exists. ↵Juan Linietsky
Closes #19140
2018-08-10Revert "added get_creation_time function for gdscript"Juan Linietsky
2018-08-10Merge pull request #18914 from notwarp/masterJuan Linietsky
added get_creation_time function for gdscript
2018-08-04ResourceFormatLoaderImage::get_resource_type now uses file pathwillnationsdev
2018-07-29It is now possible to import images as a separate resource, closes #5738 and ↵Juan Linietsky
likely many others
2018-07-29Fix marshalls size checks.Fabio Alessandrelli
Yesterday, when playing around with my network code, I realized there is a security issue in decode_variant, at least when decoding PoolArrays. Basically, the size of the PoolArray is encoded in a uint32_t, when decoding it, that value is cast to int when comparing if the packet is actually that size causing numbers with MSB=1 to be interpreted as negative thus always passing the check. That same value though, is used as uint32_t again to resize the output vector. For this reason, sending a malformed packet with declared type PoolByteArray and size of 2^31(+x) causes the engine to try to allocate 2+GB of pool memory, causing the engine to crash. (cherry picked from commit 5262d1bbcc81a06db66ac45c3f75535f231268bc)
2018-07-26doc: Sync classref with current sourceRémi Verschelde
Fix various missing arguments in bindings.
2018-07-26Reduce unnecessary COW on Vector by make writing explicitHein-Pieter van Braam
This commit makes operator[] on Vector const and adds a write proxy to it. From now on writes to Vectors need to happen through the .write proxy. So for instance: Vector<int> vec; vec.push_back(10); std::cout << vec[0] << std::endl; vec.write[0] = 20; Failing to use the .write proxy will cause a compilation error. In addition COWable datatypes can now embed a CowData pointer to their data. This means that String, CharString, and VMap no longer use or derive from Vector. _ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug builds. This is a lot faster for Vector in the editor and while running tests. The reason why this difference used to exist is because force-inlined methods used to give a bad debugging experience. After extensive testing with modern compilers this is no longer the case.
2018-07-24Fix loading PO files with missing newline after last msgstrRémi Verschelde
Fixes #20375.
2018-07-16HTTP client now uses non blocking handshakeFabio Alessandrelli
2018-07-16Implement non blocking-handshake for StreamPeerSSLFabio Alessandrelli
2018-07-08MultiplayerAPI::send_bytes transfer mode support.Fabio Alessandrelli
Added as extra parameter, allow you to specify which transfer mode to use for those specific bytes
2018-07-04Fix CORS problems due to added headers on JS targetGagaPete
Before this change, missing User-Agent and Accept headers were automatically added on all platforms. Setting the User-Agent header forces the browser to do a CORS preflight (see 1) which fails if the HTTP endpoint is not configured appropriate. It's not neccesary to set either header as the browser sets them and so this commit disables that functionality on the JS target. 1: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Simple_requests
2018-06-12Fixed regression making the logger not respect the max files limit.Michael Alexsander Silva Dias
2018-05-30Don't add a period to a log file name if it has no extension.Michael Alexsander Silva Dias
2018-05-29New sync RPC modes to match all combinationsFabio Alessandrelli
2018-05-29Refactor RPCMode enum and checksFabio Alessandrelli