From bad1d643148fdc37b62cc0f20446a61747018dda Mon Sep 17 00:00:00 2001 From: Relintai Date: Thu, 22 Dec 2022 15:24:53 +0100 Subject: [PATCH] Fix compile and small cleanups after the backports. --- editor/import/resource_importer_scene.cpp | 2 + editor/plugins/packed_scene_editor_plugin.cpp | 2 +- modules/navigation/godot_navigation_server.h | 141 ------------------ .../pandemonium_navigation_server.h | 2 +- 4 files changed, 4 insertions(+), 143 deletions(-) delete mode 100644 modules/navigation/godot_navigation_server.h diff --git a/editor/import/resource_importer_scene.cpp b/editor/import/resource_importer_scene.cpp index d7208d68b..5db91c21f 100644 --- a/editor/import/resource_importer_scene.cpp +++ b/editor/import/resource_importer_scene.cpp @@ -1179,6 +1179,7 @@ void ResourceImporterScene::_replace_owner(Node *p_node, Node *p_scene, Node *p_ } void ResourceImporterScene::_add_shapes(Node *p_node, const List> &p_shapes) { + int idx = 0; for (const List>::Element *E = p_shapes.front(); E; E = E->next()) { CollisionShape *cshape = memnew(CollisionShape); cshape->set_shape(E->get()); @@ -1186,6 +1187,7 @@ void ResourceImporterScene::_add_shapes(Node *p_node, const List> &p_ cshape->set_name("shape" + itos(idx)); cshape->set_owner(p_node->get_owner()); + ++idx; } } diff --git a/editor/plugins/packed_scene_editor_plugin.cpp b/editor/plugins/packed_scene_editor_plugin.cpp index 824c9ed11..be0dc7a05 100644 --- a/editor/plugins/packed_scene_editor_plugin.cpp +++ b/editor/plugins/packed_scene_editor_plugin.cpp @@ -48,7 +48,7 @@ void PackedSceneEditor::_notification(int p_what) { switch (p_what) { case NOTIFICATION_ENTER_TREE: case NOTIFICATION_THEME_CHANGED: { - open_scene_button->set_icon(get_icon("PackedScene", "EditorIcons")); + open_scene_button->set_icon(get_theme_icon("PackedScene", "EditorIcons")); } break; } } diff --git a/modules/navigation/godot_navigation_server.h b/modules/navigation/godot_navigation_server.h deleted file mode 100644 index 16e6b92e3..000000000 --- a/modules/navigation/godot_navigation_server.h +++ /dev/null @@ -1,141 +0,0 @@ -#ifndef PANDEMONIUM_NAVIGATION_SERVER_H -#define PANDEMONIUM_NAVIGATION_SERVER_H -/*************************************************************************/ -/* pandemonium_navigation_server.h */ -/*************************************************************************/ -/* This file is part of: */ -/* PANDEMONIUM ENGINE */ -/* https://godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2022 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. */ -/*************************************************************************/ - -#include "servers/navigation_server.h" - -#include "nav_map.h" -#include "nav_region.h" -#include "rvo_agent.h" - -/** - @author AndreaCatania -*/ - -/// The commands are functions executed during the `sync` phase. - -#define MERGE_INTERNAL(A, B) A##B -#define MERGE(A, B) MERGE_INTERNAL(A, B) - -#define COMMAND_1(F_NAME, T_0, D_0) \ - virtual void F_NAME(T_0 D_0) const; \ - void MERGE(_cmd_, F_NAME)(T_0 D_0) - -#define COMMAND_2(F_NAME, T_0, D_0, T_1, D_1) \ - virtual void F_NAME(T_0 D_0, T_1 D_1) const; \ - void MERGE(_cmd_, F_NAME)(T_0 D_0, T_1 D_1) - -#define COMMAND_4_DEF(F_NAME, T_0, D_0, T_1, D_1, T_2, D_2, T_3, D_3, D_3_DEF) \ - virtual void F_NAME(T_0 D_0, T_1 D_1, T_2 D_2, T_3 D_3 = D_3_DEF) const; \ - void MERGE(_cmd_, F_NAME)(T_0 D_0, T_1 D_1, T_2 D_2, T_3 D_3) - -class PandemoniumNavigationServer; - -struct SetCommand { - virtual ~SetCommand() {} - virtual void exec(PandemoniumNavigationServer *server) = 0; -}; - -class PandemoniumNavigationServer : public NavigationServer { - Mutex commands_mutex; - /// Mutex used to make any operation threadsafe. - Mutex operations_mutex; - - std::vector commands; - - mutable RID_Owner map_owner; - mutable RID_Owner region_owner; - mutable RID_Owner agent_owner; - - bool active; - Vector active_maps; - -public: - PandemoniumNavigationServer(); - virtual ~PandemoniumNavigationServer(); - - void add_command(SetCommand *command) const; - - virtual RID map_create() const; - COMMAND_2(map_set_active, RID, p_map, bool, p_active); - virtual bool map_is_active(RID p_map) const; - - COMMAND_2(map_set_up, RID, p_map, Vector3, p_up); - virtual Vector3 map_get_up(RID p_map) const; - - COMMAND_2(map_set_cell_size, RID, p_map, real_t, p_cell_size); - virtual real_t map_get_cell_size(RID p_map) const; - - COMMAND_2(map_set_cell_height, RID, p_map, real_t, p_cell_height); - virtual real_t map_get_cell_height(RID p_map) const; - - COMMAND_2(map_set_edge_connection_margin, RID, p_map, real_t, p_connection_margin); - virtual real_t map_get_edge_connection_margin(RID p_map) const; - - virtual Vector map_get_path(RID p_map, Vector3 p_origin, Vector3 p_destination, bool p_optimize) const; - - virtual Vector3 map_get_closest_point_to_segment(RID p_map, const Vector3 &p_from, const Vector3 &p_to, const bool p_use_collision = false) const; - virtual Vector3 map_get_closest_point(RID p_map, const Vector3 &p_point) const; - virtual Vector3 map_get_closest_point_normal(RID p_map, const Vector3 &p_point) const; - virtual RID map_get_closest_point_owner(RID p_map, const Vector3 &p_point) const; - - virtual RID region_create() const; - COMMAND_2(region_set_map, RID, p_region, RID, p_map); - COMMAND_2(region_set_transform, RID, p_region, Transform, p_transform); - COMMAND_2(region_set_navmesh, RID, p_region, Ref, p_nav_mesh); - virtual void region_bake_navmesh(Ref r_mesh, Node *p_node) const; - - virtual RID agent_create() const; - COMMAND_2(agent_set_map, RID, p_agent, RID, p_map); - COMMAND_2(agent_set_neighbor_dist, RID, p_agent, real_t, p_dist); - COMMAND_2(agent_set_max_neighbors, RID, p_agent, int, p_count); - COMMAND_2(agent_set_time_horizon, RID, p_agent, real_t, p_time); - COMMAND_2(agent_set_radius, RID, p_agent, real_t, p_radius); - COMMAND_2(agent_set_max_speed, RID, p_agent, real_t, p_max_speed); - COMMAND_2(agent_set_velocity, RID, p_agent, Vector3, p_velocity); - COMMAND_2(agent_set_target_velocity, RID, p_agent, Vector3, p_velocity); - COMMAND_2(agent_set_position, RID, p_agent, Vector3, p_position); - COMMAND_2(agent_set_ignore_y, RID, p_agent, bool, p_ignore); - virtual bool agent_is_map_changed(RID p_agent) const; - COMMAND_4_DEF(agent_set_callback, RID, p_agent, ObjectID, p_object_id, StringName, p_method, Variant, p_udata, Variant()); - - COMMAND_1(free, RID, p_object); - - virtual void set_active(bool p_active) const; - void flush_queries(); - virtual void process(real_t p_delta_time); -}; - -#undef COMMAND_1 -#undef COMMAND_2 -#undef COMMAND_4_DEF - -#endif // PANDEMONIUM_NAVIGATION_SERVER_H diff --git a/modules/navigation/pandemonium_navigation_server.h b/modules/navigation/pandemonium_navigation_server.h index 4c4728cd7..43000e154 100644 --- a/modules/navigation/pandemonium_navigation_server.h +++ b/modules/navigation/pandemonium_navigation_server.h @@ -146,7 +146,7 @@ public: COMMAND_2(agent_set_position, RID, p_agent, Vector3, p_position); COMMAND_2(agent_set_ignore_y, RID, p_agent, bool, p_ignore); virtual bool agent_is_map_changed(RID p_agent) const; - COMMAND_4_DEF(agent_set_callback, RID, p_agent, Object *, p_receiver, StringName, p_method, Variant, p_udata, Variant()); + COMMAND_4_DEF(agent_set_callback, RID, p_agent, ObjectID, p_object_id, StringName, p_method, Variant, p_udata, Variant()); COMMAND_1(free, RID, p_object);