MCPcopy Create free account
hub / github.com/OpenLoco/OpenLoco / importEffectEntity

Function importEffectEntity

src/OpenLoco/src/S5/S5Entity.cpp:565–603  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

563 }
564
565 static OpenLoco::Entity importEffectEntity(const S5::Entity& src)
566 {
567 const auto effectType = static_cast<EffectType>(src.base.type);
568 auto dst = importEntityBase(src.base);
569 auto* effectEntity = dst.asBase<EffectEntity>();
570 effectEntity->setSubType(effectType);
571
572 switch (effectType)
573 {
574 case EffectType::exhaust:
575 importExhaustEffect(*effectEntity->asExhaust(), reinterpret_cast<const S5::Exhaust&>(src));
576 break;
577 case EffectType::redGreenCurrency:
578 importMoneyEffect(*effectEntity->asRedGreenCurrency(), reinterpret_cast<const S5::MoneyEffect&>(src));
579 break;
580 case EffectType::windowCurrency:
581 importMoneyEffect(*effectEntity->asWindowCurrency(), reinterpret_cast<const S5::MoneyEffect&>(src));
582 break;
583 case EffectType::vehicleCrashParticle:
584 importVehicleCrashEffect(*effectEntity->asVehicleCrashParticle(), reinterpret_cast<const S5::VehicleCrashParticle&>(src));
585 break;
586 case EffectType::explosionCloud:
587 importExplosionCloud(*effectEntity->asExplosionCloud(), reinterpret_cast<const S5::ExplosionCloud&>(src));
588 break;
589 case EffectType::splash:
590 importSplashEffect(*effectEntity->asSplash(), reinterpret_cast<const S5::Splash&>(src));
591 break;
592 case EffectType::fireball:
593 importFireballEffect(*effectEntity->asFireball(), reinterpret_cast<const S5::Fireball&>(src));
594 break;
595 case EffectType::explosionSmoke:
596 importExplosionSmokeEffect(*effectEntity->asExplosionSmoke(), reinterpret_cast<const S5::ExplosionSmoke&>(src));
597 break;
598 case EffectType::smoke:
599 importSmokeEffect(*effectEntity->asSmoke(), reinterpret_cast<const S5::Smoke&>(src));
600 break;
601 }
602 return dst;
603 }
604
605 static void importHeadVehicle(OpenLoco::Vehicles::VehicleHead& dst, const S5::VehicleHead& src)
606 {

Callers 1

importEntityFunction · 0.85

Calls 15

importEntityBaseFunction · 0.85
importExhaustEffectFunction · 0.85
importMoneyEffectFunction · 0.85
importVehicleCrashEffectFunction · 0.85
importExplosionCloudFunction · 0.85
importSplashEffectFunction · 0.85
importFireballEffectFunction · 0.85
importSmokeEffectFunction · 0.85
asExhaustMethod · 0.80
asRedGreenCurrencyMethod · 0.80
asWindowCurrencyMethod · 0.80

Tested by

no test coverage detected