Particles: Do not add digging particles for airlike nodes (#6392)

This commit is contained in:
SmallJoker 2017-09-08 18:39:24 +02:00 committed by GitHub
parent e3093cbe85
commit 1105a14bcc
3 changed files with 9 additions and 10 deletions

@ -4032,7 +4032,7 @@ void Game::handleDigging(const PointedThing &pointed, const v3s16 &nodepos,
if (m_cache_enable_particles) {
const ContentFeatures &features = client->getNodeDefManager()->get(n);
client->getParticleManager()->addPunchingParticles(client,
client->getParticleManager()->addNodeParticle(client,
player, nodepos, n, features);
}
}

@ -601,21 +601,23 @@ void ParticleManager::handleParticleEvent(ClientEvent *event, Client *client,
void ParticleManager::addDiggingParticles(IGameDef* gamedef,
LocalPlayer *player, v3s16 pos, const MapNode &n, const ContentFeatures &f)
{
// No particles for "airlike" nodes
if (f.drawtype == NDT_AIRLIKE)
return;
// set the amount of particles here
for (u16 j = 0; j < 32; j++) {
addNodeParticle(gamedef, player, pos, n, f);
}
}
void ParticleManager::addPunchingParticles(IGameDef* gamedef,
LocalPlayer *player, v3s16 pos, const MapNode &n, const ContentFeatures &f)
{
addNodeParticle(gamedef, player, pos, n, f);
}
void ParticleManager::addNodeParticle(IGameDef* gamedef,
LocalPlayer *player, v3s16 pos, const MapNode &n, const ContentFeatures &f)
{
// No particles for "airlike" nodes
if (f.drawtype == NDT_AIRLIKE)
return;
// Texture
u8 texid = myrand_range(0, 5);
const TileLayer &tile = f.tiles[texid].layers[0];

@ -185,9 +185,6 @@ public:
void addDiggingParticles(IGameDef *gamedef, LocalPlayer *player, v3s16 pos,
const MapNode &n, const ContentFeatures &f);
void addPunchingParticles(IGameDef *gamedef, LocalPlayer *player, v3s16 pos,
const MapNode &n, const ContentFeatures &f);
void addNodeParticle(IGameDef *gamedef, LocalPlayer *player, v3s16 pos,
const MapNode &n, const ContentFeatures &f);