boformer / networkskins Goto Github PK
View Code? Open in Web Editor NEWMod for Cities: Skylines
License: MIT License
Mod for Cities: Skylines
License: MIT License
Hi there,
I started working again on PRT and released a new public beta.
I'm getting reports that compatibility between our mods has been broken, and I think it's related to some minor changes I did to my code.
Please let me know if you need my help in fixing it back.
My changes to the NetManager
detour were quite small, but since you're using the transpiler I guess that even moving an instruction to the next line could break everything.
EDIT:
If there's something I need to do on my end to make this somehow "permanent", just tell me :)
I mean, the title pretty much says it all. I would love to see an option to nuke all local data back to defaults on a per-map basis (bonus points for a global reset). I'm sure there is an XML file somewhere storing this information that I could manually delete...but I don't know where that is stored (and I definitely wouldn't recommend a lot of users go digging around deleting XML files).
It was just a thing that occurred to me today (as I've got a lot of colored roads that I want to return to stock on my current city) so I thought I'd throw it out there as a useful feature. :)
Thanks for the killer mod!
Tool error: Object reference not set to an instance of an object
at ColossalFramework.UI.UIComponent.FitChildren (UnityEngine.Vector2) <0x00067>
at ColossalFramework.UI.UIComponent.FitChildren () <0x00043>
at ColossalFramework.UI.UIPanel.AutoArrange () <0x016c1>
at ColossalFramework.UI.UIPanel.ChildInvalidatedLayout () <0x00043>
at ColossalFramework.UI.UIPanel.ChildInvalidated (ColossalFramework.UI.UIComponent,UnityEngine.Vector2) <0x0001c>
at ColossalFramework.UI.UIComponent.OnPositionChanged () <0x00147>
at ColossalFramework.UI.UIComponent.set_relativePosition (UnityEngine.Vector3) <0x00566>
at ColossalFramework.UI.UIAnchorLayout.PerformLayoutAbsolute (UnityEngine.Vector2,UnityEngine.Vector2) <0x004d7>
at ColossalFramework.UI.UIAnchorLayout.PerformLayoutInternal () <0x00179>
at ColossalFramework.UI.UIAnchorLayout.PerformLayout () <0x00035>
at ColossalFramework.UI.UIComponent.PerformLayout () <0x00070>
at ColossalFramework.UI.UIComponent.OnSizeChanged () <0x00107>
at ColossalFramework.UI.UIComponent.set_size (UnityEngine.Vector2) <0x00210>
at ColossalFramework.UI.UIComponent.FitChildren (UnityEngine.Vector2) <0x001be>
at ColossalFramework.UI.UIComponent.FitChildren () <0x00043>
at ColossalFramework.UI.UIPanel.AutoArrange () <0x016c1>
at ColossalFramework.UI.UIPanel.ChildInvalidatedLayout () <0x00043>
at ColossalFramework.UI.UIPanel.ChildInvalidated (ColossalFramework.UI.UIComponent,UnityEngine.Vector2) <0x0001c>
at ColossalFramework.UI.UIComponent.OnSizeChanged () <0x000bf>
at ColossalFramework.UI.UIComponent.set_size (UnityEngine.Vector2) <0x00210>
at ColossalFramework.UI.UIAnchorLayout.PerformLayoutAbsolute (UnityEngine.Vector2,UnityEngine.Vector2) <0x00446>
at ColossalFramework.UI.UIAnchorLayout.PerformLayoutInternal () <0x00179>
at ColossalFramework.UI.UIAnchorLayout.PerformLayout () <0x00035>
at ColossalFramework.UI.UIComponent.PerformLayout () <0x00070>
at ColossalFramework.UI.UIComponent.OnSizeChanged () <0x00107>
at ColossalFramework.UI.UIComponent.set_size (UnityEngine.Vector2) <0x00210>
at ColossalFramework.UI.UIComponent.FitChildren (UnityEngine.Vector2) <0x001be>
at ColossalFramework.UI.UIComponent.FitChildren () <0x00043>
at ColossalFramework.UI.UIPanel.AutoArrange () <0x016c1>
at ColossalFramework.UI.UIPanel.ChildInvalidatedLayout () <0x00043>
at ColossalFramework.UI.UIPanel.ChildInvalidated (ColossalFramework.UI.UIComponent,UnityEngine.Vector2) <0x0001c>
at ColossalFramework.UI.UIComponent.OnSizeChanged () <0x000bf>
at ColossalFramework.UI.UIComponent.set_size (UnityEngine.Vector2) <0x00210>
at ColossalFramework.UI.UIComponent.FitChildrenVertically (single) <0x001e3>
at ColossalFramework.UI.UIPanel.AutoArrange () <0x01726>
at ColossalFramework.UI.UIPanel.ChildInvalidatedLayout () <0x00043>
at ColossalFramework.UI.UIPanel.ChildInvalidated (ColossalFramework.UI.UIComponent,UnityEngine.Vector2) <0x0001c>
at ColossalFramework.UI.UIComponent.OnSizeChanged () <0x000bf>
at ColossalFramework.UI.UIComponent.set_size (UnityEngine.Vector2) <0x00210>
at NetworkSkins.GUI.Colors.SwatchButton.Build (UnityEngine.Color) <0x0009d>
at NetworkSkins.GUI.Colors.ColorPanel.AddSwatch (UnityEngine.Color32) <0x00093>
at NetworkSkins.GUI.Colors.ColorPanel.RefreshSwatchesPanel () <0x003c2>
at NetworkSkins.GUI.Colors.ColorPanel.OnColorUsed () <0x0001c>
at NetworkSkins.GUI.Colors.ColorPanelController.OnColorUsed (UnityEngine.Color) <0x00218>
at NetworkSkins.GUI.Colors.ColorPanelController.OnSegmentPlaced (NetworkSkins.Skins.NetworkSkin) <0x00135>
at NetworkSkins.GUI.NetworkSkinPanelController.OnSegmentPlaced (NetworkSkins.Skins.NetworkSkin) <0x00031>
at NetworkSkins.Skins.NetworkSkinManager.OnSegmentPlaced (uint16) <0x0086c>
at NetworkSkins.Patches.NetManager.NetManagerCreateSegmentPatch.Postfix (uint16&,NetInfo,bool) <0x0048c>
at (wrapper dynamic-method) NetManager.CreateSegment_Patch1 (NetManager,uint16&,ColossalFramework.Math.Randomizer&,NetInfo,uint16,uint16,UnityEngine.Vector3,UnityEngine.Vector3,uint,uint,bool) <0x009ce>
at (wrapper dynamic-method) NetTool.CreateNode_Patch0 (NetInfo,NetTool/ControlPoint,NetTool/ControlPoint,NetTool/ControlPoint,FastList`1<NetTool/NodePosition>,int,bool,bool,bool,bool,bool,bool,bool,uint16,uint16&,uint16&,uint16&,int&,int&) <0x0c003>
at NetTool.CreateNode (NetInfo,NetTool/ControlPoint,NetTool/ControlPoint,NetTool/ControlPoint,FastList`1<NetTool/NodePosition>,int,bool,bool,bool,bool,bool,bool,uint16,uint16&,uint16&,int&,int&) <0x00144>
at NetTool.CreateNodeImpl (NetInfo,bool,bool,NetTool/ControlPoint,NetTool/ControlPoint,NetTool/ControlPoint) <0x00495>
at NetTool.CreateNodeImpl (bool) <0x00bb9>
at NetTool/<CreateNode>c__Iterator0.MoveNext () <0x00057>
at AsyncTask`1<bool>.Execute () <0x000a5>
[Core]
Error while parsing color.
Occurs after a segment has been placed with custom color, then one switches to another road and back to previous one.
This is assuming networks are supposed to be saved while making an intersection in the asset editor
A road (highway ramp in this case) is not saving without streetlamps.
I place some road w/o street lamps, save, and then reload, and the road then contains street lamps.
Naming scheme for Railway props: https://gist.github.com/ronyx69/b4cd41742803eaeac6d19322384a0f4a
Or maybe convert GCVos' lights
Been using the mod for ages, this is the first error I've seen. After launching cities.exe, got the error immediately after splash screens when main menu was displayed (output_log.txt):
IndexOutOfRangeException: Array index is out of range.
at System.Collections.Generic.List`1+Enumerator[Harmony.ExceptionBlock].MoveNext () [0x00000] in <filename unknown>:0
at Harmony.CollectionExtensions.Do[ExceptionBlock] (IEnumerable`1 sequence, System.Action`1 action) [0x00000] in <filename unknown>:0
at Harmony.MethodBodyReader+<>c__DisplayClass19_0.<FinalizeILCodes>b__2 (Harmony.CodeInstruction codeInstruction) [0x00000] in <filename unknown>:0
at Harmony.CollectionExtensions.Do[CodeInstruction] (IEnumerable`1 sequence, System.Action`1 action) [0x00000] in <filename unknown>:0
at Harmony.MethodBodyReader.FinalizeILCodes (System.Collections.Generic.List`1 transpilers, System.Collections.Generic.List`1 endLabels, System.Collections.Generic.List`1 endBlocks) [0x00000] in <filename unknown>:0
at Harmony.MethodCopier.Finalize (System.Collections.Generic.List`1 endLabels, System.Collections.Generic.List`1 endBlocks) [0x00000] in <filename unknown>:0
at Harmony.MethodPatcher.CreatePatchedMethod (System.Reflection.MethodBase original, System.String harmonyInstanceID, System.Collections.Generic.List`1 prefixes, System.Collections.Generic.List`1 postfixes, System.Collections.Generic.List`1 transpilers) [0x00000] in <filename unknown>:0
Rethrow as Exception: Exception from HarmonyInstance "boformer.NetworkSkins" patching NetSegment.RenderInstance(CameraInfo, System.UInt16, System.Int32, NetInfo, Instance&)
at Harmony.MethodPatcher.CreatePatchedMethod (System.Reflection.MethodBase original, System.String harmonyInstanceID, System.Collections.Generic.List`1 prefixes, System.Collections.Generic.List`1 postfixes, System.Collections.Generic.List`1 transpilers) [0x00000] in <filename unknown>:0
at Harmony.PatchFunctions.UpdateWrapper (System.Reflection.MethodBase original, Harmony.PatchInfo patchInfo, System.String instanceID) [0x00000] in <filename unknown>:0
at Harmony.PatchProcessor.Patch () [0x00000] in <filename unknown>:0
at Harmony.HarmonyInstance.<PatchAll>b__11_0 (System.Type type) [0x00000] in <filename unknown>:0
at Harmony.CollectionExtensions.Do[Type] (IEnumerable`1 sequence, System.Action`1 action) [0x00000] in <filename unknown>:0
at Harmony.HarmonyInstance.PatchAll (System.Reflection.Assembly assembly) [0x00000] in <filename unknown>:0
at NetworkSkins.NetworkSkinsMod.InstallHarmony () [0x00000] in <filename unknown>:0
at NetworkSkins.NetworkSkinsMod.OnEnabled () [0x00000] in <filename unknown>:0
at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[],System.Exception&)
at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0
at ColossalFramework.Plugins.PluginManager.AddPlugins (System.Collections.Generic.Dictionary`2 plugins) [0x00000] in <filename unknown>:0
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
ColossalFramework.Plugins.PluginManager:AddPlugins(Dictionary`2)
ColossalFramework.Plugins.PluginManager:LoadPlugins()
Starter:Awake()
Mods list (asterisk *
denotes enabled mod):
(local) Alaskan
(local) Alaskan2
(local) AutoRepair 1.0
(local) FPS Booster 0.1
* (local) TM:PE LABS 11.0-alpha10
* 1562650024 Rebalanced Industries
* 591137516 Redcomet's Municipal Sound Pack
* 618536610 AST: KRA Sound Pack
* 498386331 CrossTheLine
* 533958715 Real London Sound Pack
* 625608461 Adaptive Prop Visibility Distance
793176674 Sharp Textures
* 818641631 Ambient Sounds Tuner
* 833784103 British Rail Class 43 Effect Definitions Pack
* 815103125 Extra Vehicle Effects
* 898480258 Camera Positions Utility
* 954067599 PropRotating Params
* 940299505 AnimUV Params
569879360 WG Realistic Solar v1.3
* 1192250578 Emergency Lights Manager
* 1349895184 Tree LOD Fix
* 1388613752 Tree Movement Control
1412844620 Realistic Walking Speed
* 1546357276 Industries Vehicle Converter
* 1548831935 Advanced Vehicle Options 1.8.5
1552053911 Trailer Variation Loader
* 689937287 Surface Painter
* 502750307 Extra Landscaping Tools
1568910950 ZONE Radio
* 1348627392 Tides
* 949504539 SingleTrainTrackAI
* 883332136 Any Road Outside Connections
* 793346248 Decal Hover Area
* 791221322 Prop Precision 1.0.1
* 787611845 Prop Snapping
* 780720853 Vehicle Effects 1.8.1a
* 654707599 WG Citizen Lifecycle Rebalance v2.6
* 651322972 Fine Road Tool 1.3.7
* 593588108 Prop & Tree Anarchy
* 586012417 Ploppable RICO
* 538019888 Spawn/Unspawn Positions Swapper
* 515489008 Extra Train Station Tracks
* 497033453 UnlimitedOutsideConnections
* 426163185 WG Realistic Population v8.4.0
* 1433003062 Rotors FlipXZ
1393820309 Ticket Price Customizer
* 1393452031 Parkify r1.0.3
* 1372431101 Painter
* 1274199764 Network Tiling
* 928103306 Ship Converter
* 922939393 Transparency LOD Fix + Cloud Assets Enabler
* 903347963 Transparent Selectors
* 899063611 UKSoundPack
* 837734529 Find It! 1.5.4
* 820157360 Spawn Points Fix
* 802066100 Fine Road Anarchy 1.3.5
* 767233815 Decal Prop Fix
* 650436109 Quay Anarchy
* 608517757 Sub-Buildings Tabs
* 530771650 Prefab Hook
* 512314255 More Network Stuff
* 510677558 The Metropolitan Sound Pack
* 465127441 Airport Roads 1.3.7
* 881291183 Ploppable Asphalt
* 1386697922 Garbage Bin Controller
* 476141470 Craft_Inc's Synthwave & 80s-Retro-Music pack
1289991722 Music pack: Vault Archives Music Pack
* 422934383 CSL Music Mod
* 629850626 Workshop RICO Settings
* 1661072176 Empty It!
* 707497031 Tram Station Track
* 1591584836 HDRI 2K Cubempap Pack
* 1585691173 HDRI Haven Cubemap Pack
* 1183931915 Cubemap Replacer
* 1680642819 Ultimate Level Of Detail
* 1556715327 Show It!
* 552309905 No Abandonment
* 576327847 81 Tiles (Fixed for C:S 1.2+)
* 1435741602 Snooper
* 1394468624 Advanced Stop Selection
* 795514116 Train Converter
* 1764637396 Toggle It!
* 1768810491 Measure It!
* 1776052533 Stops and Stations
* 1530376523 Railway Replacer
* 659877005 First-person Auto-walking 1.3.1
* 724382534 One-Way Train Tracks
* 1801953480 Natural Disasters Overhaul
643364914 Softer Shadows
* 762520291 ShadowStrengthAdjuster
632951976 Improved Mod Upload Panel
* 1721492498 Optimised Outside Connections
* 1869561285 Prop Painter
* 1567569285 Achieve It!
* 1591417160 Hide It!
* 1619685021 Move It 2.6.0
* 924884948 Plop Growables
* 1656549865 Rebuild It!
* 1806759255 Customize It! Extended
* 1643902284 Watch It!
* 877950833 Vanilla Trees Remover
870291141 Random Train Trailers 2.1.2
* 1794015399 Render It!
* 1658679290 Forest Brush
* 530871278 Daylight Classic
* 814498849 Improved Content Manager
* 1899640536 Theme Mixer 2
* 833779378 Loading Screen Mod [Test]
611254368 Environment Changer
* 1758376843 Network Skins 2 Beta
* 1420955187 Real Time
* 1938493221 Mini FPS Booster 1.0
1410003347 Additive Shader
* 812713438 Dynamic Resolution
Also include a copy in this repo for comparison
If you could modify: CatenaryUtils.cf from:
private static readonly string[] DoubleCatenaryNames = new[]
{
"RailwayPowerline",
"774449380.Catenary Type NL2A_Data",
"774449380.Catenary Type NL2B_Data",
"774449380.Catenary Type DE2A_Data",
"774449380.Catenary Type PRR2A_Data",
"774449380.Catenary Type PRR2B_Data",
"774449380.Catenary Type JP2A_Data",
"774449380.Catenary Type EXPO2A_Data",
};
private static readonly string[] SingleCatenaryNames = new[]
{
"RailwayPowerline Singular",
"774449380.Catenary Type NL1A_Data",
"774449380.Catenary Type NL1B_Data",
"774449380.Catenary Type DE1A_Data",
"774449380.Catenary Type PRR 1A_Data",
"774449380.Catenary Type PRR 1A_Data",
"774449380.Catenary Type JP1A_Data",
"774449380.Catenary Type EXPO1A_Data",
};
to:
private static readonly string[] DoubleCatenaryNames = new[]
{
"RailwayPowerline",
"774449380.Catenary Type NL2A_Data",
"774449380.Catenary Type NL2B_Data",
"774449380.Catenary Type DE2A_Data",
"774449380.Catenary Type PRR2A_Data",
"774449380.Catenary Type PRR2B_Data",
"774449380.Catenary Type JP2A_Data",
"774449380.Catenary Type EXPO2A_Data",
"2444511901.Catenary Type NL2A_Data",
"2444511901.Catenary Type NL2B_Data",
"2444511901.Catenary Type DE2A_Data",
"2444511901.Catenary Type PRR2A_Data",
"2444511901.Catenary Type PRR2B_Data",
"2444511901.Catenary Type JP2A_Data",
"2444511901.Catenary Type EXPO2A_Data",
};
private static readonly string[] SingleCatenaryNames = new[]
{
"RailwayPowerline Singular",
"774449380.Catenary Type NL1A_Data",
"774449380.Catenary Type NL1B_Data",
"774449380.Catenary Type DE1A_Data",
"774449380.Catenary Type PRR 1A_Data",
"774449380.Catenary Type PRR 1A_Data",
"774449380.Catenary Type JP1A_Data",
"774449380.Catenary Type EXPO1A_Data",
"2444511901.Catenary Type NL1A_Data",
"2444511901.Catenary Type NL1B_Data",
"2444511901.Catenary Type DE1A_Data",
"2444511901.Catenary Type PRR 1A_Data",
"2444511901.Catenary Type PRR 1A_Data",
"2444511901.Catenary Type JP1A_Data",
"2444511901.Catenary Type EXPO1A_Data",
};
This will restore compatibility.
This is a task to merge Hide TMPE crossswalks mod with Network skins2.
requirements:
EDIT: I moved the rest of this task to here CitiesSkylinesMods/HideCrosswalks#1
related:
CitiesSkylinesMods/TMPE#27
CitiesSkylinesMods/TMPE#27 (comment)
CitiesSkylinesMods/TMPE#40
Ok so randomly the pipette tool stops working for me and will not work until.... well I don't know, sometimes the next day I load my save it works again. So it happens very randomly. I didn't know which caused this but here is the full log:
output_log.txt
On line 60474 you can see that the pipette tool throws a NullReferenceException. Here is it:
NullReferenceException: Object reference not set to an instance of an object
at NetworkSkins.Tool.PipetteTool.Awake () [0x00000] in <filename unknown>:0
UnityEngine.GameObject:Internal_AddComponentWithType(Type)
UnityEngine.GameObject:AddComponent(Type)
UnityEngine.GameObject:AddComponent()
NetworkSkins.GUI.NetworkSkinPanelController:Awake()
UnityEngine.GameObject:Internal_AddComponentWithType(Type)
UnityEngine.GameObject:AddComponent(Type)
UnityEngine.GameObject:AddComponent()
NetworkSkins.NetworkSkinsMod:Install()
NetworkSkins.NetworkSkinsMod:OnLevelLoaded(LoadMode)
LoadingWrapper:DMD<DMD<OnLevelLoaded_Patch2>?-1979670400::OnLevelLoaded_Patch2>(LoadingWrapper, UpdateMode)
<LoadLevelComplete>c__Iterator9:MoveNext()
LoadingManager:Update()
Thanks.
I think it would be useful to have a slider that controls the distance between pillars in a precise manner instead of it being dictated by the segment length.
The min value of the slider could be "Auto" which would behave as normal, and after setting the slider to any other value the pillar distance would be enforced.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.