mirror of
https://github.com/luanti-org/luanti.git
synced 2025-07-02 16:38:41 +00:00
Improve ServerEnvironment::getRemovedActiveObjects() in many ways
This commit is contained in:
parent
751ede516b
commit
178943b4b7
7 changed files with 56 additions and 73 deletions
|
@ -1727,8 +1727,8 @@ u16 ServerEnvironment::addActiveObject(std::unique_ptr<ServerActiveObject> objec
|
|||
*/
|
||||
void ServerEnvironment::getAddedActiveObjects(PlayerSAO *playersao, s16 radius,
|
||||
s16 player_radius,
|
||||
std::set<u16> ¤t_objects,
|
||||
std::queue<u16> &added_objects)
|
||||
const std::set<u16> ¤t_objects,
|
||||
std::vector<u16> &added_objects)
|
||||
{
|
||||
f32 radius_f = radius * BS;
|
||||
f32 player_radius_f = player_radius * BS;
|
||||
|
@ -1746,8 +1746,8 @@ void ServerEnvironment::getAddedActiveObjects(PlayerSAO *playersao, s16 radius,
|
|||
*/
|
||||
void ServerEnvironment::getRemovedActiveObjects(PlayerSAO *playersao, s16 radius,
|
||||
s16 player_radius,
|
||||
std::set<u16> ¤t_objects,
|
||||
std::queue<std::pair<bool /* gone? */, u16>> &removed_objects)
|
||||
const std::set<u16> ¤t_objects,
|
||||
std::vector<std::pair<bool /* gone? */, u16>> &removed_objects)
|
||||
{
|
||||
f32 radius_f = radius * BS;
|
||||
f32 player_radius_f = player_radius * BS;
|
||||
|
@ -1765,15 +1765,15 @@ void ServerEnvironment::getRemovedActiveObjects(PlayerSAO *playersao, s16 radius
|
|||
for (u16 id : current_objects) {
|
||||
ServerActiveObject *object = getActiveObject(id);
|
||||
|
||||
if (object == NULL) {
|
||||
infostream << "ServerEnvironment::getRemovedActiveObjects():"
|
||||
<< " object in current_objects is NULL" << std::endl;
|
||||
removed_objects.emplace(true, id);
|
||||
if (!object) {
|
||||
warningstream << FUNCTION_NAME << ": found NULL object id="
|
||||
<< (int)id << std::endl;
|
||||
removed_objects.emplace_back(true, id);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (object->isGone()) {
|
||||
removed_objects.emplace(true, id);
|
||||
removed_objects.emplace_back(true, id);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -1785,7 +1785,7 @@ void ServerEnvironment::getRemovedActiveObjects(PlayerSAO *playersao, s16 radius
|
|||
continue;
|
||||
|
||||
// Object is no longer visible
|
||||
removed_objects.emplace(false, id);
|
||||
removed_objects.emplace_back(false, id);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue