Skip to content

Commit

Permalink
Merge pull request godotengine#61400 from nathanfranke/err-fail-index
Browse files Browse the repository at this point in the history
use ERR_FAIL_INDEX when preferred
  • Loading branch information
akien-mga authored May 25, 2022
2 parents 220ee8d + 77c8f27 commit af61ba6
Show file tree
Hide file tree
Showing 7 changed files with 25 additions and 29 deletions.
4 changes: 2 additions & 2 deletions core/templates/bin_sorted_array.h
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ class BinSortedArray {
}

uint64_t move(uint64_t p_idx, uint64_t p_bin) {
ERR_FAIL_COND_V(p_idx >= array.size(), -1);
ERR_FAIL_UNSIGNED_INDEX_V(p_idx, array.size(), -1);

uint64_t current_bin = bin_limits.size() - 1;
while (p_idx > bin_limits[current_bin]) {
Expand Down Expand Up @@ -113,7 +113,7 @@ class BinSortedArray {
}

void remove_at(uint64_t p_idx) {
ERR_FAIL_COND(p_idx >= array.size());
ERR_FAIL_UNSIGNED_INDEX(p_idx, array.size());
uint64_t new_idx = move(p_idx, 0);
uint64_t swap_idx = array.size() - 1;

Expand Down
3 changes: 1 addition & 2 deletions modules/openxr/editor/openxr_action_editor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,7 @@ void OpenXRActionEditor::_on_action_localized_name_changed(const String p_new_te
}

void OpenXRActionEditor::_on_item_selected(int p_idx) {
ERR_FAIL_COND(p_idx < 0);
ERR_FAIL_COND(p_idx >= OpenXRAction::OPENXR_ACTION_MAX);
ERR_FAIL_INDEX(p_idx, OpenXRAction::OPENXR_ACTION_MAX);

action->set_action_type(OpenXRAction::ActionType(p_idx));
}
Expand Down
2 changes: 1 addition & 1 deletion scene/resources/tile_set.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@ void TileSet::TerrainsPattern::set_terrains_from_array(Array p_terrains) {
int in_array_index = 0;
for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) {
if (is_valid_bit[i]) {
ERR_FAIL_COND(in_array_index >= p_terrains.size());
ERR_FAIL_INDEX(in_array_index, p_terrains.size());
set_terrain(TileSet::CellNeighbor(i), p_terrains[in_array_index]);
in_array_index++;
}
Expand Down
21 changes: 9 additions & 12 deletions servers/audio/audio_stream.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -387,9 +387,11 @@ void AudioStreamRandomizer::add_stream(int p_index) {
notify_property_list_changed();
}

// p_index_to is relative to the array prior to the removal of from.
// Example: [0, 1, 2, 3], move(1, 3) => [0, 2, 1, 3]
void AudioStreamRandomizer::move_stream(int p_index_from, int p_index_to) {
ERR_FAIL_COND(p_index_from < 0);
ERR_FAIL_COND(p_index_from >= audio_stream_pool.size());
ERR_FAIL_INDEX(p_index_from, audio_stream_pool.size());
// p_index_to == audio_stream_pool.size() is valid (move to end).
ERR_FAIL_COND(p_index_to < 0);
ERR_FAIL_COND(p_index_to > audio_stream_pool.size());
audio_stream_pool.insert(p_index_to, audio_stream_pool[p_index_from]);
Expand All @@ -403,36 +405,31 @@ void AudioStreamRandomizer::move_stream(int p_index_from, int p_index_to) {
}

void AudioStreamRandomizer::remove_stream(int p_index) {
ERR_FAIL_COND(p_index < 0);
ERR_FAIL_COND(p_index >= audio_stream_pool.size());
ERR_FAIL_INDEX(p_index, audio_stream_pool.size());
audio_stream_pool.remove_at(p_index);
emit_signal(SNAME("changed"));
notify_property_list_changed();
}

void AudioStreamRandomizer::set_stream(int p_index, Ref<AudioStream> p_stream) {
ERR_FAIL_COND(p_index < 0);
ERR_FAIL_COND(p_index >= audio_stream_pool.size());
ERR_FAIL_INDEX(p_index, audio_stream_pool.size());
audio_stream_pool.write[p_index].stream = p_stream;
emit_signal(SNAME("changed"));
}

Ref<AudioStream> AudioStreamRandomizer::get_stream(int p_index) const {
ERR_FAIL_COND_V(p_index < 0, nullptr);
ERR_FAIL_COND_V(p_index >= audio_stream_pool.size(), nullptr);
ERR_FAIL_INDEX_V(p_index, audio_stream_pool.size(), nullptr);
return audio_stream_pool[p_index].stream;
}

void AudioStreamRandomizer::set_stream_probability_weight(int p_index, float p_weight) {
ERR_FAIL_COND(p_index < 0);
ERR_FAIL_COND(p_index >= audio_stream_pool.size());
ERR_FAIL_INDEX(p_index, audio_stream_pool.size());
audio_stream_pool.write[p_index].weight = p_weight;
emit_signal(SNAME("changed"));
}

float AudioStreamRandomizer::get_stream_probability_weight(int p_index) const {
ERR_FAIL_COND_V(p_index < 0, 0);
ERR_FAIL_COND_V(p_index >= audio_stream_pool.size(), 0);
ERR_FAIL_INDEX_V(p_index, audio_stream_pool.size(), 0);
return audio_stream_pool[p_index].weight;
}

Expand Down
16 changes: 8 additions & 8 deletions servers/physics_3d/godot_soft_body_3d.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -429,33 +429,33 @@ uint32_t GodotSoftBody3D::get_node_count() const {
}

real_t GodotSoftBody3D::get_node_inv_mass(uint32_t p_node_index) const {
ERR_FAIL_COND_V(p_node_index >= nodes.size(), 0.0);
ERR_FAIL_UNSIGNED_INDEX_V(p_node_index, nodes.size(), 0.0);
return nodes[p_node_index].im;
}

Vector3 GodotSoftBody3D::get_node_position(uint32_t p_node_index) const {
ERR_FAIL_COND_V(p_node_index >= nodes.size(), Vector3());
ERR_FAIL_UNSIGNED_INDEX_V(p_node_index, nodes.size(), Vector3());
return nodes[p_node_index].x;
}

Vector3 GodotSoftBody3D::get_node_velocity(uint32_t p_node_index) const {
ERR_FAIL_COND_V(p_node_index >= nodes.size(), Vector3());
ERR_FAIL_UNSIGNED_INDEX_V(p_node_index, nodes.size(), Vector3());
return nodes[p_node_index].v;
}

Vector3 GodotSoftBody3D::get_node_biased_velocity(uint32_t p_node_index) const {
ERR_FAIL_COND_V(p_node_index >= nodes.size(), Vector3());
ERR_FAIL_UNSIGNED_INDEX_V(p_node_index, nodes.size(), Vector3());
return nodes[p_node_index].bv;
}

void GodotSoftBody3D::apply_node_impulse(uint32_t p_node_index, const Vector3 &p_impulse) {
ERR_FAIL_COND(p_node_index >= nodes.size());
ERR_FAIL_UNSIGNED_INDEX(p_node_index, nodes.size());
Node &node = nodes[p_node_index];
node.v += p_impulse * node.im;
}

void GodotSoftBody3D::apply_node_bias_impulse(uint32_t p_node_index, const Vector3 &p_impulse) {
ERR_FAIL_COND(p_node_index >= nodes.size());
ERR_FAIL_UNSIGNED_INDEX(p_node_index, nodes.size());
Node &node = nodes[p_node_index];
node.bv += p_impulse * node.im;
}
Expand All @@ -465,15 +465,15 @@ uint32_t GodotSoftBody3D::get_face_count() const {
}

void GodotSoftBody3D::get_face_points(uint32_t p_face_index, Vector3 &r_point_1, Vector3 &r_point_2, Vector3 &r_point_3) const {
ERR_FAIL_COND(p_face_index >= faces.size());
ERR_FAIL_UNSIGNED_INDEX(p_face_index, faces.size());
const Face &face = faces[p_face_index];
r_point_1 = face.n[0]->x;
r_point_2 = face.n[1]->x;
r_point_3 = face.n[2]->x;
}

Vector3 GodotSoftBody3D::get_face_normal(uint32_t p_face_index) const {
ERR_FAIL_COND_V(p_face_index >= faces.size(), Vector3());
ERR_FAIL_UNSIGNED_INDEX_V(p_face_index, faces.size(), Vector3());
return faces[p_face_index].normal;
}

Expand Down
4 changes: 2 additions & 2 deletions servers/text_server.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ void TextServerManager::remove_interface(const Ref<TextServer> &p_interface) {
};
};

ERR_FAIL_COND(idx == -1);
ERR_FAIL_COND_MSG(idx == -1, "Interface not found.");
print_verbose("TextServer: Removed interface \"" + p_interface->get_name() + "\"");
emit_signal(SNAME("interface_removed"), p_interface->get_name());
interfaces.remove_at(idx);
Expand All @@ -99,7 +99,7 @@ Ref<TextServer> TextServerManager::find_interface(const String &p_name) const {
};
};

ERR_FAIL_COND_V(idx == -1, nullptr);
ERR_FAIL_COND_V_MSG(idx == -1, nullptr, "Interface not found.");
return interfaces[idx];
}

Expand Down
4 changes: 2 additions & 2 deletions servers/xr_server.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ void XRServer::remove_interface(const Ref<XRInterface> &p_interface) {
};
};

ERR_FAIL_COND(idx == -1);
ERR_FAIL_COND_MSG(idx == -1, "Interface not found.");

print_verbose("XR: Removed interface" + p_interface->get_name());

Expand All @@ -211,7 +211,7 @@ Ref<XRInterface> XRServer::find_interface(const String &p_name) const {
};
};

ERR_FAIL_COND_V(idx == -1, nullptr);
ERR_FAIL_COND_V_MSG(idx == -1, nullptr, "Interface not found.");

return interfaces[idx];
};
Expand Down

0 comments on commit af61ba6

Please sign in to comment.