1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

Immediate smoke puff when a normal entity is punched to death

This commit is contained in:
Perttu Ahola 2012-03-10 01:38:48 +02:00
parent 989aba1966
commit f9da2c9507
12 changed files with 286 additions and 34 deletions

View file

@ -1806,6 +1806,8 @@ void ServerEnvironment::deactivateFarObjects(bool force_delete)
#ifndef SERVER
#include "clientsimpleobject.h"
/*
ClientEnvironment
*/
@ -1831,6 +1833,12 @@ ClientEnvironment::~ClientEnvironment()
delete i.getNode()->getValue();
}
for(core::list<ClientSimpleObject*>::Iterator
i = m_simple_objects.begin(); i != m_simple_objects.end(); i++)
{
delete *i;
}
// Drop/delete map
m_map->drop();
}
@ -2108,6 +2116,22 @@ void ClientEnvironment::step(float dtime)
obj->updateLight(light);
}
}
/*
Step and handle simple objects
*/
for(core::list<ClientSimpleObject*>::Iterator
i = m_simple_objects.begin(); i != m_simple_objects.end();)
{
ClientSimpleObject *simple = *i;
core::list<ClientSimpleObject*>::Iterator cur = i;
i++;
simple->step(dtime);
if(simple->m_to_be_removed){
delete simple;
m_simple_objects.erase(cur);
}
}
}
void ClientEnvironment::updateMeshes(v3s16 blockpos)
@ -2119,6 +2143,11 @@ void ClientEnvironment::expireMeshes(bool only_daynight_diffed)
{
m_map->expireMeshes(only_daynight_diffed);
}
void ClientEnvironment::addSimpleObject(ClientSimpleObject *simple)
{
m_simple_objects.push_back(simple);
}
ClientActiveObject* ClientEnvironment::getActiveObject(u16 id)
{