Allow to compile templates without navigation features
This commit is contained in:
@@ -72,25 +72,30 @@
|
||||
#include "servers/display_server.h"
|
||||
#include "servers/movie_writer/movie_writer.h"
|
||||
#include "servers/movie_writer/movie_writer_mjpeg.h"
|
||||
#include "servers/navigation_server_3d.h"
|
||||
#include "servers/navigation_server_3d_dummy.h"
|
||||
#include "servers/register_server_types.h"
|
||||
#include "servers/rendering/rendering_server_default.h"
|
||||
#include "servers/text/text_server_dummy.h"
|
||||
#include "servers/text_server.h"
|
||||
|
||||
// 2D
|
||||
#ifndef NAVIGATION_2D_DISABLED
|
||||
#include "servers/navigation_server_2d.h"
|
||||
#include "servers/navigation_server_2d_dummy.h"
|
||||
#endif // NAVIGATION_2D_DISABLED
|
||||
#ifndef PHYSICS_2D_DISABLED
|
||||
#include "servers/physics_server_2d.h"
|
||||
#include "servers/physics_server_2d_dummy.h"
|
||||
#endif // PHYSICS_2D_DISABLED
|
||||
|
||||
// 3D
|
||||
#ifndef PHYSICS_3D_DISABLED
|
||||
#include "servers/physics_server_3d.h"
|
||||
#include "servers/physics_server_3d_dummy.h"
|
||||
#endif // PHYSICS_3D_DISABLED
|
||||
#ifndef NAVIGATION_3D_DISABLED
|
||||
#include "servers/navigation_server_3d.h"
|
||||
#include "servers/navigation_server_3d_dummy.h"
|
||||
#endif // NAVIGATION_3D_DISABLED
|
||||
#ifndef _3D_DISABLED
|
||||
#include "servers/xr_server.h"
|
||||
#endif // _3D_DISABLED
|
||||
@@ -754,8 +759,12 @@ Error Main::test_setup() {
|
||||
// Default theme will be initialized later, after modules and ScriptServer are ready.
|
||||
initialize_theme_db();
|
||||
|
||||
#ifndef NAVIGATION_3D_DISABLED
|
||||
NavigationServer3DManager::initialize_server();
|
||||
#endif // NAVIGATION_3D_DISABLED
|
||||
#ifndef NAVIGATION_2D_DISABLED
|
||||
NavigationServer2DManager::initialize_server();
|
||||
#endif // NAVIGATION_2D_DISABLED
|
||||
|
||||
register_scene_types();
|
||||
register_driver_types();
|
||||
@@ -839,8 +848,12 @@ void Main::test_cleanup() {
|
||||
|
||||
finalize_theme_db();
|
||||
|
||||
#ifndef NAVIGATION_2D_DISABLED
|
||||
NavigationServer2DManager::finalize_server();
|
||||
#endif // NAVIGATION_2D_DISABLED
|
||||
#ifndef NAVIGATION_3D_DISABLED
|
||||
NavigationServer3DManager::finalize_server();
|
||||
#endif // NAVIGATION_3D_DISABLED
|
||||
|
||||
GDExtensionManager::get_singleton()->deinitialize_extensions(GDExtension::INITIALIZATION_LEVEL_SERVERS);
|
||||
uninitialize_modules(MODULE_INITIALIZATION_LEVEL_SERVERS);
|
||||
@@ -3496,10 +3509,16 @@ Error Main::setup2(bool p_show_boot_logo) {
|
||||
// Default theme will be initialized later, after modules and ScriptServer are ready.
|
||||
initialize_theme_db();
|
||||
|
||||
#if !defined(NAVIGATION_2D_DISABLED) || !defined(NAVIGATION_3D_DISABLED)
|
||||
MAIN_PRINT("Main: Load Navigation");
|
||||
#endif // !defined(NAVIGATION_2D_DISABLED) || !defined(NAVIGATION_3D_DISABLED)
|
||||
|
||||
#ifndef NAVIGATION_3D_DISABLED
|
||||
NavigationServer3DManager::initialize_server();
|
||||
#endif // NAVIGATION_3D_DISABLED
|
||||
#ifndef NAVIGATION_2D_DISABLED
|
||||
NavigationServer2DManager::initialize_server();
|
||||
#endif // NAVIGATION_2D_DISABLED
|
||||
|
||||
register_scene_types();
|
||||
register_driver_types();
|
||||
@@ -4102,20 +4121,33 @@ int Main::start() {
|
||||
if (debug_paths) {
|
||||
sml->set_debug_paths_hint(true);
|
||||
}
|
||||
|
||||
if (debug_navigation) {
|
||||
sml->set_debug_navigation_hint(true);
|
||||
#ifndef NAVIGATION_2D_DISABLED
|
||||
NavigationServer2D::get_singleton()->set_debug_navigation_enabled(true);
|
||||
#endif // NAVIGATION_2D_DISABLED
|
||||
#ifndef NAVIGATION_3D_DISABLED
|
||||
NavigationServer3D::get_singleton()->set_debug_navigation_enabled(true);
|
||||
#endif // NAVIGATION_3D_DISABLED
|
||||
}
|
||||
if (debug_avoidance) {
|
||||
#ifndef NAVIGATION_2D_DISABLED
|
||||
NavigationServer2D::get_singleton()->set_debug_avoidance_enabled(true);
|
||||
#endif // NAVIGATION_2D_DISABLED
|
||||
#ifndef NAVIGATION_3D_DISABLED
|
||||
NavigationServer3D::get_singleton()->set_debug_avoidance_enabled(true);
|
||||
#endif // NAVIGATION_3D_DISABLED
|
||||
}
|
||||
if (debug_navigation || debug_avoidance) {
|
||||
#ifndef NAVIGATION_2D_DISABLED
|
||||
NavigationServer2D::get_singleton()->set_active(true);
|
||||
NavigationServer2D::get_singleton()->set_debug_enabled(true);
|
||||
#endif // NAVIGATION_2D_DISABLED
|
||||
#ifndef NAVIGATION_3D_DISABLED
|
||||
NavigationServer3D::get_singleton()->set_active(true);
|
||||
NavigationServer3D::get_singleton()->set_debug_enabled(true);
|
||||
#endif // NAVIGATION_3D_DISABLED
|
||||
}
|
||||
if (debug_canvas_item_redraw) {
|
||||
RenderingServer::get_singleton()->canvas_item_set_debug_redraw(true);
|
||||
@@ -4546,7 +4578,9 @@ bool Main::iteration() {
|
||||
|
||||
uint64_t physics_process_ticks = 0;
|
||||
uint64_t process_ticks = 0;
|
||||
#if !defined(NAVIGATION_2D_DISABLED) || !defined(NAVIGATION_3D_DISABLED)
|
||||
uint64_t navigation_process_ticks = 0;
|
||||
#endif // !defined(NAVIGATION_2D_DISABLED) || !defined(NAVIGATION_3D_DISABLED)
|
||||
|
||||
frame += ticks_elapsed;
|
||||
|
||||
@@ -4565,8 +4599,12 @@ bool Main::iteration() {
|
||||
XRServer::get_singleton()->_process();
|
||||
#endif // XR_DISABLED
|
||||
|
||||
#ifndef NAVIGATION_2D_DISABLED
|
||||
NavigationServer2D::get_singleton()->sync();
|
||||
#endif // NAVIGATION_2D_DISABLED
|
||||
#ifndef NAVIGATION_3D_DISABLED
|
||||
NavigationServer3D::get_singleton()->sync();
|
||||
#endif // NAVIGATION_3D_DISABLED
|
||||
|
||||
for (int iters = 0; iters < advance.physics_steps; ++iters) {
|
||||
if (Input::get_singleton()->is_agile_input_event_flushing()) {
|
||||
@@ -4606,15 +4644,21 @@ bool Main::iteration() {
|
||||
break;
|
||||
}
|
||||
|
||||
#if !defined(NAVIGATION_2D_DISABLED) || !defined(NAVIGATION_3D_DISABLED)
|
||||
uint64_t navigation_begin = OS::get_singleton()->get_ticks_usec();
|
||||
|
||||
#ifndef NAVIGATION_2D_DISABLED
|
||||
NavigationServer2D::get_singleton()->process(physics_step * time_scale);
|
||||
#endif // NAVIGATION_2D_DISABLED
|
||||
#ifndef NAVIGATION_3D_DISABLED
|
||||
NavigationServer3D::get_singleton()->process(physics_step * time_scale);
|
||||
#endif // NAVIGATION_3D_DISABLED
|
||||
|
||||
navigation_process_ticks = MAX(navigation_process_ticks, OS::get_singleton()->get_ticks_usec() - navigation_begin); // keep the largest one for reference
|
||||
navigation_process_max = MAX(OS::get_singleton()->get_ticks_usec() - navigation_begin, navigation_process_max);
|
||||
|
||||
message_queue->flush();
|
||||
#endif // !defined(NAVIGATION_2D_DISABLED) || !defined(NAVIGATION_3D_DISABLED)
|
||||
|
||||
#ifndef PHYSICS_3D_DISABLED
|
||||
PhysicsServer3D::get_singleton()->end_sync();
|
||||
@@ -4850,9 +4894,13 @@ void Main::cleanup(bool p_force) {
|
||||
|
||||
finalize_theme_db();
|
||||
|
||||
// Before deinitializing server extensions, finalize servers which may be loaded as extensions.
|
||||
// Before deinitializing server extensions, finalize servers which may be loaded as extensions.
|
||||
#ifndef NAVIGATION_2D_DISABLED
|
||||
NavigationServer2DManager::finalize_server();
|
||||
#endif // NAVIGATION_2D_DISABLED
|
||||
#ifndef NAVIGATION_3D_DISABLED
|
||||
NavigationServer3DManager::finalize_server();
|
||||
#endif // NAVIGATION_3D_DISABLED
|
||||
finalize_physics();
|
||||
|
||||
GDExtensionManager::get_singleton()->deinitialize_extensions(GDExtension::INITIALIZATION_LEVEL_SERVERS);
|
||||
|
||||
Reference in New Issue
Block a user