aboutsummaryrefslogtreecommitdiff
path: root/src/client
diff options
context:
space:
mode:
Diffstat (limited to 'src/client')
-rw-r--r--src/client/client.h6
-rw-r--r--src/client/particles.h8
2 files changed, 12 insertions, 2 deletions
diff --git a/src/client/client.h b/src/client/client.h
index 57623f164..60735f665 100644
--- a/src/client/client.h
+++ b/src/client/client.h
@@ -565,8 +565,10 @@ private:
// And relations to objects
std::unordered_map<int, u16> m_sounds_to_objects;
- // HUD
- // Mapping from server hud ids to internal hud ids
+ // CSM/client IDs to SSM/server IDs Mapping
+ // Map server particle spawner IDs to client IDs
+ std::unordered_map<u32, u32> m_particles_server_to_client;
+ // Map server hud ids to client hud ids
std::unordered_map<u32, u32> m_hud_server_to_client;
// Privileges
diff --git a/src/client/particles.h b/src/client/particles.h
index d1854ecbf..3392e7e95 100644
--- a/src/client/particles.h
+++ b/src/client/particles.h
@@ -196,6 +196,14 @@ public:
void addNodeParticle(IGameDef *gamedef, LocalPlayer *player, v3s16 pos,
const MapNode &n, const ContentFeatures &f);
+ u32 getSpawnerId() const
+ {
+ for (u32 id = 0;; ++id) { // look for unused particlespawner id
+ if (m_particle_spawners.find(id) == m_particle_spawners.end())
+ return id;
+ }
+ }
+
protected:
void addParticle(Particle* toadd);