Registers a particle and returns its ID.
419 {
422
425
426 string path =
string.
Format(
"%1%2", root_path, file_name);
427 string fullPath =
string.
Format(
"%1.ptc",
path);
428
430 {
431 string devMsgSuffix;
432 #ifdef DEVELOPER
433 devMsgSuffix = " Then rebuild 'scripts' and 'graphics' PBOs.";
434 #endif
435 ErrorEx(
string.Format(
"Particle file not found! <%1> Correct path to this particle in script file ParticleList.c!%2",
437
438 }
439
440 int existingNameId;
442 {
443 int existingPathId;
445 {
446 if (existingNameId == existingPathId)
447 {
448 return existingNameId;
449 }
450 else
451 {
452 ErrorEx(
string.Format(
"ParticleNames and ParticlePaths array are containing conflicting data. ID %1 vs ID %2", existingNameId, existingPathId));
453 }
454 }
455 else
456 {
457 ErrorEx(
string.Format(
"Duplicate particle filename: %1; GetParticleIDByName will only work with the first path if there are two different paths.", file_name),
ErrorExSeverity.WARNING);
458 }
459 }
460 else
461 {
463 }
464
468 }
static ref map< int, string > m_ParticlePaths
static ref map< string, int > m_ParticleNames
proto bool FileExist(string name)
Check existence of file.
static proto string Format(string fmt, void param1=NULL, void param2=NULL, void param3=NULL, void param4=NULL, void param5=NULL, void param6=NULL, void param7=NULL, void param8=NULL, void param9=NULL)
Gets n-th character from string.