Lukas Tenbrink
c993db9688
Add reserve_exact to CowData and Vector.
...
Change growth factor to be an indeterministic 1.5x.
Use `reserve_exact` in `FileAccess` to reduce on binary file loading RAM usage.
# Conflicts:
# core/templates/cowdata.h
2025-10-01 11:57:40 +02:00
Aaron Franke
3d1c9fd5de
Move server files into their subfolders
2025-09-30 19:39:39 -07:00
Thaddeus Crews
55ac91b887
Merge pull request #111084 from Ivorforce/cowdata-reserve-verbose
...
Make `CowData::reserve` warn message when new capacity < size verbose, like other `reserve` methods
2025-09-30 18:35:23 -05:00
Thaddeus Crews
5a1bc65e06
Merge pull request #110058 from Rinnegatamante/pc_upstream
...
Perform per-line or per-rect blits in blit_rect.
2025-09-30 18:35:22 -05:00
Thaddeus Crews
e5bf31b170
Merge pull request #107369 from Ivorforce/node-iter-children
...
Core: Add `Node::iterate_children` as a fast way to iterate a node's children
2025-09-30 18:35:21 -05:00
Thaddeus Crews
a9d4900284
Merge pull request #109779 from dsnopek/thread-is-main-thread
...
Expose `Thread::is_main_thread()`
2025-09-30 18:35:16 -05:00
Thaddeus Crews
93fd5c7ad0
Merge pull request #110907 from beicause/extension-deconstruct-before-object
...
Free script and extension instance before object deconstructing
2025-09-30 18:35:10 -05:00
Thaddeus Crews
76c039fb09
Merge pull request #108725 from dsnopek/gdextension-mem-alloc-pad-align
...
GDExtension: Add `mem_alloc2` (and friends) so padding can be requested
2025-09-30 18:35:09 -05:00
Thaddeus Crews
6b22951162
Merge pull request #107954 from stuartcarnie/unix_domain_socket_support
...
Add Core UNIX domain socket support
2025-09-30 18:35:08 -05:00
Thaddeus Crews
4d13966c08
Merge pull request #108698 from Brogolem35/hashset_clear_optimize
...
Optimize and clean up HashSet::clear
2025-09-30 18:35:01 -05:00
David Snopek
2c707a911f
GDExtension: Prevent breaking compatibility for unexposed classes that can only be created once
2025-09-30 14:48:06 -05:00
Lukas Tenbrink
8f533897d8
Make CowData::reserve warn message when new capacity < size verbose, like other reserve methods.
2025-09-30 20:21:02 +02:00
Thaddeus Crews
726c4e9fba
Merge pull request #84658 from detomon/initialize-quaternion-variant-with-identity
...
Initialize `Quaternion` variant with identity
2025-09-30 11:19:19 -05:00
Thaddeus Crews
21fd4faf1b
Merge pull request #107469 from Ivorforce/vector-localvector-explicit-span-conversions
...
Remove implicit conversions between `LocalVector` and `Vector`
2025-09-30 11:19:17 -05:00
Thaddeus Crews
79d0eea742
Merge pull request #110616 from aaronfranke/fix-rtos-fix-32bit
...
Apply rtos_fix hack for handling 32-bit floats on all calls to rtos_fix
2025-09-30 11:19:16 -05:00
Thaddeus Crews
62933b683e
Merge pull request #105928 from Ivorforce/cowdata-reserve-capacity
...
Core: Add `reserve` function to `Array`, `Vector`, and `String`
2025-09-30 11:19:13 -05:00
Thaddeus Crews
e256771e86
Merge pull request #108836 from aaronfranke/json-grisu
...
Use num_scientific (Grisu2) when stringifying JSON with full precision
2025-09-30 11:19:12 -05:00
Thaddeus Crews
fdf32d1b2a
Merge pull request #108577 from YYF233333/global_class_list
...
Simplify `ScriptServer::get_global_class_list`
2025-09-30 11:19:10 -05:00
Thaddeus Crews
f6fc2f4a08
Core: Remove skip_cr argument from String
2025-09-28 10:07:24 -05:00
Luo Zhihao
727066fe1f
Free script and extension instance before object deconstructing
...
Co-Authored-By: Lukas Tenbrink <lukas.tenbrink@gmail.com >
2025-09-26 18:15:08 +08:00
Haoyu Qiu
4e80190a46
Move context and plural support to Translation
...
- `TranslationPO` is now an empty class. It exists for compatibility.
- `OptimizedTranslation` stays the same, no context or plural support.
2025-09-26 10:51:57 +08:00
Haoyu Qiu
e882e42e1b
Add default plural rules
...
This makes the PO loader correctly handle the situation where the optional
`Plural-Forms` header field does not exist.
The `Translation` class and its subclasses always have access to valid plural
rules via `_get_plural_rules()`. Plural rules are prioritized:
1. `Translation.plural_rules_override`
2. `TranslationServer.get_plural_rules(locale)`
3. The English plural rules: `nplurals=2; plurals=(n != 1)`
Co-Authored-By: Pāvels Nadtočajevs <7645683+bruvzg@users.noreply.github.com >
2025-09-26 10:51:57 +08:00
Haoyu Qiu
ebb96e2303
Move plural rules logic into a separate class
...
- Extracts plural rules logic in `TranslationPO` into a new `PluralRules` class.
- Changes caching the last used plural index in `TranslationPO` into an LRU cache in `PluralRules`.
- Adds tests for `PluralRules`.
2025-09-26 10:51:55 +08:00
Lukas Tenbrink
1bf821c1e1
Store current capacity in CowData buffers, and rewrite most of it.
...
Add `reserve` to `CowData`, `Vector` and `Array`.
# Conflicts:
# core/os/memory.h
# core/templates/cowdata.h
2025-09-25 22:00:17 +02:00
Thaddeus Crews
1f7630f1bf
Merge pull request #110841 from smix8/raster_casual
...
Make navmesh rasterization errors more lenient
2025-09-25 14:57:11 -05:00
Thaddeus Crews
5fda92451d
Merge pull request #100145 from Ivorforce/memory-offset-func
...
Add `mem_aligned_address` to simplify data offset constants.
2025-09-25 14:57:09 -05:00
Stuart Carnie
7227fdd805
Core: Add UNIX domain socket support
...
> [!NOTE]
>
> Later versions of Windows has support for `AF_UNIX`, so it could be
> added.
2025-09-26 05:46:19 +10:00
Lukas Tenbrink
3ac159094f
Add memory_get_offset to simplify data offset constants.
2025-09-25 20:55:33 +02:00
smix8
19df15f1dc
Make navmesh rasterization errors more lenient
...
Make navmesh rasterization on the navigation regions and map more lenient by starting out with a lower internal cell scale by default and changing the merge error to just warning that can be toggled.
2025-09-25 20:18:18 +02:00
Thaddeus Crews
c32c2606f4
Merge pull request #110837 from wheatear-dev/add-gdsoftclass-deeper
...
Add `GDSOFTCLASS` to deeper inheritors of `Object`
2025-09-25 12:13:56 -05:00
A Thousand Ships
bd65cfa876
Revert "Replace many uses of is_class with derives_from."
...
This reverts commit 78b743cf4a .
2025-09-25 13:48:53 +02:00
Edward Moulsdale
e366471fdc
Add GDSOFTCLASS to deeper inheritors of Object
2025-09-24 19:15:56 +01:00
BlueCube3310
f64ccadceb
Image: Support generating mipmaps for all formats
2025-09-24 18:48:28 +02:00
Aaron Franke
a238af4d20
Use num_scientific (Grisu2) when stringifying JSON with full precision
2025-09-24 08:21:37 -07:00
Thaddeus Crews
78b743cf4a
Merge pull request #110832 from Ivorforce/is-class-to-derives-from
...
Replace many uses of `is_class` with `derives_from`.
2025-09-24 09:59:09 -05:00
Thaddeus Crews
3d1d4bf934
Merge pull request #110247 from BlueCube3310/image-fill-mips
...
Image: Make `fill` method also fill the mipmaps
2025-09-24 09:59:04 -05:00
DeeJayLSP
8a7a0faa75
Add reserve() to Dictionary, apply to constructors on GDScript VM
2025-09-23 16:57:52 -03:00
Thaddeus Crews
8d27c00038
Merge pull request #107692 from timothyqiu/editor-overrides-doc
...
Show description for editor setting overrides
2025-09-23 14:51:49 -05:00
Thaddeus Crews
329acc038d
Merge pull request #110826 from Ivorforce/reserve-smaller-than-size-verbose
...
Change "reserve called with a capacity smaller than the current size" error message to a verbose message.
2025-09-23 14:51:48 -05:00
Lukas Tenbrink
c6f57c7a55
Change "reserve called with a capacity smaller than the current size" error message to a verbose message.
2025-09-23 20:02:40 +02:00
Lukas Tenbrink
8ef4a43ada
Replace many uses of is_class with derives_from.
2025-09-23 19:59:00 +02:00
Thaddeus Crews
cd3a6c88fd
Merge pull request #106200 from BlueCube3310/image-16-u16
...
Image: Implement 16-bit unorm and uint formats
2025-09-23 12:08:46 -05:00
Hugo Locurcio
0dcf28104d
Allow all gamepad devices for built-in ui_* input actions
...
This allows all controllers to navigate the UI, which enhances
compatibility with PC handhelds when external controllers are connected.
Previously, only the first device was allowed to use `ui_*` actions
out of the box, which means that on a PC handheld, external controllers
couldn't navigate the UI (since the first ID is always the built-in controller).
2025-09-23 17:12:56 +02:00
BlueCube3310
666ed1b51c
Image: Make fill method also fill the mipmaps
2025-09-23 14:55:04 +02:00
Thaddeus Crews
a20ca7bbfe
Merge pull request #110459 from YeldhamDev/let_the_poor_ints_slide
...
Allow to use sliders for integers in `EditorSpinSlider`
2025-09-22 13:28:52 -05:00
Thaddeus Crews
035f5d3055
Merge pull request #110763 from Ivorforce/object-derives-from
...
Use `AncestralClass` to speed up `Object::cast_to` when possible.
2025-09-22 13:28:45 -05:00
Thaddeus Crews
be421bcdd4
Merge pull request #110250 from YeldhamDev/i_just_cant_keep_focused
...
Hide `Control` focus when given via mouse input
2025-09-22 13:28:44 -05:00
Michael Alexsander
f16ff829f0
Allow to use sliders for integers in EditorSpinSlider
2025-09-22 11:23:15 -03:00
Thaddeus Crews
b4a99e775d
Merge pull request #109843 from Muller-Castro/fix-fileaccess-create-temp
...
Fix `FileAccess::create_temp()` default args error
2025-09-22 08:50:07 -05:00
Thaddeus Crews
9b7a723aac
Merge pull request #107721 from YYF233333/ps_include
...
Remove dependency of `variant.h` in `print_string.h`
2025-09-22 08:50:04 -05:00