Commit Graph

56 Commits

Author SHA1 Message Date
9d6680ce6d Adding back the GLES3 renderer pt1. Unlike in godot it can be disabled compile time. It will be enabled afer if works. 2024-07-16 00:14:10 +02:00
bruvzg
8cec3e8e0b Add IME input support. 2024-07-14 09:40:24 +02:00
Rémi Verschelde
128a1cdbb1 Web: Bump closure compiler spec to ECMASCRIPT_2021
Fixes #88008.

(cherry picked from commit d29b0d90e0d735eee860b977c57cb75423d7a9ba)
2024-07-14 08:55:26 +02:00
Adam Scott
ba466927d9 Fix emscripten 3.1.51 breaking change about *glGetProcAddress()
(cherry picked from commit 5922ac0fb11105da67d28847b60a521406a77cdb)
2024-07-14 08:55:17 +02:00
Adam Scott
5e31a5821c Add WASM_BIGINT linker flag to the web build
(cherry picked from commit 3ae524fa9e42828183f8046f6f33b945475bb052)
2024-07-14 08:55:06 +02:00
Rémi Verschelde
326a098dac SCons: Fix Web build when compiler version isn't properly detected
Quick fix for #82585.

A better fix requires refactoring the way we detect the compiler version
to make it more reliable, and get a consistent output. But I prefer to
keep changes minimal for 3.x branches at this point.

Also set CI version to 3.1.39, which is what we use for official 3.6 builds
since 3.6-beta4.
2024-02-08 15:15:14 +01:00
Rémi Verschelde
b44ee23cee Web: Clarify that OS.get_unique_id is not supported
Remove the base error message in `OS`, we no longer really error out this
way for not implemented methods. Instead, each platform should override them
to provide the context they want.

Fixes #82439.

(cherry picked from commit 0a10f09ce4321695940a626eef9c64b36f599193)
2024-02-08 15:05:20 +01:00
nikitalita
cda33386ca SCons: Add stack_size and default_pthread_stack_size options to Web target
(cherry picked from commit 6788bc6bc2be68db9b9f1a37bf5edb8497eafb93)
2024-02-08 15:04:41 +01:00
Adam Scott
89ebe3f570 Set what were default values for some emscripten linkflags
- Set `-sSTACK_SIZE` to what it was before emscripten 3.1.27.
  It was renamed in 3.1.25 so also set `-sTOTAL_SIZE` for older
  versions for consistency.
- Set `-sDEFAULT_PTHREAD_STACK_SIZE` to what it was before 3.1.30.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
(cherry picked from commit 8e5fbd43488ad39a9b987c9abc38134841f44024)
2024-02-08 15:02:18 +01:00
Rémi Verschelde
651857c040 Web: Fix version check for missing scalbnf LTO workaround
The check needs to happen after we set `env["CXX"]`.
Follow-up to #81340.

(cherry picked from commit 50161808c240b2296045887e1fc683eee87905ae)
2023-12-20 22:16:55 +01:00
Rémi Verschelde
51d50bff9b Web: Workaround Emscripten 3.1.42+ LTO regression
Fixes #80010.

(cherry picked from commit b064008c07be856d6f3a5079d11746137e03ede5)
2023-12-20 22:09:10 +01:00
98912a89e8 File copyright header updates pt9. 2023-12-18 00:25:33 +01:00
SysError99
d7575edb2d Fix JavaScript callback memory leak 2023-10-02 16:18:41 +02:00
Fabio Alessandrelli
959286993a Update npm packages 2023-08-27 11:59:50 +02:00
b03baa989b Ported: Bump json5 from 1.0.1 to 1.0.2 in /platform/web
Bumps [json5](https://github.com/json5/json5) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](json5/json5@v1.0.1...v1.0.2)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

90132061f5
2023-01-16 14:22:10 +01:00
Fabio Alessandrelli
f2682927f0 Expose API to force file system sync. 2023-01-16 14:15:08 +01:00
2cd4e4d828 Renamed Set to RBSet. 2023-01-15 19:42:08 +01:00
1b0aac6028 Renamed Map to RBMap. 2023-01-15 19:12:50 +01:00
b6252e8d3a Ported: [Web] Add the "serve" and "run" scons targets.
You can now run the test HTTP server by calling:
scons p=javascript serve
If you also wish to run the browser, call instead:
scons p=javascript run
The default listen port is 8060, but can be overriden via the env
variable GODOT_WEB_TEST_PORT which must be a valid integer.
- Faless
eda014197f
2022-12-22 17:45:13 +01:00
4baf6dd61d Ported: Replace local web server setup for web editor with a Python-based solution
This makes it easier to set up, as you always have Python installed
when building Godot. On the other hand, you don't always have Node.js
+ npm installed (and you may not want to spend time running `npm install`).
- Calinou, akien-mga
816db5c215
2022-12-22 16:38:31 +01:00
44381ae1d2 Ported: Change auto to default in cursor css settings.
- jasonwinterpixel
6812e66f33
2022-10-08 17:34:43 +02:00
Rémi Verschelde
a04ae000eb HTML5: Add missing OS::get_cursor_shape() implementation
Fixes #66835.
2022-10-08 17:31:11 +02:00
Rémi Verschelde
fe5d1cc8ff SCons: Refactor handling of production flag and per-platform LTO defaults
Fixup to #63288.
See #65583 for the bug report.

Co-authored-by: Cyberrebell <chainsaw75@web.de>
(cherry picked from commit 35a15e619161798820b2bd6ff46178c5b7ccebcf)
2022-10-08 16:18:23 +02:00
f30076a9f5 Ported: Disable menus and functionality that are not relevant on the Android Editor port - m4gr3d
1f23bac645
2022-09-17 17:36:35 +02:00
Rémi Verschelde
72f7c01c22 HTML5: Fix warning with Emscripten 3.1.20
And use that version for CI.
2022-09-16 23:18:43 +02:00
Rémi Verschelde
c708c44180 SCons: Refactor LTO options with lto=<none|thin|full>
Adds support for LTO on macOS and Android.
Disable LTO by default on iOS even if `production=yes` is set.

Also add `linker` option to `server` platform missed in #63283.

Refactor code handling old arguments to make it simpler (breaks compat,
but is explicit enough about it and scripts are easy to fix).
2022-09-16 22:54:09 +02:00
bcf96a5840 Ported: Improve performance of screen_get_dpi() in Javascript
Replace a bisect with a single multiplication when calling
screen_get_dpi() in Javascript

Tested the value of
window.matchMedia(`(resolution:${(window.devicePixelRatio*96).toFixed(100)}dpi)`).matches
which is true except for values that cause a lot of rounding errors
(e.g. dpr : 0.3  => resolution: 28.799999999999997dpi)

Even in these cases the value matches the result of the previous
`findDPI()` method.
-jamie-pate
562d7c616d
2022-09-16 21:15:54 +02:00
e2d42db711 Also renamed the files. 2022-08-19 21:24:36 +02:00
cffe742085 Renamed the VisualServer to RenderringServer like in Godot4, as I think it's a lot better name for it. I did not yet rename the files. 2022-08-19 20:50:20 +02:00
c48381b86c Fix javascript build. 2022-08-19 16:23:02 +02:00
58da70524b Ported: Add support for multiple virtual keyboard types - brianwinterpixel
ce24b48e50
2022-08-19 16:18:53 +02:00
56f71c7275 Ported: Refactor the export checking logic to improve separation of concerns - m4gr3d
d2213f76a9
2022-08-19 12:08:35 +02:00
6be9bf5dfe Cleaned up and added the skeleton modification stack implementations to the build. Also smaller fixes. 2022-08-18 15:41:28 +02:00
04feb63860 Moved Engine and projectSettings. 2022-08-17 15:35:28 +02:00
dc9cc716c7 Moved Object related classes under core/object. 2022-08-17 13:45:14 +02:00
4a39f38bab Fix typo. 2022-07-30 00:54:25 +02:00
641c15f906 Ported: [3.x] HTML5: Add support for Input.vibrate_handheld() - pattlebass
fb7ecc748f
2022-07-30 00:29:14 +02:00
28222d21e5 Ported: HTML5: Make OS.get_locale() match other platforms
- pattlebass
82c3e6229b
2022-07-29 20:54:31 +02:00
Raffaele Picca
e12997ed02 Fix default cursor in html5 export. 2022-07-29 16:34:04 +02:00
Hugo Locurcio
3edb5e7f2e Fix window maximize error message appearing when starting the web editor
An error message is no longer printed when trying to maximize the window
in HTML5. This behavior is consistent with Android and iOS.
2022-07-29 16:33:04 +02:00
43131ad4cb Ported: Add readable export errors. Add RTL image vertical alignment support. - bruvzg
f5fa1ca944
2022-07-28 18:40:46 +02:00
6de182c670 Ran npm audit fix for the javascript backend. 2022-07-28 11:15:30 +02:00
Rémi Verschelde
ccf7e4374a HTML5: Enable mbedTLS module for Crypto object
Increases the size of the wasm by around 3% (~300-350 KiB).

This enables using the Crypto object for hashing, signing and encryption,
and therefore reduces the gap between the features of the HTML5 platform
and other platforms.

Closes https://github.com/godotengine/godot-proposals/issues/3574.

(cherry picked from commit 3ff6d794c0aac0365f236cd078b5e5aeea0d996e)
2022-07-28 11:13:39 +02:00
Haoyu Qiu
a29aac105f Swap the meaning of CURSOR_WAIT and CURSOR_BUSY 2022-07-27 18:18:12 +02:00
Fabio Alessandrelli
b99cb9343d Add flag to disable weak symbols in ZSTD.
Weak symbols are currently broken in upstream emscripten.

(cherry picked from commit 070bd87aaaf7a15ad9d2d839182f14d5c352153b)
2022-07-27 14:35:37 +02:00
f0a6bd5a31 Ported: Added missing signature. - Faless
89c8a8d1dc
2022-07-27 14:35:14 +02:00
32f148ac0c Mass replaced godot to pandemonium. 2022-03-23 20:46:05 +01:00
d740ef5d18 Finished cleaning up includes for the classes under the editor folder. I skipped removing a few that needed more changes to the headers / cpp files for now. 2022-03-19 04:08:34 +01:00
4d7df62b8e Clang format all files. 2022-03-18 19:00:13 +01:00
3e97039c99 Added compile options for rtti and exceptions. They are disabled by default. They used to be enabled on most platforms, it does not seem to break anything. 2022-03-18 17:04:14 +01:00