From 0c634a97197d50f2ca58825f1b215d0407397ac6 Mon Sep 17 00:00:00 2001 From: Loic Blot Date: Thu, 16 Apr 2015 14:11:46 +0200 Subject: 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 --- src/script/lua_api/l_env.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/script') diff --git a/src/script/lua_api/l_env.cpp b/src/script/lua_api/l_env.cpp index 840c34595..0fe1ddec3 100644 --- a/src/script/lua_api/l_env.cpp +++ b/src/script/lua_api/l_env.cpp @@ -438,10 +438,11 @@ int ModApiEnvMod::l_get_objects_inside_radius(lua_State *L) // Do it v3f pos = checkFloatPos(L, 1); float radius = luaL_checknumber(L, 2) * BS; - std::set ids = env->getObjectsInsideRadius(pos, radius); + std::vector ids; + env->getObjectsInsideRadius(ids, pos, radius); ScriptApiBase *script = getScriptApiBase(L); lua_createtable(L, ids.size(), 0); - std::set::const_iterator iter = ids.begin(); + std::vector::const_iterator iter = ids.begin(); for(u32 i = 0; iter != ids.end(); iter++) { ServerActiveObject *obj = env->getActiveObject(*iter); // Insert object reference into table -- cgit v1.2.3