godot/core/io
Pedro J. Estébanez 469fa47e06
Make all file access 64-bit (uint64_t)
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-17 15:06:19 +02:00
..
SCsub SCons: Format buildsystem files with psf/black 2020-03-30 09:05:53 +02:00
compression.cpp Core: Drop custom `copymem`/`zeromem` defines 2021-04-27 16:26:27 +02:00
compression.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
config_file.cpp Add a "keep" import mode to keep files as-is and export them. 2021-03-22 17:19:19 -03:00
config_file.h Add a "keep" import mode to keep files as-is and export them. 2021-03-22 17:19:19 -03:00
dtls_server.cpp Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
dtls_server.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
file_access_compressed.cpp Make all file access 64-bit (uint64_t) 2021-05-17 15:06:19 +02:00
file_access_compressed.h Make all file access 64-bit (uint64_t) 2021-05-17 15:06:19 +02:00
file_access_encrypted.cpp Make all file access 64-bit (uint64_t) 2021-05-17 15:06:19 +02:00
file_access_encrypted.h Make all file access 64-bit (uint64_t) 2021-05-17 15:06:19 +02:00
file_access_memory.cpp Make all file access 64-bit (uint64_t) 2021-05-17 15:06:19 +02:00
file_access_memory.h Make all file access 64-bit (uint64_t) 2021-05-17 15:06:19 +02:00
file_access_network.cpp Make all file access 64-bit (uint64_t) 2021-05-17 15:06:19 +02:00
file_access_network.h Make all file access 64-bit (uint64_t) 2021-05-17 15:06:19 +02:00
file_access_pack.cpp Make all file access 64-bit (uint64_t) 2021-05-17 15:06:19 +02:00
file_access_pack.h Make all file access 64-bit (uint64_t) 2021-05-17 15:06:19 +02:00
file_access_zip.cpp Make all file access 64-bit (uint64_t) 2021-05-17 15:06:19 +02:00
file_access_zip.h Make all file access 64-bit (uint64_t) 2021-05-17 15:06:19 +02:00
http_client.cpp Rename `IP_Unix`, `IP_Address` and `TCP_Server` to remove underscores 2021-05-06 02:52:01 +02:00
http_client.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
image.cpp Core: Drop custom `copymem`/`zeromem` defines 2021-04-27 16:26:27 +02:00
image.h Add ability to change Icon Saturation 2021-02-12 12:16:37 -03:00
image_loader.cpp Improve resource load cache 2021-02-11 15:44:28 -03:00
image_loader.h Improve resource load cache 2021-02-11 15:44:28 -03:00
ip.cpp Rename `IP_Unix`, `IP_Address` and `TCP_Server` to remove underscores 2021-05-06 02:52:01 +02:00
ip.h Rename `IP_Unix`, `IP_Address` and `TCP_Server` to remove underscores 2021-05-06 02:52:01 +02:00
ip_address.cpp Rename `IP_Unix`, `IP_Address` and `TCP_Server` to remove underscores 2021-05-06 02:52:01 +02:00
ip_address.h Rename `IP_Unix`, `IP_Address` and `TCP_Server` to remove underscores 2021-05-06 02:52:01 +02:00
json.cpp Merge pull request #40804 from naithar/fix/json-parse 2021-03-23 13:07:04 +01:00
json.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
logger.cpp Logger: Cache 'flush_stdout_on_print' to improve performance, and works before ProjectSettings starts. 2021-02-28 19:36:10 -03:00
logger.h Logger: Cache 'flush_stdout_on_print' to improve performance, and works before ProjectSettings starts. 2021-02-28 19:36:10 -03:00
marshalls.cpp Core: Drop custom `copymem`/`zeromem` defines 2021-04-27 16:26:27 +02:00
marshalls.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
multiplayer_api.cpp Core: Drop custom `copymem`/`zeromem` defines 2021-04-27 16:26:27 +02:00
multiplayer_api.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
net_socket.cpp Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
net_socket.h Rename `IP_Unix`, `IP_Address` and `TCP_Server` to remove underscores 2021-05-06 02:52:01 +02:00
networked_multiplayer_peer.cpp Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
networked_multiplayer_peer.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
packed_data_container.cpp Add PackedDataContainer data pointer check for non nullable 2021-05-05 21:17:49 +05:00
packed_data_container.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
packet_peer.cpp Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
packet_peer.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
packet_peer_dtls.cpp Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
packet_peer_dtls.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
packet_peer_udp.cpp Rename `IP_Unix`, `IP_Address` and `TCP_Server` to remove underscores 2021-05-06 02:52:01 +02:00
packet_peer_udp.h Rename `IP_Unix`, `IP_Address` and `TCP_Server` to remove underscores 2021-05-06 02:52:01 +02:00
pck_packer.cpp Make all file access 64-bit (uint64_t) 2021-05-17 15:06:19 +02:00
pck_packer.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
resource.cpp Implement Particle Trails 2021-04-30 17:38:02 -03:00
resource.h Implement Particle Trails 2021-04-30 17:38:02 -03:00
resource_format_binary.cpp Make all file access 64-bit (uint64_t) 2021-05-17 15:06:19 +02:00
resource_format_binary.h Improve resource load cache 2021-02-11 15:44:28 -03:00
resource_importer.cpp Use multiple threads to import. 2021-04-19 14:12:22 -03:00
resource_importer.h Use multiple threads to import. 2021-04-19 14:12:22 -03:00
resource_loader.cpp Fix error handling for user-defined `ResourceFormatLoader.load` 2021-05-05 15:43:49 +02:00
resource_loader.h doc: Sync classref with current source 2021-02-19 14:39:14 +01:00
resource_saver.cpp Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
resource_saver.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
stream_peer.cpp Core: Drop custom `copymem`/`zeromem` defines 2021-04-27 16:26:27 +02:00
stream_peer.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
stream_peer_ssl.cpp Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
stream_peer_ssl.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
stream_peer_tcp.cpp Rename `IP_Unix`, `IP_Address` and `TCP_Server` to remove underscores 2021-05-06 02:52:01 +02:00
stream_peer_tcp.h Rename `IP_Unix`, `IP_Address` and `TCP_Server` to remove underscores 2021-05-06 02:52:01 +02:00
tcp_server.cpp Rename `IP_Unix`, `IP_Address` and `TCP_Server` to remove underscores 2021-05-06 02:52:01 +02:00
tcp_server.h Rename `IP_Unix`, `IP_Address` and `TCP_Server` to remove underscores 2021-05-06 02:52:01 +02:00
translation_loader_po.cpp Fixes small typos and grammar correction 2021-03-12 19:05:16 +05:30
translation_loader_po.h Improve resource load cache 2021-02-11 15:44:28 -03:00
udp_server.cpp Rename `IP_Unix`, `IP_Address` and `TCP_Server` to remove underscores 2021-05-06 02:52:01 +02:00
udp_server.h Rename `IP_Unix`, `IP_Address` and `TCP_Server` to remove underscores 2021-05-06 02:52:01 +02:00
xml_parser.cpp Core: Drop custom `copymem`/`zeromem` defines 2021-04-27 16:26:27 +02:00
xml_parser.h Add support for numeric XML entities to XMLParser 2021-02-14 11:00:25 -06:00
zip_io.cpp Make all file access 64-bit (uint64_t) 2021-05-17 15:06:19 +02:00
zip_io.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00