Skip to content

Commit

Permalink
Remove IrrlichtDevice unused pointer from ClientActiveObject class & …
Browse files Browse the repository at this point in the history
…childs (#6010)
  • Loading branch information
nerzhul committed Jun 19, 2017
1 parent 6eb03c1 commit 4a78949
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 20 deletions.
2 changes: 1 addition & 1 deletion src/clientenvironment.cpp
Expand Up @@ -458,7 +458,7 @@ u16 ClientEnvironment::addActiveObject(ClientActiveObject *object)
infostream<<"ClientEnvironment::addActiveObject(): "
<<"added (id="<<object->getId()<<")"<<std::endl;
m_active_objects[object->getId()] = object;
object->addToScene(m_smgr, m_texturesource, m_irr);
object->addToScene(m_smgr, m_texturesource);
{ // Update lighting immediately
u8 light = 0;
bool pos_ok;
Expand Down
5 changes: 2 additions & 3 deletions src/clientobject.h
Expand Up @@ -39,9 +39,8 @@ class ClientActiveObject : public ActiveObject
ClientActiveObject(u16 id, Client *client, ClientEnvironment *env);
virtual ~ClientActiveObject();

virtual void addToScene(scene::ISceneManager *smgr, ITextureSource *tsrc,
IrrlichtDevice *irr){}
virtual void removeFromScene(bool permanent){}
virtual void addToScene(scene::ISceneManager *smgr, ITextureSource *tsrc) {};
virtual void removeFromScene(bool permanent) {}
// 0 <= light_at_pos <= LIGHT_SUN
virtual void updateLight(u8 light_at_pos){}
virtual void updateLightNoCheck(u8 light_at_pos){}
Expand Down
20 changes: 7 additions & 13 deletions src/content_cao.cpp
Expand Up @@ -128,8 +128,7 @@ class TestCAO : public ClientActiveObject

static ClientActiveObject* create(Client *client, ClientEnvironment *env);

void addToScene(scene::ISceneManager *smgr, ITextureSource *tsrc,
IrrlichtDevice *irr);
void addToScene(scene::ISceneManager *smgr, ITextureSource *tsrc);
void removeFromScene(bool permanent);
void updateLight(u8 light_at_pos);
v3s16 getLightPosition();
Expand Down Expand Up @@ -165,8 +164,7 @@ ClientActiveObject* TestCAO::create(Client *client, ClientEnvironment *env)
return new TestCAO(client, env);
}

void TestCAO::addToScene(scene::ISceneManager *smgr, ITextureSource *tsrc,
IrrlichtDevice *irr)
void TestCAO::addToScene(scene::ISceneManager *smgr, ITextureSource *tsrc)
{
if(m_node != NULL)
return;
Expand Down Expand Up @@ -272,8 +270,7 @@ class ItemCAO : public ClientActiveObject

static ClientActiveObject* create(Client *client, ClientEnvironment *env);

void addToScene(scene::ISceneManager *smgr, ITextureSource *tsrc,
IrrlichtDevice *irr);
void addToScene(scene::ISceneManager *smgr, ITextureSource *tsrc);
void removeFromScene(bool permanent);
void updateLight(u8 light_at_pos);
v3s16 getLightPosition();
Expand Down Expand Up @@ -329,8 +326,7 @@ ClientActiveObject* ItemCAO::create(Client *client, ClientEnvironment *env)
return new ItemCAO(client, env);
}

void ItemCAO::addToScene(scene::ISceneManager *smgr, ITextureSource *tsrc,
IrrlichtDevice *irr)
void ItemCAO::addToScene(scene::ISceneManager *smgr, ITextureSource *tsrc)
{
if(m_node != NULL)
return;
Expand Down Expand Up @@ -721,11 +717,9 @@ void GenericCAO::removeFromScene(bool permanent)
}
}

void GenericCAO::addToScene(scene::ISceneManager *smgr,
ITextureSource *tsrc, IrrlichtDevice *irr)
void GenericCAO::addToScene(scene::ISceneManager *smgr, ITextureSource *tsrc)
{
m_smgr = smgr;
m_irr = irr;

if (getSceneNode() != NULL) {
return;
Expand Down Expand Up @@ -1034,7 +1028,7 @@ void GenericCAO::step(float dtime, ClientEnvironment *env)
}
}

if(m_visuals_expired && m_smgr && m_irr){
if (m_visuals_expired && m_smgr) {
m_visuals_expired = false;

// Attachments, part 1: All attached objects must be unparented first,
Expand All @@ -1056,7 +1050,7 @@ void GenericCAO::step(float dtime, ClientEnvironment *env)
}

removeFromScene(false);
addToScene(m_smgr, m_client->tsrc(), m_irr);
addToScene(m_smgr, m_client->tsrc());

// Attachments, part 2: Now that the parent has been refreshed, put its attachments back
for (std::vector<u16>::size_type i = 0; i < m_children.size(); i++) {
Expand Down
4 changes: 1 addition & 3 deletions src/content_cao.h
Expand Up @@ -65,7 +65,6 @@ class GenericCAO : public ClientActiveObject
ObjectProperties m_prop;
//
scene::ISceneManager *m_smgr = nullptr;
IrrlichtDevice *m_irr = nullptr;
Client *m_client = nullptr;
aabb3f m_selection_box = aabb3f(-BS/3.,-BS/3.,-BS/3., BS/3.,BS/3.,BS/3.);
scene::IMeshSceneNode *m_meshnode = nullptr;
Expand Down Expand Up @@ -169,8 +168,7 @@ class GenericCAO : public ClientActiveObject

void removeFromScene(bool permanent);

void addToScene(scene::ISceneManager *smgr, ITextureSource *tsrc,
IrrlichtDevice *irr);
void addToScene(scene::ISceneManager *smgr, ITextureSource *tsrc);

inline void expireVisuals()
{
Expand Down

0 comments on commit 4a78949

Please sign in to comment.