summaryrefslogtreecommitdiff
path: root/src/collision.cpp
diff options
context:
space:
mode:
authorLoic Blot <loic.blot@unix-experience.fr>2015-04-16 14:11:46 +0200
committerLoic Blot <loic.blot@unix-experience.fr>2015-04-16 18:37:29 +0200
commit0c634a97197d50f2ca58825f1b215d0407397ac6 (patch)
treee2fc66d28fdf255ac931c08d2ed17a5504cd5b53 /src/collision.cpp
parentd02300a749ee35ba195e4e50c6464832302a387b (diff)
downloadminetest-0c634a97197d50f2ca58825f1b215d0407397ac6.tar.gz
minetest-0c634a97197d50f2ca58825f1b215d0407397ac6.tar.bz2
minetest-0c634a97197d50f2ca58825f1b215d0407397ac6.zip
Use std::vector instead of std::set for Environment::getObjectsInsideRadius
We are only iterating sequentially, we don't need a set here Also use a vector reference instead of a copy
Diffstat (limited to 'src/collision.cpp')
-rw-r--r--src/collision.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/collision.cpp b/src/collision.cpp
index c759f20c0..27e3b5e94 100644
--- a/src/collision.cpp
+++ b/src/collision.cpp
@@ -318,8 +318,9 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef,
ServerEnvironment *s_env = dynamic_cast<ServerEnvironment*>(env);
if (s_env != 0) {
f32 distance = speed_f.getLength();
- std::set<u16> s_objects = s_env->getObjectsInsideRadius(pos_f,distance * 1.5);
- for (std::set<u16>::iterator iter = s_objects.begin(); iter != s_objects.end(); iter++) {
+ std::vector<u16> s_objects;
+ s_env->getObjectsInsideRadius(s_objects, pos_f, distance * 1.5);
+ for (std::vector<u16>::iterator iter = s_objects.begin(); iter != s_objects.end(); iter++) {
ServerActiveObject *current = s_env->getActiveObject(*iter);
if ((self == 0) || (self != current)) {
objects.push_back((ActiveObject*)current);