Added an auto quit and auto build flag to the command line options.
(cherry picked from commit 4bfb504c2f
)
This commit is contained in:
parent
70b082c0d9
commit
83b76a8171
|
@ -1783,7 +1783,7 @@ void EditorNode::_run(bool p_current, const String &p_custom) {
|
||||||
editor_data.save_editor_external_data();
|
editor_data.save_editor_external_data();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!_call_build())
|
if (!call_build())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (bool(EDITOR_DEF("run/output/always_clear_output_on_play", true))) {
|
if (bool(EDITOR_DEF("run/output/always_clear_output_on_play", true))) {
|
||||||
|
@ -2326,7 +2326,7 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
|
||||||
if (run_native->is_deploy_debug_remote_enabled()) {
|
if (run_native->is_deploy_debug_remote_enabled()) {
|
||||||
_menu_option_confirm(RUN_STOP, true);
|
_menu_option_confirm(RUN_STOP, true);
|
||||||
|
|
||||||
if (!_call_build())
|
if (!call_build())
|
||||||
break; // build failed
|
break; // build failed
|
||||||
|
|
||||||
emit_signal("play_pressed");
|
emit_signal("play_pressed");
|
||||||
|
@ -4531,7 +4531,7 @@ void EditorNode::add_build_callback(EditorBuildCallback p_callback) {
|
||||||
|
|
||||||
EditorBuildCallback EditorNode::build_callbacks[EditorNode::MAX_BUILD_CALLBACKS];
|
EditorBuildCallback EditorNode::build_callbacks[EditorNode::MAX_BUILD_CALLBACKS];
|
||||||
|
|
||||||
bool EditorNode::_call_build() {
|
bool EditorNode::call_build() {
|
||||||
|
|
||||||
for (int i = 0; i < build_callback_count; i++) {
|
for (int i = 0; i < build_callback_count; i++) {
|
||||||
if (!build_callbacks[i]())
|
if (!build_callbacks[i]())
|
||||||
|
|
|
@ -596,7 +596,6 @@ private:
|
||||||
static EditorPluginInitializeCallback plugin_init_callbacks[MAX_INIT_CALLBACKS];
|
static EditorPluginInitializeCallback plugin_init_callbacks[MAX_INIT_CALLBACKS];
|
||||||
void _save_default_environment();
|
void _save_default_environment();
|
||||||
|
|
||||||
bool _call_build();
|
|
||||||
static int build_callback_count;
|
static int build_callback_count;
|
||||||
static EditorBuildCallback build_callbacks[MAX_BUILD_CALLBACKS];
|
static EditorBuildCallback build_callbacks[MAX_BUILD_CALLBACKS];
|
||||||
|
|
||||||
|
@ -634,6 +633,8 @@ protected:
|
||||||
static void _bind_methods();
|
static void _bind_methods();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
bool call_build();
|
||||||
|
|
||||||
static void add_plugin_init_callback(EditorPluginInitializeCallback p_callback);
|
static void add_plugin_init_callback(EditorPluginInitializeCallback p_callback);
|
||||||
|
|
||||||
enum EditorTable {
|
enum EditorTable {
|
||||||
|
|
|
@ -124,6 +124,8 @@ static bool editor = false;
|
||||||
static bool show_help = false;
|
static bool show_help = false;
|
||||||
static bool disable_render_loop = false;
|
static bool disable_render_loop = false;
|
||||||
static int fixed_fps = -1;
|
static int fixed_fps = -1;
|
||||||
|
static bool auto_build_solutions = false;
|
||||||
|
static bool auto_quit = false;
|
||||||
|
|
||||||
static OS::ProcessID allow_focus_steal_pid = 0;
|
static OS::ProcessID allow_focus_steal_pid = 0;
|
||||||
|
|
||||||
|
@ -259,6 +261,7 @@ void Main::print_help(const char *p_binary) {
|
||||||
OS::get_singleton()->print(" --export-debug Use together with --export, enables debug mode for the template.\n");
|
OS::get_singleton()->print(" --export-debug Use together with --export, enables debug mode for the template.\n");
|
||||||
OS::get_singleton()->print(" --doctool <path> Dump the engine API reference to the given <path> in XML format, merging if existing files are found.\n");
|
OS::get_singleton()->print(" --doctool <path> Dump the engine API reference to the given <path> in XML format, merging if existing files are found.\n");
|
||||||
OS::get_singleton()->print(" --no-docbase Disallow dumping the base types (used with --doctool).\n");
|
OS::get_singleton()->print(" --no-docbase Disallow dumping the base types (used with --doctool).\n");
|
||||||
|
OS::get_singleton()->print(" --build-solutions Builds the scripting solutions (IE. C#).\n");
|
||||||
#ifdef DEBUG_METHODS_ENABLED
|
#ifdef DEBUG_METHODS_ENABLED
|
||||||
OS::get_singleton()->print(" --gdnative-generate-json-api Generate JSON dump of the Godot API for GDNative bindings.\n");
|
OS::get_singleton()->print(" --gdnative-generate-json-api Generate JSON dump of the Godot API for GDNative bindings.\n");
|
||||||
#endif
|
#endif
|
||||||
|
@ -520,6 +523,9 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
|
||||||
} else if (I->get() == "-p" || I->get() == "--project-manager") { // starts project manager
|
} else if (I->get() == "-p" || I->get() == "--project-manager") { // starts project manager
|
||||||
|
|
||||||
project_manager = true;
|
project_manager = true;
|
||||||
|
} else if (I->get() == "--build-solutions") { // Build the scripting solution such C#
|
||||||
|
|
||||||
|
auto_build_solutions = true;
|
||||||
} else if (I->get() == "--no-window") { // disable window creation, Windows only
|
} else if (I->get() == "--no-window") { // disable window creation, Windows only
|
||||||
|
|
||||||
OS::get_singleton()->set_no_window_mode(true);
|
OS::get_singleton()->set_no_window_mode(true);
|
||||||
|
@ -545,6 +551,8 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
|
||||||
}
|
}
|
||||||
} else if (I->get() == "-u" || I->get() == "--upwards") { // scan folders upwards
|
} else if (I->get() == "-u" || I->get() == "--upwards") { // scan folders upwards
|
||||||
upwards = true;
|
upwards = true;
|
||||||
|
} else if (I->get() == "--quit" || I->get() == "-q") { // Auto quit at the end of the first main loop iteration
|
||||||
|
auto_quit = true;
|
||||||
} else if (I->get().ends_with("project.godot")) {
|
} else if (I->get().ends_with("project.godot")) {
|
||||||
String path;
|
String path;
|
||||||
String file = I->get();
|
String file = I->get();
|
||||||
|
@ -1839,7 +1847,16 @@ bool Main::iteration() {
|
||||||
target_ticks = MIN(MAX(target_ticks, current_ticks - time_step), current_ticks + time_step);
|
target_ticks = MIN(MAX(target_ticks, current_ticks - time_step), current_ticks + time_step);
|
||||||
}
|
}
|
||||||
|
|
||||||
return exit;
|
#ifdef TOOLS_ENABLED
|
||||||
|
if (auto_build_solutions) {
|
||||||
|
auto_build_solutions = false;
|
||||||
|
if (!EditorNode::get_singleton()->call_build()) {
|
||||||
|
ERR_FAIL_V(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return exit || auto_quit;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Main::force_redraw() {
|
void Main::force_redraw() {
|
||||||
|
|
Loading…
Reference in New Issue