summaryrefslogtreecommitdiff
path: root/game/vehicles/railVehicleClass.cpp
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2025-04-18 19:43:44 +0100
committerDan Goodliffe <dan@randomdan.homeip.net>2025-04-18 19:43:44 +0100
commit6036877ac4e92da3185f21d5928bf3ed28d685b2 (patch)
tree5e5a5f6ad09e196bbecfbfec2a9a3c8f02262ca3 /game/vehicles/railVehicleClass.cpp
parentMerge branch 'openmesh-11' (diff)
parentRemember selected asset id and reload/reselect resource file on change (diff)
downloadilt-6036877ac4e92da3185f21d5928bf3ed28d685b2.tar.bz2
ilt-6036877ac4e92da3185f21d5928bf3ed28d685b2.tar.xz
ilt-6036877ac4e92da3185f21d5928bf3ed28d685b2.zip
Merge branch 'resviewer'HEADmain
Diffstat (limited to 'game/vehicles/railVehicleClass.cpp')
-rw-r--r--game/vehicles/railVehicleClass.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/game/vehicles/railVehicleClass.cpp b/game/vehicles/railVehicleClass.cpp
index 162a29a..21f01c8 100644
--- a/game/vehicles/railVehicleClass.cpp
+++ b/game/vehicles/railVehicleClass.cpp
@@ -17,6 +17,19 @@ RailVehicleClass::persist(Persistence::PersistenceStore & store)
&& STORE_HELPER(bodyMesh, Asset::MeshConstruct) && Asset::persist(store);
}
+std::any
+RailVehicleClass::createAt(const Location & position) const
+{
+ return std::make_shared<InstanceVertices<LocationVertex>::InstanceProxy>(instances.acquire(LocationVertex {
+ .body = position.getRotationTransform(),
+ .front = position.getRotationTransform(),
+ .back = position.getRotationTransform(),
+ .bodyPos = position.pos,
+ .frontPos = {sincos(position.rot.x) * wheelBase * 0.5F, position.pos.z},
+ .backPos = {sincos(position.rot.x) * wheelBase * -0.5F, position.pos.z},
+ }));
+}
+
void
RailVehicleClass::postLoad()
{