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

Function importVehicleEntity

src/OpenLoco/src/S5/S5Entity.cpp:830–863  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

828 }
829
830 static OpenLoco::Entity importVehicleEntity(const S5::Entity& src)
831 {
832 const auto vehicleType = static_cast<OpenLoco::Vehicles::VehicleEntityType>(src.base.type);
833 auto dst = importEntityBase(src.base);
834 auto* vehicleEntity = dst.asBase<OpenLoco::Vehicles::VehicleBase>();
835
836 vehicleEntity->vehicleFlags = static_cast<Vehicles::VehicleFlags>(src.base.vehicleFlags);
837 vehicleEntity->setSubType(vehicleType);
838
839 switch (vehicleType)
840 {
841 case OpenLoco::Vehicles::VehicleEntityType::head:
842 importHeadVehicle(*vehicleEntity->asVehicleHead(), reinterpret_cast<const S5::VehicleHead&>(src));
843 break;
844 case OpenLoco::Vehicles::VehicleEntityType::vehicle_1:
845 importVehicle1(*vehicleEntity->asVehicle1(), reinterpret_cast<const S5::Vehicle1&>(src));
846 break;
847 case OpenLoco::Vehicles::VehicleEntityType::vehicle_2:
848 importVehicle2(*vehicleEntity->asVehicle2(), reinterpret_cast<const S5::Vehicle2&>(src));
849 break;
850 case OpenLoco::Vehicles::VehicleEntityType::bogie:
851 importVehicleBogie(*vehicleEntity->asVehicleBogie(), reinterpret_cast<const S5::VehicleBogie&>(src));
852 break;
853 case OpenLoco::Vehicles::VehicleEntityType::body_start:
854 case OpenLoco::Vehicles::VehicleEntityType::body_continued:
855 importVehicleBody(*vehicleEntity->asVehicleBody(), reinterpret_cast<const S5::VehicleBody&>(src));
856 break;
857 case OpenLoco::Vehicles::VehicleEntityType::tail:
858 importVehicleTail(*vehicleEntity->asVehicleTail(), reinterpret_cast<const S5::VehicleTail&>(src));
859 break;
860 }
861
862 return dst;
863 }
864
865 OpenLoco::Entity importEntity(const S5::Entity& src)
866 {

Callers 1

importEntityFunction · 0.85

Calls 14

importEntityBaseFunction · 0.85
importHeadVehicleFunction · 0.85
importVehicle1Function · 0.85
importVehicle2Function · 0.85
importVehicleBogieFunction · 0.85
importVehicleBodyFunction · 0.85
importVehicleTailFunction · 0.85
asVehicleHeadMethod · 0.80
asVehicle1Method · 0.80
asVehicle2Method · 0.80
asVehicleBogieMethod · 0.80
asVehicleBodyMethod · 0.80

Tested by

no test coverage detected