16
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-07-18 01:59:19 +02:00
Files
maszyna/eu07-parser/include/eu07/scene/bake/dynamic.hpp
2026-06-13 15:43:44 +02:00

34 lines
1.1 KiB
C++

#pragma once
#include <eu07/scene/bake/track.hpp>
#include <eu07/scene/node/dynamic.hpp>
#include <eu07/scene/runtime/nodes.hpp>
namespace eu07::scene::bake {
[[nodiscard]] inline runtime::RuntimeDynamicObject bakeDynamic(const ParsedNodeDynamic& parsed) {
runtime::RuntimeDynamicObject vehicle;
vehicle.node = bakeBasicNode(parsed.header, "dynamic");
vehicle.dataFolder = parsed.datafolder;
vehicle.skinFile = parsed.skinfile;
vehicle.mmdFile = parsed.mmdfile;
vehicle.trackName = parsed.pathname;
vehicle.offset = parsed.vehicleOffset;
vehicle.driverType = parsed.driverType;
vehicle.coupling = parsed.coupling.type;
vehicle.couplingRaw = parsed.coupling.raw;
vehicle.couplingParams = parsed.coupling.params;
vehicle.velocity = static_cast<float>(parsed.velocity);
vehicle.loadCount = parsed.loadcount;
if (parsed.loadtype) {
vehicle.loadType = *parsed.loadtype;
}
vehicle.destination = parsed.destination;
if (parsed.header.trainsetIndex) {
vehicle.trainsetIndex = *parsed.header.trainsetIndex;
}
return vehicle;
}
} // namespace eu07::scene::bake