[1.0] TD Enhancement Pack

Started by Uuugggg, March 23, 2018, 03:19:55 AM

Previous topic - Next topic

Uuugggg

TD Enhancement Pack

Description:
Various little things that just should be in the game.

Check Steam for full feature list, but a few examples:
   
- Overlays for buildable areas, terrain fertility, that pop up when you need it
- Area copy/paste, reordering, coloring
- Mouseover info on the top right
- ZOOM TO MOUSE
- Like, so many more things, everyone

Debug features moved into TDBug

Download
Steam: http://steamcommunity.com/sharedfiles/filedetails/?id=1339135272
GitHub release: https://github.com/alextd/RimWorld-EnhancementPack/releases

Uuugggg

Big updates. Updated description.

Everyone should want this.

Entw1ne

Very neat looking mod, especially like overlays, level-up arrows, and messages in real-time.

Any idea if there are conflicts with any of the major mods out there?

Uuugggg

I imagine this could only conflict with a mod that does the same thing.

( If those existed that would've been nice to know )

Mitz

i think it broke in latest 1.0 build...
It's sad autism's an insult, then i must be an insult.
and my cat also must be an insult, as well as every other cat in the universe.
space cats.

Uuugggg

B19 should have things working again

NoCanDo

Any way to add an option to make the fugly powerlines hidden?

forumgod

Option to highlight the power network (like when you click on a power node to build) and color code it depending on if it is powered and how much it has stored or power deficit and etc?

AwesomeMcAwesome

Not sure if it's this mod, but loading this makes it that I can't set mounts in the caravan screen because it shows the count (how many is available to bring) instead of the usual designate mount option. Disabling this mod fixes the problem

Eep

Downloaded latest version from https://github.com/alextd/RimWorld-EnhancementPack ("Clone or download" since I see no other way to download it) but Mod Manager says it has no version # and debug log shows:

Could not find a type named TD_Enhancement_Pack.Designator_AddMatch_Growing
Verse.Log:Error(String, Boolean)
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.DirectXmlLoader:DefFromNode(XmlNode, LoadableXmlAsset)
Verse.LoadedModManager:ParseAndProcessXML(XmlDocument, Dictionary`2)
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 type named TD_Enhancement_Pack.ThinkNode_ConditionalCanDoDraftedConstantThinkTreeJobNow from node <li Class="TD_Enhancement_Pack.ThinkNode_ConditionalCanDoDraftedConstantThinkTreeJobNow"><subNodes><!-- Flee explosion --><li Class="JobGiver_FleePotentialExplosion" /></subNodes></li>
Verse.Log:Error(String, Boolean)
Verse.DirectXmlToObject:ClassTypeOf(XmlNode)
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.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.DirectXmlLoader:DefFromNode(XmlNode, LoadableXmlAsset)
Verse.LoadedModManager:ParseAndProcessXML(XmlDocument, Dictionary`2)
Verse.LoadedModManager:LoadAllActiveMods()
Verse.PlayDataLoader:DoPlayLoad()
Verse.PlayDataLoader:LoadAllPlayData(Boolean)
Verse.Root:<Start>m__1()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__1()

Exception loading list from XML: System.MissingMethodException: Cannot create an abstract class 'Verse.AI.ThinkNode'.
  at System.Activator.CheckAbstractType (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.DirectXmlToObject.ObjectFromXml[ThinkNode] (System.Xml.XmlNode xmlRoot, Boolean doPostLoad) [0x00000] in <filename unknown>:0
  at Verse.DirectXmlToObject.ListFromXml[ThinkNode] (System.Xml.XmlNode listRootNode) [0x00000] in <filename unknown>:0
XML:
<subNodes><li Class="TD_Enhancement_Pack.ThinkNode_ConditionalCanDoDraftedConstantThinkTreeJobNow"><subNodes><!-- Flee explosion --><li Class="JobGiver_FleePotentialExplosion" /></subNodes></li><li Class="ThinkNode_ConditionalCanDoConstantThinkTreeJobNow"><subNodes><!-- Flee explosion --><li Class="JobGiver_FleePotentialExplosion" /><!-- Join auto joinable caravan --><li Class="ThinkNode_Subtree"><treeDef>JoinAutoJoinableCaravan</treeDef></li><!-- Hostility response --><li Class="JobGiver_ConfigurableHostilityResponse" /><!-- Lord directives --><li Class="ThinkNode_Subtree"><treeDef>LordDutyConstant</treeDef></li></subNodes></li></subNodes>
Verse.Log:Error(String, 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.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.DirectXmlLoader:DefFromNode(XmlNode, LoadableXmlAsset)
Verse.LoadedModManager:ParseAndProcessXML(XmlDocument, Dictionary`2)
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 TD_Enhancement_Pack.TransferableComparer_ValuePerMass
Verse.Log:Error(String, Boolean)
Verse.ParseHelper:FromString(String, Type)
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.DirectXmlLoader:DefFromNode(XmlNode, LoadableXmlAsset)
Verse.LoadedModManager:ParseAndProcessXML(XmlDocument, Dictionary`2)
Verse.LoadedModManager:LoadAllActiveMods()
Verse.PlayDataLoader:DoPlayLoad()
Verse.PlayDataLoader:LoadAllPlayData(Boolean)
Verse.Root:<Start>m__1()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__1()


Not sure if these are TD Enhancement Pack related (this log format is HORRIBLE):

Unable to parse version string on mod  from Anonymous "Unknown"
Verse.Log:Error(String, Boolean)
Verse.ModMetaDataInternal:TryParseVersion(String, Boolean)
Verse.ModMetaDataInternal:TryParseSupportedVersions(Boolean)
Verse.ModMetaData:Init()
Verse.ModMetaData:.ctor(String)
Verse.ModLister:RebuildModList()
Verse.Steam.WorkshopItems:RebuildItemsList()
Verse.Steam.WorkshopItems:.cctor()
Verse.ModLister:RebuildModList()
Verse.ModLister:RebuildModList()
Verse.ModLister:.cctor()
Verse.<>c__Iterator0:MoveNext()
Verse.<>c__Iterator0:MoveNext()
System.Collections.Generic.List`1:AddEnumerable(IEnumerable`1)
System.Collections.Generic.List`1:.ctor(IEnumerable`1)
System.Linq.Enumerable:ToList(IEnumerable`1)
Verse.LoadedModManager:InitializeMods()
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, Boolean)
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()

Tenshi~Akari

^^Click the download link in the OP for the links through the "Releases" and redownload the updates from there. Downloading from the Master Branch gives you that error because it's not formatted in the proper file structure as those in the Releases page.

Canute

Eep,
for all Github projects, ALLWAYS check the release tab first before you download the Master.

Tocato

does this also have a temperature view? where blue represents colder areas of the map, red less so?

Uuugggg

I guess I didn't need to make a heat map since it's already a mod : https://ludeon.com/forums/index.php?topic=33647.0

anochi

Does instant Smoothing & Roofing no longer work in God Mode?