| 290 | |
| 291 | |
| 292 | bool 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 |
nothing calls this directly
no test coverage detected