| 177 | } |
| 178 | |
| 179 | static Entity exportVehicleHead(const OpenLoco::Vehicles::VehicleHead& src) |
| 180 | { |
| 181 | Entity dst{}; |
| 182 | S5::VehicleHead& dstHead = reinterpret_cast<S5::VehicleHead&>(dst); |
| 183 | dstHead.base = exportEntityBase(src, enumValue(src.getSubType()), enumValue(src.vehicleFlags)); |
| 184 | dstHead.head = enumValue(src.head); |
| 185 | dstHead.remainingDistance = src.remainingDistance; |
| 186 | dstHead.trackAndDirection = src.trackAndDirection.track._data; |
| 187 | dstHead.subPosition = src.subPosition; |
| 188 | dstHead.tileX = src.tileX; |
| 189 | dstHead.tileY = src.tileY; |
| 190 | dstHead.tileBaseZ = src.tileBaseZ; |
| 191 | dstHead.trackType = src.trackType; |
| 192 | dstHead.routingHandle = src.routingHandle._data; |
| 193 | dstHead.var_38 = enumValue(src.var_38); |
| 194 | dstHead.nextCarId = enumValue(src.nextCarId); |
| 195 | dstHead.var_3C = src.var_3C; |
| 196 | dstHead.mode = enumValue(src.mode); |
| 197 | dstHead.ordinalNumber = src.ordinalNumber; |
| 198 | dstHead.orderTableOffset = src.orderTableOffset; |
| 199 | dstHead.currentOrder = src.currentOrder; |
| 200 | dstHead.sizeOfOrderTable = src.sizeOfOrderTable; |
| 201 | dstHead.trainAcceptedCargoTypes = src.trainAcceptedCargoTypes; |
| 202 | dstHead.var_52 = src.var_52; |
| 203 | dstHead.var_53 = src.var_53; |
| 204 | dstHead.stationId = enumValue(src.stationId); |
| 205 | dstHead.cargoTransferTimeout = src.cargoTransferTimeout; |
| 206 | dstHead.var_58 = src.var_58; |
| 207 | dstHead.var_5C = src.var_5C; |
| 208 | dstHead.status = enumValue(src.status); |
| 209 | dstHead.vehicleType = enumValue(src.vehicleType); |
| 210 | dstHead.breakdownFlags = enumValue(src.breakdownFlags); |
| 211 | dstHead.aiThoughtId = src.aiThoughtId; |
| 212 | dstHead.aiPlacementPos = src.aiPlacementPos; |
| 213 | dstHead.aiPlacementTaD = src.aiPlacementTaD; |
| 214 | dstHead.aiPlacementBaseZ = src.aiPlacementBaseZ; |
| 215 | dstHead.airportMovementEdge = src.airportMovementEdge; |
| 216 | dstHead.totalRefundCost = src.totalRefundCost; |
| 217 | dstHead.crashedTimeout = src.crashedTimeout; |
| 218 | dstHead.manualPower = src.manualPower; |
| 219 | dstHead.journeyStartPos = src.journeyStartPos; |
| 220 | dstHead.journeyStartTicks = src.journeyStartTicks; |
| 221 | dstHead.lastAverageSpeed = src.lastAverageSpeed.getRaw(); |
| 222 | dstHead.restartStoppedCarsTimeout = src.restartStoppedCarsTimeout; |
| 223 | |
| 224 | return dst; |
| 225 | } |
| 226 | |
| 227 | static IncomeStats exportIncomeStats(const OpenLoco::Vehicles::IncomeStats& src) |
| 228 | { |
no test coverage detected