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
Thaddeus Crews
be70c2f873
Merge pull request #98350 from syntaxerror247/android-native-filepicker
...
[Android] Implement native file picker support
2024-10-31 20:14:41 -05:00
Yevhen Babiichuk (DustDFG)
0ba0093dd6
Remove duplicate of get_build_version
...
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-10-31 12:54:23 +02:00
Anish Mishra
0dfd18c84b
[DisplayServer] Add feature flag for native file dialog access to `user/res` and `options`
2024-10-30 14:13:43 +05:30
Thaddeus Crews
17f06f6dae
Merge pull request #97555 from dustdfg/platform_methods/extract_validate_arch
...
Build System: Extract `validate_arch` helper functions
2024-10-25 13:03:48 -05:00
Thaddeus Crews
1015a481ff
Merge pull request #98431 from lodicolo/4.3-stable_GH_76825
...
Fix GodotFetch glue code for null response bodies
2024-10-24 13:23:07 -05:00
Robbie Lodico
c7f421ef5f
Fix GodotFetch glue code for null response bodies
...
The spec says that Response.body can be null (in the event of requests that should have no body, like HEAD requests) and Firefox adheres to it which results in request failure for HEAD requests on Firefox for web exports.
This commit addresses that by treating a null body as an "empty" body (without using a polyfill) and avoids changing the request lifecycle as much as possible.
PR review changes:
- Use == instead of strict ===
- Do not use ?? null
- Comment formatting
2024-10-23 08:10:35 -04:00
Keegan McGonigle
05b266bd89
Fix PWA callback assignment and error handling
2024-10-22 10:28:21 -07:00
Yevhen Babiichuk (DustDFG)
7aacdaa071
Build System: Extract `validate_arch` helper function
...
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-10-06 07:50:49 +03:00
Adam Scott
7a634ad2d4
[Web] Make audio bus fetching more resilient to errors
2024-10-02 11:24:57 -04:00
Adam Scott
4431af9153
Fix web export infinite reload issue
2024-09-30 11:27:43 -04:00
Rémi Verschelde
eeaca3a439
Merge pull request #96610 from adamscott/emscripten-minimum-requirements
...
[Web] Update minimum requirements for emscripten to 3.1.62
2024-09-26 18:45:10 +02:00
Adam Scott
a1e409c58b
Update minimum requirements for emscripten to 3.1.62
2024-09-26 10:19:48 -04:00
Thaddeus Crews
9f9ee0c813
SCons: Add unobtrusive type hints in SCons files
2024-09-25 09:34:35 -05:00
Adam Scott
a9b934b657
Add `JavaScriptBridge` buffer methods
2024-09-16 12:13:34 -04:00
A Thousand Ships
dd6443193c
[Editor] Expose more editor settings to documentation
...
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2024-09-12 15:34:49 +02:00
bruvzg
10f3c1f587
Add support for non-blocking IO mode to `OS.execute_with_pipe`.
2024-09-06 14:16:39 +03:00
Rémi Verschelde
13a90e938f
Merge pull request #70096 from rune-scape/stringname-dict
...
StringName Dictionary keys
2024-09-03 17:38:06 +02:00
rune-scape
154049ce17
StringName Dictionary keys
...
also added 'is_string()' method to Variant
and refactored many String type comparisons to use it instead
2024-08-29 13:39:27 -07:00
bruvzg
07e986f728
Allow adding custom export platforms using scripts / GDExtension.
2024-08-28 10:29:01 +03:00
Fredia Huya-Kouadio
a5897d579b
Update the `GodotHost` interface to support signing and verifying Android apks
...
Update the export logic to enable apk generation and signing for Android editor builds
Note: Only legacy builds are supported. Gradle builds are not supported at this point in time.
2024-08-26 11:16:38 -07:00
Rémi Verschelde
b4f268fae8
Merge pull request #91018 from Daylily-Zeleen/daylily-zeleen/optionally_postinitialization_for_extension_owner
...
Allow ClassDB to create a Object without postinitialization for GDExtension.
2024-08-26 10:51:17 +02:00
Adam Scott
aaafd163b2
Honor `pitch_scale` value before playing audio sample
2024-08-20 10:29:32 -04:00
Daylily-Zeleen
3d575801ce
Allow ClassDB to create a Object without postinitialization for GDExtension.
2024-08-20 20:19:02 +08:00
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
Micky
b8f78b14be
Fix miscellaneous oddities around the class reference
2024-08-18 23:18:44 +02:00