Going over all surfaces, extracting all dust particles paths from each surface.
Getting the path from a specific effect stored inside the DUstEffects class in the surface
136 {
137 string configPath = "CfgSurfaces ";
138 string childClass = "";
139
140 int count =
g_Game.ConfigGetChildrenCount(configPath);
141
143 for (int i = 0; i < count; ++i)
144 {
145 g_Game.ConfigGetChildName(configPath, i, childClass);
146
148
149 int effectsCount =
g_Game.ConfigGetChildrenCount(configPath + childClass +
" DustEffects");
150
152 for (int j = 0; j < effectsCount; j++)
153 {
154 string dustPath = " ";
155 string effectClass = " ";
156
157 g_Game.ConfigGetChildName(configPath + childClass +
" DustEffects", j, effectClass);
158
160 g_Game.ConfigGetText(configPath + childClass +
" DustEffects" +
" " + effectClass +
" path", dustPath);
161
162 if (dustPath.
Length() > 1)
163 {
164 int particleID = ParticleList.RegisterParticleByFullPath(dustPath);
166 }
167 }
168 if (effectsCount > 0)
169 {
171 }
172 }
173 }
class DustKickupEffectDistanceData DustKickupParticleData
ref map< string, ref map< string, ref DustKickupParticleData > > m_DustEffPaths
proto native int Length()
Returns length of string.