From 0452c2fced37d7944db8ac9df04641b883e4452d Mon Sep 17 00:00:00 2001 From: Fabio Alessandrelli Date: Fri, 2 Oct 2020 15:34:32 +0200 Subject: [PATCH] Improve Project Manager video driver selection. Now suggests the current video driver instead of defaulting to GLES3. --- editor/project_manager.cpp | 4 ++- .../api/javascript_tools_editor_plugin.cpp | 34 +++++++++++++++++-- .../api/javascript_tools_editor_plugin.h | 32 ++++++++++++++++- 3 files changed, 66 insertions(+), 4 deletions(-) diff --git a/editor/project_manager.cpp b/editor/project_manager.cpp index 74db897b02a..ae1300e72ad 100644 --- a/editor/project_manager.cpp +++ b/editor/project_manager.cpp @@ -878,6 +878,7 @@ public: rasterizer_container->add_child(rshb); rasterizer_button_group.instance(); + bool is_gles3 = OS::get_singleton()->get_current_video_driver() == OS::VIDEO_DRIVER_GLES3; Container *rvb = memnew(VBoxContainer); rvb->set_h_size_flags(SIZE_EXPAND_FILL); rshb->add_child(rvb); @@ -885,7 +886,7 @@ public: rs_button->set_button_group(rasterizer_button_group); rs_button->set_text(TTR("OpenGL ES 3.0")); rs_button->set_meta("driver_name", "GLES3"); - rs_button->set_pressed(true); + rs_button->set_pressed(is_gles3); rvb->add_child(rs_button); l = memnew(Label); l->set_text(TTR("Higher visual quality\nAll features available\nIncompatible with older hardware\nNot recommended for web games")); @@ -900,6 +901,7 @@ public: rs_button->set_button_group(rasterizer_button_group); rs_button->set_text(TTR("OpenGL ES 2.0")); rs_button->set_meta("driver_name", "GLES2"); + rs_button->set_pressed(!is_gles3); rvb->add_child(rs_button); l = memnew(Label); l->set_text(TTR("Lower visual quality\nSome features not available\nWorks on most hardware\nRecommended for web games")); diff --git a/platform/javascript/api/javascript_tools_editor_plugin.cpp b/platform/javascript/api/javascript_tools_editor_plugin.cpp index 1a68a1521b2..e487bf23b74 100644 --- a/platform/javascript/api/javascript_tools_editor_plugin.cpp +++ b/platform/javascript/api/javascript_tools_editor_plugin.cpp @@ -1,3 +1,33 @@ +/*************************************************************************/ +/* javascript_tools_editor_plugin.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* https://godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ + #if defined(TOOLS_ENABLED) && defined(JAVASCRIPT_ENABLED) #include "javascript_tools_editor_plugin.h" @@ -22,7 +52,7 @@ JavaScriptToolsEditorPlugin::JavaScriptToolsEditorPlugin(EditorNode *p_editor) { add_tool_menu_item("Download Project Source", this, "_download_zip", v); } -void JavaScriptToolsEditorPlugin::_downalod_zip(Variant p_v) { +void JavaScriptToolsEditorPlugin::_download_zip(Variant p_v) { if (!Engine::get_singleton() || !Engine::get_singleton()->is_editor_hint()) { WARN_PRINT("Project download is only available in Editor mode"); return; @@ -57,7 +87,7 @@ void JavaScriptToolsEditorPlugin::_downalod_zip(Variant p_v) { } void JavaScriptToolsEditorPlugin::_bind_methods() { - ClassDB::bind_method("_download_zip", &JavaScriptToolsEditorPlugin::_downalod_zip); + ClassDB::bind_method("_download_zip", &JavaScriptToolsEditorPlugin::_download_zip); } void JavaScriptToolsEditorPlugin::_zip_file(String p_path, String p_base_path, zipFile p_zip) { diff --git a/platform/javascript/api/javascript_tools_editor_plugin.h b/platform/javascript/api/javascript_tools_editor_plugin.h index 401fecf1b2d..cc09fa4cd38 100644 --- a/platform/javascript/api/javascript_tools_editor_plugin.h +++ b/platform/javascript/api/javascript_tools_editor_plugin.h @@ -1,3 +1,33 @@ +/*************************************************************************/ +/* javascript_tools_editor_plugin.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* https://godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ + #ifndef JAVASCRIPT_TOOLS_EDITOR_PLUGIN_H #define JAVASCRIPT_TOOLS_EDITOR_PLUGIN_H @@ -15,7 +45,7 @@ private: protected: static void _bind_methods(); - void _downalod_zip(Variant p_v); + void _download_zip(Variant p_v); public: static void initialize();