[SOLVED] Rimworld Modding Textures gone wrong

Started by Jernfalk, March 13, 2018, 01:40:43 PM

Previous topic - Next topic

Jernfalk

So, I'm trying to create a new based on the "Vent". A window.
For now, I'm just trying to change the Vent's textures to my own in order to make it testable.
I modified some values but the problem lies in the Textures.
I keep getting the following errors:
[Steamworks.NET] SteamAPI.Init() failed. Possible causes: Steam client not running, launched from outside Steam without steam_appid.txt in place, running with different privileges than Steam client (e.g. "as administrator")
Verse.Log:Warning(String)
Verse.Steam.SteamManager:InitIfNeeded()
Verse.Root:CheckGlobalInit()
Verse.Root:Start()
Verse.Root_Entry:Start()

RimWorld 0.18.1722 rev1198
Verse.Log:Message(String)
RimWorld.VersionControl:LogVersionNumber()
Verse.Root:CheckGlobalInit()
Verse.Root:Start()
Verse.Root_Entry:Start()

Failed to find any texture while constructing Multi(initPath=Things/Building/Windows, 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.GraphicData:Init()
Verse.GraphicData:get_Graphic()
Verse.ThingDef:<PostLoad>m__3()
Verse.LongEventHandler:ExecuteToExecuteWhenFinished()
Verse.LongEventHandler:UpdateCurrentAsynchronousEvent()
Verse.LongEventHandler:LongEventsUpdate(Boolean&)
Verse.Root:Update()
Verse.Root_Entry:Update()

Could not execute post-long-event action. Exception: System.NullReferenceException: Object reference not set to an instance of an object
  at Verse.BuildableDef.<PostLoad>m__0 () [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()
Verse.Root_Entry:Update()

Failed to find any texture while constructing Multi(initPath=Things/Building/Windows, color=RGBA(0.500, 0.500, 1.000, 0.350), 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.GraphicData:Init()
Verse.GraphicData:get_Graphic()
Verse.ThingDef:<PostLoad>m__3()
Verse.LongEventHandler:ExecuteToExecuteWhenFinished()
Verse.LongEventHandler:UpdateCurrentAsynchronousEvent()
Verse.LongEventHandler:LongEventsUpdate(Boolean&)
Verse.Root:Update()
Verse.Root_Entry:Update()

Could not execute post-long-event action. Exception: System.NullReferenceException: Object reference not set to an instance of an object
  at Verse.BuildableDef.<PostLoad>m__0 () [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()
Verse.Root_Entry:Update()


And this is the code so far:

<?xml version="1.0" encoding="utf-8" ?>
<Defs>

  <!--========================= Bases =============================-->

<ThingDef Name="BuildingBase" Abstract="True">
<category>Building</category>
<thingClass>Building</thingClass>
<soundImpactDefault>BulletImpactMetal</soundImpactDefault>
<selectable>true</selectable>
<drawerType>MapMeshAndRealTime</drawerType>
<terrainAffordanceNeeded>Light</terrainAffordanceNeeded>
<repairEffect>Repair</repairEffect>
<leaveResourcesWhenKilled>true</leaveResourcesWhenKilled>
<filthLeaving>BuildingRubble</filthLeaving>
<statBases>
<SellPriceFactor>0.70</SellPriceFactor>
</statBases>
</ThingDef>

  <!--========================= Windows =============================-->

<ThingDef ParentName="BuildingBase">
<defName>SimpleWindow</defName>
<label>simple window</label>
<thingClass>Building_Vent</thingClass>
<graphicData>
<texPath>Things/Building/Windows</texPath>
<graphicClass>Graphic_Multi</graphicClass>
<damageData>
<cornerTL>Damage/Corner</cornerTL>
<cornerTR>Damage/Corner</cornerTR>
<cornerBL>Damage/Corner</cornerBL>
<cornerBR>Damage/Corner</cornerBR>
</damageData>
</graphicData>
<altitudeLayer>Building</altitudeLayer>
<passability>Impassable</passability>
<blockWind>true</blockWind>
<fillPercent>0.7</fillPercent>
<coversFloor>true</coversFloor>
<holdsRoof>true</holdsRoof>
<blockLight>true</blockLight>
<castEdgeShadows>true</castEdgeShadows>
<canOverlapZones>false</canOverlapZones>
<staticSunShadowHeight>1.0</staticSunShadowHeight>
<statBases>
<WorkToBuild>200</WorkToBuild>
<MaxHitPoints>350</MaxHitPoints>
<Flammability>1.0</Flammability>
</statBases>
<tickerType>Rare</tickerType>
<description>A simple window that allows air to move freely in between rooms, as well as letting the user look outside.</description>
<costList>
<WoodLog>5</WoodLog>
</costList>
<costStuffCount>5</costStuffCount>
<terrainAffordanceNeeded>Heavy</terrainAffordanceNeeded>
<placeWorkers>
<li>PlaceWorker_Vent</li>
</placeWorkers>
<building>
<canPlaceOverWall>true</canPlaceOverWall>
</building>
<designationCategory>Structure</designationCategory>
<designationHotKey>Misc5</designationHotKey>
<comps>
<li Class="CompProperties_Flickable">
<commandTexture>Things/Building/Windows/SimpleWindow1</commandTexture>
<commandLabelKey>CommandDesignateOpenCloseVentLabel</commandLabelKey>
<commandDescKey>CommandDesignateOpenCloseVentDesc</commandDescKey>
</li>
</comps>
</ThingDef>

</Defs>


The textures for this are placed in the folder path "Textures\Things\Building\Windows" (Windows being the last folder)

Any idea of what might be causing this? How do I fix it? It's my first time trying to create a mod for Rimworld.

Jernfalk

Ok, apparently I'm just stupid.

Instead of
<texPath>Things/Building/Windows</texPath>
I should have been using
<texPath>Things/Building/Windows/SimpleWindow</texPath>