diff options
-rw-r--r-- | main/main.cpp | 7 | ||||
-rw-r--r-- | scene/main/scene_main_loop.cpp | 13 | ||||
-rw-r--r-- | scene/main/scene_main_loop.h | 21 |
3 files changed, 36 insertions, 5 deletions
diff --git a/main/main.cpp b/main/main.cpp index f905e22070..a59d450001 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -94,8 +94,10 @@ static bool init_maximized = false; static bool init_windowed = false; static bool init_fullscreen = false; static bool init_use_custom_pos = false; +#ifdef DEBUG_ENABLED static bool debug_collisions = false; static bool debug_navigation = false; +#endif static int frame_delay = 0; static Vector2 init_custom_pos; static int video_driver_idx = -1; @@ -498,10 +500,12 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph } else if (I->get() == "-debug" || I->get() == "-d") { debug_mode = "local"; +#ifdef DEBUG_ENABLED } else if (I->get() == "-debugcol" || I->get() == "-dc") { debug_collisions = true; } else if (I->get() == "-debugnav" || I->get() == "-dn") { debug_navigation = true; +#endif } else if (I->get() == "-editor_scene") { if (I->next()) { @@ -1194,12 +1198,15 @@ bool Main::start() { SceneTree *sml = main_loop->cast_to<SceneTree>(); +#ifdef DEBUG_ENABLED if (debug_collisions) { sml->set_debug_collisions_hint(true); } if (debug_navigation) { sml->set_debug_navigation_hint(true); } +#endif + #ifdef TOOLS_ENABLED EditorNode *editor_node = NULL; diff --git a/scene/main/scene_main_loop.cpp b/scene/main/scene_main_loop.cpp index 79ee4a6f75..c7aecd784d 100644 --- a/scene/main/scene_main_loop.cpp +++ b/scene/main/scene_main_loop.cpp @@ -678,24 +678,24 @@ void SceneTree::set_quit_on_go_back(bool p_enable) { quit_on_go_back = p_enable; } +#ifdef TOOLS_ENABLED void SceneTree::set_editor_hint(bool p_enabled) { editor_hint = p_enabled; } bool SceneTree::is_node_being_edited(const Node *p_node) const { -#ifdef TOOLS_ENABLED + return editor_hint && edited_scene_root && edited_scene_root->is_a_parent_of(p_node); -#else - return false; -#endif } bool SceneTree::is_editor_hint() const { return editor_hint; } +#endif +#ifdef DEBUG_ENABLED void SceneTree::set_debug_collisions_hint(bool p_enabled) { debug_collisions_hint = p_enabled; @@ -715,6 +715,7 @@ bool SceneTree::is_debugging_navigation_hint() const { return debug_navigation_hint; } +#endif void SceneTree::set_debug_collisions_color(const Color &p_color) { @@ -2260,9 +2261,13 @@ SceneTree::SceneTree() { singleton = this; _quit = false; initialized = false; +#ifdef TOOLS_ENABLED editor_hint = false; +#endif +#ifdef DEBUG_ENABLED debug_collisions_hint = false; debug_navigation_hint = false; +#endif debug_collisions_color = GLOBAL_DEF("debug/collision/shape_color", Color(0.0, 0.6, 0.7, 0.5)); debug_collision_contact_color = GLOBAL_DEF("debug/collision/contact_color", Color(1.0, 0.2, 0.1, 0.8)); debug_navigation_color = GLOBAL_DEF("debug/navigation/geometry_color", Color(0.1, 1.0, 0.7, 0.4)); diff --git a/scene/main/scene_main_loop.h b/scene/main/scene_main_loop.h index fadf77e30f..2658264604 100644 --- a/scene/main/scene_main_loop.h +++ b/scene/main/scene_main_loop.h @@ -108,9 +108,13 @@ private: bool quit_on_go_back; uint32_t last_id; +#ifdef TOOLS_ENABLED bool editor_hint; +#endif +#ifdef DEBUG_ENABLED bool debug_collisions_hint; bool debug_navigation_hint; +#endif bool pause; int root_lock; @@ -353,10 +357,17 @@ public: _FORCE_INLINE_ float get_fixed_process_time() const { return fixed_process_time; } _FORCE_INLINE_ float get_idle_process_time() const { return idle_process_time; } +#ifdef TOOLS_ENABLED void set_editor_hint(bool p_enabled); - bool is_editor_hint() const; + bool is_editor_hint() const; bool is_node_being_edited(const Node *p_node) const; +#else + void set_editor_hint(bool p_enabled) {} + + bool is_editor_hint() const { return false; } + bool is_node_being_edited(const Node *p_node) const { return false; } +#endif void set_pause(bool p_enabled); bool is_paused() const; @@ -364,11 +375,19 @@ public: void set_camera(const RID &p_camera); RID get_camera() const; +#ifdef DEBUG_ENABLED void set_debug_collisions_hint(bool p_enabled); bool is_debugging_collisions_hint() const; void set_debug_navigation_hint(bool p_enabled); bool is_debugging_navigation_hint() const; +#else + void set_debug_collisions_hint(bool p_enabled) {} + bool is_debugging_collisions_hint() const { return false; } + + void set_debug_navigation_hint(bool p_enabled) {} + bool is_debugging_navigation_hint() const { return false; } +#endif void set_debug_collisions_color(const Color &p_color); Color get_debug_collisions_color() const; |