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

master
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

View File

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

View File

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

View File

@ -185,9 +185,6 @@ public:
void addDiggingParticles(IGameDef *gamedef, LocalPlayer *player, v3s16 pos, void addDiggingParticles(IGameDef *gamedef, LocalPlayer *player, v3s16 pos,
const MapNode &n, const ContentFeatures &f); 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, void addNodeParticle(IGameDef *gamedef, LocalPlayer *player, v3s16 pos,
const MapNode &n, const ContentFeatures &f); const MapNode &n, const ContentFeatures &f);