diff options
Diffstat (limited to 'main/main.cpp')
| -rw-r--r-- | main/main.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/main/main.cpp b/main/main.cpp index eee634086e..90c84114f2 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -2405,6 +2405,7 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph // OpenXR project extensions settings. GLOBAL_DEF_BASIC("xr/openxr/extensions/hand_tracking", true); + GLOBAL_DEF_RST_BASIC("xr/openxr/extensions/hand_interaction_profile", false); GLOBAL_DEF_BASIC("xr/openxr/extensions/eye_gaze_interaction", false); #ifdef TOOLS_ENABLED @@ -3182,6 +3183,7 @@ int Main::start() { #ifdef TOOLS_ENABLED String doc_tool_path; + bool doc_tool_implicit_cwd = false; BitField<DocTools::GenerateFlags> gen_flags; String _export_preset; bool export_debug = false; @@ -3252,6 +3254,7 @@ int Main::start() { if (doc_tool_path.begins_with("-")) { // Assuming other command line arg, so default to cwd. doc_tool_path = "."; + doc_tool_implicit_cwd = true; parsed_pair = false; } #ifdef MODULE_GDSCRIPT_ENABLED @@ -3282,6 +3285,7 @@ int Main::start() { // Handle case where no path is given to --doctool. else if (args[i] == "--doctool") { doc_tool_path = "."; + doc_tool_implicit_cwd = true; } #endif } @@ -3308,6 +3312,11 @@ int Main::start() { { Ref<DirAccess> da = DirAccess::open(doc_tool_path); ERR_FAIL_COND_V_MSG(da.is_null(), EXIT_FAILURE, "Argument supplied to --doctool must be a valid directory path."); + // Ensure that doctool is running in the root dir, but only if + // user did not manually specify a path as argument. + if (doc_tool_implicit_cwd) { + ERR_FAIL_COND_V_MSG(!da->dir_exists("doc"), EXIT_FAILURE, "--doctool must be run from the Godot repository's root folder, or specify a path that points there."); + } } #ifndef MODULE_MONO_ENABLED @@ -3636,7 +3645,7 @@ int Main::start() { } } - if (doc_tool_path == ".") { + if (doc_tool_implicit_cwd) { doc_tool_path = "./docs"; } |
