mirror of
https://github.com/Relintai/pandemonium_engine.git
synced 2025-05-10 07:32:08 +02:00
Ported: Visual/Physics/Navigation Servers validate RIDs with documentation update - tinmanjuggernaut
2be0738304
This commit is contained in:
parent
1b503ad711
commit
2a13c65298
@ -566,6 +566,11 @@ COMMAND_4(agent_set_callback, RID, p_agent, Object *, p_receiver, StringName, p_
|
|||||||
}
|
}
|
||||||
|
|
||||||
COMMAND_1(free, RID, p_object) {
|
COMMAND_1(free, RID, p_object) {
|
||||||
|
if (!p_object.is_valid()) {
|
||||||
|
ERR_FAIL_MSG("Invalid RID.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (map_owner.owns(p_object)) {
|
if (map_owner.owns(p_object)) {
|
||||||
NavMap *map = map_owner.getornull(p_object);
|
NavMap *map = map_owner.getornull(p_object);
|
||||||
|
|
||||||
@ -614,7 +619,7 @@ COMMAND_1(free, RID, p_object) {
|
|||||||
memdelete(agent);
|
memdelete(agent);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
ERR_FAIL_COND("Invalid ID.");
|
ERR_FAIL_COND("Invalid RID.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,9 +33,9 @@
|
|||||||
#include "broad_phase_basic.h"
|
#include "broad_phase_basic.h"
|
||||||
#include "broad_phase_bvh.h"
|
#include "broad_phase_bvh.h"
|
||||||
#include "broad_phase_octree.h"
|
#include "broad_phase_octree.h"
|
||||||
#include "core/os/os.h"
|
|
||||||
#include "core/config/project_settings.h"
|
#include "core/config/project_settings.h"
|
||||||
#include "core/object/script_language.h"
|
#include "core/object/script_language.h"
|
||||||
|
#include "core/os/os.h"
|
||||||
#include "joints/cone_twist_joint_sw.h"
|
#include "joints/cone_twist_joint_sw.h"
|
||||||
#include "joints/generic_6dof_joint_sw.h"
|
#include "joints/generic_6dof_joint_sw.h"
|
||||||
#include "joints/hinge_joint_sw.h"
|
#include "joints/hinge_joint_sw.h"
|
||||||
@ -1199,6 +1199,11 @@ bool PhysicsServerSW::generic_6dof_joint_get_flag(RID p_joint, Vector3::Axis p_a
|
|||||||
}
|
}
|
||||||
|
|
||||||
void PhysicsServerSW::free(RID p_rid) {
|
void PhysicsServerSW::free(RID p_rid) {
|
||||||
|
if (!p_rid.is_valid()) {
|
||||||
|
ERR_FAIL_MSG("Invalid RID.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
_update_shapes(); //just in case
|
_update_shapes(); //just in case
|
||||||
|
|
||||||
if (shape_owner.owns(p_rid)) {
|
if (shape_owner.owns(p_rid)) {
|
||||||
@ -1271,7 +1276,7 @@ void PhysicsServerSW::free(RID p_rid) {
|
|||||||
memdelete(joint);
|
memdelete(joint);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
ERR_FAIL_MSG("Invalid ID.");
|
ERR_FAIL_MSG("Invalid RID.");
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -33,9 +33,9 @@
|
|||||||
#include "broad_phase_2d_bvh.h"
|
#include "broad_phase_2d_bvh.h"
|
||||||
#include "broad_phase_2d_hash_grid.h"
|
#include "broad_phase_2d_hash_grid.h"
|
||||||
#include "collision_solver_2d_sw.h"
|
#include "collision_solver_2d_sw.h"
|
||||||
#include "core/os/os.h"
|
|
||||||
#include "core/config/project_settings.h"
|
#include "core/config/project_settings.h"
|
||||||
#include "core/object/script_language.h"
|
#include "core/object/script_language.h"
|
||||||
|
#include "core/os/os.h"
|
||||||
|
|
||||||
#define FLUSH_QUERY_CHECK(m_object) \
|
#define FLUSH_QUERY_CHECK(m_object) \
|
||||||
ERR_FAIL_COND_MSG(m_object->get_space() && flushing_queries, "Can't change this state while flushing queries. Use call_deferred() or set_deferred() to change monitoring state instead.");
|
ERR_FAIL_COND_MSG(m_object->get_space() && flushing_queries, "Can't change this state while flushing queries. Use call_deferred() or set_deferred() to change monitoring state instead.");
|
||||||
@ -1121,6 +1121,11 @@ Physics2DServer::JointType Physics2DServerSW::joint_get_type(RID p_joint) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Physics2DServerSW::free(RID p_rid) {
|
void Physics2DServerSW::free(RID p_rid) {
|
||||||
|
if (!p_rid.is_valid()) {
|
||||||
|
ERR_FAIL_MSG("Invalid RID.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
_update_shapes(); // just in case
|
_update_shapes(); // just in case
|
||||||
|
|
||||||
if (shape_owner.owns(p_rid)) {
|
if (shape_owner.owns(p_rid)) {
|
||||||
@ -1188,7 +1193,7 @@ void Physics2DServerSW::free(RID p_rid) {
|
|||||||
memdelete(joint);
|
memdelete(joint);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
ERR_FAIL_MSG("Invalid ID.");
|
ERR_FAIL_MSG("Invalid RID.");
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -30,10 +30,10 @@
|
|||||||
|
|
||||||
#include "visual_server_raster.h"
|
#include "visual_server_raster.h"
|
||||||
|
|
||||||
#include "core/io/marshalls.h"
|
|
||||||
#include "core/os/os.h"
|
|
||||||
#include "core/config/project_settings.h"
|
#include "core/config/project_settings.h"
|
||||||
#include "core/containers/sort_array.h"
|
#include "core/containers/sort_array.h"
|
||||||
|
#include "core/io/marshalls.h"
|
||||||
|
#include "core/os/os.h"
|
||||||
#include "visual_server_canvas.h"
|
#include "visual_server_canvas.h"
|
||||||
#include "visual_server_globals.h"
|
#include "visual_server_globals.h"
|
||||||
#include "visual_server_scene.h"
|
#include "visual_server_scene.h"
|
||||||
@ -65,6 +65,11 @@ void VisualServerRaster::_draw_margins() {
|
|||||||
/* FREE */
|
/* FREE */
|
||||||
|
|
||||||
void VisualServerRaster::free(RID p_rid) {
|
void VisualServerRaster::free(RID p_rid) {
|
||||||
|
if (!p_rid.is_valid()) {
|
||||||
|
ERR_FAIL_MSG("Invalid RID.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (VSG::storage->free(p_rid)) {
|
if (VSG::storage->free(p_rid)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -80,6 +85,8 @@ void VisualServerRaster::free(RID p_rid) {
|
|||||||
if (VSG::scene_render->free(p_rid)) {
|
if (VSG::scene_render->free(p_rid)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ERR_FAIL_MSG("Invalid RID.");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* EVENT QUEUING */
|
/* EVENT QUEUING */
|
||||||
|
Loading…
Reference in New Issue
Block a user