A Thousand Ships
b616e857aa
[Web] Fix build failure on Windows
2025-06-17 11:05:45 +02:00
Rémi Verschelde
d9cda33090
Merge pull request #107415 from adamscott/add-emscripten-version-to-log-header
...
[Web] Add Web-build specific stdout header
2025-06-13 18:37:37 +02:00
Rémi Verschelde
e0072e9169
Merge pull request #105800 from adamscott/add-emscripten-include-path
...
[Web] Include emscripten headers by default
2025-06-12 22:48:40 +02:00
Adam Scott
f411c5b2f1
[Web] Add Web-build specific stdout header
2025-06-12 13:00:36 -04:00
Rémi Verschelde
445a51834e
Merge pull request #107136 from Airyzz/airyzz/web-pen-pressure
...
[Web] Add support for pen pressure
2025-06-05 13:14:00 +02:00
Rémi Verschelde
8d14f8332f
Merge pull request #105343 from bruvzg/ac_wait_loop_timer
...
[Accessibility] Use system timer/wait functions for frame delay when screen reader is active.
2025-06-05 13:10:54 +02:00
Airyzz
5f8f0ac305
[web] add support for pen pressure
2025-06-05 18:04:37 +09:30
Adam Scott
64b0d5c1c2
[Web] Add required exported functions and runtime methods for emscripten
2025-06-04 09:53:05 -04:00
Pāvels Nadtočajevs
98f377d9d0
Use system timer/wait functions for frame delay when screen reader is active.
2025-06-04 13:44:02 +03:00
Thaddeus Crews
7a3d2f6779
Merge pull request #106606 from aaronfranke/pow2_64
...
Add 64-bit versions of core power of 2 functions
2025-06-02 18:51:56 -05:00
Thaddeus Crews
12b97c250d
Merge pull request #104907 from bruvzg/scr_ids
...
Cleanup and unify `DisplayServer` screen methods and documentation.
2025-06-02 18:51:45 -05:00
Aaron Franke
f6f1df7d73
Add 64-bit versions of core power of 2 functions
2025-06-01 23:11:12 -07:00
Pāvels Nadtočajevs
2d93e004b9
Cleanup and unify `DisplayServer` screen methods and documentation.
2025-06-02 08:03:48 +03:00
Rémi Verschelde
2df41d8144
Merge pull request #104458 from marcosc90/fix-thread-collision-shape-3d
...
[Web] Use actual `PThread` pool size for `get_default_thread_pool_size()`
2025-06-01 00:31:44 +02:00
Marcos Casagrande
a7d18f51a2
Web: Add godot_pool_size/emscripten_pool_size config
2025-05-30 20:38:24 +02:00
Adam Scott
b0e472c8e4
[Web] Include emscripten headers by default
2025-05-20 10:53:28 -04:00
Adam Scott
6e6c4d3045
[Web] Always return `0` for `OS::get_process_id()`
2025-05-16 15:46:34 -04:00
Thaddeus Crews
d043be6031
Merge pull request #105585 from marcosc90/fix-web-update-size
...
[Web] Prevent unnecessary canvas resizes by flooring scaled dimensions
2025-05-14 09:44:13 -05:00
Thaddeus Crews
fb39aa4fd3
Merge pull request #105833 from marcosc90/perf-web-shader-source
...
[Web] Optimize `GL.getSource` for known-length shader sources
2025-05-14 09:44:08 -05:00
Thaddeus Crews
e3ad8129f7
Merge pull request #105601 from marcosc90/perf-web-gamepad
...
[Web] Avoid unnecessary gamepad polling when no gamepads are connected
2025-05-14 09:44:04 -05:00
Adam Scott
f114a8d1d1
Add WebAssembly SIMD support
2025-05-13 07:35:53 -04:00
Thaddeus Crews
01fc9aee6c
Core: Modernize C headers with C++ equivalents
2025-05-02 08:23:01 -05:00
Marcos Casagrande
197b307061
[Web] Optimize GL.getSource for known-length shader sources
2025-04-27 17:44:08 +02:00
Marcos Casagrande
3e7e09f915
Web: Avoid unnecessary gamepad polling when no gamepads are connected
2025-04-20 21:47:53 +02:00
Marcos Casagrande
ed0690dc44
Web: prevent unnecessary canvas resizes by flooring scaled dimensions
2025-04-20 16:53:37 +02:00
Thaddeus Crews
608e7a27eb
Merge pull request #105242 from adamscott/add-wasm-ld-wall
...
[Web] Add the equivalent of `-Werror` for `wasm-ld`
2025-04-11 09:51:12 -05:00
Thaddeus Crews
cad0cd94ef
Merge pull request #105225 from bruvzg/ds_gdsoft
...
Change `DisplayServerMacOS` from `GDCLASS` to `GDSOFTCLASS`. Add `GDSOFTCLASS` to other display servers.
2025-04-10 16:53:42 -05:00
Adam Scott
ce4f64583a
Add the equivalent of `-Werror` for `wasm-ld`
2025-04-10 11:49:03 -04:00
A Thousand Ships
889410dcda
Add `String::replace_char(s)` methods for performance and convenience
2025-04-10 13:08:45 +02:00
Pāvels Nadtočajevs
0497522933
Change `DisplayServerMacOS` from `GDCLASS` to `GDSOFTCLASS`. Add `GDSOFTCLASS` to other display servers.
2025-04-10 09:18:58 +03:00
bruvzg
c6739f64df
[Export] Use project settings overrides with the target preset features instead of current platform features.
2025-04-08 21:22:37 +03:00
Yufeng Ying
4f4031a675
Replace size() == 0 with is_empty().
2025-04-02 19:18:43 +08:00
Pāvels Nadtočajevs
4638ade13f
Enable TTS on demand, instead of fully disabling it when project setting is not set.
2025-04-01 15:24:46 +03:00
Lukas Tenbrink
fa0a3c9c6e
Add and require `GDSOFTCLASS` for `Object` subclasses that want to cast but do not use `GDCLASS`.
2025-03-31 20:49:50 +02:00
kobewi
75881f8322
Use initializer list in Arrays
2025-03-26 18:38:15 +01:00
Rémi Verschelde
622dbe3713
Web: Fix editor build after `#pragma once` refactoring
2025-03-20 18:43:16 +01:00
Thaddeus Crews
83cf424b5f
SCons: Expand `NoCache` coverage
2025-03-18 09:54:55 -05:00
Thaddeus Crews
10ed66f28c
SCons: Add emitter to declutter build objects
2025-03-15 12:08:24 -05:00
Thaddeus Crews
77e9f55c51
Merge pull request #102676 from adamscott/add-web-library-emitter
...
[Web] Add library emitter to make sources dependent of compiler version
2025-03-11 16:53:53 -05:00
Thaddeus Crews
0bb1f138f2
Merge pull request #100525 from adamscott/set-closure-language-to-default
...
Remove custom `--language-in` arg for the Closure compiler
2025-03-11 14:00:35 -05:00
shahriarlabib000
25a8b808d3
update logo/run icon path in README
2025-03-10 12:03:41 +06:00
Thaddeus Crews
324512e11c
Style: Replace header guards with `#pragma once`
2025-03-07 17:33:47 -06:00
Thaddeus Crews
3d9b37911d
Merge pull request #103011 from Repiteo/style/svgo-newline
...
Style: Ensure svgs have trailing newlines
2025-03-07 15:12:41 -06:00
A Thousand Ships
5113022dfe
Clean up some uses of `String::substr`
...
Cases where the end position is either equvalent to the default or past
the end of the string.
2025-03-07 14:50:38 +01:00
Thaddeus Crews
7e5baa0426
Style: Enforce trailing newlines on svgs
2025-02-18 11:02:45 -06:00
Adam Scott
030e7d4e2d
[Web] Fix issue when pausing an non-started sample
2025-02-17 09:49:50 -05:00
Adam Scott
61344dc5ac
[Web] Refactor `mouse_mode` setters in display server
2025-02-13 17:25:35 -05:00
Adam Scott
cdb6fc7f74
[Web] Remove position pool system and return false when done instead
2025-02-11 10:43:34 -05:00
Adam Scott
02cc1ec95b
[Web] Add library emitter to make sources dependent of compiler version
2025-02-10 16:18:35 -05:00
Thaddeus Crews
a7e5469155
Merge pull request #102163 from adamscott/fix-glitched-audio-web
...
[Web] Fix audio issues with samples and GodotPositionReportingProcessor
2025-01-31 09:15:49 -06:00
Pāvels Nadtočajevs
b3f7c8f5d3
[Export] Respect icon/splash screen import settings.
2025-01-31 07:45:16 +02:00
Adam Scott
c558c8a5f1
[Web] Fix audio issues with samples and GodotPositionReportingProcessor
2025-01-29 17:02:14 -05:00
Thaddeus Crews
3c80c14092
Merge pull request #101924 from adamscott/game-editor-non-cached-mouse-mode
...
Delegate handling `mouse_mode` to the `DisplayServer`
2025-01-28 16:08:56 -06:00
Adam Scott
47f553ae0b
Delegate to the DisplayServer the task of handling mouse_mode
...
- Add `MOUSE_MODE_MAX` and various index checks
2025-01-28 11:22:27 -05:00
Rémi Verschelde
90208f7dd4
SCons: Fix handling of platform-specific tools, notably `mingw`
...
Add optional `detect.py` `get_tools` method to let platforms register SCons
tools they need.
This helps move this logic out of SConstruct, keeping platforms more self
contained, and helping thirdparty platforms define their own custom tools.
This logic was also unreliable (the `use_mingw` one would only work if
passed manually on the command line, not in e.g. `get_flags`).
Co-authored-by: Thaddeus Crews <repiteo@outlook.com>
2025-01-25 13:59:30 +01:00
Malcolm Anderson
6b33037021
Add menu bar item for "Pack Project as ZIP..."
...
Apply suggestions from code review
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Fix includes
Update editor/editor_node.cpp
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2025-01-09 20:37:02 -08:00
Rémi Verschelde
26db0bb15f
SCons: Make `lto=auto` prefer ThinLTO over full LTO for LLVM targets
...
This speeds up build time considerably for these platforms compared to
using `lto=full`, which is sadly single-threaded with LLVM, unlike GCC.
Changes to default behavior of `lto=auto` (i.e. `production=yes`):
- Linux: Prefer ThinLTO for LLVM
- Web: Prefer ThinLTO
- Windows: Prefer ThinLTO for llvm-mingw
The following LLVM targets don't use LTO by default currently, which
needs to be assessed further (gains from LLVM LTO on performance need
to be weighed against the potential size increase from heavy inlining):
- Android
- iOS
- macOS
- Windows clang-cl
2025-01-09 13:03:58 +01:00
Rémi Verschelde
6f3cc27423
Merge pull request #101178 from BlueCube3310/web-high-quality
...
Web: Export ASTC/BPTC compressed textures
2025-01-08 21:48:13 +01:00
Yufeng Ying
34d8255947
Force build editor with regex module, remove checking code.
...
Fix include.
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-01-07 19:43:23 +08:00
Rémi Verschelde
11f95e7feb
Merge pull request #99350 from bruvzg/fs_mime
...
Support MIME types in file dialog filters on macOS and Linux.
2025-01-06 22:46:59 +01:00
Rémi Verschelde
990416e90b
Merge pull request #99296 from elpozewaunig/web_splash_properties
...
Add web support for all missing splash screen properties
2025-01-06 22:46:55 +01:00
BlueCube3310
84e6ac9ecd
Web: Export ASTC/BPTC compressed textures
2025-01-06 12:31:22 +01:00
Pāvels Nadtočajevs
e1f129cb52
Support MIME types in file dialog filters on macOS and Linux.
2025-01-04 22:05:35 +02:00
Elias Pozewaunig
8de13860e8
Added web support for all missing splash screen properties
...
show_image, fullsize and use_filter are now supported too.
bg_color, image and minimum_display_time were already supported previously.
2025-01-03 17:56:05 +01:00
Ricardo Subtil
b77aa473a1
Implement a "Recovery Mode" for recovering crashing/hanging projects during initialization
2025-01-03 10:50:15 +00:00
Rémi Verschelde
89b18de032
Merge pull request #100221 from adamscott/fix-diraccess-sync
...
[Web] Fix `DirAccess::unlink()` not updating the IDBFS
2025-01-03 02:01:16 +01:00
Hilderin
9d2a4c03be
Embedding game process in editor
2024-12-18 17:52:42 -05:00
Rémi Verschelde
4cc471dbed
Merge pull request #100553 from tygyh/snyk-fix-450c49dd4b2c073502654af4e06e6ec6
...
Web: Security upgrade eslint from 9.12.0 to 9.15.0
2024-12-18 17:23:46 +01:00
snyk-bot
97ecf7830a
fix: platform/web/package.json & platform/web/package-lock.json to reduce vulnerabilities
...
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-CROSSSPAWN-8303230
- https://snyk.io/vuln/SNYK-JS-ESLINTPLUGINKIT-8340627
2024-12-18 10:28:34 +00:00
Rémi Verschelde
f08fe52d9a
Merge pull request #99963 from Faless/web/no_ip
...
[Web] Implement dummy IP and NetSocket
2024-12-17 22:59:42 +01:00
Fredia Huya-Kouadio
2d3f6963b2
Update the visibility for the custom templates for all platforms
...
Hide the custom template options behind the `Advanced Options` toggle
2024-12-17 13:08:47 -08:00
Adam Scott
3011717e14
Remove custom `--language-in` arg for the Closure compiler
2024-12-17 13:52:30 -05:00
Rémi Verschelde
0d4c68f82b
Merge pull request #100482 from adamscott/fix-closure-issues
...
Fix (some of the) 3.1.73 emscripten Closure compiler issues
2024-12-17 16:19:29 +01:00
Rémi Verschelde
182b4741ea
Merge pull request #93479 from Repiteo/scons/better-colored-output
...
SCons: Improve colored output
2024-12-17 16:18:41 +01:00
Adam Scott
20daa75d43
Fix (some of the) 3.1.73 emscripten Closure compiler issues
2024-12-16 14:05:07 -05:00
Ryan Braganza
a7505ee0bc
Add Web MIDI support
...
Co-authored-by: Adam Scott <ascott.ca@gmail.com>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-12-15 21:24:15 +11:00
Thaddeus Crews
6cbf7c77c2
Merge pull request #100150 from ArchercatNEO/homeless-export
...
Use temp dirs instead of cache dirs for export
2024-12-10 14:15:54 -06:00
Thaddeus Crews
d8761f2c79
SCons: Improve colored output
2024-12-10 11:44:48 -06:00
Fabio Alessandrelli
9d329f54c0
[Web] Restore ScriptProcessorNode audio driver fallback
...
Godot has a ScriptProcessorNode audio driver implementation for the
(deprecated) Web API.
As reported by some users, this fallback was not properly re-added
during the Godot 4 transition, and was left as "dead code".
While the API is deprecated, it is still supported by most browsers, and
some WebView may not implement AudioWorklet correctly (the new
recommended API).
This commit re-adds the ScriptProcessorNode implementation as a fallback
if the AudioWorklet driver fails to initialized (and can be forced if
desired via project settings as usual).
2024-12-10 18:22:03 +01:00
Adam Scott
a6c5373a09
[Web] Fix `DirAccess::unlink()` not updating the IDBFS
2024-12-09 17:48:08 -05:00
ArchercatNEO
00a791f04e
Use temp dirs instead of cache dirs for export
...
Fixes #95897
During CI scenarios $HOME may be set to an invalid value (such as
`/var/empty`).
Using temp dirs fits better with godot's usage of these paths and is
independent from the user's $HOME.
2024-12-08 12:07:17 +00:00
Fabio Alessandrelli
14e4e3424f
[Web] Implement dummy NetSocketWeb
...
This makes the class available to avoid spam from classes using it, even
if without any actual implementation (since raw sockets are not
available on the web).
2024-12-03 14:30:35 +01:00
Fabio Alessandrelli
c831f635fe
[Web] Implement dummy IPWeb instead of IPUnix
...
Note: This commit ties the IPUnix to the UNIX_SOCKET_UNAVAILABLE define,
disabling it when set. It is maybe not semantically correct (getifaddrs)
is not part of the "socket" API, but it's reasonable to expect that a
platform not supporting Unix-style sockets, would also not support other
Unix network functions.
2024-11-28 20:47:18 +01:00
Thaddeus Crews
3a5ce2ff94
Merge pull request #98901 from adamscott/add-editor-ensure-crossorigin-isolation-headers
...
[Web] Ensure editor crossorigin isolation headers
2024-11-27 10:47:13 -06:00
Thaddeus Crews
57125f48ce
Merge pull request #98069 from thedinosoar/fix/service-worker-sandbox-error-98068
...
[Web] Fix PWA callback assignment causing crash in sandboxed iframes
2024-11-25 13:22:29 -06:00
Thaddeus Crews
17e8cf0d87
Merge pull request #99044 from Sticksman/bug-fix-98873
...
Remove deprecated worker.js file
2024-11-22 14:54:41 -06:00
Adam Scott
1a082fdd80
Ensure editor crossorigin isolation headers
2024-11-21 10:29:07 -05:00
Fabio Alessandrelli
b4f8135d46
[Web] Fix Web Editor plugin being added to SCons multiple times
...
Move the Web Editor plugin files to an editor sub-folder inside the
platform folder.
2024-11-18 18:34:29 +01:00
A Thousand Ships
68f638cf02
Use `(r)find_char` instead of `(r)find` for single characters
2024-11-17 10:02:18 +01:00
Thaddeus Crews
a767a65cdf
Merge pull request #99123 from tygyh/Update-vulnerable-plugins
...
Update JavaScript/Java plugins to solve known vulnerabilities
2024-11-13 08:34:00 -06:00
Fabio Alessandrelli
9383610ad1
[Web] Disable UNIX sockets
...
They are not supported anyway, emscripten has an emulation layer that
implements them over WebSocket/WebRTC, which is really surprising for
users, and also not very useful since we have proper WebSocket and
WebRTC support.
This can make the build smaller, if we also disable the UPNP module
(which will otherwise include a third party library referencing "socket"
thus forcing emscripten to include the compatibility layer)
2024-11-13 10:28:08 +01:00
Thaddeus Crews
0445bfb01c
Merge pull request #98931 from adamscott/fix-ime-web-issues
...
[Web] Fix issue where focus timer would throw continuously
2024-11-12 09:28:10 -06:00
Thaddeus Crews
a833685e75
Merge pull request #96625 from elpozewaunig/web_splash_color
...
Display project settings splash color on web export
2024-11-12 09:28:08 -06:00
Thaddeus Crews
e66d9988a6
Merge pull request #95774 from Mickeon/documentation-miscellaneous-oddities
...
Fix miscellaneous oddities around the class reference
2024-11-12 09:27:47 -06:00
Dr. Dystopia
3077463151
Update JavaScript/Java plugins to solve known vulnerabilities
...
Done using the Snyk tool.
2024-11-12 16:06:35 +01:00
Elias Pozewaunig
4db5cd6e84
Display correct splash color on web export
2024-11-11 21:35:25 +01:00
Adam Scott
5295692990
Fix issue where focus timer would throw continuously
2024-11-11 15:08:16 -05:00
Felix Yuan
1768a1b991
Remove deprecated worker.js file
2024-11-11 09:47:43 -08:00
Adam Scott
784558f327
[Web] Remove warnings when setting vsync mode and screen keep on
2024-11-07 14:06:34 -05:00
Adam Scott
75bf6df49a
Make IME code early return instead
2024-11-07 13:27:29 -05:00