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 - Artsy Anthony

#1
This is how the path to the sculptures is structured though, so there was and is no direct path to the images in the .xml. Works fine. (Added the Art section in the path while troubleshooting after making the main post, please disregard that)

#2
Help / Re: Additional art sculptures mod & coding noob
September 23, 2021, 11:37:20 AM
Alright so out of frustration I renamed the GreekSculptureTerror map to the Dutch word for monkey: 'aap' and changed the xml accordingly and now it works. I am at a loss...

I would still like to know why this went wrong, could it be that the game searches for any map with GreekSculpture in the name? Like using google scholar to type stress* and finding result for the word stress and every other extention like stressors?
#3
Help / Re: Additional art sculptures mod & coding noob
September 23, 2021, 11:27:45 AM
Right, I should probably give more context.

Standard sculpture textures are in Greek Sculptures/Textures/Things/Building/GreekSculpture
Terror sculpture textures are in Greek Sculptures/Textures/Things/Building/GreekSculptureTerror

Adding the terror sculptures to the GreekSculpture map does fix the error but makes the terror sculptures buildable as normal sculptures too. I want them to be separate, just like the terror sculptures in the vanilla game are.
#4
Help / Re: Additional art sculptures mod & coding noob
September 23, 2021, 09:30:03 AM
Despite my lack of coding experience, I'm not sure you understood my post correctly. The custom textures I created work ingame. Unless sprites and textures are two completely unrelated things, which I doubt.

The only thing that seems to be a problem is the Unity2D line popping up in the debug every so often.

Edit: After looking at the terror statue texpath and the error, it seems the game isn't looking at the correct folder for the terror statues, why is that?
#5
Hi everyone!

Let me start with a disclaimer: this is my first time doing something like this.

I'm trying to create a mod that adds new art to the game, Greek sculptures in particular (so be warned for some ancient nudity, tasteful nudity though, in my opinion.). I've created the textures and copied and changed the .xml files for art (standard and terror). The art bench job, textures, descriptions and hitpoints etc. all seem to work ingame on a surface level (minus the textures still needing some minor adjustments to correctly fit on a tile, draw size etc.).

Now without copying those .xml files this project would be dead in the water as I have no real coding experience. The basics like descriptions and the path to the textures were easy to grasp but I have arrived at a point where I can't continue without help.

The issue: the game is throwing me the errors I have attached to this post. I'm at a loss at how to fix this, so I hope someone can help me figure this out. Please note that my only coding experience was building a shitty html website back in high school. I'd be happy to learn a bit though.

I hope I was able to give enough information to work with, if not, shoot me a message!

Edit: here is the error code:
RimWorld 1.3.3117 rev669
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Message (string)
RimWorld.VersionControl:LogVersionNumber ()
Verse.Root:CheckGlobalInit ()
Verse.Root:Start ()
Verse.Root_Entry:Start ()

Could not load UnityEngine.Texture2D at Things/Building/GreekSculpture/TerrorStatueA in any active mod or in base resources.
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Error (string)
Verse.ContentFinder`1<UnityEngine.Texture2D>:Get (string,bool)
Verse.Graphic_Single:Init (Verse.GraphicRequest)
Verse.GraphicDatabase:GetInner<Verse.Graphic_Single> (Verse.GraphicRequest)
Verse.GraphicDatabase:Get (System.Type,string,UnityEngine.Shader,UnityEngine.Vector2,UnityEngine.Color,UnityEngine.Color,Verse.GraphicData,System.Collections.Generic.List`1<Verse.ShaderParameter>,string)
Verse.Graphic_Collection:Init (Verse.GraphicRequest)
Verse.GraphicDatabase:GetInner<Verse.Graphic_Random> (Verse.GraphicRequest)
Verse.GraphicDatabase:Get (System.Type,string,UnityEngine.Shader,UnityEngine.Vector2,UnityEngine.Color,UnityEngine.Color,Verse.GraphicData,System.Collections.Generic.List`1<Verse.ShaderParameter>,string)
Verse.GraphicData:Init ()
Verse.GraphicData:get_Graphic ()
Verse.ThingDef:<PostLoad>b__311_0 ()
Verse.LongEventHandler:ExecuteToExecuteWhenFinished ()
Verse.LongEventHandler:UpdateCurrentAsynchronousEvent ()
Verse.LongEventHandler:LongEventsUpdate (bool&)
Verse.Root:Update ()
Verse.Root_Entry:Update ()

Could not load UnityEngine.Texture2D at Things/Building/GreekSculpture/TerrorStatueB in any active mod or in base resources.
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Error (string)
Verse.ContentFinder`1<UnityEngine.Texture2D>:Get (string,bool)
Verse.Graphic_Single:Init (Verse.GraphicRequest)
Verse.GraphicDatabase:GetInner<Verse.Graphic_Single> (Verse.GraphicRequest)
Verse.GraphicDatabase:Get (System.Type,string,UnityEngine.Shader,UnityEngine.Vector2,UnityEngine.Color,UnityEngine.Color,Verse.GraphicData,System.Collections.Generic.List`1<Verse.ShaderParameter>,string)
Verse.Graphic_Collection:Init (Verse.GraphicRequest)
Verse.GraphicDatabase:GetInner<Verse.Graphic_Random> (Verse.GraphicRequest)
Verse.GraphicDatabase:Get (System.Type,string,UnityEngine.Shader,UnityEngine.Vector2,UnityEngine.Color,UnityEngine.Color,Verse.GraphicData,System.Collections.Generic.List`1<Verse.ShaderParameter>,string)
Verse.GraphicData:Init ()
Verse.GraphicData:get_Graphic ()
Verse.ThingDef:<PostLoad>b__311_0 ()
Verse.LongEventHandler:ExecuteToExecuteWhenFinished ()
Verse.LongEventHandler:UpdateCurrentAsynchronousEvent ()
Verse.LongEventHandler:LongEventsUpdate (bool&)
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.GlobalTextureAtlasManager.TryInsertStatic (Verse.TextureAtlasGroup group, UnityEngine.Texture2D texture, UnityEngine.Texture2D mask) [0x00000] in <b64badbf3c3d41018b3ca5d3e8c77771>:0
  at Verse.Graphic_Single.TryInsertIntoAtlas (Verse.TextureAtlasGroup groupKey) [0x00036] in <b64badbf3c3d41018b3ca5d3e8c77771>:0
  at Verse.Graphic_Collection.TryInsertIntoAtlas (Verse.TextureAtlasGroup groupKey) [0x0000b] in <b64badbf3c3d41018b3ca5d3e8c77771>:0
  at Verse.ThingDef.<PostLoad>b__311_0 () [0x00043] in <b64badbf3c3d41018b3ca5d3e8c77771>:0
  at Verse.LongEventHandler.ExecuteToExecuteWhenFinished () [0x0007c] in <b64badbf3c3d41018b3ca5d3e8c77771>:0
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Error (string)
Verse.LongEventHandler:ExecuteToExecuteWhenFinished ()
Verse.LongEventHandler:UpdateCurrentAsynchronousEvent ()
Verse.LongEventHandler:LongEventsUpdate (bool&)
Verse.Root:Update ()
Verse.Root_Entry:Update ()

Could not load UnityEngine.Texture2D at Things/Building/GreekSculpture/TerrorStatueA in any active mod or in base resources.
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Error (string)
Verse.ContentFinder`1<UnityEngine.Texture2D>:Get (string,bool)
Verse.Graphic_Single:Init (Verse.GraphicRequest)
Verse.GraphicDatabase:GetInner<Verse.Graphic_Single> (Verse.GraphicRequest)
Verse.GraphicDatabase:Get (System.Type,string,UnityEngine.Shader,UnityEngine.Vector2,UnityEngine.Color,UnityEngine.Color,Verse.GraphicData,System.Collections.Generic.List`1<Verse.ShaderParameter>,string)
Verse.Graphic_Collection:Init (Verse.GraphicRequest)
Verse.GraphicDatabase:GetInner<Verse.Graphic_Random> (Verse.GraphicRequest)
Verse.GraphicDatabase:Get (System.Type,string,UnityEngine.Shader,UnityEngine.Vector2,UnityEngine.Color,UnityEngine.Color,Verse.GraphicData,System.Collections.Generic.List`1<Verse.ShaderParameter>,string)
Verse.GraphicData:Init ()
Verse.GraphicData:get_Graphic ()
Verse.ThingDef:<PostLoad>b__311_0 ()
Verse.LongEventHandler:ExecuteToExecuteWhenFinished ()
Verse.LongEventHandler:UpdateCurrentAsynchronousEvent ()
Verse.LongEventHandler:LongEventsUpdate (bool&)
Verse.Root:Update ()
Verse.Root_Entry:Update ()

Could not load UnityEngine.Texture2D at Things/Building/GreekSculpture/TerrorStatueB in any active mod or in base resources.
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Error (string)
Verse.ContentFinder`1<UnityEngine.Texture2D>:Get (string,bool)
Verse.Graphic_Single:Init (Verse.GraphicRequest)
Verse.GraphicDatabase:GetInner<Verse.Graphic_Single> (Verse.GraphicRequest)
Verse.GraphicDatabase:Get (System.Type,string,UnityEngine.Shader,UnityEngine.Vector2,UnityEngine.Color,UnityEngine.Color,Verse.GraphicData,System.Collections.Generic.List`1<Verse.ShaderParameter>,string)
Verse.Graphic_Collection:Init (Verse.GraphicRequest)
Verse.GraphicDatabase:GetInner<Verse.Graphic_Random> (Verse.GraphicRequest)
Verse.GraphicDatabase:Get (System.Type,string,UnityEngine.Shader,UnityEngine.Vector2,UnityEngine.Color,UnityEngine.Color,Verse.GraphicData,System.Collections.Generic.List`1<Verse.ShaderParameter>,string)
Verse.GraphicData:Init ()
Verse.GraphicData:get_Graphic ()
Verse.ThingDef:<PostLoad>b__311_0 ()
Verse.LongEventHandler:ExecuteToExecuteWhenFinished ()
Verse.LongEventHandler:UpdateCurrentAsynchronousEvent ()
Verse.LongEventHandler:LongEventsUpdate (bool&)
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.GlobalTextureAtlasManager.TryInsertStatic (Verse.TextureAtlasGroup group, UnityEngine.Texture2D texture, UnityEngine.Texture2D mask) [0x00000] in <b64badbf3c3d41018b3ca5d3e8c77771>:0
  at Verse.Graphic_Single.TryInsertIntoAtlas (Verse.TextureAtlasGroup groupKey) [0x00036] in <b64badbf3c3d41018b3ca5d3e8c77771>:0
  at Verse.Graphic_Collection.TryInsertIntoAtlas (Verse.TextureAtlasGroup groupKey) [0x0000b] in <b64badbf3c3d41018b3ca5d3e8c77771>:0
  at Verse.ThingDef.<PostLoad>b__311_0 () [0x00043] in <b64badbf3c3d41018b3ca5d3e8c77771>:0
  at Verse.LongEventHandler.ExecuteToExecuteWhenFinished () [0x0007c] in <b64badbf3c3d41018b3ca5d3e8c77771>:0
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Error (string)
Verse.LongEventHandler:ExecuteToExecuteWhenFinished ()
Verse.LongEventHandler:UpdateCurrentAsynchronousEvent ()
Verse.LongEventHandler:LongEventsUpdate (bool&)
Verse.Root:Update ()
Verse.Root_Entry:Update ()


And here is my .xml file:
<?xml version="1.0" encoding="utf-8"?>
<Defs>
  <ThingDef ParentName="SculptureBase">
    <defName>GreekSculpture</defName>
    <label>Greek Sculpture</label>
    <description>A sculpture of the female form not unlike those made by the Ancient Greek more than 5000 years ago.</description>
    <graphicData>
      <graphicClass>Graphic_Random</graphicClass>
      <texPath>Things/Building/GreekSculpture</texPath>
      <drawSize>(3,3)</drawSize>
      <drawRotated>false</drawRotated>
    </graphicData>
    <fillPercent>0.5</fillPercent>
    <rotatable>false</rotatable>
    <statBases>
      <MaxHitPoints>150</MaxHitPoints>
      <Mass>7</Mass>
      <Beauty>100</Beauty>
      <WorkToMake>30000</WorkToMake>
    </statBases>
    <stuffCategories>
      <li>Metallic</li>
      <li>Woody</li>
      <li>Stony</li>
    </stuffCategories>
    <costStuffCount>100</costStuffCount>
    <minifiedDef>MinifiedThing</minifiedDef>
  </ThingDef>
<ThingDef ParentName="SculptureBase">
    <defName>GreekSculptureTerror</defName>
    <label>Greek Terror Sculpture</label>
    <description>A person-sized Greek sculpture shaped in a plaintive and oppressive form. Slaves who spend time around it will feel terror, which makes them stay suppressed for longer and thus reduces slave rebellions.</description>
    <castEdgeShadows>true</castEdgeShadows>
    <graphicData>
      <graphicClass>Graphic_Random</graphicClass>
      <texPath>Things/Building/GreekSculptureTerror</texPath>
      <drawSize>(3,3)</drawSize>
    </graphicData>
    <fillPercent>0.5</fillPercent>
    <rotatable>false</rotatable>
    <statBases>
      <MaxHitPoints>150</MaxHitPoints>
      <Mass>7</Mass>
      <Beauty>-5</Beauty>
      <WorkToMake>30000</WorkToMake>
      <TerrorSource MayRequire="Ludeon.RimWorld.Ideology">0</TerrorSource>
    </statBases>
    <stuffCategories>
      <li>Metallic</li>
      <li>Woody</li>
      <li>Stony</li>
    </stuffCategories>
    <costStuffCount>100</costStuffCount>
  </ThingDef>
</Defs>


Edit 2:After looking at the terror statue texpath and the error, it seems the game isn't looking at the correct folder for the terror statues, why is that?