MCPcopy Create free account
hub / github.com/GarageGames/Torque3D / preload

Method preload

Engine/source/T3D/projectile.cpp:292–351  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

290
291
292bool ProjectileData::preload(bool server, String &errorStr)
293{
294 if (Parent::preload(server, errorStr) == false)
295 return false;
296
297 if( !server )
298 {
299 if (!particleEmitter && particleEmitterId != 0)
300 if (Sim::findObject(particleEmitterId, particleEmitter) == false)
301 Con::errorf(ConsoleLogEntry::General, "ProjectileData::preload: Invalid packet, bad datablockId(particleEmitter): %d", particleEmitterId);
302
303 if (!particleWaterEmitter && particleWaterEmitterId != 0)
304 if (Sim::findObject(particleWaterEmitterId, particleWaterEmitter) == false)
305 Con::errorf(ConsoleLogEntry::General, "ProjectileData::preload: Invalid packet, bad datablockId(particleWaterEmitter): %d", particleWaterEmitterId);
306
307 if (!explosion && explosionId != 0)
308 if (Sim::findObject(explosionId, explosion) == false)
309 Con::errorf(ConsoleLogEntry::General, "ProjectileData::preload: Invalid packet, bad datablockId(explosion): %d", explosionId);
310
311 if (!waterExplosion && waterExplosionId != 0)
312 if (Sim::findObject(waterExplosionId, waterExplosion) == false)
313 Con::errorf(ConsoleLogEntry::General, "ProjectileData::preload: Invalid packet, bad datablockId(waterExplosion): %d", waterExplosionId);
314
315 if (!splash && splashId != 0)
316 if (Sim::findObject(splashId, splash) == false)
317 Con::errorf(ConsoleLogEntry::General, "ProjectileData::preload: Invalid packet, bad datablockId(splash): %d", splashId);
318
319 if (!decal && decalId != 0)
320 if (Sim::findObject(decalId, decal) == false)
321 Con::errorf(ConsoleLogEntry::General, "ProjectileData::preload: Invalid packet, bad datablockId(decal): %d", decalId);
322
323 String sfxErrorStr;
324 if( !sfxResolve( &sound, sfxErrorStr ) )
325 Con::errorf(ConsoleLogEntry::General, "ProjectileData::preload: Invalid packet: %s", sfxErrorStr.c_str());
326
327 if (!lightDesc && lightDescId != 0)
328 if (Sim::findObject(lightDescId, lightDesc) == false)
329 Con::errorf(ConsoleLogEntry::General, "ProjectileData::preload: Invalid packet, bad datablockid(lightDesc): %d", lightDescId);
330 }
331
332 if (projectileShapeName && projectileShapeName[0] != '\0')
333 {
334 projectileShape = ResourceManager::get().load(projectileShapeName);
335 if (bool(projectileShape) == false)
336 {
337 errorStr = String::ToString("ProjectileData::load: Couldn't load shape \"%s\"", projectileShapeName);
338 return false;
339 }
340 activateSeq = projectileShape->findSequence("activate");
341 maintainSeq = projectileShape->findSequence("maintain");
342 }
343
344 if (bool(projectileShape)) // create an instance to preload shape data
345 {
346 TSShapeInstance* pDummy = new TSShapeInstance(projectileShape, !server);
347 delete pDummy;
348 }
349

Callers

nothing calls this directly

Calls 7

errorfFunction · 0.85
sfxResolveFunction · 0.85
findObjectFunction · 0.50
getFunction · 0.50
c_strMethod · 0.45
loadMethod · 0.45
findSequenceMethod · 0.45

Tested by

no test coverage detected