Age | Commit message (Collapse) | Author |
|
Add parameter checks to FileAccess get_buffer functions
|
|
Add `use_asan` option for MSVC to enable AddressSanitizer
|
|
Replace malloc's with Godot's memalloc macro
|
|
Fixes small typos and grammar correction
|
|
|
|
Exposes AddressSanitizer support in MSVC compiler. Can be installed via individual
components in the Visual Studio 2019 Installer.
Disabled by default. Compile the engine with `scons use_asan=yes`.
|
|
|
|
|
|
With a very nice hack, a new hidden configuration option that delays
dropped files removal at exit.
This still leaks while the project manager is running, but will clear
memory as soon as it exits or load something.
(reminder, dropped files are reguarly removed after the signal is
emitted specifically to avoid leaks, but I prefer hacking the HTML5
config then the project manager).
|
|
Added as an export option "Experimental Virtual Keyboard".
There is no zoom, so text/line edit must be in the top part of the
screen, or it will get hidden by the virtual keyboard.
UTF8/Latin-1 only (I think regular UTF-8 should work out of the box in
4.0 but I can't test it).
It uses an hidden textarea or input, based on the multiline variable,
and only gets activated if the device has a touchscreen.
This could cause problems on devices with both touchscreen and a real
keyboard (although input should still work in general with some minor
focus issues). I'm thinking of a system to detect the first physical
keystroke and disable it in case, but it might do more harm then good,
so it must be well thought.
|
|
It used to be updated before the first iteration, causing the
window/viewport size values to be incorrect during the initialization
phase (e.g. during the first `_ready` notification).
|
|
fix #46540
|
|
The option was forced to `true` before, unlike on other platforms.
|
|
[HTML5] Add PWA support to the editor page.
|
|
This allows to install it as an app, and provide offline support (after
the first run).
Practically, this boils down to adding a JSON file as a manifest, an
offline page to be displayed when the cached files are not avaialble,
and a JS file to cache resources and return them.
The reason for the "first run requirements" is that some browsers, will
emit an "install" by just visiting the page (to see if the JS code is
compatibile), and we do not want to force casual visitors to just
download the 10 MiB+ compressed editor WebAssembly file without pressing
the start button.
Special thanks to Hugo Locurcio (Calinou) for the initial work.
|
|
Which could happen if the worklet was not fully loaded, or the audio
context had already aborted.
|
|
To avoid trying to do PRIME detection on fake `libGL.so` as used by e.g.
Renderdoc or Primus, we skip detection if there's a `libGL.so` in
`LD_LIBRARY_PATH`... and our luck is that Steam defines it and includes
system paths too, thus the actual system `libGL`... 🤦
So if we detect Steam, we skip this check.
Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
|
|
This has some advantages:
- Streaming/chunked response support.
- Broader headers support.
|
|
New heapCopy function copies a TypedArray to the heap.
|
|
This allow the loading bar to be much more reliable, even in cases where
realible stream loading status is not detectable (server-side
compression, chunked encoding).
|
|
|
|
Mono/macOS: Separate data dir into frameworks and resources for codesigning
|
|
[macOS] Add entitlements config and export template `dylib` signing to the export.
|
|
Co-authored-by: Ignacio Etcheverry <ignalfonsore@gmail.com>
|
|
export.
|
|
|
|
The problem happened on methods `screen_get_position`,
`screen_get_usable_rect` and `window_set_current_screen` when they were
passed a negative screen value.
Fixes:
- #46184
- #46185
- #46186
|
|
Fix invalid missing template error when the Android build template is not installed
|
|
installed.
|
|
The previous logic had the side effect of imposing a limit of one plugin per `aar` binary. The update lifts that restriction.
|
|
[HTML5] Document Engine and EngineConfig (jsdoc).
|
|
We used to have it like `$GODOT_VERSION` which caused inconsistencies
between different scons versions when substituting it.
It's now `@GODOT_VERSION@`, which is safe on both scons3 and scons4.
|
|
A template for `jsdoc` that generat the HTML5 public classref.
The script can be run via `npm run docs` to print to stdout.
You can dry run via `npm run docs -- --d dry-run` or write to file via
`npm run docs -- -d /path/to/file.rst`
Also update Makefile in `doc/` and add dry run test to CI.
|
|
This commit also removes the utils.js engine file, moving some of it's
content to config.js and some to engine.js .
|
|
Update the filtering logic to properly handle directories with `.gdignore` files
|
|
Added LocalVector to Visual Studio debugger visualization
|
|
files.
|
|
|
|
Update the initialization timeline for the Godot fragment
|
|
consistent with the previous activity based timeline.
|
|
|
|
When using use_static_cpp we want to statically link with atomic as well
to make sure we don't incur any new runtime dependencies.
Scons doesn't quite support this so we do this little trick.
|
|
version of c9b3a00a63fafa546bf402e32fd21ebe7f274b43 for the server
platform
|
|
Add 'AMD' GPU vendor name to PRIME detector
|
|
Apparently some recent Mesa version also changed AMD's vendor string. In
addition I found a small uninitialized variable that's corrected now.
|
|
According to the LLVM documentation when using GNU's libstdc++ clang
will not automatically link with -latomic. This is necessary since we
merged c++11 atomics support.
This fixes linking using Clang on Linux
|
|
This #define's older inttypes to their newer versions and #includes
<stdint.h> in the generated files. This will help with older
glibc/compiler versions using headers generated on newer systems.
This closes #46223
|
|
[HTML5] Easier HTML templates, better canvas size handling
|
|
Three canvas resize policies:
- `None`: Godot window settings are ignored.
- `Project`: Godot handles the canvas like a native app (resizing it
when setting the window size).
- `Adaptive`: Canvas size will always adapt to browser window size.
Use `None` if you want to control the canvas size with custom JavaScript
code.
|
|
|