Skip to content

Commit d21272a

Browse files
committed
1.10 release
1 parent f9c06fe commit d21272a

File tree

3 files changed

+46
-20
lines changed

3 files changed

+46
-20
lines changed

README.md

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,42 @@ A work-in-progress modification for **Cities: Skylines** to add additional traff
44
User manual: http://www.viathinksoft.de/tmpe
55

66
# Changelog
7-
1.9.7, XX/XX/2017
7+
1.10.0, 07/30/2017
8+
- New feature: Dynamic Lane Selection
89
- New feature: Adaptive step switching
10+
- New feature: Individual vehicles may be removed from the game
11+
- New option: Vehicle restrictions aggression
12+
- New option: Vehicles follow priority rules at junctions with timed traffic lights
13+
- Improved path-finding performance
14+
- Improved performance traffic measurement engine performance
15+
- Improved vehicle state tracking
16+
- Reorganized global configuration file (sorry, your main menu and main button positions are reset)
17+
- The option "Road condition has a bigger impact on vehicle speed" is only shown if the Snowfall DLC is owned
18+
- The flow/wait calculation mode to be used is now configurable via the global configuration file
19+
- Added path-find statistics label
20+
- Added confirmation dialog for "Clear Traffic" button
21+
- Currently active timed traffic light step is remembered
22+
- Trains do not wait for each other anymore near timed traffic lights
23+
- It is now possible to connect train station tracks and outside connections with the lane connector
24+
- Disabling the Parking AI triggers graceful clean up procedure
25+
- Relocated some options
26+
- Workaround for a base game issue that causes trams to get stuck
927
- Trains do not longer stop in front of green timed traffic lights
10-
- Bugfix: Using the bulldozer tool might lead to inconsistent road geometry information
11-
- Bugfix: Citizens that fail to approach their parked car float towards their target building
28+
- Vehicles use queue skipping to prioritize path-finding runs that are caused by road modifications
29+
- Adding a vehicle separate light to a timed traffic lights applies the main light configuration
30+
- Parking AI: Vehicles can now find parking spaces at the opposite road side
1231
- Parking AI: Included an improved fallback logic for some edge cases
1332
- Parking AI: Citizens should now be more successful in returning their cars back home
1433
- Parking AI: Tuned parking radius parameters
34+
- Parking AI: If the limit for parked vehicles is reached and parking fails due to it, no alternative parking space is queried
35+
- Vehicle AI: Busses prefer lanes with correct lane arrow over incorrect ones
36+
- Bugfix: Using the bulldozer tool might lead to inconsistent road geometry information
37+
- Bugfix: Citizens that fail to approach their parked car fly towards their target building
1538
- Bugfix: Parking AI: Path-finding fails if cars are parked too far away from a road
16-
- Performance improvements
17-
- Enabling despawn now does not cause all vehicles to despawn instantly
18-
- Vehicle AI: Re-introduced penalties for lane changes in front of highway junctions
19-
- Vehicle AI: Busses prefer lanes with correct lane though over incorrect ones
39+
- Bugfix: Parking AI: Citizens approaching a car start to float away
2040
- Bugfix: "Heavy vehicles prefer outer lanes on highways" does not work
2141
- Bugfix: The lane connector does not allow connecting all available lane end points at train stations and on bidirectional one-lane train tracks
42+
- Bugfix: Vehicles may get stuck in several situations
2243
- Upgrading to a road with bus lanes now copies an already existing traffic light state to the new traffic light
2344

2445
1.9.6, 05/28/2017

TLM/TLM/Manager/Impl/AdvancedParkingManager.cs

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1190,25 +1190,30 @@ protected ushort FindParkingSpaceAtRoadSide(ushort ignoreParked, Vector3 refPos,
11901190
Quaternion innerParkRot;
11911191
float innerParkOffset;
11921192

1193+
NetInfo segmentInfo = netManager.m_segments.m_buffer[segmentId].Info;
11931194
Vector3 segCenter = netManager.m_segments.m_buffer[segmentId].m_bounds.center;
11941195

11951196
// randomize target position to allow for opposite road-side parking
11961197
segCenter.x += Singleton<SimulationManager>.instance.m_randomizer.Int32(GlobalConfig.Instance.ParkingAI.ParkingSpacePositionRand) - GlobalConfig.Instance.ParkingAI.ParkingSpacePositionRand / 2u;
11971198
segCenter.z += Singleton<SimulationManager>.instance.m_randomizer.Int32(GlobalConfig.Instance.ParkingAI.ParkingSpacePositionRand) - GlobalConfig.Instance.ParkingAI.ParkingSpacePositionRand / 2u;
11981199

11991200
if (netManager.m_segments.m_buffer[segmentId].GetClosestLanePosition(segCenter, NetInfo.LaneType.Parking, VehicleInfo.VehicleType.Car, out innerParkPos, out laneId, out laneIndex, out laneOffset)) {
1200-
if (!Options.parkingRestrictionsEnabled || ParkingRestrictionsManager.Instance.IsParkingAllowed(segmentId, netManager.m_segments.m_buffer[segmentId].Info.m_lanes[laneIndex].m_finalDirection)) {
1201-
if (CustomPassengerCarAI.FindParkingSpaceRoadSide(ignoreParked, segmentId, innerParkPos, width, length, out innerParkPos, out innerParkRot, out innerParkOffset)) {
1202-
#if DEBUG
1203-
if (GlobalConfig.Instance.Debug.Switches[4])
1204-
Log._Debug($"FindParkingSpaceRoadSide: Found a parking space for refPos {refPos}, segment center {segCenter} @ {innerParkPos}, laneId {laneId}, laneIndex {laneIndex}!");
1205-
#endif
1206-
foundSegmentId = segmentId;
1207-
myParkPos = innerParkPos;
1208-
myParkRot = innerParkRot;
1209-
myParkOffset = innerParkOffset;
1210-
if (!randomize || rng.Int32(GlobalConfig.Instance.ParkingAI.VicinityParkingSpaceSelectionRand) != 0)
1211-
return false;
1201+
NetInfo.Lane laneInfo = segmentInfo.m_lanes[laneIndex];
1202+
if (!Options.parkingRestrictionsEnabled || ParkingRestrictionsManager.Instance.IsParkingAllowed(segmentId, laneInfo.m_finalDirection)) {
1203+
if (!Options.vehicleRestrictionsEnabled || (VehicleRestrictionsManager.Instance.GetAllowedVehicleTypes(segmentId, segmentInfo, (uint)laneIndex, laneInfo, VehicleRestrictionsMode.Configured) & ExtVehicleType.PassengerCar) != ExtVehicleType.None) {
1204+
1205+
if (CustomPassengerCarAI.FindParkingSpaceRoadSide(ignoreParked, segmentId, innerParkPos, width, length, out innerParkPos, out innerParkRot, out innerParkOffset)) {
1206+
#if DEBUG
1207+
if (GlobalConfig.Instance.Debug.Switches[4])
1208+
Log._Debug($"FindParkingSpaceRoadSide: Found a parking space for refPos {refPos}, segment center {segCenter} @ {innerParkPos}, laneId {laneId}, laneIndex {laneIndex}!");
1209+
#endif
1210+
foundSegmentId = segmentId;
1211+
myParkPos = innerParkPos;
1212+
myParkRot = innerParkRot;
1213+
myParkOffset = innerParkOffset;
1214+
if (!randomize || rng.Int32(GlobalConfig.Instance.ParkingAI.VicinityParkingSpaceSelectionRand) != 0)
1215+
return false;
1216+
}
12121217
}
12131218
}
12141219
} else {

TLM/TLM/TrafficManagerMod.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
namespace TrafficManager {
77
public class TrafficManagerMod : IUserMod {
88

9-
public static readonly string Version = "1.10.0 BETA";
9+
public static readonly string Version = "1.10.0";
1010

1111
public static readonly uint GameVersion = 163963152u;
1212
public static readonly uint GameVersionA = 1u;

0 commit comments

Comments
 (0)