• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.
Thanks for creating this mod.

But what's the difference to "Auto District Name Stations" that have this function imho also included... as well as [the way more complex to use] "Adresses & Names Mod"
Well, I'm also using these two mods and I can give you my case as a reference. I use the "Adresses & Names Mod" to name my roads, and I use "Auto District Name Stations" to name service buildings such as police stations.

But neither of two mods provide a way to name stations based on the surrounding buildings, which was a vanilla feature in Cities Skyline 1. So I decided to add this feature by making this mod, and also added a way to name stations based on the nearest intersection.
 
Can we add the feature to automatically rename platforms of transport hubs (ex. Railway sta., Bus terminal, etc.) as the route panel use the names of platform which does not follow the renaming of the stations it belong.
 
Well, I'm also using these two mods and I can give you my case as a reference. I use the "Adresses & Names Mod" to name my roads, and I use "Auto District Name Stations" to name service buildings such as police stations.

But neither of two mods provide a way to name stations based on the surrounding buildings, which was a vanilla feature in Cities Skyline 1. So I decided to add this feature by making this mod, and also added a way to name stations based on the nearest intersection.
Ah, thanks for letting me know, how you use it. I maintained the Compatibility Data accordingly in Skyve.


Just for your Info: this function as well as the other mods one is planned for A&N since a while too.
 
  • 1Like
Reactions:
Can we add the feature to automatically rename platforms of transport hubs (ex. Railway sta., Bus terminal, etc.) as the route panel use the names of platform which does not follow the renaming of the stations it belong.
If you have enabled both "Auto Naming" & "Auto Update Name" options, when stations are placed, they will be linked to their owners.

But it can only be updated when you don't reload the save. To solve that temporarily, you could manually select name (the one with the [Owner] tag) to link with it's owner after loading the save.

I'm working on the feature of saving the infos, so you may not have to do that in the next version (v0.2.0).
 
Last edited:
But what's the difference to "Auto District Name Stations "that have this function imho also included... as well as [the way more complex to use] "Addresses & Names Mod"
Name from intersection or nearby location with road name is an actual existing type of naming in China, particularly in Wuhan and Shanghai.

For example: Zhongshan Blvd. at Qiaokou Rd. (硚口路中山大道)
It means the station is on Qiaokou Rd., where it intersect with Zhongshan Blvd.

Example 2: Tongji Hospital at Liberation Blvd. (解放大道同济医院)
It means the station is on Liberation Blvd. where also adjacent to Tongji Hospital.
 
If you have enabled both "Auto Naming" & "Auto Update Name" options, when stations are placed, they will be linked to their owners.

But it can only be updated when you don't reload the save. To solve that temporarily, you could manually select name (the one with the [Owner] tag) to link with it's owner after loading the save.

I'm working on the feature of saving the infos, so you may not have to do that in the next version (v0.2.0).
that is great.

PS: want some new feature:
- "Road name + building" naming option. Explained in the last post (#7)
- Automatically add N/S/W/E directional suffix option for building options.
- Copy name from adjacent station.
 
that is great.

PS: want some new feature:
- "Road name + building" naming option. Explained in the last post (#7)
- Automatically add N/S/W/E directional suffix option for building options.
- Copy name from adjacent station.

I'll consider your requests.

The first one should be easy to implement, and could be avaliable in v0.2.0 at soonest.

But for the second one, it's quite hard to get the direction of the building, so I couldn't promise you a precise date.
 
Is it me or the surrounding building names are just EU Residential Buildings/NA Residential Buildings instead of 393 Example Street (The building's name)? Could be a great mod if you could add this feature/fix this. Thank you for making it though!!
 
This mod randomly triggers a "data size mismatch" error and teleports all airports, terminals and public transport platforms to a random location on the map, this did not happen after removing the mod, please check the mod code.
 
Is it me or the surrounding building names are just EU Residential Buildings/NA Residential Buildings instead of 393 Example Street (The building's name)? Could be a great mod if you could add this feature/fix this. Thank you for making it though!!
It's because the game does not provide a direct way to get the name, and I'm trying to solve that.
 
This mod randomly triggers a "data size mismatch" error and teleports all airports, terminals and public transport platforms to a random location on the map, this did not happen after removing the mod, please check the mod code.
Could you give more logs about it? Located at %AppData%/LocalLow/Colossal Order/Cities Skylines II/player.log or player-prev.log & Logs.
 
Last edited:
I've copied a short paragraph, hopefully it's relevant and helpful.

OverflowException
at (wrapper managed-to-native) System.Object.__icall_wrapper_ves_icall_array_new_specific(intptr,int)
at Colossal.Serialization.Entities.BinaryReader.Read (System.String& value) [0x00008] in <d981c08d8fd34837bb61ae056f007f60>:0
at StationNaming.System.NameSourceRefer.Deserialize[TReader] (TReader reader) [0x00013] in D:\Code\Unity\CitiesSkylines\StationNaming\System\NameSourceRefer.cs:117
at Colossal.Serialization.Entities.BinaryReader.Read[TSerializable] (TSerializable& value) [0x00007] in <d981c08d8fd34837bb61ae056f007f60>:0
at Colossal.Serialization.Entities.BinaryReader.Read[TSerializable] (Unity.Collections.NativeArray`1[T] value) [0x00004] in <d981c08d8fd34837bb61ae056f007f60>:0
at StationNaming.System.NameCandidate.Deserialize[TReader] (TReader reader) [0x00034] in D:\Code\Unity\CitiesSkylines\StationNaming\System\NameCandidate.cs:185
at Colossal.Serialization.Entities.BinaryReader.Read[TSerializable] (TSerializable& value) [0x00007] in <d981c08d8fd34837bb61ae056f007f60>:0
at StationNaming.System.ManualSelectNaming.Deserialize[TReader] (TReader reader) [0x00000] in D:\Code\Unity\CitiesSkylines\StationNaming\System\ManualSelectNaming.cs:63
at Colossal.Serialization.Entities.BinaryReader.Read[TSerializable] (TSerializable& value) [0x00007] in <d981c08d8fd34837bb61ae056f007f60>:0
at Colossal.Serialization.Entities.ComponentDataSerializer`1+DeserializeComponentDataJob`1[TComponentData,TReader].Execute () [0x002ae] in <d981c08d8fd34837bb61ae056f007f60>:0
at Unity.Jobs.IJobExtensions+JobStruct`1[T].Execute (T& data, System.IntPtr additionalPtr, System.IntPtr bufferRangePatchData, Unity.Jobs.LowLevel.Unsafe.JobRanges& ranges, System.Int32 jobIndex) [0x00001] in <a8fc136049044b19982b5abcb6f6b426>:0
at (wrapper delegate-invoke) Unity.Jobs.IJobExtensions+JobStruct`1+ExecuteJobFunction[Colossal.Serialization.Entities.ComponentDataSerializer`1+DeserializeComponentDataJob`1[StationNaming.System.ManualSelectNaming,Colossal.Serialization.Entities.BinaryReader]].invoke_void_T&_intptr_intptr_JobRanges&_int(Colossal.Serialization.Entities.ComponentDataSerializer`1/DeserializeComponentDataJob`1<StationNaming.System.ManualSelectNaming, Colossal.Serialization.Entities.BinaryReader>&,intptr,intptr,Unity.Jobs.LowLevel.Unsafe.JobRanges&,int)
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
Colossal.Logging.CustomLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)

(Filename: D:/Code/Unity/CitiesSkylines/StationNaming/System/NameSourceRefer.cs Line: 117)

ComponentSerializerException: Data size mismatch when deserializing component null
at Colossal.Serialization.Entities.ComponentDataSerializer`1+DeserializeComponentDataJob`1[TComponentData,TReader].Execute () [0x00320] in <d981c08d8fd34837bb61ae056f007f60>:0
at Unity.Jobs.IJobExtensions+JobStruct`1[T].Execute (T& data, System.IntPtr additionalPtr, System.IntPtr bufferRangePatchData, Unity.Jobs.LowLevel.Unsafe.JobRanges& ranges, System.Int32 jobIndex) [0x00001] in <a8fc136049044b19982b5abcb6f6b426>:0
at (wrapper delegate-invoke) Unity.Jobs.IJobExtensions+JobStruct`1+ExecuteJobFunction[Colossal.Serialization.Entities.ComponentDataSerializer`1+DeserializeComponentDataJob`1[Game.Objects.Transform,Colossal.Serialization.Entities.BinaryReader]].invoke_void_T&_intptr_intptr_JobRanges&_int(Colossal.Serialization.Entities.ComponentDataSerializer`1/DeserializeComponentDataJob`1<Game.Objects.Transform, Colossal.Serialization.Entities.BinaryReader>&,intptr,intptr,Unity.Jobs.LowLevel.Unsafe.JobRanges&,int)
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
Colossal.Logging.CustomLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)

NullReferenceException: Object reference not set to an instance of an object
at Colossal.Serialization.Entities.BinaryReader.Read (System.UInt32& value) [0x0000c] in <d981c08d8fd34837bb61ae056f007f60>:0
at Colossal.Serialization.Entities.BinaryReader.Read (System.Int32& value) [0x00000] in <d981c08d8fd34837bb61ae056f007f60>:0
at Colossal.Serialization.Entities.BinaryReader.Begin (System.Int32& size) [0x00000] in <d981c08d8fd34837bb61ae056f007f60>:0
at Colossal.Serialization.Entities.BufferElementDataSerializer`1+DeserializeBufferElementDataJob`1[TBufferElementData,TReader].Execute () [0x0000c] in <d981c08d8fd34837bb61ae056f007f60>:0
at Unity.Jobs.IJobExtensions+JobStruct`1[T].Execute (T& data, System.IntPtr additionalPtr, System.IntPtr bufferRangePatchData, Unity.Jobs.LowLevel.Unsafe.JobRanges& ranges, System.Int32 jobIndex) [0x00001] in <a8fc136049044b19982b5abcb6f6b426>:0
at (wrapper delegate-invoke) Unity.Jobs.IJobExtensions+JobStruct`1+ExecuteJobFunction[Colossal.Serialization.Entities.BufferElementDataSerializer`1+DeserializeBufferElementDataJob`1[StationNaming.System.NameCandidate,Colossal.Serialization.Entities.BinaryReader]].invoke_void_T&_intptr_intptr_JobRanges&_int(Colossal.Serialization.Entities.BufferElementDataSerializer`1/DeserializeBufferElementDataJob`1<StationNaming.System.NameCandidate, Colossal.Serialization.Entities.BinaryReader>&,intptr,intptr,Unity.Jobs.LowLevel.Unsafe.JobRanges&,int)
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
Colossal.Logging.CustomLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)

NullReferenceException: Object reference not set to an instance of an object
at Colossal.Serialization.Entities.BinaryReader.Read (System.Char& value) [0x0000c] in <d981c08d8fd34837bb61ae056f007f60>:0
at Colossal.Serialization.Entities.BinaryReader.Read (System.String& value) [0x00013] in <d981c08d8fd34837bb61ae056f007f60>:0
at StationNaming.System.NameSourceRefer.Deserialize[TReader] (TReader reader) [0x00013] in D:\Code\Unity\CitiesSkylines\StationNaming\System\NameSourceRefer.cs:117
at Colossal.Serialization.Entities.BinaryReader.Read[TSerializable] (TSerializable& value) [0x00007] in <d981c08d8fd34837bb61ae056f007f60>:0
at Colossal.Serialization.Entities.BinaryReader.Read[TSerializable] (Unity.Collections.NativeArray`1[T] value) [0x00004] in <d981c08d8fd34837bb61ae056f007f60>:0
at StationNaming.System.NameCandidate.Deserialize[TReader] (TReader reader) [0x00034] in D:\Code\Unity\CitiesSkylines\StationNaming\System\NameCandidate.cs:185
at Colossal.Serialization.Entities.BinaryReader.Read[TSerializable] (TSerializable& value) [0x00007] in <d981c08d8fd34837bb61ae056f007f60>:0
at StationNaming.System.ManualSelectNaming.Deserialize[TReader] (TReader reader) [0x00000] in D:\Code\Unity\CitiesSkylines\StationNaming\System\ManualSelectNaming.cs:63
at Colossal.Serialization.Entities.BinaryReader.Read[TSerializable] (TSerializable& value) [0x00007] in <d981c08d8fd34837bb61ae056f007f60>:0
at Colossal.Serialization.Entities.ComponentDataSerializer`1+DeserializeComponentDataJob`1[TComponentData,TReader].Execute () [0x002ae] in <d981c08d8fd34837bb61ae056f007f60>:0
at Unity.Jobs.IJobExtensions+JobStruct`1[T].Execute (T& data, System.IntPtr additionalPtr, System.IntPtr bufferRangePatchData, Unity.Jobs.LowLevel.Unsafe.JobRanges& ranges, System.Int32 jobIndex) [0x00001] in <a8fc136049044b19982b5abcb6f6b426>:0
at (wrapper delegate-invoke) Unity.Jobs.IJobExtensions+JobStruct`1+ExecuteJobFunction[Colossal.Serialization.Entities.ComponentDataSerializer`1+DeserializeComponentDataJob`1[StationNaming.System.ManualSelectNaming,Colossal.Serialization.Entities.BinaryReader]].invoke_void_T&_intptr_intptr_JobRanges&_int(Colossal.Serialization.Entities.ComponentDataSerializer`1/DeserializeComponentDataJob`1<StationNaming.System.ManualSelectNaming, Colossal.Serialization.Entities.BinaryReader>&,intptr,intptr,Unity.Jobs.LowLevel.Unsafe.JobRanges&,int)
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
Colossal.Logging.CustomLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)

(Filename: D:/Code/Unity/CitiesSkylines/StationNaming/System/NameSourceRefer.cs Line: 117)
 
I think it's a vanilla feature, can you describe it more specifically?
not strictly "house number street name" but "street name house number", both without commas
As well I gonna offer (probably new theme's) scheme: RU, will be consist of ".... city name COMMA district name COMMA street name COMMA building name"