Age | Commit message (Collapse) | Author |
|
Also:
- Adds two stress tests to test_string.h
- Changes to .empty() on std::strings
|
|
(Ignore trailing slash when creating the temporary directory)
|
|
The code to populate the input data for WebAssembly was incorrectly
overriding values when multiple touches were present due to wrong
indexing.
|
|
Ensure better compatibility when emcc which may run some tools from
different paths (e.g. closure compiler).
This fixes externs include issues with modern emcc using the closure
compiler.
|
|
This actually makes sense(?), when running inside an iframe the active
element might be our canvas, while the iframe itself is not active in
the parent window. Since we consume the event, the iframe does not get
focused in Firefox (but does in Chromium-based browsers), so we must
always call focus to handle such occasions.
|
|
Note, the editor build requires the mbedtls module to be manually
enabled, as it is currently needed as a ResourceUID dependency.
This will need to be addressed in a separate PR.
|
|
|
|
In some conditions the events might be generated even when the `gamepad`
object is not accessible due to Security Context requirements.
This commit adds a check to avoid firing the handler in those cases.
|
|
mousedown and touchstart should focus the canvas to ensure correct
application lifecycle.
|
|
|
|
|
|
Some platforms (*cough* web *cough*) have hard limits on the number of
threads that can be spawned.
Currently, ThreadPoolWork (mostly used in rendering/physics servers)
will spawn as many threads as CPUs available causing exception on
machines with high CPU count.
This commit adds a new overridable method to OS that returns the default
thread pool size (still the CPU count by default), and overrides it for
the JavaScript platform so it always allocate only one thread.
We can likely improve the whole ThreadPoolWork in the future to always
allocate X amount of threads, and assign jobs to them on the fly, but
that will require some more architectural changes.
|
|
Only Vulkan is fully implemented for now, so OpenGL isn't available
in the project manager yet.
This also makes the rendering driver checks use lowercase names
everywhere for consistency.
|
|
- Rename OpenGL to GLES3 in the source code per community feedback.
- The renderer is still exposed as "OpenGL 3" to the user.
- Hide renderer selection dropdown until OpenGL support is more mature.
- The renderer can still be changed in the Project Settings or using
the `--rendering-driver opengl` command line argument.
- Remove commented out exporter code.
- Remove some OpenGL/DisplayServer-related debugging prints.
|
|
- Use lowercase driver names for the `--rendering-driver`
command line argument.
|
|
First implementation with Linux display manager.
- Add single-threaded mode for EditorResourcePreview (needed for OpenGL).
Co-authored-by: clayjohn <claynjohn@gmail.com>
Co-authored-by: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
|
|
Sets `AlignOperands` to `DontAlign`.
`clang-format` developers seem to mostly care about space-based indentation and
every other version of clang-format breaks the bad mismatch of tabs and spaces
that it seems to use for operand alignment. So it's better without, so that it
respects our two-tabs `ContinuationIndentWidth`.
|
|
Silences warning about a moderate security vulnerability (which doesn't affect us).
|
|
They're the same for all platforms so they don't need to be repeated in all
platform definitions.
|
|
This will allow adding developer checks which will be fully compiled out in
user builds, unlike `DEBUG_ENABLED` which is included in debug tempates and
the editor builds.
This define is not used yet, but we'll soon add code that uses it, and change
some existing `DEBUG_ENABLED` checks to be performed only in dev builds.
Related to godotengine/godot-proposals#3371.
|
|
|
|
|
|
|
|
|
|
Removes more emscripten HTML5 library dependencies.
|
|
Removes more emscripten HTML5 library dependencies.
|
|
Removes more emscripten HTML5 library dependencies.
|
|
This makes us more independent from emscripten libraries, giving us more
control on the application lifecycle.
|
|
|
|
Release pressed events when the window is blurred on HTML5 platform
|
|
It used an old vendored version of acorn.js which seems to choke on this
trailing comma. This is not a problem for more recent Emscripten versions.
We disable the `comma-dangle` check in ESLint to prevent this issue.
|
|
|
|
[HTML5] Refactor audio drivers. Implement AudioWorklet w/o threads.
|
|
[HTML5] Fix wheel/touch callback modifying event after parse.
|
|
|
|
Performances are not great in general, bad on Firefox, on Chrome, well,
it could be an improvement. Leave it as a fallback for now, but can be
forced via project settings if desired (or custom JavaScript logic via
the "args" option).
I'm actually surprised this works, it involves so many allocations, but
there's no way around it when SharedArrayBuffer is not available :(.
|
|
[HTML5] Use browser mix rate by default on the Web.
|
|
The events should be duplicated or reinstantiated without
assuming that parse_input will consume them immediately.
|
|
Would attempt an out of bounds read, causing an exception.
|
|
Browsers doesn't really like forcing the mix rate, e.g. Firefox does not
allow input (microphone) if the mix rate is not the default one, Chrom*
will exhibit worse performances, etc.
|
|
[HTML5] Fix input not working when buffered.
|
|
After input buffering was reworked, input accumulation is now handled
outside of OS, and the JavaScript plaform never implemented that.
Additionally, the JavaScript platform is quite obnoxious about calling
specific APIs outside specific user triggered events.
This commit adds event flushing during the main iteration, and forces it
during keydown/keyup/mousedown/mouseup/touchstart/touchend/touchcanel
events (effectively only accumulating only "move" events).
|
|
|
|
- Tweak the Android platform logo to remove the Android wordmark,
as it can't be used without explicit permission.
|
|
Feature tag names are still case-sensitive, but this makes built-in
feature tags more consistent.
- `Windows` -> `windows`
- `OSX` -> `osx`
- `LinuxBSD` -> `linuxbsd`
- `Android` -> `android`
- `iOS` -> `ios`
- `HTML5` -> `html5`
- `JavaScript` -> `javascript`
- `UWP` -> `uwp`
|
|
Calinou/web-editor-improve-download-project-source-zip-name
Improve the generated ZIP archive name when using Download Project Source
|
|
Follow-up to #51002.
|
|
Update Godot Javascript FS library to manually depend on ERRNO_CODES.
|
|
This makes for easier organization since downloading a project
several times (or several different projects) will result in more
meaningful file names.
|
|
|