Skip to content

Commit 6c58225

Browse files
committed
Version 1.10.13: Updated for game version 1.11.0-f3
1 parent 168fe21 commit 6c58225

File tree

9 files changed

+143
-76
lines changed

9 files changed

+143
-76
lines changed

TLM/TLM/Custom/AI/CustomCargoTruckAI.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,8 @@ public bool CustomStartPathFind(ushort vehicleID, ref Vehicle vehicleData, Vecto
9292
PathUnit.Position startAltPosB;
9393
float startAltDistSqrA;
9494
float startAltDistSqrB;
95-
if (CustomPathManager.FindPathPosition(startPos, ItemClass.Service.PublicTransport, NetInfo.LaneType.Vehicle, VehicleInfo.VehicleType.Train | VehicleInfo.VehicleType.Ship, allowUnderground, false, 32f, out startAltPosA, out startAltPosB, out startAltDistSqrA, out startAltDistSqrB)) {
96-
if (!startPosFound || startAltDistSqrA < startDistSqrA) {
95+
if (CustomPathManager.FindPathPosition(startPos, ItemClass.Service.PublicTransport, NetInfo.LaneType.Vehicle, VehicleInfo.VehicleType.Train | VehicleInfo.VehicleType.Ship | VehicleInfo.VehicleType.Plane, allowUnderground, false, 32f, out startAltPosA, out startAltPosB, out startAltDistSqrA, out startAltDistSqrB)) {
96+
if (!startPosFound || (startAltDistSqrA < startDistSqrA && (Mathf.Abs(startPos.x) > 4800f || Mathf.Abs(startPos.z) > 4800f))) {
9797
startPosA = startAltPosA;
9898
startPosB = startAltPosB;
9999
startDistSqrA = startAltDistSqrA;
@@ -110,8 +110,8 @@ public bool CustomStartPathFind(ushort vehicleID, ref Vehicle vehicleData, Vecto
110110
PathUnit.Position endAltPosB;
111111
float endAltDistSqrA;
112112
float endAltDistSqrB;
113-
if (CustomPathManager.FindPathPosition(endPos, ItemClass.Service.PublicTransport, NetInfo.LaneType.Vehicle, VehicleInfo.VehicleType.Train | VehicleInfo.VehicleType.Ship, undergroundTarget, false, 32f, out endAltPosA, out endAltPosB, out endAltDistSqrA, out endAltDistSqrB)) {
114-
if (!endPosFound || endAltDistSqrA < endDistSqrA) {
113+
if (CustomPathManager.FindPathPosition(endPos, ItemClass.Service.PublicTransport, NetInfo.LaneType.Vehicle, VehicleInfo.VehicleType.Train | VehicleInfo.VehicleType.Ship | VehicleInfo.VehicleType.Plane, undergroundTarget, false, 32f, out endAltPosA, out endAltPosB, out endAltDistSqrA, out endAltDistSqrB)) {
114+
if (!endPosFound || (endAltDistSqrA < endDistSqrA && (Mathf.Abs(endPos.x) > 4800f || Mathf.Abs(endPos.z) > 4800f))) {
115115
endPosA = endAltPosA;
116116
endPosB = endAltPosB;
117117
endDistSqrA = endAltDistSqrA;
@@ -128,7 +128,7 @@ public bool CustomStartPathFind(ushort vehicleID, ref Vehicle vehicleData, Vecto
128128
endPosB = default(PathUnit.Position);
129129
}
130130
NetInfo.LaneType laneTypes = NetInfo.LaneType.Vehicle | NetInfo.LaneType.CargoVehicle;
131-
VehicleInfo.VehicleType vehicleTypes = VehicleInfo.VehicleType.Car | VehicleInfo.VehicleType.Train | VehicleInfo.VehicleType.Ship;
131+
VehicleInfo.VehicleType vehicleTypes = VehicleInfo.VehicleType.Car | VehicleInfo.VehicleType.Train | VehicleInfo.VehicleType.Ship | VehicleInfo.VehicleType.Plane;
132132
uint path;
133133
// NON-STOCK CODE START
134134
PathCreationArgs args;

TLM/TLM/Custom/AI/CustomRoadAI.cs

Lines changed: 66 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -411,7 +411,7 @@ public void CustomUpdateLanes(ushort segmentID, ref NetSegment data, bool loadin
411411
NetSegment.CalculateMiddlePoints(vector3, startDir, vector4, endDir, smoothStart, smoothEnd, out b3, out c);
412412
NetLane.Flags flags2 = (NetLane.Flags)instance.m_lanes.m_buffer[num16].m_flags;
413413
NetLane.Flags flags3 = flags;
414-
flags2 &= ~(NetLane.Flags.Forward | NetLane.Flags.Left | NetLane.Flags.Right | NetLane.Flags.YieldStart | NetLane.Flags.YieldEnd | NetLane.Flags.StartOneWayLeft | NetLane.Flags.StartOneWayRight | NetLane.Flags.EndOneWayLeft | NetLane.Flags.EndOneWayRight);
414+
flags2 &= ~(NetLane.Flags.Forward | NetLane.Flags.Left | NetLane.Flags.Right | NetLane.Flags.Merge | NetLane.Flags.YieldStart | NetLane.Flags.YieldEnd | NetLane.Flags.StartOneWayLeft | NetLane.Flags.StartOneWayRight | NetLane.Flags.EndOneWayLeft | NetLane.Flags.EndOneWayRight);
415415
if ((byte)(lane.m_finalDirection & NetInfo.Direction.Both) == 2) {
416416
flags3 &= ~NetLane.Flags.YieldEnd;
417417
}
@@ -456,63 +456,78 @@ public void CustomUpdateLanes(ushort segmentID, ref NetSegment data, bool loadin
456456
num18 = 255;
457457
num19 = 0;
458458
if (num25 != 0) {
459-
int num26;
460-
int num27;
461-
if (lane.m_similarLaneCount >= num25) {
462-
num26 = num20;
463-
num27 = num22;
464-
} else {
465-
num26 = num20 * lane.m_similarLaneCount / (num25 + (num21 >> 1));
466-
num27 = num22 * lane.m_similarLaneCount / (num25 + (num21 >> 1));
467-
}
468-
int num28 = num26;
469-
int num29 = lane.m_similarLaneCount - num26 - num27;
470-
int num30 = num27;
471-
if (num29 > 0) {
472-
if (num20 > num26) {
473-
num28++;
474-
}
475-
if (num22 > num27) {
476-
num30++;
477-
}
478-
}
479-
if (num23 < num28) {
480-
int num31 = (num23 * num20 + num28 - 1) / num28;
481-
int num32 = ((num23 + 1) * num20 + num28 - 1) / num28;
482-
if (num32 > num31) {
459+
if (lane.m_similarLaneCount > num25 && num25 > 0) {
460+
num18 = num25 * num23 / lane.m_similarLaneCount;
461+
num19 = num25 - num25 * num24 / lane.m_similarLaneCount;
462+
flags2 |= NetLane.Flags.Merge;
463+
if (num18 < num20) {
483464
flags2 |= NetLane.Flags.Left;
484-
num18 = Mathf.Min(num18, num31);
485-
num19 = Mathf.Max(num19, num32);
486465
}
487-
}
488-
if (num23 >= num26 && num24 >= num27 && num21 != 0) {
489-
if (lane.m_similarLaneCount > num25) {
490-
num26++;
466+
if (num25 - num19 < num22) {
467+
flags2 |= NetLane.Flags.Right;
491468
}
492-
int num33 = num20 + ((num23 - num26) * num21 + num29 - 1) / num29;
493-
int num34 = num20 + ((num23 + 1 - num26) * num21 + num29 - 1) / num29;
494-
if (num34 > num33) {
469+
if (num21 != 0 && num18 < num20 + num21 && num19 > num20) {
495470
flags2 |= NetLane.Flags.Forward;
496-
num18 = Mathf.Min(num18, num33);
497-
num19 = Mathf.Max(num19, num34);
498471
}
499-
}
500-
if (num24 < num30) {
501-
int num35 = num25 - ((num24 + 1) * num22 + num30 - 1) / num30;
502-
int num36 = num25 - (num24 * num22 + num30 - 1) / num30;
503-
if (num36 > num35) {
504-
flags2 |= NetLane.Flags.Right;
505-
num18 = Mathf.Min(num18, num35);
506-
num19 = Mathf.Max(num19, num36);
472+
} else {
473+
int num26;
474+
int num27;
475+
if (lane.m_similarLaneCount >= num25) {
476+
num26 = num20;
477+
num27 = num22;
478+
} else {
479+
num26 = num20 * lane.m_similarLaneCount / (num25 + (num21 >> 1));
480+
num27 = num22 * lane.m_similarLaneCount / (num25 + (num21 >> 1));
507481
}
508-
}
509-
if (this.m_highwayRules) {
510-
if ((flags2 & NetLane.Flags.LeftRight) == NetLane.Flags.Left) {
511-
if ((flags2 & NetLane.Flags.Forward) == NetLane.Flags.None || (num21 >= 2 && num20 == 1)) {
512-
num19 = Mathf.Min(num19, num18 + 1);
482+
int num28 = num26;
483+
int num29 = lane.m_similarLaneCount - num26 - num27;
484+
int num30 = num27;
485+
if (num29 > 0) {
486+
if (num20 > num26) {
487+
num28++;
488+
}
489+
if (num22 > num27) {
490+
num30++;
491+
}
492+
}
493+
if (num23 < num28) {
494+
int num31 = (num23 * num20 + num28 - 1) / num28;
495+
int num32 = ((num23 + 1) * num20 + num28 - 1) / num28;
496+
if (num32 > num31) {
497+
flags2 |= NetLane.Flags.Left;
498+
num18 = Mathf.Min(num18, num31);
499+
num19 = Mathf.Max(num19, num32);
500+
}
501+
}
502+
if (num23 >= num26 && num24 >= num27 && num21 != 0) {
503+
if (lane.m_similarLaneCount > num25) {
504+
num26++;
505+
}
506+
int num33 = num20 + ((num23 - num26) * num21 + num29 - 1) / num29;
507+
int num34 = num20 + ((num23 + 1 - num26) * num21 + num29 - 1) / num29;
508+
if (num34 > num33) {
509+
flags2 |= NetLane.Flags.Forward;
510+
num18 = Mathf.Min(num18, num33);
511+
num19 = Mathf.Max(num19, num34);
512+
}
513+
}
514+
if (num24 < num30) {
515+
int num35 = num25 - ((num24 + 1) * num22 + num30 - 1) / num30;
516+
int num36 = num25 - (num24 * num22 + num30 - 1) / num30;
517+
if (num36 > num35) {
518+
flags2 |= NetLane.Flags.Right;
519+
num18 = Mathf.Min(num18, num35);
520+
num19 = Mathf.Max(num19, num36);
521+
}
522+
}
523+
if (this.m_highwayRules) {
524+
if ((flags2 & NetLane.Flags.LeftRight) == NetLane.Flags.Left) {
525+
if ((flags2 & NetLane.Flags.Forward) == NetLane.Flags.None || (num21 >= 2 && num20 == 1)) {
526+
num19 = Mathf.Min(num19, num18 + 1);
527+
}
528+
} else if ((flags2 & NetLane.Flags.LeftRight) == NetLane.Flags.Right && ((flags2 & NetLane.Flags.Forward) == NetLane.Flags.None || (num21 >= 2 && num22 == 1))) {
529+
num18 = Mathf.Max(num18, num19 - 1);
513530
}
514-
} else if ((flags2 & NetLane.Flags.LeftRight) == NetLane.Flags.Right && ((flags2 & NetLane.Flags.Forward) == NetLane.Flags.None || (num21 >= 2 && num22 == 1))) {
515-
num18 = Mathf.Max(num18, num19 - 1);
516531
}
517532
}
518533
}

TLM/TLM/Custom/AI/CustomVehicleAI.cs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,21 @@ protected void CustomUpdatePathTargetPositions(ushort vehicleID, ref Vehicle veh
146146
}
147147
}
148148

149+
if ((vehicleData.m_flags2 & Vehicle.Flags2.EndStop) != 0) {
150+
if (targetPosIndex <= 0) {
151+
targetPos.w = 0f;
152+
if (VectorUtils.LengthSqrXZ(vehicleData.GetLastFrameVelocity()) < 0.01f) {
153+
vehicleData.m_flags2 &= ~Vehicle.Flags2.EndStop;
154+
}
155+
} else {
156+
targetPos.w = 1f;
157+
}
158+
while (targetPosIndex < maxTargetPosIndex) {
159+
vehicleData.SetTargetPos(targetPosIndex++, targetPos);
160+
}
161+
return;
162+
}
163+
149164
// vehicle is in transition now
150165

151166
/*
@@ -444,6 +459,17 @@ protected void CustomUpdatePathTargetPositions(ushort vehicleID, ref Vehicle veh
444459

445460
// check for arrival
446461
if (targetPosIndex <= 0) {
462+
if ((netManager.m_segments.m_buffer[nextPathPos.m_segment].m_flags & NetSegment.Flags.Untouchable) != 0 && (netManager.m_segments.m_buffer[currentPosition.m_segment].m_flags & NetSegment.Flags.Untouchable) == NetSegment.Flags.None) {
463+
ushort ownerBuildingId = NetSegment.FindOwnerBuilding(nextPathPos.m_segment, 363f);
464+
if (ownerBuildingId != 0) {
465+
BuildingManager buildingMan = Singleton<BuildingManager>.instance;
466+
BuildingInfo ownerBuildingInfo = buildingMan.m_buildings.m_buffer[ownerBuildingId].Info;
467+
InstanceID itemID = default(InstanceID);
468+
itemID.Vehicle = vehicleID;
469+
ownerBuildingInfo.m_buildingAI.EnterBuildingSegment(ownerBuildingId, ref buildingMan.m_buildings.m_buffer[ownerBuildingId], nextPathPos.m_segment, nextPathPos.m_offset, itemID);
470+
}
471+
}
472+
447473
if (nextCoarsePathPosIndex == 0) {
448474
Singleton<PathManager>.instance.ReleaseFirstUnit(ref vehicleData.m_path);
449475
}

TLM/TLM/Custom/Data/CustomVehicle.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ public static void Spawn(ref Vehicle vehicleData, ushort vehicleId) {
4343
float length = (!hasTrailers) ? (vehicleInfo.m_generatedInfo.m_size.z * 0.5f) : 0f;
4444
length -= (((vehicleData.m_flags & Vehicle.Flags.Inverted) == (Vehicle.Flags)0) ? vehicleInfo.m_attachOffsetBack : vehicleInfo.m_attachOffsetFront);
4545
Randomizer randomizer = new Randomizer((int)vehicleId);
46+
int trailerCount = 0;
4647
for (int i = 0; i < vehicleInfo.m_trailers.Length; i++) {
4748
if (randomizer.Int32(100u) < vehicleInfo.m_trailers[i].m_probability) {
4849
VehicleInfo trailerInfo = vehicleInfo.m_trailers[i].m_info;
@@ -54,6 +55,7 @@ public static void Spawn(ref Vehicle vehicleData, ushort vehicleId) {
5455
if (vehManager.CreateVehicle(out trailerVehicleId, ref Singleton<SimulationManager>.instance.m_randomizer, trailerInfo, position, (TransferManager.TransferReason)vehicleData.m_transferType, false, false)) {
5556
vehManager.m_vehicles.m_buffer[(int)curVehicleId].m_trailingVehicle = trailerVehicleId;
5657
vehManager.m_vehicles.m_buffer[(int)trailerVehicleId].m_leadingVehicle = curVehicleId;
58+
vehManager.m_vehicles.m_buffer[(int)trailerVehicleId].m_gateIndex = vehicleData.m_gateIndex;
5759
if (inverted) {
5860
vehManager.m_vehicles.m_buffer[trailerVehicleId].m_flags |= Vehicle.Flags.Inverted;
5961
}
@@ -70,6 +72,9 @@ public static void Spawn(ref Vehicle vehicleData, ushort vehicleId) {
7072
}
7173
length += ((!hasTrailers) ? (trailerInfo.m_generatedInfo.m_size.z * 0.5f) : 0f);
7274
length -= ((!inverted) ? trailerInfo.m_attachOffsetBack : trailerInfo.m_attachOffsetFront);
75+
if (++trailerCount == vehicleInfo.m_maxTrailerCount) {
76+
break;
77+
}
7378
}
7479
}
7580
}

TLM/TLM/Custom/PathFinding/CustomPathFind2.cs

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1975,11 +1975,9 @@ private bool ProcessItemCosts(
19751975
comparisonValue += baseLength;
19761976
}
19771977
#endif
1978-
if (!m_ignoreCost) {
1979-
int ticketCost = prevLane.m_ticketCost;
1980-
if (ticketCost != 0) {
1981-
comparisonValue += (float)(ticketCost * m_pathRandomizer.Int32(2000u)) * TICKET_COST_CONVERSION_FACTOR;
1982-
}
1978+
int ticketCost = prevLane.m_ticketCost;
1979+
if (!m_ignoreCost && ticketCost != 0) {
1980+
comparisonValue += (float)(ticketCost * m_pathRandomizer.Int32(2000u)) * TICKET_COST_CONVERSION_FACTOR;
19831981
}
19841982

19851983
if ((prevLaneType & (NetInfo.LaneType.Vehicle | NetInfo.LaneType.TransportVehicle)) != NetInfo.LaneType.None) {
@@ -2074,6 +2072,9 @@ private bool ProcessItemCosts(
20742072
if (isTransition) {
20752073
transitionCost *= 2f;
20762074
}
2075+
if (ticketCost != 0 && netManager.m_lanes.m_buffer[nextLaneId].m_ticketCost != 0) {
2076+
transitionCost *= 10f;
2077+
}
20772078

20782079
float nextMaxSpeed;
20792080
#if SPEEDLIMITS
@@ -2085,6 +2086,17 @@ private bool ProcessItemCosts(
20852086
#endif
20862087

20872088
float transitionCostOverMeanMaxSpeed = transitionCost / ((prevMaxSpeed + nextMaxSpeed) * 0.5f * m_maxLength);
2089+
#if ADVANCEDAI && ROUTING
2090+
if (!enableAdvancedAI) {
2091+
#endif
2092+
if (!this.m_stablePath && (netManager.m_lanes.m_buffer[nextLaneId].m_flags & (ushort)NetLane.Flags.Merge) != 0) {
2093+
int firstTarget = netManager.m_lanes.m_buffer[nextLaneId].m_firstTarget;
2094+
int lastTarget = netManager.m_lanes.m_buffer[nextLaneId].m_lastTarget;
2095+
transitionCostOverMeanMaxSpeed *= (float)new Randomizer(this.m_pathFindIndex ^ nextLaneId).Int32(1000, (lastTarget - firstTarget + 2) * 1000) * 0.001f;
2096+
}
2097+
#if ADVANCEDAI && ROUTING
2098+
}
2099+
#endif
20882100
nextItem.m_position.m_segment = nextSegmentId;
20892101
nextItem.m_position.m_lane = (byte)nextLaneIndex;
20902102
nextItem.m_position.m_offset = (byte)(((nextDir & NetInfo.Direction.Forward) != NetInfo.Direction.None) ? 255 : 0);

TLM/TLM/Custom/PathFinding/StockPathFind.cs

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -808,11 +808,9 @@ private bool ProcessItemCosts(BufferItem item, ushort nextNodeId, ushort nextSeg
808808
}
809809

810810
float comparisonValue = item.m_comparisonValue + offsetLength / (prevLaneSpeed * m_maxLength);
811-
if (!m_ignoreCost) {
812-
int ticketCost = netManager.m_lanes.m_buffer[item.m_laneID].m_ticketCost;
813-
if (ticketCost != 0) {
814-
comparisonValue += (float)(ticketCost * m_pathRandomizer.Int32(2000u)) * TICKET_COST_CONVERSION_FACTOR;
815-
}
811+
int ticketCost = netManager.m_lanes.m_buffer[item.m_laneID].m_ticketCost;
812+
if (!this.m_ignoreCost && ticketCost != 0) {
813+
comparisonValue += (float)(ticketCost * this.m_pathRandomizer.Int32(2000u)) * TICKET_COST_CONVERSION_FACTOR;
816814
}
817815
if ((prevLaneType & (NetInfo.LaneType.Vehicle | NetInfo.LaneType.TransportVehicle)) != 0) {
818816
prevLaneType = (NetInfo.LaneType.Vehicle | NetInfo.LaneType.TransportVehicle);
@@ -846,7 +844,15 @@ private bool ProcessItemCosts(BufferItem item, ushort nextNodeId, ushort nextSeg
846844
if (transitionNode) {
847845
transitionCost *= 2f;
848846
}
847+
if (ticketCost != 0 && netManager.m_lanes.m_buffer[curLaneId].m_ticketCost != 0) {
848+
transitionCost *= 10f;
849+
}
849850
float transitionCostOverMeanMaxSpeed = transitionCost / ((prevMaxSpeed + nextLaneInfo.m_speedLimit) * 0.5f * m_maxLength);
851+
if (!this.m_stablePath && (netManager.m_lanes.m_buffer[curLaneId].m_flags & 0x80) != 0) {
852+
int firstTarget = netManager.m_lanes.m_buffer[curLaneId].m_firstTarget;
853+
int lastTarget = netManager.m_lanes.m_buffer[curLaneId].m_lastTarget;
854+
transitionCostOverMeanMaxSpeed *= (float)new Randomizer(this.m_pathFindIndex ^ curLaneId).Int32(1000, (lastTarget - firstTarget + 2) * 1000) * 0.001f;
855+
}
850856
nextItem.m_position.m_segment = nextSegmentId;
851857
nextItem.m_position.m_lane = (byte)i;
852858
nextItem.m_position.m_offset = (byte)(((nextDir & NetInfo.Direction.Forward) != 0) ? 255 : 0);

TLM/TLM/Traffic/Data/VehicleState.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -558,7 +558,7 @@ private void DetermineVehicleType(ref Vehicle vehicleData) {
558558
case VehicleInfo.VehicleType.Car:
559559
if (ai is PassengerCarAI)
560560
return ExtVehicleType.PassengerCar;
561-
if (ai is AmbulanceAI || ai is FireTruckAI || ai is PoliceCarAI || ai is HearseAI || ai is GarbageTruckAI || ai is MaintenanceTruckAI || ai is SnowTruckAI || ai is WaterTruckAI || ai is DisasterResponseVehicleAI || ai is ParkMaintenanceVehicleAI) {
561+
if (ai is AmbulanceAI || ai is FireTruckAI || ai is PoliceCarAI || ai is HearseAI || ai is GarbageTruckAI || ai is MaintenanceTruckAI || ai is SnowTruckAI || ai is WaterTruckAI || ai is DisasterResponseVehicleAI || ai is ParkMaintenanceVehicleAI || ai is PostVanAI) {
562562
return ExtVehicleType.Service;
563563
}
564564
if (ai is CarTrailerAI)
@@ -585,9 +585,11 @@ private void DetermineVehicleType(ref Vehicle vehicleData) {
585585
return ExtVehicleType.CargoShip;
586586
//break;
587587
case VehicleInfo.VehicleType.Plane:
588-
//if (ai is PassengerPlaneAI)
589-
return ExtVehicleType.PassengerPlane;
590-
//break;
588+
if (ai is PassengerPlaneAI)
589+
return ExtVehicleType.PassengerPlane;
590+
if (ai is CargoPlaneAI)
591+
return ExtVehicleType.CargoPlane;
592+
break;
591593
case VehicleInfo.VehicleType.Helicopter:
592594
//if (ai is PassengerPlaneAI)
593595
return ExtVehicleType.Helicopter;

TLM/TLM/Traffic/ExtVehicleType.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,10 @@ public enum ExtVehicleType {
2424
CableCar = 1 << 15,
2525
PassengerFerry = 1 << 16,
2626
PassengerBlimp = 1 << 17,
27-
Plane = PassengerPlane,
27+
CargoPlane = 1 << 18,
28+
Plane = PassengerPlane | CargoPlane,
2829
Ship = PassengerShip | CargoShip,
29-
CargoVehicle = CargoTruck | CargoTrain | CargoShip,
30+
CargoVehicle = CargoTruck | CargoTrain | CargoShip | CargoPlane,
3031
PublicTransport = Bus | Taxi | Tram | PassengerTrain,
3132
RoadPublicTransport = Bus | Taxi,
3233
RoadVehicle = PassengerCar | Bus | Taxi | CargoTruck | Service | Emergency,

TLM/TLM/TrafficManagerMod.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@
77
namespace TrafficManager {
88
public class TrafficManagerMod : IUserMod {
99

10-
public static readonly string Version = "1.10.12";
10+
public static readonly string Version = "1.10.13";
1111

12-
public static readonly uint GameVersion = 176415504u;
12+
public static readonly uint GameVersion = 180478736u;
1313
public static readonly uint GameVersionA = 1u;
14-
public static readonly uint GameVersionB = 10u;
15-
public static readonly uint GameVersionC = 1u;
14+
public static readonly uint GameVersionB = 11u;
15+
public static readonly uint GameVersionC = 0u;
1616
public static readonly uint GameVersionBuild = 3u;
1717

1818
public string Name => "Traffic Manager: President Edition [" + Version + "]";

0 commit comments

Comments
 (0)