Age | Commit message (Collapse) | Author |
|
|
|
|
|
* Added a new macro SNAME() that constructs and caches a local stringname.
* Subsequent usages use the cached version.
* Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time.
* Replaced all theme usages by this new macro.
* Replace all signal emission usages by this new macro.
* Replace all call_deferred usages by this new macro.
This is part of ongoing work to optimize GUI and the editor.
|
|
|
|
Non-threads build are broken anyway.
|
|
The XR API changed a bit, and it's not just a rename, though probably an
easy update for someone who is qualified :).
|
|
Was looking for misuse of module headers without checking that the module is
actually enabled and got carried away...
|
|
The memory was resized in any case during start.
Mitigate Chromium issue:
https://bugs.chromium.org/p/v8/issues/detail?id=11863
Also fix a warning about SAFE_HEAP being a linker only flag.
|
|
* This PR adds the ability to disable classes when building.
* For now it's only possible to do this via command like:
`scons disable_classes=RayCast2D,Area3D`
* Eventually, a proper UI will be implemented to create a build config file to do this at large scale, as well as detect what is used in the project.
|
|
Strings are UTF-8 encoded and should be parsed as such, while it was
being parsed as a C string before.
|
|
Enabled by default.
|
|
|
|
|
|
|
|
Also MIDIMessage
|
|
|
|
Renames JSON.parse_string() to parse()
Renames JSON.decode_data() to stringify()
|
|
JavaScript callbacks created via the `JavaScript.create_callback` method
used to always return void.
With this patch they return the value returned by the Godot function as
one would expect.
|
|
[HTML5] Fix build without eval, library functions signatures.
|
|
|
|
Also fix download_buffer return type.
|
|
|
|
|
|
File handling APIs are typically considered part of I/O, and we did have most
`FileAccess` implementations in `core/io` already.
|
|
|
|
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
|
|
|
|
|
|
* Shader compilation is now cached. Subsequent loads take less than a millisecond.
* Improved game, editor and project manager startup time.
* Editor uses .godot/shader_cache to store shaders.
* Game uses user://shader_cache
* Project manager uses $config_dir/shader_cache
* Options to tweak shader caching in project settings.
* Editor path configuration moved from EditorSettings to new class, EditorPaths, so it can be available early on (before shaders are compiled).
* Reworked ShaderCompilerRD to ensure deterministic shader code creation (else shader may change and cache will be invalidated).
* Added shader compression with SMOLV: https://github.com/aras-p/smol-v
|
|
|
|
- Update Viewport MSAA property hints to match the currently
exposed values.
- Add some performance hints to property hints.
|
|
[HTML5] Fix build after KEY_CTRL rename.
|
|
|
|
New `JavaScript.download_buffer` method to create a prompt that let the
user download a file.
|
|
[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
```
|
|
Add `WARN_ON_UNDEFINED_SYMBOLS=0` for the main module (which defines
`godot_js_main` as extern coming from the "side" module, i.e. the main
Godot binary).
|
|
|
|
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>
|
|
jsdoc has no new release so I'm tracking this PR:
https://github.com/jsdoc/jsdoc/pull/1906
|
|
[HTML5] Fix target_fps when window loses focus.
|
|
InputEventWithModifiers properties/methods
|
|
We don't get updates when the window is unfocused/minimized, so we must
detect the situation where the counted ticks start drifting away
resulting in more frames drawn than needed.
This commit adds a check to ensure that the target ticks do not drift
away more than one second.
|
|
See discussion in #43811, it was only implemented on iOS and even that
implementation was fairly limited. This would best be provided as plugins
for Android and iOS without cluttering the shared OS API.
|
|
For consistency with the native one, and the documentation.
|
|
|
|
|
|
Library suffix should be `.a`, the `EXTRA_` in
`EXTRA_EXPORTED_RUNTIME_METHODS` is deprecated.
|
|
Follow-up to #38736 (these uses were likely added after this PR was merged).
|