[B18] Roof Bounded Build Tool

Started by fyarn, August 08, 2017, 06:14:07 PM

Previous topic - Next topic

fyarn

Bounded Roof Build Tool

Description:
This mod adds a button to designate roof expansion bounded by where they can be built. Useful for seeing how far a roof can extend when planning!

Updates

Updates:
Nov 29 2017
B18 Update

Aug 8 2017
Initial Release

Author/Mod Team
fyarn

Download
Github (with Source): https://github.com/fyarn/RoofBuild-Mod
Direct: https://github.com/fyarn/RoofBuild-Mod/archive/master.zip
Steam: https://steamcommunity.com/sharedfiles/filedetails/?id=1104718095

How to install:
- Unzip the contents and place them in your RimWorld/Mods folder.
- Activate the mod in the mod menu in the game.
- No known mod incompatibilities/need for a new save.

Released under MIT License, please go ahead and include in modpacks or build off of this mod itself.

* This is my first stab at modding, comments/criticism welcome!

SpaceDorf

Maxim 1   : Pillage, then burn
Maxim 37 : There is no overkill. There is only open fire and reload.
Rule 34 of Rimworld :There is a mod for that.
Avatar Made by Chickenplucker

deus-misereatur

Is the GitHub download up-to-date? The dll is posting me some errors:


ReflectionTypeLoadException getting types in assembly RoofView Mod: System.Reflection.ReflectionTypeLoadException: The classes in the module cannot be loaded.
  at (wrapper managed-to-native) System.Reflection.Assembly:GetTypes (bool)
  at System.Reflection.Assembly.GetTypes () [0x00000] in <filename unknown>:0
  at Verse.ModAssemblyHandler.AssemblyIsUsable (System.Reflection.Assembly asm) [0x00000] in <filename unknown>:0

Loader exceptions:
   => System.TypeLoadException: Could not load type 'RimWorld.Designator_AreaBuildRoofExpand' from assembly 'Assembly-CSharp, Version=0.17.6362.34601, Culture=neutral, PublicKeyToken=null'.

Verse.Log:Error(String)
Verse.ModAssemblyHandler:AssemblyIsUsable(Assembly)
Verse.ModAssemblyHandler:ReloadAll()
Verse.ModContentPack:ReloadContent()
Verse.LoadedModManager:LoadAllActiveMods()
Verse.PlayDataLoader:DoPlayLoad()
Verse.PlayDataLoader:LoadAllPlayData(Boolean)
Verse.Root:<Start>m__1()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__1()



Could not find a type named RoofBuild_Mod.Designator_AreaBuildRoofMod
Verse.Log:Error(String)
Verse.ParseHelper:FromString(String, Type)
Verse.DirectXmlToObject:ObjectFromXml(XmlNode, Boolean)
Verse.DirectXmlToObject:ListFromXml(XmlNode)
System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&)
System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
System.Reflection.MethodBase:Invoke(Object, Object[])
Verse.DirectXmlToObject:ObjectFromXml(XmlNode, Boolean)
System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&)
System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
System.Reflection.MethodBase:Invoke(Object, Object[])
Verse.DirectXmlToObject:ObjectFromXml(XmlNode, Boolean)
System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&)
System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
System.Reflection.MethodBase:Invoke(Object, Object[])
Verse.<AllDefsFromAsset>c__Iterator2:MoveNext()
Verse.ModContentPack:LoadDefs_Patch1(Object, IEnumerable`1)
Verse.LoadedModManager:LoadAllActiveMods()
Verse.PlayDataLoader:DoPlayLoad()
Verse.PlayDataLoader:LoadAllPlayData(Boolean)
Verse.Root:<Start>m__1()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__1()



DesignationCategoryDefZone could not instantiate special designator from class .
Exception:
System.ArgumentNullException: Argument cannot be null.
Parameter name: type
  at System.Activator.CheckType (System.Type type) [0x00000] in <filename unknown>:0
  at System.Activator.CreateInstance (System.Type type, Boolean nonPublic) [0x00000] in <filename unknown>:0
  at System.Activator.CreateInstance (System.Type type) [0x00000] in <filename unknown>:0
  at Verse.DesignationCategoryDef.ResolveDesignators () [0x00000] in <filename unknown>:0
Verse.Log:Error(String)
Verse.DesignationCategoryDef:ResolveDesignators()
Verse.DesignationCategoryDef:<ResolveReferences>m__0()
Verse.LongEventHandler:ExecuteToExecuteWhenFinished()
Verse.LongEventHandler:UpdateCurrentAsynchronousEvent()
Verse.LongEventHandler:LongEventsUpdate(Boolean&)
Verse.Root:Update_Patch1(Object)
Verse.Root_Entry:Update()



Could not execute post-long-event action. Exception: System.TypeInitializationException: An exception was thrown by the type initializer for CompVehicle.HarmonyCompVehicle ---> System.Reflection.ReflectionTypeLoadException: The classes in the module cannot be loaded.
  at (wrapper managed-to-native) System.Reflection.Assembly:GetTypes (bool)
  at System.Reflection.Assembly.GetTypes () [0x00000] in <filename unknown>:0
  at Harmony.AccessTools+<>c.<TypeByName>b__1_0 (System.Reflection.Assembly x) [0x00000] in <filename unknown>:0
  at System.Linq.Enumerable+<CreateSelectManyIterator>c__Iterator12`2[System.Reflection.Assembly,System.Type].MoveNext () [0x00000] in <filename unknown>:0
  at System.Linq.Enumerable.First[Type] (IEnumerable`1 source, System.Func`2 predicate, Fallback fallback) [0x00000] in <filename unknown>:0
  at System.Linq.Enumerable.FirstOrDefault[Type] (IEnumerable`1 source, System.Func`2 predicate) [0x00000] in <filename unknown>:0
  at Harmony.AccessTools.TypeByName (System.String name) [0x00000] in <filename unknown>:0
  at CompVehicle.HarmonyCompVehicle..cctor () [0x00000] in <filename unknown>:0
  --- End of inner exception stack trace ---
  at (wrapper managed-to-native) System.Runtime.CompilerServices.RuntimeHelpers:RunClassConstructor (intptr)
  at System.Runtime.CompilerServices.RuntimeHelpers.RunClassConstructor (RuntimeTypeHandle type) [0x00000] in <filename unknown>:0
  at Verse.StaticConstructorOnStartupUtility.CallAll () [0x00000] in <filename unknown>:0
  at Verse.PlayDataLoader.<DoPlayLoad>m__2 () [0x00000] in <filename unknown>:0
  at Verse.LongEventHandler.ExecuteToExecuteWhenFinished () [0x00000] in <filename unknown>:0
Verse.Log:Error(String)
Verse.LongEventHandler:ExecuteToExecuteWhenFinished()
Verse.LongEventHandler:UpdateCurrentAsynchronousEvent()
Verse.LongEventHandler:LongEventsUpdate(Boolean&)
Verse.Root:Update_Patch1(Object)
Verse.Root_Entry:Update()


Thanks!

fyarn

Quote from: deus-misereatur on February 01, 2018, 11:59:18 AM
Is the GitHub download up-to-date? The dll is posting me some errors:
...
Thanks!

Oops! That's fixed, thanks for pointing it out!

deus-misereatur


Simstu

Hey guys, don't you know if it will work for A17?

Canute

No it don't work, some syntax/spelling was changed from A17 to B18.

fyarn


Simstu