A Thousand Ships
955d5affa8
Reduce and prevent unnecessary random-access to List
...
Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)
* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
2024-05-04 16:08:55 +02:00
K. S. Ernest (iFire) Lee
f9b488508c
Add PackedVector4Array Variant type
...
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-05-03 00:58:27 +02:00
Rémi Verschelde
28a18cf1b8
Merge pull request #88763 from BlueCube3310/image-is-compressed-static
...
Image: Add static `is_format_compressed` function.
2024-05-02 14:01:18 +02:00
bruvzg
fc948e87f6
Add symlink API support for Windows, expose symlink methods.
2024-04-28 19:59:34 +03:00
Fabio Alessandrelli
efccebd3db
[Core] Use unztell64 in FileAccessZIP to ensure 64 bit return
2024-04-26 11:49:54 +02:00
Rémi Verschelde
dcdaa7d5a9
Merge pull request #90900 from Calinou/file-logging-strip-ansi-escape-codes
...
Strip ANSI escape codes from file logging
2024-04-24 18:55:10 +02:00
Rémi Verschelde
00cc0a3e8f
Merge pull request #90091 from ajreckof/Fix-load-subtask-not-being-registered-leading-to-false-progress-values-
...
Fix load subtask not being registered leading to false progress values.
2024-04-24 18:55:04 +02:00
Hugo Locurcio
459f14c098
Strip ANSI escape codes from file logging
...
Text editors cannot display ANSI escape codes, so these should be
stripped from log files to ensure readability.
Since this uses a regex, this works both for `print_rich()`
and manually inserted ANSI escape codes.
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2024-04-24 01:02:47 +02:00
Rémi Verschelde
659cf339bc
Merge pull request #90931 from aaronfranke/is-ascii-alphabet-char
...
Rename internal `is_ascii_char` to `is_ascii_alphabet_char`
2024-04-22 12:53:28 +02:00
Rémi Verschelde
504d01b61e
Merge pull request #90403 from bruvzg/file_resize
...
[FileAccess] Implement `resize` method.
2024-04-22 12:51:55 +02:00
A Thousand Ships
49ae632b7d
Fix import and saving related crashes
...
* Don't add empty mesh to result when importing obj files
* Check for null resources in `ResourceSaver`
2024-04-22 12:13:19 +02:00
Aaron Franke
b1f5e9fe3a
Rename internal is_ascii_char to is_ascii_alphabet_char
2024-04-20 02:36:41 -07:00
Rémi Verschelde
56dfed4efd
Merge pull request #90751 from dalexeev/core-marshalls-fix-objects-as-id-in-typed-arrays
...
Core: Fix binary serialization of objects in typed arrays
2024-04-17 10:59:01 +02:00
Danil Alexeev
27b94eb44c
Core: Fix binary serialization of objects in typed arrays
...
* Allow typed arrays to be encoded even if `p_full_objects` is `false`.
* Use `Array[EncodedObjectAsID]` instead of the encoded element type
when decoding an array if `p_allow_objects` is `false`.
2024-04-16 16:19:10 +03:00
Yorick de Wid
61a2f5c534
FIX: Return if TCP is in STATUS_CONNECTED
...
If the `StreamPeerTCP` is polled and the TCP connection is `STATUS_CONNECTED` it should return after polling netsocket. Without `return` poll keeps calling `_sock->connect_to_host` and `connect()`.
2024-04-16 10:32:11 +02:00
Danil Alexeev
3c62f5fe5c
Core: Fix RefCounted
handling in marshalls.cpp
2024-04-15 13:53:40 +03:00
ajreckof
ca020ad8cd
Fix load subtask not being registered leading to false progress values.
2024-04-13 01:42:29 +02:00
bruvzg
88b3e68f93
[FileAccess] Implement resize
method.
2024-04-12 19:20:49 +03:00
bruvzg
57fde36f31
[Unix / DirAccess] Fix removing directory symlinks with remove
, ensure erase_contents_recursive
is not following directory symlinks.
2024-04-12 10:06:49 +03:00
A Thousand Ships
64146cb7f3
[Core] Add iteration support to Array
2024-04-10 14:49:34 +02:00
Rémi Verschelde
bff6955459
Merge pull request #85024 from Jordyfel/moving-scripts-of-types-of-exported-typed-arrays
...
When saving a resource with an exported typed array, check whether the type is an external resource
2024-04-09 22:25:00 +02:00
Jordyfel
82de00a174
Type of exported typed array can be external resource
2024-04-09 15:28:42 +03:00
Fabio Alessandrelli
8addab785d
[IO] Fix marshall decoding when script is NIL
...
We changed how scripts are binary serialized, and added a check to
ensure the new format is enforced, but there is still a case where the
old format (plain "prop"-"value" combo) is used, and that is when the
script is NIL.
2024-04-07 09:55:15 +02:00
Pylgos
c2be2dfbde
Fix Resource::get_rid override not working in GDExtension
2024-04-06 01:27:16 +09:00
Rémi Verschelde
c8088c100f
Merge pull request #90038 from AThousandShips/load_path
...
[Core] Fix `ResourceLoader.load` cache with relative paths
2024-04-04 14:36:51 +02:00
Rémi Verschelde
3fdc169751
Merge pull request #89889 from BoThompson/compute_image_metrics-fix
...
Remove a redundant `MAX` comparison within a loop in `compute_image_metrics`.
2024-04-04 14:35:17 +02:00
Rémi Verschelde
ec5cae37d6
Merge pull request #78219 from dalexeev/core-typed-arrays-bin-serialization
...
Core: Add typed array support for binary serialization
2024-04-04 14:30:22 +02:00
A Thousand Ships
0274877def
[Core] Fix ResourceLoader.load
cache with relative paths
...
Paths were not simplified meaning that `res://foo.bar` was treated
differently from `./foo.bar` and similar
2024-03-30 12:50:08 +01:00
Bo Thompson
75d65195ae
Remove a redundant MAX
comparison within a loop in compute_image_metrics
2024-03-28 22:23:15 +01:00
bruvzg
082b420c0a
Implement OS.execute_with_pipe
method to run process with redirected stdio.
...
Implement `pipe://*` path handling for creation of named pipes.
2024-03-27 11:41:16 +02:00
ppphp
d4e1a74efb
Add 'override' mark to ResourceFormat class
2024-03-25 04:06:34 +08:00
Rémi Verschelde
d5f944ff10
Merge pull request #89261 from paulloz/core/fix-script-reloading-outside-script-editor
...
Fix how scripts reload outside of ScriptEditor
2024-03-24 01:15:23 +01:00
Danil Alexeev
c30bec7fca
Core: Add typed array support for binary serialization
2024-03-20 11:37:41 +03:00
Paul Joannon
63674648fb
Fix how scripts reload outside of ScriptEditor
2024-03-18 10:29:06 +01:00
Rémi Verschelde
453485aede
Merge pull request #89270 from Repiteo/enforce-typename-in-templates
...
Enforce template syntax `typename` over `class`
2024-03-14 22:34:37 +01:00
Rémi Verschelde
0475011c66
Merge pull request #82084 from ogapo/pr/pck-cache-merge
...
Merge `uid_cache.bin` and `global_script_class_cache.cfg` after mounting PCKs
2024-03-11 14:01:16 +01:00
Rémi Verschelde
1c8ef9e252
Merge pull request #89251 from KoBeWi/fastpector
...
Speed up inspector updates for TileMap
2024-03-09 00:52:09 +01:00
Rémi Verschelde
baf75d048c
Merge pull request #87448 from nfrmtk/check-buffer-size
...
Add check for negative `buffer_size` inside `StreamPeerGZIP::start_(de)compression`
2024-03-09 00:52:01 +01:00
nfrmtk
da886006a0
add check for negative buffer_size inside start_(de)compression method.
2024-03-08 17:49:48 +03:00
Thaddeus Crews
9903e6779b
Enforce template syntax typename
over class
2024-03-07 22:39:09 -06:00
kobewi
7319b612f3
Speed up inspector updates for TileMap
2024-03-07 18:01:30 +01:00
Ryan
42ce14043e
Expose scene unique id functionality in Resource
2024-03-07 14:53:58 +01:00
David Nikdel
5e6adb4a2d
Merge uid_cache.bin and global_script_class_cache.cfg after mounting PCKs
...
fixes godotengine#82061
fixes godotengine#61556
Also, distinguish between main pack and DLC packs.
It's desirable to downloaded content to be as small as possible. This change avoids bloating non-main pack files with new versions of resources that are all read on startup and never used again. They have no effect if loaded after startup.
- project.godot/project.binary file
- extension_list.cfg
- app icon and boot_splash
- .ico and .icns files (these can still be opted in for DLC by listing them explicitly in the include filter)
2024-03-06 12:14:21 -05:00
bruvzg
bf8ec7b81b
[Export] Use relative file base offset for embedded PCK.
2024-03-06 14:02:01 +02:00
Rémi Verschelde
172b254687
Merge pull request #88664 from RandomShaper/res_load_modes
...
Enhance cache modes in resource loading
2024-02-29 13:54:07 +01:00
Rémi Verschelde
7462b1a0b2
Merge pull request #88561 from RandomShaper/res_load_safer
...
Improve thread safety of resource loading
2024-02-29 13:53:58 +01:00
BlueCube3310
8239aeec8e
Image: Add static is_format_compressed
function.
2024-02-28 19:42:06 +01:00
Pedro J. Estébanez
84b85d894c
Improve thread safety of resource loading
2024-02-28 15:19:22 +01:00
Pedro J. Estébanez
5e144022e7
Enhance cache modes in resource loading
...
- Unify documentation, hoping to clear misconcepctions about about propagation of the cache mode across dependant loads.
- Clarify in docs that `CACHE_MODE_REPLACE` now also works on the main resource (from #87008 ).
- Add two recursive modes, counterparts of `CACHE_MODE_REPLACE` and `CACHE_MODE_IGNORE`, since it seems some need them (see #59669 , #82830 ).
- Let resources, even loaded with one of the ignore-cache modes, get a path, which is useful for tools.
2024-02-26 14:59:04 +01:00
Pedro J. Estébanez
851f1d49d7
Remove spammy dev-mode message about load deadlock prevention
2024-02-23 14:54:03 +01:00