Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - shadowstitch

#31
Outdated / Re: [A17] Remove eat without table debuff
August 28, 2017, 06:20:15 PM
Thanks, Faltonico. Since a17 encourages the use of Patches, this is a much better option for me.
I've added it to my list of delicious tweaks for my own private use.
#32
Just thought I'd mention, if this hasn't been brought up before, that the stuff categories on the eel leather and squid leather causes some strange combinations on the tailoring table. They're butchered as leather, but the game wants to treat them as fabric, so you can make pretty much any article of clothing out of them. Is this intentional? I just thought it was a little strange.

If you change the stuffProps/categories/Fabric to stuffProps/categories/Leathery in ThingDefsMisc.xml, the squid and eel leather show up in the crafting lists with the other leathers, instead of appearing in a dropdown with the cloths and wools.
#33
Quote from: Tenshi~Akari on July 29, 2017, 10:32:10 AM
Quote from: Linq on July 13, 2017, 12:57:35 AM
It seems like closing a vent with Better Vents results in an NRE error being thrown repeatedly.


Exception printing Vent1543026 at (139, 0, 161): System.NullReferenceException: Object reference not set to an instance of an object
  at Verse.Printer_Plane.PrintPlane (Verse.SectionLayer layer, Vector3 center, Vector2 size, UnityEngine.Material mat, Single rot, Boolean flipUv, UnityEngine.Vector2[] uvs, UnityEngine.Color32[] colors, Single topVerticesAltitudeBias) [0x00000] in <filename unknown>:0
  at Verse.Graphic.Print (Verse.SectionLayer layer, Verse.Thing thing) [0x00000] in <filename unknown>:0
  at Verse.Thing.Print (Verse.SectionLayer layer) [0x00000] in <filename unknown>:0
  at Verse.ThingWithComps.Print (Verse.SectionLayer layer) [0x00000] in <filename unknown>:0
  at Verse.SectionLayer_ThingsGeneral.TakePrintFrom (Verse.Thing t) [0x00000] in <filename unknown>:0
Verse.Log:Error(String)
Verse.SectionLayer_ThingsGeneral:TakePrintFrom(Thing)
Verse.SectionLayer_Things:Regenerate()
Verse.Section:RegenerateLayers(MapMeshFlag)
Verse.MapDrawer:TryUpdateSection(Section)
Verse.MapDrawer:MapMeshDrawerUpdate_First()
Verse.Map:MapUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()


Just ran across this very same issue, vents will close, but they disappear & this red error pops up.

I stumbled across this myself tonight, thought I'd check to make sure it was reported.
I thought maybe it was something I'd done with my puttering, so I tried a brand new game, no mods enabled except a fresh copy of Bettervents 1.4 and Hugslib. Still occurs.
You can place a vent on the wall, and it has a A17 style "close vent" toggle switch that needs a pawn to come flick it.
When they flick it, the vent becomes invisible and the following error pops up in the log.


Initializing new game with mods Core, HugsLib, and BetterVents-BetterVents1.4
Verse.Log:Message(String)
Verse.Game:InitNewGame()
Verse.Root_Play:<Start>m__855()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__851()

Failed to find any texture while constructing Multi(initPath=Things/Building/Misc/TempControl/VentB_Off, color=RGBA(1.000, 1.000, 1.000, 1.000), colorTwo=RGBA(1.000, 1.000, 1.000, 1.000))
Verse.Log:Error(String)
Verse.Graphic_Multi:Init(GraphicRequest)
Verse.GraphicDatabase:GetInner(GraphicRequest)
Verse.GraphicDatabase:Get(Type, String, Shader, Vector2, Color, Color, GraphicData)
Verse.GraphicDatabase:Get(Type, String, Shader, Vector2, Color, Color)
RimWorld.CompFlickable:get_CurrentGraphic()
RimWorld.Building_Vent:get_Graphic()
Verse.Thing:Print(SectionLayer)
Verse.ThingWithComps:Print(SectionLayer)
Verse.SectionLayer_ThingsGeneral:TakePrintFrom(Thing)
Verse.SectionLayer_Things:Regenerate()
Verse.Section:RegenerateLayers(MapMeshFlag)
Verse.MapDrawer:TryUpdateSection(Section)
Verse.MapDrawer:MapMeshDrawerUpdate_First()
Verse.Map:MapUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()

Exception printing Vent60993 at (137, 0, 118): System.NullReferenceException: Object reference not set to an instance of an object
  at Verse.Printer_Plane.PrintPlane (Verse.SectionLayer layer, Vector3 center, Vector2 size, UnityEngine.Material mat, Single rot, Boolean flipUv, UnityEngine.Vector2[] uvs, UnityEngine.Color32[] colors, Single topVerticesAltitudeBias) [0x00000] in <filename unknown>:0
  at Verse.Graphic.Print (Verse.SectionLayer layer, Verse.Thing thing) [0x00000] in <filename unknown>:0
  at Verse.Thing.Print (Verse.SectionLayer layer) [0x00000] in <filename unknown>:0
  at Verse.ThingWithComps.Print (Verse.SectionLayer layer) [0x00000] in <filename unknown>:0
  at Verse.SectionLayer_ThingsGeneral.TakePrintFrom (Verse.Thing t) [0x00000] in <filename unknown>:0
Verse.Log:Error(String)
Verse.SectionLayer_ThingsGeneral:TakePrintFrom(Thing)
Verse.SectionLayer_Things:Regenerate()
Verse.Section:RegenerateLayers(MapMeshFlag)
Verse.MapDrawer:TryUpdateSection(Section)
Verse.MapDrawer:MapMeshDrawerUpdate_First()
Verse.Map:MapUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()


If you remember where the vent is on the wall, you can select it and order a pawn to open it back up again, at which point it reappears.
I tried swapping out Bettervents for Redistheat v47a, and those vents do not vanish, because those vents apparently still use the older function where the player can choose to manually toggle a vent and a big red x appears on it, A16 style, as opposed to the new flickable A17 style.
So I guess it looks like A17 requires a graphic for closed vents that isn't present in Bettervents?
#34
AngleWyrm, skullywag, thank you.

I had read through the documentation so many times my eyes were bleeding, and in all the examples, creating an entirely new parent node under a thingdef was never explicitly addressed; I assumed if you added a record with values that it would automatically add the declared path, not just look for the path to only insert values under it. It took me a minute to really wrap my head around the fact that this operation just adds a dumb string -- I was apparently giving the operations too much credit and overthinking it. I changed the add code to this:


<Operation Class="PatchOperationAdd">
<xpath>/Defs/ThingDef[defName = "Vent"]</xpath>
<value>
    <stuffCategories>
      <li>Metallic</li>
      <li>Woody</li>
      <li>Stony</li>
    </stuffCategories>
    <costStuffCount>30</costStuffCount>
</value>
</Operation>


This may not be the INTENDED syntax, like, I don't know if I should be adding the subnode in one operation to declare it properly, then adding the values in another operation, but this seems to be working. Thanks for the guidance!
#35
Okay, I'm stumped. Which isn't hard, admittedly, but I've tried doing my homework here, reading documentation and forum posts and I cannot figure out what I'm doing wrong. I'm hoping someone with better eyes and a bigger brain can take pity on me and help.

I'm trying to make a very simple change, (for personal preference usage only, not trying to steal anyone's work.)
In Latta/Skullywag's "Better Vents," I discovered that you could change the costlist to a stuffcategories/stufflist and make the vents out of any stuff you want.
In a16 this was easy enough, since all you had to do was make the change in the Buildings_Temperature.xml thingdef. Worked like a charm.
In a17, it's considerably more complicated, because patches. Better Vents now works all its magic on the core xml with a patch, and even though the existing patch is right there in front of me as an example, I can't get my little changes to work. I get red errors in log on load. If I change the core def directly, it appears to work perfectly with no errors, but I'm trying to play by the rules and use patches as they are intended.

What I'm trying to change is this:

I want to take the core Buildings.Temperature.xml, and mess with this thingdef:


<ThingDef ParentName="BuildingBase">
<defName>Vent</defName>
<label>vent</label>
<thingClass>Building_Vent</thingClass>
                ~~~snip~~~


down in its defs, I want to  change:


<costList>
<Steel>30</Steel>
</costList>

to:

    <stuffCategories>
          <li>Metallic</li>
          <li>Woody</li>
  <li>Stony</li>
    </stuffCategories>
    <costStuffCount>30</costStuffCount>


This is what I have in my patch, which doesn't work:


<Operation Class="PatchOperationAdd">
<xpath>/Defs/ThingDef[defName = "Vent"]/stuffCategories</xpath>
<value>
<li>Metallic</li>
         <li>Woody</li>
     <li>Stony</li>
</value>
</Operation>

<Operation Class="PatchOperationAdd">
<xpath>/Defs/ThingDef[defName = "Vent"]/costStuffCount</xpath>
<value> 30 </value>
</Operation>

<Operation Class="PatchOperationRemove">
<xpath>/Defs/ThingDef[defName = "Vent"]/costList</xpath>
</Operation>


I get this error in the log when I try to run it, so I ASSUME my code to snip the costlist is working, but the other 2 add-ons are wrong somehow. I tried a PatchOperationInsert as well, attempting to follow the syntax guidelines, but that didn't work either -- if that's what I need to use, I'm certainly not doing it right.


[BetterVents] Patch operation Verse.PatchOperationAdd(/Defs/ThingDef[defName = "Vent"]/stuffCategories) failed
Verse.Log:Error(String)
Verse.PatchOperation:Complete(String)
Verse.LoadedModManager:LoadAllActiveMods()
Verse.PlayDataLoader:DoPlayLoad()
Verse.PlayDataLoader:LoadAllPlayData(Boolean)
Verse.Root:<Start>m__853()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__851()

[BetterVents] Patch operation Verse.PatchOperationAdd(/Defs/ThingDef[defName = "Vent"]/costStuffCount) failed
Verse.Log:Error(String)
Verse.PatchOperation:Complete(String)
Verse.LoadedModManager:LoadAllActiveMods()
Verse.PlayDataLoader:DoPlayLoad()
Verse.PlayDataLoader:LoadAllPlayData(Boolean)
Verse.Root:<Start>m__853()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__851()


I'm following the same procedure as the existing operations in the patch, and to the best of my understanding, I'm performing the same sort of operations, but mine are not accepted for some reason. Can someone please teach me the error of my ways?
#36
Pretty sure the Conduits and Thermals still (sort of) work in A17, tested in a godmode sandbox.
They throw up some minor errors but still function as far as I can tell.
The batteries, turbines, and solars do not work at all.
#37
Outdated / Re: [A17] cuproPanda's Mods (07 Aug 17)
August 07, 2017, 02:02:21 PM
I know it's a big request, but I'm still holding my breath for adding sand-to-glass recipes.
I tried to do this, without even considering dig spots:

  • add a recipe for the stonecutting table to make sand from stone chunks
  • change the recipe for sandbags to use sand instead
  • add a recipe to make glass from sand at the furnace/smelter
  • change the recipe for windows and lights to use glass
But I'm just not familiar enough with the new xpathing/patching to even do a simple thing like this properly.
I'm not even sure adding a new resource like that can be done without a dll assembly. I'm just an amateur hedge modder.
#38
Outdated / Re: [A16] Old style research menu
August 06, 2017, 10:30:35 PM
Thirded. I'd prefer a plain list view to the complication (and problems it invites) of ResearchPal.
#39
Outdated / Re: [A17] cuproPanda's Mods (17 Jun 17)
June 19, 2017, 05:18:35 AM
Quote from: cuproPanda on June 18, 2017, 03:12:38 PM
CorePanda will return in A18, but there will only be shared code. The tables are available in Powerless, and the universal racks are just the standard vanilla racks now. The sinks were way too buggy, and any implementation I do would just be a replication of the ones found in Dub's Hygiene.

Oh, great! I didn't know about the racks since I haven't really TRIED A17 yet, but with this new crop of mods I'm about to give it a shot. Thanks again!

I'm actually surprised the game didn't launch with a thirst mechanic; Rimworld is a survival game, and survival is all about food, water, and shelter, right? Collecting, purifying, and maintaining a water source is just as important as batteries or beer. 

I also hadn't stumbled across Dub's Hygiene mod until you mentioned it. It seems quite comprehensive, and frankly, it's the sort of thing I would have thought vanilla Rimworld would have developed long before introducing drugs or caravans.

I noticed that your CP Windows uses steel, but can patch to use the "glass" from jacob814's "Glass + Lights", which is in turn made from stone chunks (using yet ANOTHER set of workbenches).
Any chance we'll see a return of your "sand" resource? I.E., Digging it up from sandy spots or creating it with a quern/stone cutting table, then using it to craft glass for windows/lights at a furnace/smelter (or just replace steel for making defensive sandbags)?
#40
Has anyone tested JTHomemadeBionics in a17 yet?
If not, I'll try it out. It seems fairly low-impact, so it might not need much tweaking.
#41
Outdated / Re: [A17] cuproPanda's Mods (17 Jun 17)
June 18, 2017, 02:40:53 AM
Oh man, I skipped out on a17 for a few weeks to let the mod scene simmer, and boy am I glad I did. I'm SO HAPPY to see the cupro mods come back again! Thank you, thank you, thank you!

I'm definitely in the "Bring water back" camp. I miss wells and sinks and rainbarrels and bottled water; with the new river system, it seems like this functionality would be even MORE versatile and valuable.

I see some of the Corepanda stuff being implemented elsewhere, but I'd love to see the Cupro furniture make a comeback. I've been using surrogate mods, when available, for the stuff I can't live without, but I still miss the Cupro originals like the single-person table and the universal rack.
#42
I noticed that pathlight error as well, only AFTER peppering the perimeter of my base with the things.
It's a really cool idea, shame they aren't fully functional yet. Ended up just removing the thingdef entirely so I wouldn't be tempted.

CuproPanda had a lovely chandelier restricted to building under roof tiles, and you could still put things under it, but he was using a couple custom placeworkers in the assembly. Since CCL is still unfortunately out of date, and the vanilla game curiously doesn't contain an inverse of "placeworker_notunderroof", I changed:

    <altitudeLayer>Building</altitudeLayer>
    <passability>PassThroughOnly</passability>

in the def to:

    <altitudeLayer>MoteOverhead</altitudeLayer>
    <passability>Standable</passability>

It's kind of exploity, because I can place the ceiling lamp anywhere, even floating in midair outside, but that's the tradeoff for a functional overhead ceiling light.
Just have to resist the temptation to abuse it -- easier than compiling a dll to fix it.  ;)
#43
Outdated / Re: [A16] DeadMansClothing (V 0.16.1)
April 15, 2017, 03:07:08 PM
Thanks for this, another necessary mod to undo some totally needless additions.

Oh sure, we don't have sand for sandbags or glass, or water for drinking/cleaning/bathing, or plumbing for sinks and bathrooms, or even fences for animals, but we sure do have a comprehensive drug production feature and tainted clothes!

Sometimes Tynan's development priorities baffle me.
#44
I also count myself among the people who truly miss these mods.

I considered the CP mods to be all but required after using them in a14-a15. Just about everything it added felt like it should have been in vanilla. I'm trying A16, and I just can't get used to playing without it; I find myself going back to a15 because the game just feels incomplete now.

I've gathered a few mods to help fill in the gaps, but it's still not the same. I miss not having dig spots, sand for sandbags, and the glass for windows, bottles, and lights. Why are we making sandbags out of steel? Basic things like wells, water, storage racks, toggled vents and sinks should be part of the base game, no question. Besides the core additions, I sorely miss Expanded Power. The insulated batteries and conduit were brilliant, and none of the substitutes I've found really measure up. At least we got a semi-standalone Additional Joy Objects as a consolation.
#45
Your port of Latta's vents doesn't appear to include Redistheat's functionality to open/close the vents manually. Is this intentional, or just something that didn't make the transition? Would you consider adding that functionality back in, if possible?

Also, I found it was easy enough to replace the <costlist> in your BetterVents with a <coststuffcount> to make stuffed vents an option. I don't think this has any consequences that I've seen thus far. Thanks!