| 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 | { |
no test coverage detected