Age | Commit message (Collapse) | Author |
|
|
|
Add a Time singleton
|
|
Implement lossless WebP encoding
|
|
|
|
Core: Move DirAccess and FileAccess to `core/io`
|
|
Rename `String.is_abs_path()` to `String.is_absolute_path()`
|
|
|
|
File handling APIs are typically considered part of I/O, and we did have most
`FileAccess` implementations in `core/io` already.
|
|
Prefer discrete GPU over integrated one
|
|
This unblocks launching on Linux laptops that default to the integrated
GPU which can not handle Vulkan in many instances.
Ideally a manual device selection, or an option for the optimal selection
strategy should be provided via CLI or config, but for the time being
this will unblock the Linux devs.
Partially addresses #42348 and #43714
|
|
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.
|
|
Or after punctuation. Tried to leave third-party stuff alone, unless it has
been heavily modified for Godot.
|
|
This is more consistent with `NodePath.is_absolute()`.
|
|
Fix crash when using ALSA MIDI with PulseAudio
|
|
|
|
|
|
|
|
|
|
|
|
Uses RasterizerDummy internally. This is always compiled in, maybe we
should add a switch to enable/disable it via scons?
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
[HTML5] Implement Godot <-> JavaScript interface.
|
|
Using codespell 2.0.0.
Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
dof
doubleclick
fave
findn
GIRD
leapyear
lod
merchantibility
nd
numer
ois
ony
que
seeked
synching
te
uint
unselect
webp
EOF
$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
|
|
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>
|
|
|
|
Also make PulseAudio errors more verbose.
|
|
Some Vulkan debugging prints were also changed to be printed only
in verbose mode.
|
|
|
|
Rename `IP_Unix`, `IP_Address` and `TCP_Server` to remove underscores
|
|
|
|
|
|
- Use hardcoded pluralization for messages.
- Since these messages are English-only, it's fine to hardcode it.
- Use double quotes for consistency with other messages.
|
|
Fix `url_decode` with mixed percent-encoding/Unicode strings.
|
|
drive names as UTF-8 encoded.
|
|
|
|
Follow-up to #38736 (these uses were likely added after this PR was merged).
|
|
Core: Drop custom `copymem`/`zeromem` defines
|
|
|
|
We've been using standard C library functions `memcpy`/`memset` for these since
2016 with 67f65f66391327b2967a20a89c3627e1dd6e84eb.
There was still the possibility for third-party platform ports to override the
definitions with a custom header, but this doesn't seem useful anymore.
|
|
|
|
Now correctly computes the timeout value in milliseconds.
|
|
Added an occlusion culling system with support for static occluder meshes.
It can be enabled via `Project Settings > Rendering > Occlusion Culling > Use Occlusion Culling`.
Occluders are defined via the new `Occluder3D` resource and instanced using the new
`OccluderInstance3D` node. The occluders can also be automatically baked from a
scene using the built-in editor plugin.
|
|
|
|
|