Jump to content

Recommended Posts


For eons, the human race has gone without the ability to tell what the hell that musclebound raider's gender is.

 

No longer! By simply renaming your selected textures, the fabric of reality can be shifted - molded to your whims.

 

What's this? Definition? Distinction? The possibilities end right there!

 

Grab your copy today!

 

 

Instructions:

 

Unzip into your mods folder like any other mod. Then customize your textures by replacing the examples.

 

This mod requires Harmony/Hugslib.

 

Add Clothing:

Spoiler

Simply create a copy of the texture you want to make a female variant of, and rename it by putting _fem_ in between the bodytype and the direction. Make sure you are adding all three directions when you do this though, it only actually checks for _south but there is no error handling if you don't have all three direction files.

 

Examples:

 

Male:     Naked_Thin_east.png

Female: Naked_Thin_fem_east.png

 

Male:     ShirtBasic_Thin_east.png

Female: ShirtBasic_Thin_fem_east.png

 

That's it. All there is to it.

 

 

Disclaimers:

Spoiler

The included example textures are very basic, terrible, and you should definitely replace them with your favorite ones as soon as possible. They are also NSFW, as they include bits and boobs. Mostly the latter really.

 

This mod would not be possible without "Children and Pregnancy" by Thirite of the Ludeon forums.

While most of it has changed now, the beginnings of this mod were actually evolved from C&P. It was invaluable for learning Harmony patches and finding the correct functions to hook into, so... thanks bro!

 

This mod is probably incompatible with lots of things. Most notably Children and Pregnancy (for now, see below). Worst that will happen is graphical errors though, so it's safe to try it out! Please let me know about others you find, I may or may not actually be able to fix them. ¯\_(ツ)_/¯

 

C&P is actually fine with Gender Distinction, but for some reason it absolutely refused to load it's patches before mine. Should be a real easy, one-line fix. Harmony lets you set a priority but no matter what I've tried C&P loads last. So the solution I use is adding the line to C&P and recompiling that. Spoiler below is what to change.

 

Spoiler

In Overrides/PawnRendering.cs near line 53

 

Change this:



    [HarmonyPatch(typeof(PawnGraphicSet), "ResolveApparelGraphics")]
    public static class PawnGraphicSet_ResolveApparelGraphics_Patch {
        [HarmonyPrefix]
        internal static void ResolveApparelGraphics_Patch(ref PawnGraphicSet __instance) {
            Pawn pawn = __instance.pawn;
            // Updates the beard
            if (pawn.apparel != null && pawn.apparel.BodyPartGroupIsCovered(BodyPartGroupDefOf.UpperHead) && pawn.RaceProps.Humanlike) {
                Children_Drawing.ResolveAgeGraphics(__instance);
            }
        }

 

to this:

 



    [HarmonyPatch(typeof(PawnGraphicSet), "ResolveApparelGraphics")]
    [HarmonyBefore(new string[] { "rimworld.gender_distinction" })] // < This is the added line
    public static class PawnGraphicSet_ResolveApparelGraphics_Patch {
        [HarmonyPrefix]
        internal static void ResolveApparelGraphics_Patch(ref PawnGraphicSet __instance) {
            Pawn pawn = __instance.pawn;
            // Updates the beard
            if (pawn.apparel != null && pawn.apparel.BodyPartGroupIsCovered(BodyPartGroupDefOf.UpperHead) && pawn.RaceProps.Humanlike) {
                Children_Drawing.ResolveAgeGraphics(__instance);
            }
        }

 

 

Finally, GenderDistinction is completely open source. So go ahead and use anything you need and/or want from it. If you want to reupload to Nexus or Steam or something, that'd be neat. I'd do it myself but I can't have my friends discovering I'm a degenerate. ???

 



View File

 

Link to comment
  • 4 weeks later...

tried to make custom bodytypes...for some reason they dont have heads when wearing specific clothing (mod/vanilla).

and all vanilla/mod apparel are invisible.

Spoiler

NullReferenceException: Object reference not set to an instance of an object
  at Verse.GenDraw.DrawMeshNowOrLater (UnityEngine.Mesh mesh, Vector3 loc, Quaternion quat, UnityEngine.Material mat, Boolean drawNow) [0x00000] in <filename unknown>:0 
  at Verse.PawnRenderer.RenderPawnInternal (Vector3 rootLoc, Single angle, Boolean renderBody, Rot4 bodyFacing, Rot4 headFacing, RotDrawMode bodyDrawType, Boolean portrait, Boolean headStump) [0x00000] in <filename unknown>:0 
  at Verse.PawnRenderer.RenderPortrait () [0x00000] in <filename unknown>:0 
  at RimWorld.PortraitRenderer.OnPostRender () [0x00000] in <filename unknown>:0 
UnityEngine.Camera:Render()
RimWorld.PortraitRenderer:RenderPortrait(Pawn, RenderTexture, Vector3, Single)
RimWorld.PortraitsCache:RenderPortrait(Pawn, RenderTexture, Vector3, Single)
RimWorld.PortraitsCache:Get(Pawn, Vector2, Vector3, Single)
EdB.PrepareCarefully.CustomPawn:GetPortrait(Vector2)
EdB.PrepareCarefully.PanelPawnList:DrawPanelContent(State)
EdB.PrepareCarefully.PanelBase:Draw(State)
EdB.PrepareCarefully.TabViewPawns:Draw(State, Rect)
EdB.PrepareCarefully.Page_PrepareCarefully:DoWindowContents(Rect)
Verse.<WindowOnGUI>c__AnonStorey0:<>m__0(Int32)
UnityEngine.GUI:CallWindowDelegate(WindowFunction, Int32, Int32, GUISkin, Int32, Single, Single, GUIStyle)

 

adding _fem_ to the FemaleBB BodyType break the mod completely (body is invisible)

 

well,with FemaleBB was wierd...windows somehow messed up something with the names,since i could have 2 same name png files and game simple didnt load them.

you should make so that mod use default clothes if there none with the tag available rather than ONLY with the tag or none at all. since duplicate every single apparel piece and rename them is dumb.

Link to comment
2 hours ago, Seedling said:

tried to make custom bodytypes...for some reason they dont have heads when wearing specific clothing (mod/vanilla).

and all vanilla/mod apparel are invisible.

  Hide contents

NullReferenceException: Object reference not set to an instance of an object
  at Verse.GenDraw.DrawMeshNowOrLater (UnityEngine.Mesh mesh, Vector3 loc, Quaternion quat, UnityEngine.Material mat, Boolean drawNow) [0x00000] in <filename unknown>:0 
  at Verse.PawnRenderer.RenderPawnInternal (Vector3 rootLoc, Single angle, Boolean renderBody, Rot4 bodyFacing, Rot4 headFacing, RotDrawMode bodyDrawType, Boolean portrait, Boolean headStump) [0x00000] in <filename unknown>:0 
  at Verse.PawnRenderer.RenderPortrait () [0x00000] in <filename unknown>:0 
  at RimWorld.PortraitRenderer.OnPostRender () [0x00000] in <filename unknown>:0 
UnityEngine.Camera:Render()
RimWorld.PortraitRenderer:RenderPortrait(Pawn, RenderTexture, Vector3, Single)
RimWorld.PortraitsCache:RenderPortrait(Pawn, RenderTexture, Vector3, Single)
RimWorld.PortraitsCache:Get(Pawn, Vector2, Vector3, Single)
EdB.PrepareCarefully.CustomPawn:GetPortrait(Vector2)
EdB.PrepareCarefully.PanelPawnList:DrawPanelContent(State)
EdB.PrepareCarefully.PanelBase:Draw(State)
EdB.PrepareCarefully.TabViewPawns:Draw(State, Rect)
EdB.PrepareCarefully.Page_PrepareCarefully:DoWindowContents(Rect)
Verse.<WindowOnGUI>c__AnonStorey0:<>m__0(Int32)
UnityEngine.GUI:CallWindowDelegate(WindowFunction, Int32, Int32, GUISkin, Int32, Single, Single, GUIStyle)

 

adding _fem_ to the FemaleBB BodyType break the mod completely (body is invisible)

 

well,with FemaleBB was wierd...windows somehow messed up something with the names,since i could have 2 same name png files and game simple didnt load them.

you should make so that mod use default clothes if there none with the tag available rather than ONLY with the tag or none at all. since duplicate every single apparel piece and rename them is dumb.

I can try and add better compatibility with custom bodytypes but you've described exactly how it works currently.

 

If I am understanding you correctly, you're trying to add a second gender to the FemaleBB bodytype - which is single-gender already. Like the vanilla Male and Female bodytypes there's no point in adding _fem_ to them because they can't be assigned to the opposite gender anyways.

 

Could you explain your end goal a bit more clearly?

Link to comment

i was messing with FemaleBB because i thought it was necessary for to work correctly with this mod,but apparently it isn't. tough you still can select it for males,which look weird :-)

my goal is to add TY Slender Female Body/TY Female Body to the game for females,but the only issue is it can't work wihtout me manually making EVERY vanilla/mod apparel for them aka creating 2x duplicates and renaming them(will be like 2K images and counting),which is not something i will do even at gunpoint.

Link to comment
  • 2 weeks later...
4 hours ago, earphone555 said:

how to setting the gender distinction only work for human? because it's worked on Kurin Alien Races and make it uhhh...... didn't match with the clothes their wear

 

Like most female-only races the Kurin are only ever set to have the "female" bodytype. Gender Distinction only touches pawns with the Hulk, Thin, or Fat bodytypes - so unless you changed your Kurin's bodytype with debug tools or another mod like Change Dresser they will not be affected by Gender Distinction.

 

Unfortunately, the author of the Kurin race only made clothes textures for the default female bodytype, so entirely new textures would have to be made for Hulk, Fat, and Thin in order for them to fit properly.

 

Of course I may be misunderstanding your problem, so if you want you can send me a screenshot and I'll be able to troubleshoot further.

Link to comment
  • 2 weeks later...
  • 1 month later...
18 hours ago, Andarus said:

I really can't get it to work with anything. Doens't work with Kijin and not with C&P. ._.

 

The mod doesn't need to do anything with Kijin, they're all single-bodytype already, so Gender Distinction doesn't touch them at all. The issue with C&P is unfortunately not something I can resolve on my side. If you link me the copy of C&P you are using I can post a fixed version of it for you though.

Link to comment
8 hours ago, IntelligencePending said:

 

The mod doesn't need to do anything with Kijin, they're all single-bodytype already, so Gender Distinction doesn't touch them at all. The issue with C&P is unfortunately not something I can resolve on my side. If you link me the copy of C&P you are using I can post a fixed version of it for you though.

 

I tried both C&P and BnC and I would like to get it to work with BnC.

Link to comment
34 minutes ago, IntelligencePending said:

So, theoretically, just replace the original .dll in the Assemblies folder with this new one and it should work properly. Please do let me know how it turns out.

RimWorldChildren.7z 29.73 kB · 0 downloads

Thanks, but now I get a few Errors.

 

Spoiler

Could not execute post-long-event action. Exception: System.TypeInitializationException: An exception was thrown by the type initializer for BnC_Alien_Support.Harmony_AlienRace ---> System.TypeLoadException: Could not load type 'RimWorldChildren.Children_Drawing' from assembly 'RimWorldChildren, Version=1.0.6985.5907, Culture=neutral, PublicKeyToken=null'.

 

Could not find a type named RimWorldChildren.ThoughtWorker_IsCarryingToy

 

 

Link to comment
22 hours ago, Andarus said:

Thanks, but now I get a few Errors.

 

  Reveal hidden contents

Could not execute post-long-event action. Exception: System.TypeInitializationException: An exception was thrown by the type initializer for BnC_Alien_Support.Harmony_AlienRace ---> System.TypeLoadException: Could not load type 'RimWorldChildren.Children_Drawing' from assembly 'RimWorldChildren, Version=1.0.6985.5907, Culture=neutral, PublicKeyToken=null'.

 

Could not find a type named RimWorldChildren.ThoughtWorker_IsCarryingToy

 

 

Oh. Whoops. He never updated the GitHub version, which is what I built that file from.

 

Here's the same, but for the updated Workshop version.

 

RimWorldChildren.7z

Link to comment

Something is still not working well with RJW.

 

Spoiler

Exception in rjw.ThinkNode_ConditionalHorny TryIssueJobPackage: System.NullReferenceException: Object reference not set to an instance of an object
  at rjw.SexUtility.ReadyForHookup (Verse.Pawn pawn) [0x00000] in <filename unknown>:0
  at rjw.JobGiver_JoinInBed.TryGiveJob (Verse.Pawn pawn) [0x00000] in <filename unknown>:0
  at Verse.AI.ThinkNode_JobGiver.TryIssueJobPackage (Verse.Pawn pawn, JobIssueParams jobParams) [0x00000] in <filename unknown>:0
  at Verse.AI.ThinkNode_Priority.TryIssueJobPackage (Verse.Pawn pawn, JobIssueParams jobParams) [0x00000] in <filename unknown>:0
 
 
Root level exception in OnGUI(): System.NullReferenceException: Object reference not set to an instance of an object
at rjw.xxx.is_asexual (Verse.Pawn) <0x00021>
at rjw.WorkGiver_Sexchecks.HasJobOnThing (Verse.Pawn,Verse.Thing,bool) <0x004b8>
at RimWorld.FloatMenuMakerMap.AddJobGiverWorkOrders (Verse.IntVec3,Verse.Pawn,System.Collections.Generic.List`1<Verse.FloatMenuOption>,bool) <0x0050c>
at RimWorld.FloatMenuMakerMap.AddUndraftedOrders (UnityEngine.Vector3,Verse.Pawn,System.Collections.Generic.List`1<Verse.FloatMenuOption>) <0x0036d>

 

 

When I use the unpatched Steam-Version everything is fine.

Link to comment
15 hours ago, Andarus said:

Something is still not working well with RJW.

 

  Hide contents

Exception in rjw.ThinkNode_ConditionalHorny TryIssueJobPackage: System.NullReferenceException: Object reference not set to an instance of an object
  at rjw.SexUtility.ReadyForHookup (Verse.Pawn pawn) [0x00000] in <filename unknown>:0
  at rjw.JobGiver_JoinInBed.TryGiveJob (Verse.Pawn pawn) [0x00000] in <filename unknown>:0
  at Verse.AI.ThinkNode_JobGiver.TryIssueJobPackage (Verse.Pawn pawn, JobIssueParams jobParams) [0x00000] in <filename unknown>:0
  at Verse.AI.ThinkNode_Priority.TryIssueJobPackage (Verse.Pawn pawn, JobIssueParams jobParams) [0x00000] in <filename unknown>:0
 
 
Root level exception in OnGUI(): System.NullReferenceException: Object reference not set to an instance of an object
at rjw.xxx.is_asexual (Verse.Pawn) <0x00021>
at rjw.WorkGiver_Sexchecks.HasJobOnThing (Verse.Pawn,Verse.Thing,bool) <0x004b8>
at RimWorld.FloatMenuMakerMap.AddJobGiverWorkOrders (Verse.IntVec3,Verse.Pawn,System.Collections.Generic.List`1<Verse.FloatMenuOption>,bool) <0x0050c>
at RimWorld.FloatMenuMakerMap.AddUndraftedOrders (UnityEngine.Vector3,Verse.Pawn,System.Collections.Generic.List`1<Verse.FloatMenuOption>) <0x0036d>

 

 

When I use the unpatched Steam-Version everything is fine.

Might be because I compiled using my edited version of RJW... ?

 

Third times the charm! (?)

RimWorldChildren.7z

Link to comment
  • 5 weeks later...

after coming back from a break, i launched up rimworld and played a colony for a few hours. this was all fine and business as usual (ive used this modlist for months) up until the first colony baby was born. unlike other babies i had in prior colonies, this baby was basically a miniature normal pawn that didnt cry, could walk, and had a head of hair floating above himself. i found this to happen with all babies.

i narrowed it down to be some sort of conflict between baby&children, this mod, and possibly rimjobworld, and created a short modlist for troubleshooting purposes.

i dont know why it started doing this all of the sudden! but it is reproducible.

if you find the time, i would appreciate the help :)

log:

https://gist.github.com/f0a1e5f5e5798ac1cc3070498e2e2453

 

EDIT: applying the fix for graphical bugs you mentioned in the original post to BnC seems to have fixed it, BUT i still dont know why it started causing issues that werent just graphical all of the sudden

Link to comment

Yoooo this mod is causing some pretty big graphical issues, namely with hats. This mod is conflicting with something in my mod list that causes anyone wearing a toque or a bowler hat to have a pink square on them where the head is suppose to be instead. As someone who likes playing in the northern climates this is a pretty bad looking issue when a caravan arrives lol.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use