diff --git a/scene/3d/spring_bone_simulator_3d.cpp b/scene/3d/spring_bone_simulator_3d.cpp index 6443c4ed6f9..72dfeff4b52 100644 --- a/scene/3d/spring_bone_simulator_3d.cpp +++ b/scene/3d/spring_bone_simulator_3d.cpp @@ -40,7 +40,7 @@ bool SpringBoneSimulator3D::_set(const StringName &p_path, const Variant &p_valu if (path.begins_with("settings/")) { int which = path.get_slicec('/', 1).to_int(); String what = path.get_slicec('/', 2); - ERR_FAIL_INDEX_V(which, settings.size(), false); + ERR_FAIL_INDEX_V(which, (int)settings.size(), false); if (what == "root_bone_name") { set_root_bone_name(which, p_value); @@ -164,7 +164,7 @@ bool SpringBoneSimulator3D::_get(const StringName &p_path, Variant &r_ret) const if (path.begins_with("settings/")) { int which = path.get_slicec('/', 1).to_int(); String what = path.get_slicec('/', 2); - ERR_FAIL_INDEX_V(which, settings.size(), false); + ERR_FAIL_INDEX_V(which, (int)settings.size(), false); if (what == "root_bone_name") { r_ret = get_root_bone_name(which); @@ -291,7 +291,7 @@ void SpringBoneSimulator3D::_get_property_list(List *p_list) const LocalVector props; - for (int i = 0; i < settings.size(); i++) { + for (uint32_t i = 0; i < settings.size(); i++) { String path = "settings/" + itos(i) + "/"; props.push_back(PropertyInfo(Variant::STRING, path + "root_bone_name", PROPERTY_HINT_ENUM_SUGGESTION, enum_hint)); props.push_back(PropertyInfo(Variant::INT, path + "root_bone", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NO_EDITOR)); @@ -317,7 +317,7 @@ void SpringBoneSimulator3D::_get_property_list(List *p_list) const props.push_back(PropertyInfo(Variant::OBJECT, path + "gravity/damping_curve", PROPERTY_HINT_RESOURCE_TYPE, "Curve")); props.push_back(PropertyInfo(Variant::VECTOR3, path + "gravity/direction")); props.push_back(PropertyInfo(Variant::INT, path + "joint_count", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_ARRAY, "Joints," + path + "joints/,static,const")); - for (int j = 0; j < settings[i]->joints.size(); j++) { + for (uint32_t j = 0; j < settings[i]->joints.size(); j++) { String joint_path = path + "joints/" + itos(j) + "/"; props.push_back(PropertyInfo(Variant::STRING, joint_path + "bone_name", PROPERTY_HINT_ENUM_SUGGESTION, enum_hint, PROPERTY_USAGE_EDITOR | PROPERTY_USAGE_READ_ONLY | PROPERTY_USAGE_STORAGE)); props.push_back(PropertyInfo(Variant::INT, joint_path + "bone", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NO_EDITOR | PROPERTY_USAGE_READ_ONLY)); @@ -331,12 +331,12 @@ void SpringBoneSimulator3D::_get_property_list(List *p_list) const } props.push_back(PropertyInfo(Variant::BOOL, path + "enable_all_child_collisions")); props.push_back(PropertyInfo(Variant::INT, path + "exclude_collision_count", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_ARRAY, "Exclude Collisions," + path + "exclude_collisions/")); - for (int j = 0; j < settings[i]->exclude_collisions.size(); j++) { + for (uint32_t j = 0; j < settings[i]->exclude_collisions.size(); j++) { String collision_path = path + "exclude_collisions/" + itos(j); props.push_back(PropertyInfo(Variant::NODE_PATH, collision_path, PROPERTY_HINT_NODE_PATH_VALID_TYPES, "SpringBoneCollision3D")); } props.push_back(PropertyInfo(Variant::INT, path + "collision_count", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_ARRAY, "Collisions," + path + "collisions/")); - for (int j = 0; j < settings[i]->collisions.size(); j++) { + for (uint32_t j = 0; j < settings[i]->collisions.size(); j++) { String collision_path = path + "collisions/" + itos(j); props.push_back(PropertyInfo(Variant::NODE_PATH, collision_path, PROPERTY_HINT_NODE_PATH_VALID_TYPES, "SpringBoneCollision3D")); } @@ -436,7 +436,7 @@ void SpringBoneSimulator3D::_notification(int p_what) { // Setting. void SpringBoneSimulator3D::set_root_bone_name(int p_index, const String &p_bone_name) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); settings[p_index]->root_bone_name = p_bone_name; Skeleton3D *sk = get_skeleton(); if (sk) { @@ -445,12 +445,12 @@ void SpringBoneSimulator3D::set_root_bone_name(int p_index, const String &p_bone } String SpringBoneSimulator3D::get_root_bone_name(int p_index) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), String()); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), String()); return settings[p_index]->root_bone_name; } void SpringBoneSimulator3D::set_root_bone(int p_index, int p_bone) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); bool changed = settings[p_index]->root_bone != p_bone; settings[p_index]->root_bone = p_bone; Skeleton3D *sk = get_skeleton(); @@ -468,12 +468,12 @@ void SpringBoneSimulator3D::set_root_bone(int p_index, int p_bone) { } int SpringBoneSimulator3D::get_root_bone(int p_index) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), -1); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), -1); return settings[p_index]->root_bone; } void SpringBoneSimulator3D::set_end_bone_name(int p_index, const String &p_bone_name) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); settings[p_index]->end_bone_name = p_bone_name; Skeleton3D *sk = get_skeleton(); if (sk) { @@ -482,12 +482,12 @@ void SpringBoneSimulator3D::set_end_bone_name(int p_index, const String &p_bone_ } String SpringBoneSimulator3D::get_end_bone_name(int p_index) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), String()); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), String()); return settings[p_index]->end_bone_name; } void SpringBoneSimulator3D::set_end_bone(int p_index, int p_bone) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); bool changed = settings[p_index]->end_bone != p_bone; settings[p_index]->end_bone = p_bone; Skeleton3D *sk = get_skeleton(); @@ -505,41 +505,41 @@ void SpringBoneSimulator3D::set_end_bone(int p_index, int p_bone) { } int SpringBoneSimulator3D::get_end_bone(int p_index) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), -1); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), -1); return settings[p_index]->end_bone; } void SpringBoneSimulator3D::set_extend_end_bone(int p_index, bool p_enabled) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); settings[p_index]->extend_end_bone = p_enabled; _make_joints_dirty(p_index); notify_property_list_changed(); } bool SpringBoneSimulator3D::is_end_bone_extended(int p_index) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), false); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), false); return settings[p_index]->extend_end_bone; } void SpringBoneSimulator3D::set_end_bone_direction(int p_index, BoneDirection p_bone_direction) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); settings[p_index]->end_bone_direction = p_bone_direction; _make_joints_dirty(p_index); } SpringBoneSimulator3D::BoneDirection SpringBoneSimulator3D::get_end_bone_direction(int p_index) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), BONE_DIRECTION_FROM_PARENT); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), BONE_DIRECTION_FROM_PARENT); return settings[p_index]->end_bone_direction; } void SpringBoneSimulator3D::set_end_bone_length(int p_index, float p_length) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); settings[p_index]->end_bone_length = p_length; _make_joints_dirty(p_index); } float SpringBoneSimulator3D::get_end_bone_length(int p_index) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), 0); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), 0); return settings[p_index]->end_bone_length; } @@ -558,7 +558,7 @@ Vector3 SpringBoneSimulator3D::get_end_bone_axis(int p_end_bone, BoneDirection p } void SpringBoneSimulator3D::set_center_from(int p_index, CenterFrom p_center_from) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); bool center_changed = settings[p_index]->center_from != p_center_from; settings[p_index]->center_from = p_center_from; if (center_changed) { @@ -568,12 +568,12 @@ void SpringBoneSimulator3D::set_center_from(int p_index, CenterFrom p_center_fro } SpringBoneSimulator3D::CenterFrom SpringBoneSimulator3D::get_center_from(int p_index) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), CENTER_FROM_WORLD_ORIGIN); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), CENTER_FROM_WORLD_ORIGIN); return settings[p_index]->center_from; } void SpringBoneSimulator3D::set_center_node(int p_index, const NodePath &p_node_path) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); bool center_changed = settings[p_index]->center_node != p_node_path; settings[p_index]->center_node = p_node_path; if (center_changed) { @@ -582,12 +582,12 @@ void SpringBoneSimulator3D::set_center_node(int p_index, const NodePath &p_node_ } NodePath SpringBoneSimulator3D::get_center_node(int p_index) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), NodePath()); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), NodePath()); return settings[p_index]->center_node; } void SpringBoneSimulator3D::set_center_bone_name(int p_index, const String &p_bone_name) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); settings[p_index]->center_bone_name = p_bone_name; Skeleton3D *sk = get_skeleton(); if (sk) { @@ -596,12 +596,12 @@ void SpringBoneSimulator3D::set_center_bone_name(int p_index, const String &p_bo } String SpringBoneSimulator3D::get_center_bone_name(int p_index) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), String()); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), String()); return settings[p_index]->center_bone_name; } void SpringBoneSimulator3D::set_center_bone(int p_index, int p_bone) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); bool center_changed = settings[p_index]->center_bone != p_bone; settings[p_index]->center_bone = p_bone; Skeleton3D *sk = get_skeleton(); @@ -619,12 +619,12 @@ void SpringBoneSimulator3D::set_center_bone(int p_index, int p_bone) { } int SpringBoneSimulator3D::get_center_bone(int p_index) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), -1); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), -1); return settings[p_index]->center_bone; } void SpringBoneSimulator3D::set_radius(int p_index, float p_radius) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); if (is_config_individual(p_index)) { return; // Joint config is individual mode. } @@ -633,12 +633,12 @@ void SpringBoneSimulator3D::set_radius(int p_index, float p_radius) { } float SpringBoneSimulator3D::get_radius(int p_index) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), 0); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), 0); return settings[p_index]->radius; } void SpringBoneSimulator3D::set_radius_damping_curve(int p_index, const Ref &p_damping_curve) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); if (is_config_individual(p_index)) { return; // Joint config is individual mode. } @@ -653,12 +653,12 @@ void SpringBoneSimulator3D::set_radius_damping_curve(int p_index, const Ref SpringBoneSimulator3D::get_radius_damping_curve(int p_index) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), Ref()); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), Ref()); return settings[p_index]->radius_damping_curve; } void SpringBoneSimulator3D::set_stiffness(int p_index, float p_stiffness) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); if (is_config_individual(p_index)) { return; // Joint config is individual mode. } @@ -667,12 +667,12 @@ void SpringBoneSimulator3D::set_stiffness(int p_index, float p_stiffness) { } float SpringBoneSimulator3D::get_stiffness(int p_index) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), 0); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), 0); return settings[p_index]->stiffness; } void SpringBoneSimulator3D::set_stiffness_damping_curve(int p_index, const Ref &p_damping_curve) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); if (is_config_individual(p_index)) { return; // Joint config is individual mode. } @@ -687,12 +687,12 @@ void SpringBoneSimulator3D::set_stiffness_damping_curve(int p_index, const Ref SpringBoneSimulator3D::get_stiffness_damping_curve(int p_index) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), Ref()); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), Ref()); return settings[p_index]->stiffness_damping_curve; } void SpringBoneSimulator3D::set_drag(int p_index, float p_drag) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); if (is_config_individual(p_index)) { return; // Joint config is individual mode. } @@ -701,12 +701,12 @@ void SpringBoneSimulator3D::set_drag(int p_index, float p_drag) { } float SpringBoneSimulator3D::get_drag(int p_index) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), 0); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), 0); return settings[p_index]->drag; } void SpringBoneSimulator3D::set_drag_damping_curve(int p_index, const Ref &p_damping_curve) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); if (is_config_individual(p_index)) { return; // Joint config is individual mode. } @@ -721,12 +721,12 @@ void SpringBoneSimulator3D::set_drag_damping_curve(int p_index, const Ref } Ref SpringBoneSimulator3D::get_drag_damping_curve(int p_index) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), Ref()); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), Ref()); return settings[p_index]->drag_damping_curve; } void SpringBoneSimulator3D::set_gravity(int p_index, float p_gravity) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); if (is_config_individual(p_index)) { return; // Joint config is individual mode. } @@ -735,12 +735,12 @@ void SpringBoneSimulator3D::set_gravity(int p_index, float p_gravity) { } float SpringBoneSimulator3D::get_gravity(int p_index) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), 0); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), 0); return settings[p_index]->gravity; } void SpringBoneSimulator3D::set_gravity_damping_curve(int p_index, const Ref &p_damping_curve) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); if (is_config_individual(p_index)) { return; // Joint config is individual mode. } @@ -755,12 +755,12 @@ void SpringBoneSimulator3D::set_gravity_damping_curve(int p_index, const Ref SpringBoneSimulator3D::get_gravity_damping_curve(int p_index) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), Ref()); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), Ref()); return settings[p_index]->gravity_damping_curve; } void SpringBoneSimulator3D::set_gravity_direction(int p_index, const Vector3 &p_gravity_direction) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); ERR_FAIL_COND(p_gravity_direction.is_zero_approx()); if (is_config_individual(p_index)) { return; // Joint config is individual mode. @@ -770,12 +770,12 @@ void SpringBoneSimulator3D::set_gravity_direction(int p_index, const Vector3 &p_ } Vector3 SpringBoneSimulator3D::get_gravity_direction(int p_index) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), Vector3(0, -1, 0)); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), Vector3(0, -1, 0)); return settings[p_index]->gravity_direction; } void SpringBoneSimulator3D::set_rotation_axis(int p_index, RotationAxis p_axis) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); if (is_config_individual(p_index)) { return; // Joint config is individual mode. } @@ -785,12 +785,12 @@ void SpringBoneSimulator3D::set_rotation_axis(int p_index, RotationAxis p_axis) } SpringBoneSimulator3D::RotationAxis SpringBoneSimulator3D::get_rotation_axis(int p_index) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), ROTATION_AXIS_ALL); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), ROTATION_AXIS_ALL); return settings[p_index]->rotation_axis; } void SpringBoneSimulator3D::set_rotation_axis_vector(int p_index, const Vector3 &p_vector) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); if (is_config_individual(p_index) || settings[p_index]->rotation_axis != ROTATION_AXIS_CUSTOM) { return; // Joint config is individual mode. } @@ -799,7 +799,7 @@ void SpringBoneSimulator3D::set_rotation_axis_vector(int p_index, const Vector3 } Vector3 SpringBoneSimulator3D::get_rotation_axis_vector(int p_index) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), Vector3()); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), Vector3()); Vector3 ret; switch (settings[p_index]->rotation_axis) { case ROTATION_AXIS_X: @@ -824,17 +824,17 @@ Vector3 SpringBoneSimulator3D::get_rotation_axis_vector(int p_index) const { void SpringBoneSimulator3D::set_setting_count(int p_count) { ERR_FAIL_COND(p_count < 0); - int delta = p_count - settings.size(); + int delta = p_count - (int)settings.size(); if (delta < 0) { for (int i = delta; i < 0; i++) { - memdelete(settings[settings.size() + i]); + memdelete(settings[(int)settings.size() + i]); } } settings.resize(p_count); delta++; if (delta > 1) { for (int i = 1; i < delta; i++) { - settings.write[p_count - i] = memnew(SpringBone3DSetting); + settings[p_count - i] = memnew(SpringBone3DSetting); } } notify_property_list_changed(); @@ -851,21 +851,21 @@ void SpringBoneSimulator3D::clear_settings() { // Individual joints. void SpringBoneSimulator3D::set_individual_config(int p_index, bool p_enabled) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); settings[p_index]->individual_config = p_enabled; _make_joints_dirty(p_index); notify_property_list_changed(); } bool SpringBoneSimulator3D::is_config_individual(int p_index) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), false); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), false); return settings[p_index]->individual_config; } void SpringBoneSimulator3D::set_joint_bone_name(int p_index, int p_joint, const String &p_bone_name) { - ERR_FAIL_INDEX(p_index, settings.size()); - Vector &joints = settings[p_index]->joints; - ERR_FAIL_INDEX(p_joint, joints.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); + LocalVector &joints = settings[p_index]->joints; + ERR_FAIL_INDEX(p_joint, (int)joints.size()); joints[p_joint]->bone_name = p_bone_name; Skeleton3D *sk = get_skeleton(); if (sk) { @@ -874,16 +874,16 @@ void SpringBoneSimulator3D::set_joint_bone_name(int p_index, int p_joint, const } String SpringBoneSimulator3D::get_joint_bone_name(int p_index, int p_joint) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), String()); - Vector joints = settings[p_index]->joints; - ERR_FAIL_INDEX_V(p_joint, joints.size(), String()); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), String()); + const LocalVector &joints = settings[p_index]->joints; + ERR_FAIL_INDEX_V(p_joint, (int)joints.size(), String()); return joints[p_joint]->bone_name; } void SpringBoneSimulator3D::set_joint_bone(int p_index, int p_joint, int p_bone) { - ERR_FAIL_INDEX(p_index, settings.size()); - Vector &joints = settings[p_index]->joints; - ERR_FAIL_INDEX(p_joint, joints.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); + LocalVector &joints = settings[p_index]->joints; + ERR_FAIL_INDEX(p_joint, (int)joints.size()); joints[p_joint]->bone = p_bone; Skeleton3D *sk = get_skeleton(); if (sk) { @@ -897,19 +897,19 @@ void SpringBoneSimulator3D::set_joint_bone(int p_index, int p_joint, int p_bone) } int SpringBoneSimulator3D::get_joint_bone(int p_index, int p_joint) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), -1); - Vector joints = settings[p_index]->joints; - ERR_FAIL_INDEX_V(p_joint, joints.size(), -1); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), -1); + const LocalVector &joints = settings[p_index]->joints; + ERR_FAIL_INDEX_V(p_joint, (int)joints.size(), -1); return joints[p_joint]->bone; } void SpringBoneSimulator3D::set_joint_radius(int p_index, int p_joint, float p_radius) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); if (!is_config_individual(p_index)) { return; // Joints are read-only. } - Vector &joints = settings[p_index]->joints; - ERR_FAIL_INDEX(p_joint, joints.size()); + LocalVector &joints = settings[p_index]->joints; + ERR_FAIL_INDEX(p_joint, (int)joints.size()); joints[p_joint]->radius = p_radius; #ifdef TOOLS_ENABLED update_gizmos(); @@ -917,88 +917,88 @@ void SpringBoneSimulator3D::set_joint_radius(int p_index, int p_joint, float p_r } float SpringBoneSimulator3D::get_joint_radius(int p_index, int p_joint) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), 0); - Vector joints = settings[p_index]->joints; - ERR_FAIL_INDEX_V(p_joint, joints.size(), 0); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), 0); + const LocalVector &joints = settings[p_index]->joints; + ERR_FAIL_INDEX_V(p_joint, (int)joints.size(), 0); return joints[p_joint]->radius; } void SpringBoneSimulator3D::set_joint_stiffness(int p_index, int p_joint, float p_stiffness) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); if (!is_config_individual(p_index)) { return; // Joints are read-only. } - Vector &joints = settings[p_index]->joints; - ERR_FAIL_INDEX(p_joint, joints.size()); + LocalVector &joints = settings[p_index]->joints; + ERR_FAIL_INDEX(p_joint, (int)joints.size()); joints[p_joint]->stiffness = p_stiffness; } float SpringBoneSimulator3D::get_joint_stiffness(int p_index, int p_joint) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), 0); - Vector joints = settings[p_index]->joints; - ERR_FAIL_INDEX_V(p_joint, joints.size(), 0); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), 0); + const LocalVector &joints = settings[p_index]->joints; + ERR_FAIL_INDEX_V(p_joint, (int)joints.size(), 0); return joints[p_joint]->stiffness; } void SpringBoneSimulator3D::set_joint_drag(int p_index, int p_joint, float p_drag) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); if (!is_config_individual(p_index)) { return; // Joints are read-only. } - Vector &joints = settings[p_index]->joints; - ERR_FAIL_INDEX(p_joint, joints.size()); + LocalVector &joints = settings[p_index]->joints; + ERR_FAIL_INDEX(p_joint, (int)joints.size()); joints[p_joint]->drag = p_drag; } float SpringBoneSimulator3D::get_joint_drag(int p_index, int p_joint) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), 0); - Vector joints = settings[p_index]->joints; - ERR_FAIL_INDEX_V(p_joint, joints.size(), 0); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), 0); + const LocalVector &joints = settings[p_index]->joints; + ERR_FAIL_INDEX_V(p_joint, (int)joints.size(), 0); return joints[p_joint]->drag; } void SpringBoneSimulator3D::set_joint_gravity(int p_index, int p_joint, float p_gravity) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); if (!is_config_individual(p_index)) { return; // Joints are read-only. } - Vector &joints = settings[p_index]->joints; - ERR_FAIL_INDEX(p_joint, joints.size()); + LocalVector &joints = settings[p_index]->joints; + ERR_FAIL_INDEX(p_joint, (int)joints.size()); joints[p_joint]->gravity = p_gravity; } float SpringBoneSimulator3D::get_joint_gravity(int p_index, int p_joint) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), 0); - Vector joints = settings[p_index]->joints; - ERR_FAIL_INDEX_V(p_joint, joints.size(), 0); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), 0); + const LocalVector &joints = settings[p_index]->joints; + ERR_FAIL_INDEX_V(p_joint, (int)joints.size(), 0); return joints[p_joint]->gravity; } void SpringBoneSimulator3D::set_joint_gravity_direction(int p_index, int p_joint, const Vector3 &p_gravity_direction) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); ERR_FAIL_COND(p_gravity_direction.is_zero_approx()); if (!is_config_individual(p_index)) { return; // Joints are read-only. } - Vector &joints = settings[p_index]->joints; - ERR_FAIL_INDEX(p_joint, joints.size()); + LocalVector &joints = settings[p_index]->joints; + ERR_FAIL_INDEX(p_joint, (int)joints.size()); joints[p_joint]->gravity_direction = p_gravity_direction; } Vector3 SpringBoneSimulator3D::get_joint_gravity_direction(int p_index, int p_joint) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), Vector3(0, -1, 0)); - Vector joints = settings[p_index]->joints; - ERR_FAIL_INDEX_V(p_joint, joints.size(), Vector3(0, -1, 0)); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), Vector3(0, -1, 0)); + const LocalVector &joints = settings[p_index]->joints; + ERR_FAIL_INDEX_V(p_joint, (int)joints.size(), Vector3(0, -1, 0)); return joints[p_joint]->gravity_direction; } void SpringBoneSimulator3D::set_joint_rotation_axis(int p_index, int p_joint, RotationAxis p_axis) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); if (!is_config_individual(p_index)) { return; // Joints are read-only. } - Vector &joints = settings[p_index]->joints; - ERR_FAIL_INDEX(p_joint, joints.size()); + LocalVector &joints = settings[p_index]->joints; + ERR_FAIL_INDEX(p_joint, (int)joints.size()); joints[p_joint]->rotation_axis = p_axis; Skeleton3D *sk = get_skeleton(); if (sk) { @@ -1012,19 +1012,19 @@ void SpringBoneSimulator3D::set_joint_rotation_axis(int p_index, int p_joint, Ro } SpringBoneSimulator3D::RotationAxis SpringBoneSimulator3D::get_joint_rotation_axis(int p_index, int p_joint) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), ROTATION_AXIS_ALL); - Vector joints = settings[p_index]->joints; - ERR_FAIL_INDEX_V(p_joint, joints.size(), ROTATION_AXIS_ALL); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), ROTATION_AXIS_ALL); + const LocalVector &joints = settings[p_index]->joints; + ERR_FAIL_INDEX_V(p_joint, (int)joints.size(), ROTATION_AXIS_ALL); return joints[p_joint]->rotation_axis; } void SpringBoneSimulator3D::set_joint_rotation_axis_vector(int p_index, int p_joint, const Vector3 &p_vector) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); if (!is_config_individual(p_index) || settings[p_index]->rotation_axis != ROTATION_AXIS_CUSTOM) { return; // Joints are read-only. } - Vector &joints = settings[p_index]->joints; - ERR_FAIL_INDEX(p_joint, joints.size()); + LocalVector &joints = settings[p_index]->joints; + ERR_FAIL_INDEX(p_joint, (int)joints.size()); joints[p_joint]->rotation_axis_vector = p_vector; Skeleton3D *sk = get_skeleton(); if (sk) { @@ -1037,16 +1037,16 @@ void SpringBoneSimulator3D::set_joint_rotation_axis_vector(int p_index, int p_jo } Vector3 SpringBoneSimulator3D::get_joint_rotation_axis_vector(int p_index, int p_joint) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), Vector3()); - Vector joints = settings[p_index]->joints; - ERR_FAIL_INDEX_V(p_joint, joints.size(), Vector3()); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), Vector3()); + const LocalVector &joints = settings[p_index]->joints; + ERR_FAIL_INDEX_V(p_joint, (int)joints.size(), Vector3()); return joints[p_joint]->get_rotation_axis_vector(); } void SpringBoneSimulator3D::set_joint_count(int p_index, int p_count) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); ERR_FAIL_COND(p_count < 0); - Vector &joints = settings[p_index]->joints; + LocalVector &joints = settings[p_index]->joints; int delta = p_count - joints.size(); if (delta < 0) { for (int i = delta; i < 0; i++) { @@ -1057,39 +1057,39 @@ void SpringBoneSimulator3D::set_joint_count(int p_index, int p_count) { delta++; if (delta > 1) { for (int i = 1; i < delta; i++) { - joints.write[p_count - i] = memnew(SpringBone3DJointSetting); + joints[p_count - i] = memnew(SpringBone3DJointSetting); } } notify_property_list_changed(); } int SpringBoneSimulator3D::get_joint_count(int p_index) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), 0); - Vector joints = settings[p_index]->joints; + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), 0); + const LocalVector &joints = settings[p_index]->joints; return joints.size(); } // Individual collisions. void SpringBoneSimulator3D::set_enable_all_child_collisions(int p_index, bool p_enabled) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); settings[p_index]->enable_all_child_collisions = p_enabled; notify_property_list_changed(); } bool SpringBoneSimulator3D::are_all_child_collisions_enabled(int p_index) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), false); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), false); return settings[p_index]->enable_all_child_collisions; } void SpringBoneSimulator3D::set_exclude_collision_path(int p_index, int p_collision, const NodePath &p_node_path) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); if (!are_all_child_collisions_enabled(p_index)) { return; // Exclude collision list is disabled. } - Vector &setting_exclude_collisions = settings[p_index]->exclude_collisions; - ERR_FAIL_INDEX(p_collision, setting_exclude_collisions.size()); - setting_exclude_collisions.write[p_collision] = NodePath(); // Reset first. + LocalVector &setting_exclude_collisions = settings[p_index]->exclude_collisions; + ERR_FAIL_INDEX(p_collision, (int)setting_exclude_collisions.size()); + setting_exclude_collisions[p_collision] = NodePath(); // Reset first. if (is_inside_tree()) { Node *node = get_node_or_null(p_node_path); if (!node) { @@ -1102,36 +1102,36 @@ void SpringBoneSimulator3D::set_exclude_collision_path(int p_index, int p_collis ERR_FAIL_EDMSG("Collision must be child of current SpringBoneSimulator3D."); } } - setting_exclude_collisions.write[p_collision] = p_node_path; + setting_exclude_collisions[p_collision] = p_node_path; _make_collisions_dirty(); } NodePath SpringBoneSimulator3D::get_exclude_collision_path(int p_index, int p_collision) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), NodePath()); - Vector setting_exclude_collisions = settings[p_index]->exclude_collisions; - ERR_FAIL_INDEX_V(p_collision, setting_exclude_collisions.size(), NodePath()); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), NodePath()); + const LocalVector &setting_exclude_collisions = settings[p_index]->exclude_collisions; + ERR_FAIL_INDEX_V(p_collision, (int)setting_exclude_collisions.size(), NodePath()); return setting_exclude_collisions[p_collision]; } void SpringBoneSimulator3D::set_exclude_collision_count(int p_index, int p_count) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); if (!are_all_child_collisions_enabled(p_index)) { return; // Exclude collision list is disabled. } - Vector &setting_exclude_collisions = settings[p_index]->exclude_collisions; + LocalVector &setting_exclude_collisions = settings[p_index]->exclude_collisions; setting_exclude_collisions.resize(p_count); _make_collisions_dirty(); notify_property_list_changed(); } int SpringBoneSimulator3D::get_exclude_collision_count(int p_index) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), 0); - Vector setting_exclude_collisions = settings[p_index]->exclude_collisions; + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), 0); + const LocalVector &setting_exclude_collisions = settings[p_index]->exclude_collisions; return setting_exclude_collisions.size(); } void SpringBoneSimulator3D::clear_exclude_collisions(int p_index) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); if (!are_all_child_collisions_enabled(p_index)) { return; // Exclude collision list is disabled. } @@ -1139,13 +1139,13 @@ void SpringBoneSimulator3D::clear_exclude_collisions(int p_index) { } void SpringBoneSimulator3D::set_collision_path(int p_index, int p_collision, const NodePath &p_node_path) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); if (are_all_child_collisions_enabled(p_index)) { return; // Collision list is disabled. } - Vector &setting_collisions = settings[p_index]->collisions; - ERR_FAIL_INDEX(p_collision, setting_collisions.size()); - setting_collisions.write[p_collision] = NodePath(); // Reset first. + LocalVector &setting_collisions = settings[p_index]->collisions; + ERR_FAIL_INDEX(p_collision, (int)setting_collisions.size()); + setting_collisions[p_collision] = NodePath(); // Reset first. if (is_inside_tree()) { Node *node = get_node_or_null(p_node_path); if (!node) { @@ -1158,36 +1158,36 @@ void SpringBoneSimulator3D::set_collision_path(int p_index, int p_collision, con ERR_FAIL_EDMSG("Collision must be child of current SpringBoneSimulator3D."); } } - setting_collisions.write[p_collision] = p_node_path; + setting_collisions[p_collision] = p_node_path; _make_collisions_dirty(); } NodePath SpringBoneSimulator3D::get_collision_path(int p_index, int p_collision) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), NodePath()); - Vector setting_collisions = settings[p_index]->collisions; - ERR_FAIL_INDEX_V(p_collision, setting_collisions.size(), NodePath()); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), NodePath()); + const LocalVector &setting_collisions = settings[p_index]->collisions; + ERR_FAIL_INDEX_V(p_collision, (int)setting_collisions.size(), NodePath()); return setting_collisions[p_collision]; } void SpringBoneSimulator3D::set_collision_count(int p_index, int p_count) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); if (are_all_child_collisions_enabled(p_index)) { return; // Collision list is disabled. } - Vector &setting_collisions = settings[p_index]->collisions; + LocalVector &setting_collisions = settings[p_index]->collisions; setting_collisions.resize(p_count); _make_collisions_dirty(); notify_property_list_changed(); } int SpringBoneSimulator3D::get_collision_count(int p_index) const { - ERR_FAIL_INDEX_V(p_index, settings.size(), 0); - Vector setting_collisions = settings[p_index]->collisions; + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), 0); + const LocalVector &setting_collisions = settings[p_index]->collisions; return setting_collisions.size(); } void SpringBoneSimulator3D::clear_collisions(int p_index) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); if (are_all_child_collisions_enabled(p_index)) { return; // Collision list is disabled. } @@ -1195,7 +1195,7 @@ void SpringBoneSimulator3D::clear_collisions(int p_index) { } LocalVector SpringBoneSimulator3D::get_valid_collision_instance_ids(int p_index) { - ERR_FAIL_INDEX_V(p_index, settings.size(), LocalVector()); + ERR_FAIL_INDEX_V(p_index, (int)settings.size(), LocalVector()); if (collisions_dirty) { _find_collisions(); } @@ -1345,7 +1345,7 @@ void SpringBoneSimulator3D::_skeleton_changed(Skeleton3D *p_old, Skeleton3D *p_n } void SpringBoneSimulator3D::_validate_bone_names() { - for (int i = 0; i < settings.size(); i++) { + for (uint32_t i = 0; i < settings.size(); i++) { // Prior bone name. if (!settings[i]->root_bone_name.is_empty()) { set_root_bone_name(i, settings[i]->root_bone_name); @@ -1362,7 +1362,7 @@ void SpringBoneSimulator3D::_validate_bone_names() { } void SpringBoneSimulator3D::_make_joints_dirty(int p_index) { - ERR_FAIL_INDEX(p_index, settings.size()); + ERR_FAIL_INDEX(p_index, (int)settings.size()); settings[p_index]->joints_dirty = true; if (joints_dirty) { return; @@ -1372,7 +1372,7 @@ void SpringBoneSimulator3D::_make_joints_dirty(int p_index) { } void SpringBoneSimulator3D::_make_all_joints_dirty() { - for (int i = 0; i < settings.size(); i++) { + for (uint32_t i = 0; i < settings.size(); i++) { _update_joint_array(i); } } @@ -1396,8 +1396,8 @@ void SpringBoneSimulator3D::remove_child_notify(Node *p_child) { } void SpringBoneSimulator3D::_validate_rotation_axes(Skeleton3D *p_skeleton) const { - for (int i = 0; i < settings.size(); i++) { - for (int j = 0; j < settings[i]->joints.size(); j++) { + for (uint32_t i = 0; i < settings.size(); i++) { + for (uint32_t j = 0; j < settings[i]->joints.size(); j++) { _validate_rotation_axis(p_skeleton, i, j); } } @@ -1410,7 +1410,7 @@ void SpringBoneSimulator3D::_validate_rotation_axis(Skeleton3D *p_skeleton, int } Vector3 rot = get_joint_rotation_axis_vector(p_index, p_joint).normalized(); Vector3 fwd; - if (p_joint < settings[p_index]->joints.size() - 1) { + if (p_joint < (int)settings[p_index]->joints.size() - 1) { fwd = p_skeleton->get_bone_rest(settings[p_index]->joints[p_joint + 1]->bone).origin; } else if (settings[p_index]->extend_end_bone) { fwd = get_end_bone_axis(settings[p_index]->end_bone, settings[p_index]->end_bone_direction); @@ -1438,20 +1438,20 @@ void SpringBoneSimulator3D::_find_collisions() { bool setting_updated = false; - for (int i = 0; i < settings.size(); i++) { + for (uint32_t i = 0; i < settings.size(); i++) { LocalVector &cache = settings[i]->cached_collisions; cache.clear(); if (!settings[i]->enable_all_child_collisions) { // Allow list. - Vector &setting_collisions = settings[i]->collisions; - for (int j = 0; j < setting_collisions.size(); j++) { + LocalVector &setting_collisions = settings[i]->collisions; + for (uint32_t j = 0; j < setting_collisions.size(); j++) { Node *n = get_node_or_null(setting_collisions[j]); if (!n) { continue; } ObjectID id = n->get_instance_id(); if (!collisions.has(id)) { - setting_collisions.write[j] = NodePath(); // Clear path if not found. + setting_collisions[j] = NodePath(); // Clear path if not found. } else { cache.push_back(id); } @@ -1459,8 +1459,8 @@ void SpringBoneSimulator3D::_find_collisions() { } else { // Deny list. LocalVector masks; - Vector &setting_exclude_collisions = settings[i]->exclude_collisions; - for (int j = 0; j < setting_exclude_collisions.size(); j++) { + LocalVector &setting_exclude_collisions = settings[i]->exclude_collisions; + for (uint32_t j = 0; j < setting_exclude_collisions.size(); j++) { Node *n = get_node_or_null(setting_exclude_collisions[j]); if (!n) { continue; @@ -1468,7 +1468,7 @@ void SpringBoneSimulator3D::_find_collisions() { ObjectID id = n->get_instance_id(); int find = collisions.find(id); if (find < 0) { - setting_exclude_collisions.write[j] = NodePath(); // Clear path if not found. + setting_exclude_collisions[j] = NodePath(); // Clear path if not found. } else { masks.push_back((uint32_t)find); } @@ -1538,7 +1538,7 @@ void SpringBoneSimulator3D::_update_joint_array(int p_index) { ERR_FAIL_EDMSG("End bone must be the same as or a child of root bone."); } - Vector new_joints; + LocalVector new_joints; current_bone = settings[p_index]->end_bone; while (current_bone != root_bone) { new_joints.push_back(current_bone); @@ -1548,7 +1548,7 @@ void SpringBoneSimulator3D::_update_joint_array(int p_index) { new_joints.reverse(); set_joint_count(p_index, new_joints.size()); - for (int i = 0; i < new_joints.size(); i++) { + for (uint32_t i = 0; i < new_joints.size(); i++) { set_joint_bone(p_index, i, new_joints[i]); } } @@ -1557,7 +1557,7 @@ void SpringBoneSimulator3D::_update_joints() { if (!joints_dirty) { return; } - for (int i = 0; i < settings.size(); i++) { + for (uint32_t i = 0; i < settings.size(); i++) { if (!settings[i]->joints_dirty) { continue; } @@ -1566,9 +1566,9 @@ void SpringBoneSimulator3D::_update_joints() { settings[i]->joints_dirty = false; continue; // Abort. } - Vector &joints = settings[i]->joints; + LocalVector &joints = settings[i]->joints; float unit = joints.size() > 0 ? (1.0 / float(joints.size() - 1)) : 0.0; - for (int j = 0; j < joints.size(); j++) { + for (uint32_t j = 0; j < joints.size(); j++) { float offset = j * unit; if (settings[i]->radius_damping_curve.is_valid()) { @@ -1636,7 +1636,7 @@ void SpringBoneSimulator3D::_process_modification(double p_delta) { } #endif //TOOLS_ENABLED - for (int i = 0; i < settings.size(); i++) { + for (uint32_t i = 0; i < settings.size(); i++) { _init_joints(skeleton, settings[i]); _process_joints(p_delta, skeleton, settings[i]->joints, get_valid_collision_instance_ids(i), settings[i]->cached_center, settings[i]->cached_inverted_center, settings[i]->cached_inverted_center.basis.get_rotation_quaternion()); } @@ -1652,7 +1652,7 @@ void SpringBoneSimulator3D::reset() { } _find_collisions(); _process_collisions(); - for (int i = 0; i < settings.size(); i++) { + for (uint32_t i = 0; i < settings.size(); i++) { settings[i]->simulation_dirty = true; _init_joints(skeleton, settings[i]); } @@ -1684,7 +1684,7 @@ void SpringBoneSimulator3D::_init_joints(Skeleton3D *p_skeleton, SpringBone3DSet if (!setting->simulation_dirty) { return; } - for (int i = 0; i < setting->joints.size(); i++) { + for (uint32_t i = 0; i < setting->joints.size(); i++) { if (setting->joints[i]->verlet) { memdelete(setting->joints[i]->verlet); setting->joints[i]->verlet = nullptr; @@ -1713,8 +1713,8 @@ void SpringBoneSimulator3D::_init_joints(Skeleton3D *p_skeleton, SpringBone3DSet setting->simulation_dirty = false; } -void SpringBoneSimulator3D::_process_joints(double p_delta, Skeleton3D *p_skeleton, Vector &p_joints, const LocalVector &p_collisions, const Transform3D &p_center_transform, const Transform3D &p_inverted_center_transform, const Quaternion &p_inverted_center_rotation) { - for (int i = 0; i < p_joints.size(); i++) { +void SpringBoneSimulator3D::_process_joints(double p_delta, Skeleton3D *p_skeleton, LocalVector &p_joints, const LocalVector &p_collisions, const Transform3D &p_center_transform, const Transform3D &p_inverted_center_transform, const Quaternion &p_inverted_center_rotation) { + for (uint32_t i = 0; i < p_joints.size(); i++) { SpringBone3DVerletInfo *verlet = p_joints[i]->verlet; if (!verlet) { continue; // Means not extended end bone. diff --git a/scene/3d/spring_bone_simulator_3d.h b/scene/3d/spring_bone_simulator_3d.h index 17b19df0efe..f91b035bf2d 100644 --- a/scene/3d/spring_bone_simulator_3d.h +++ b/scene/3d/spring_bone_simulator_3d.h @@ -150,12 +150,12 @@ public: Vector3 gravity_direction = Vector3(0, -1, 0); RotationAxis rotation_axis = ROTATION_AXIS_ALL; Vector3 rotation_axis_vector = Vector3(1, 0, 0); - Vector joints; + LocalVector joints; // Cache into collisions. bool enable_all_child_collisions = true; - Vector collisions; - Vector exclude_collisions; + LocalVector collisions; + LocalVector exclude_collisions; LocalVector cached_collisions; // To process. @@ -165,7 +165,7 @@ public: }; protected: - Vector settings; + LocalVector settings; Vector3 external_force; bool _get(const StringName &p_path, Variant &r_ret) const; @@ -183,7 +183,7 @@ protected: virtual void _set_active(bool p_active) override; virtual void _process_modification(double p_delta) override; void _init_joints(Skeleton3D *p_skeleton, SpringBone3DSetting *p_setting); - void _process_joints(double p_delta, Skeleton3D *p_skeleton, Vector &p_joints, const LocalVector &p_collisions, const Transform3D &p_center_transform, const Transform3D &p_inverted_center_transform, const Quaternion &p_inverted_center_rotation); + void _process_joints(double p_delta, Skeleton3D *p_skeleton, LocalVector &p_joints, const LocalVector &p_collisions, const Transform3D &p_center_transform, const Transform3D &p_inverted_center_transform, const Quaternion &p_inverted_center_rotation); void _make_joints_dirty(int p_index); void _make_all_joints_dirty();