Commit Graph

259 Commits

Author SHA1 Message Date
Rémi Verschelde d1424135d1
Merge pull request #90352 from Faless/web/serve_fix_browser_order
[Web] Fix browser opening too early with `serve.py`
2024-08-19 14:33:26 +02:00
Rémi Verschelde f2fb3353cb
Merge pull request #95197 from yahkr/95128-audio-fix
Fix AudioStreamPlayer `get_playback_position()` for web build
2024-08-16 14:33:05 +02:00
Lisandro Lorea 9dd372f316 Fix gamepad triggers not working on web exports
Fixes #81758

DisplayServerWeb::process_joypads handles buttons 6 and 7 of the
HTML5 Standard Gamepad as a special case by doing:
`input->joy_axis(idx, (JoyAxis)b, s_btns[b]);`

This doesn't work because there is no JoyAxis 6 or 7 in the enum

To fix this we use JoyAxis::TRIGGER_LEFT and TRIGGER_RIGHT for button 6
and 7

However since we are now lying to input->joy_axis we also need to lie in
the mappings for the standard gamepad in godotcontrollersdb.txt,
otherwise input->joy_axis will try to find a mapping to axis 4(LT) and
axis 5(RT) that's not defined.

Therefore we set lefttrigger to +a4 and righttrigger to +a5 in the
mapping, to match what we are actually sending.

A cleaner, and more involved fix to this would be modifying
input->joy_button so that it can handle analog buttons and map them to
axes preserving their value instead of converting to boolean
2024-08-14 16:13:16 -03:00
Yahkub-R bcd776e441 Fix AudioStreamPlayer get_playback_position() for web build 2024-08-08 15:58:25 -04:00
Fabio Alessandrelli 470a35832f [Web] Fix browser opening too early with serve.py 2024-08-01 05:38:36 +02:00
Adam Scott 1776258b1c
Add missing null check before disconnecting source 2024-07-30 15:00:58 -04:00
A Thousand Ships 61c4ce272c
[Web] Gracefully handle non-finite audio volumes 2024-07-29 15:48:06 +02:00
Fabio Alessandrelli 96feb924e8 [Web] Enable the closure compiler in CI
Also fixes some JSDoc annotations in GodotAudio
2024-07-26 13:27:52 +02:00
Fabio Alessandrelli 26f17c33a5 [Web] Add workaround for missing export in threaded builds
The offending symbol gets stripped away by wasm-dce but it's used on the
JavaScript side and causes and undefined symbol which also causes the
closure compiler to throw an error.
2024-07-26 12:28:36 +02:00
Adam Scott 2f5f84b470
Fix audio samples not being able to be "finished" 2024-07-17 10:45:38 -04:00
Rémi Verschelde 8897c77d50
SCons: Default `optimize` to `auto`, fixing `target`/`dev_build` inference for Web
Fixes #94087.
2024-07-09 00:21:29 +02:00
Rémi Verschelde 42e5b3ac2d
Merge pull request #94044 from adamscott/fix-web-sample-playback-finished-signal
Fix Web samples finished missing signal
2024-07-07 21:59:00 +02:00
Adam Scott a38f30fbd5 Fix Web samples finished missing signal 2024-07-07 14:47:54 -04:00
Anni Ryynänen d926223c64
Fix IME blocking controls 2024-07-07 13:06:18 +03:00
Rémi Verschelde ce16818dd5
Fix missing include in Web main after #93906
My bad, I introduced the bug when amending it.
2024-07-05 14:40:44 +02:00
Paul Sinnett db97d88214
Fix preloading a zip in the web editor 2024-07-04 22:13:05 +02:00
Rémi Verschelde 01c24ff862
Merge pull request #93750 from adamscott/add-bigint-support-on-js-value-conversion
Add `bigint` support on JS value conversion
2024-07-04 11:31:58 +02:00
Adam Scott ee2759013b Add `bigint` support on JS value conversion 2024-07-03 07:44:32 -04:00
Rémi Verschelde f0d15bbfdf
Merge pull request #93853 from Faless/web/no_force_stdlib
[Web] Remove unnecessary `EMCC_FORCE_STDLIBS` in dlink builds
2024-07-02 17:27:35 +02:00
Fabio Alessandrelli 67c06866de [Web] Remove unnecessary EMCC_FORCE_STDLIBS in dlink builds
As discussed with upstream, the C/C++ standard library is always fully
included when building with MAIN_MODULE=1, so using EMCC_FORCE_STDLIBS
is not necessary in our case.
2024-07-02 16:47:00 +02:00
Adam Scott 586db3aae7 Fix assignations to non-existing keys and clean-up 2024-06-29 14:30:57 -04:00
Adam Scott 1e8e9f4b09
Fix web export state for remote debug 2024-06-26 08:37:56 -04:00
Fabio Alessandrelli f59c1f08d7 [Web] Add "threads"/"nothreads" feature tags to export presets
Following the "variant/thread_support" preset option.
2024-06-25 11:42:41 +02:00
Rémi Verschelde c24f2f1c0c
Merge pull request #93489 from dsnopek/web-disable-getprocaddress
Disable `*glGetProcAddress()` on the web
2024-06-25 09:19:46 +02:00
David Snopek 8e242fe7c1 Disable `*glGetProcAddress()` on the web 2024-06-24 10:57:22 -05:00
Thaddeus Crews cc6dd8d02c
Style: Optimize `.svg` files with `svgo` 2024-06-23 08:15:19 -05:00
Adam Scott 57db018e33
Fix pausing issues when using Web Audio samples 2024-06-20 10:32:28 -04:00
Rémi Verschelde 34b9eef177
Merge pull request #91623 from adamscott/web-default-to-nonthreaded
Default to non-threaded export setting for the web
2024-06-19 10:09:49 +02:00
Adam Scott 52fa4f05f3
Add samples playback support 2024-06-18 11:06:31 -04:00
Fabio Alessandrelli 27d67b5ae6 [Web] Use the module config to preload GDExtension libraries.
Instead of calling loadDynamicLibraries ourselves, we add the
GDExtension libraries to preload to the "dynamicLibraries" module config
property.

This seems to fix some threading issue with some browsers during the
init phase.
2024-06-14 16:04:16 +02:00
Fabio Alessandrelli 7af8c494ab [Web] Force emcc to use "wasm" longjmp mode
SUPPORT_LONGJMP have changed since emscripten 3.1.32 to default to
"wasm" mode when exceptions are enabled, and "emscripten" mode when
disabled.

While we generally doesn't use exception in core, linked libraries may
need them, and emscripten don't plan to support WASM EH + Emscripten
SjLj in the long term.
2024-06-14 16:03:56 +02:00
Fabio Alessandrelli e874cd84f0 [Web] Remove space between emscripten "-s" flags and the option 2024-06-14 16:03:56 +02:00
Adam Scott 5a01c2e954
Replace deprecated `USE_WEBGL2` linker flag 2024-06-10 12:14:27 -04:00
kleonc 91e995e704 Fix creating cursor image from AtlasTexture 2024-06-05 01:44:05 +02:00
Rémi Verschelde c98fef08bf
Merge pull request #89033 from bruvzg/doc_end_err
[DisplayServer] Add error messages and descriptions to callbacks.
2024-05-28 17:48:42 +02:00
bruvzg 714effdf07
[DisplayServer] Add error messages and descriptions to callbacks. 2024-05-28 17:36:54 +03:00
Rémi Verschelde b8f3c5e2ab
Merge pull request #92427 from AThousandShips/bind_go_away
Replace `.bind(...).call_deferred()` with `.call_deferred(...)`
2024-05-28 15:50:01 +02:00
Rémi Verschelde ca708b5706
Merge pull request #92026 from Repiteo/scons/web-fixes
SCons: Minor fixes/adjustments for web compilation
2024-05-28 15:48:49 +02:00
Rémi Verschelde ac6f5780b1
Merge pull request #91695 from bruvzg/web_ime_pos
[Web IME] Fix suggestion window position in Chromium based browsers.
2024-05-28 15:48:42 +02:00
A Thousand Ships 4ed62665a2
Replace `.bind(...).call_deferred()` with `.call_deferred(...)` 2024-05-27 13:29:57 +02:00
Thaddeus Crews 5d265e9a7e
SCons: Minor fixes/adjustments for web compilation 2024-05-24 12:30:24 -05:00
Rémi Verschelde 7870b28ed3
Merge pull request #92252 from poiati/fix-wayland-window-class
Properly set window class in Wayland
2024-05-23 08:59:23 +02:00
Rémi Verschelde de490253fe
Merge pull request #92124 from Repiteo/scons/platform-flags-dict
SCons: Convert platform `get_flags` to dictionary
2024-05-23 08:59:07 +02:00
Thaddeus Crews 896b003cc8
SCons: Convert platform `get_flags` to dictionary 2024-05-22 13:53:20 -05:00
Paulo Poiati a3769c0edc Properly set window class in Wayland 2024-05-22 10:42:12 -03:00
patwork 1a89ae70eb Upgrade to eslint 9 2024-05-22 11:32:25 +02:00
Jakub Marcowski d9f8ef68df
Update pre-commit hooks configuration to use `ruff` instead of `black` 2024-05-21 18:02:29 -05:00
Hakim 04aaa86039 Disable remote debug button when there are no runnable presets 2024-05-17 00:15:13 +02:00
patwork b6536884cc Fix quotes style in HTML shell head include 2024-05-12 01:37:13 +02:00
bruvzg 99d6f32918
[Web IME] Fix suggestion window position in Chromium based browsers. 2024-05-09 08:52:27 +03:00