From 757af6a69f7f2053c60d453c827c691319f6d329 Mon Sep 17 00:00:00 2001 From: Fabio Alessandrelli Date: Mon, 27 Jul 2020 13:46:38 +0200 Subject: Properly set HTML5 DisplayServer init error value. Checked in main.cpp, would cause the engine to not load. --- platform/javascript/display_server_javascript.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'platform/javascript/display_server_javascript.cpp') diff --git a/platform/javascript/display_server_javascript.cpp b/platform/javascript/display_server_javascript.cpp index 2f0a2faa83..4b69ed5814 100644 --- a/platform/javascript/display_server_javascript.cpp +++ b/platform/javascript/display_server_javascript.cpp @@ -829,6 +829,8 @@ DisplayServer *DisplayServerJavaScript::create_func(const String &p_rendering_dr } DisplayServerJavaScript::DisplayServerJavaScript(const String &p_rendering_driver, WindowMode p_mode, uint32_t p_flags, const Vector2i &p_resolution, Error &r_error) { + r_error = OK; // Always succeeds for now. + RasterizerDummy::make_current(); // TODO GLES2 in Godot 4.0... or webgpu? #if 0 EmscriptenWebGLContextAttributes attributes; -- cgit v1.2.3 From 0b286a287ca35275988f22a60f307521c5b08437 Mon Sep 17 00:00:00 2001 From: Fabio Alessandrelli Date: Mon, 27 Jul 2020 13:53:03 +0200 Subject: Implement HTML5 cancel/ok button swap on Windows. Platform is detected on init via the `navigator.platform` string. --- platform/javascript/display_server_javascript.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'platform/javascript/display_server_javascript.cpp') diff --git a/platform/javascript/display_server_javascript.cpp b/platform/javascript/display_server_javascript.cpp index 4b69ed5814..2fd1f45939 100644 --- a/platform/javascript/display_server_javascript.cpp +++ b/platform/javascript/display_server_javascript.cpp @@ -831,6 +831,17 @@ DisplayServer *DisplayServerJavaScript::create_func(const String &p_rendering_dr DisplayServerJavaScript::DisplayServerJavaScript(const String &p_rendering_driver, WindowMode p_mode, uint32_t p_flags, const Vector2i &p_resolution, Error &r_error) { r_error = OK; // Always succeeds for now. + /* clang-format off */ + swap_cancel_ok = EM_ASM_INT({ + const win = (['Windows', 'Win64', 'Win32', 'WinCE']); + const plat = navigator.platform || ""; + if (win.indexOf(plat) !== -1) { + return 1; + } + return 0; + }) == 1; + /* clang-format on */ + RasterizerDummy::make_current(); // TODO GLES2 in Godot 4.0... or webgpu? #if 0 EmscriptenWebGLContextAttributes attributes; @@ -1183,6 +1194,10 @@ int DisplayServerJavaScript::get_current_video_driver() const { return 1; } +bool DisplayServerJavaScript::get_swap_cancel_ok() { + return swap_cancel_ok; +} + void DisplayServerJavaScript::swap_buffers() { //emscripten_webgl_commit_frame(); } -- cgit v1.2.3