边缘世界 RimWorld

边缘世界 RimWorld

FemaleBodyVariants
131 条留言
Gamphar 10 月 21 日 上午 9:41 
thanks! after doing a quick test, it's so weird that Harmony still tried to make my GraphicFor postfix patch onto your GetFurBodyGraphicPath postfix patch

i recompiled your new FemaleBodyFurVariants.dll and everything worked perfectly again

i then triple-checked, changing the Harmony ID back to the identical (old) one did break my GraphicFor postfix, and switching back to the new ID fixed it

LOL, i initially thought the Harmony ID itself was the primary cause (and it was in my VS compile), but apparently that's not the case for others

thanks anyway, it looks like for now is just to recompile your FemaleBodyFurVariants.dll myself so i can get back to playing
tiagocc0  [作者] 10 月 20 日 上午 5:04 
done
tiagocc0  [作者] 10 月 20 日 上午 4:53 
sure
Gamphar 10 月 19 日 下午 3:11 
Hello, can you rename the Harmony ID in FemaleBodyFurVariants.dll?

please change:
new Harmony("FemaleBodyVariants").PatchAll();

to
new Harmony("FemaleBodyFurVariants").PatchAll();

using the old, identical ID with your FemaleBodyVariants.dll confuses Harmony, it makes PawnRenderNode_Body.GraphicFor incorrectly return a string (from FurDef.GetFurBodyGraphicPath) instead of a proper graphic object.

if other mods (like mine) try to patch GraphicFor after yours, they'll break causing red text on main menu and in game.

putting them before your mod is a temporary workaround, but then they can't use your new female tags.
tiagocc0  [作者] 9 月 26 日 上午 5:21 
try changing the order of the mods
other than that maybe we would need to patch it to allow exceptions
but I won't be able to come back to rimworld for a good while
Paradox 9 月 26 日 上午 5:03 
For some reason the droids from Android Expanded (which have their own robot body textures) are using human body textures when this mod is active. Is there any way to blacklist this mod from affecting certain races?
MadMage 9 月 5 日 下午 10:07 
Awesome, thanks. It was so simple I was straight up unsure.
tiagocc0  [作者] 8 月 31 日 上午 2:51 
It doesn't check for genes, the code checks two different places one for normal pawns and another for pawns that fit the fur skin criteria.

In both cases it doesn't look for hardcoded paths, it just finds out a texture is going to be loaded for a certain pawn and checks if it is female and adds a _female to the path, so should work regardless of what name is being used if they are using one of these two routes.

If the body uses a new custom function to load the texture, then it won't work here or a third vanilla function I'm not aware of.

So yes, just load a mod with just images with the correct names and it will work.
MadMage 8 月 30 日 下午 9:24 
@tiagocc0 Does this follow for ANY skin gene? Just drop the textures in using the same naming convention and it'll just... see them?
tiagocc0  [作者] 8 月 30 日 上午 6:46 
I load it first but I use just a few body mods.
veoba 8 月 30 日 上午 6:44 
Should this mod be loaded before all bodies mods?
artemidle 8 月 26 日 上午 5:37 
Thanks
tiagocc0  [作者] 8 月 26 日 上午 5:34 
You can take a look at this mod, it has the images of the new textures like:
Naked_Thin_Female_south.png

You can copy this mod to your mod folder directly in the rimworld folder and change the image files to your own, later you can adjust the rest of the files to make your own mod if you want.

However for yttakin there is no file in this mod for it but you can create them in the same place as the other images but this name:
FurCovered_Thin_Female_south.png

Then just follow the same pattern.
artemidle 8 月 26 日 上午 5:30 
I have a question, is there a guide for adding new body types or how do I add them myself?
тетеря, блин 8 月 6 日 下午 4:59 
for some reason, I needed to create a custom rule to load this mod after «Paniel the Automata». otherwise many different races (Kiiro, Maru to name a few and Paniel itself) loaded some other bodies that don't fit their apparels. maybe this is not the Automata mod, but some other load order changes that fix stuff, but it required quite some time to find this pattern.
tiagocc0  [作者] 8 月 5 日 下午 6:53 
I will update the github, I forgot about it, lately I have been using just dnspy, I will comment here when I do
AJarOfDirt 8 月 5 日 下午 12:20 
@tiagocc0 I'm interested in seeing your solution, but it doesn't look like your github is updated and the source code isn't published with the mod. Could you share what you did?
tanyfilina 8 月 2 日 上午 11:02 
As it seems that currently only my mod needs that and there is some mere hundred people subscribed to my mod, I'll probably test it myself, just slowly probably :)

As for the wings and tails, I think, their rendering must be similiar to clothes, so hopefully shouldn't be very hard to implement?
tiagocc0  [作者] 8 月 2 日 上午 10:53 
It will depend more on what function in the game it uses rather than coding the gene or an exclusion tag like Ajar solution, they are control techniques.

As it is right now it should work for anything unless there is a third function in the source code for this which I don't think exists or if a modder made this third function. Then in this case I would need to mod around their mod.

The scaly body that you gave as an example probably already works, I can test if you want, let me know the mod name.

But this mod is for bodies so tails and wings could probably mean it is located in a different function in the source code.
tanyfilina 8 月 2 日 上午 10:42 
Actually it would be great if you could write some code so that we could add any gene female variants, as manu things don't look good: different bodies, tails, even wings...
tiagocc0  [作者] 8 月 2 日 上午 6:57 
The patch applies to the original GetFurBodyGraphicPath so if these mods are using a variation of fur to achieve scaly bodies, then yes.
tanyfilina 8 月 2 日 上午 6:55 
Will this now support other body genes too, like scaly bodies from some mods?
tiagocc0  [作者] 8 月 2 日 上午 6:43 
Let me know if you guys find an error.

Also it is important to give me a modlist, since many mods might conflict with this.
tiagocc0  [作者] 8 月 2 日 上午 6:41 
Using this mod with female apparel mod shouldn't be a problem, but other mod combinations might. I have tested the two mods together before release.
tiagocc0  [作者] 8 月 2 日 上午 6:39 
Sorry it took a while, made an update for fur covered bodies, thanks to AJarOfDirt and Pillowkitty for helping me with this.
I did try a more simple approach, instead of looking for exclusion gene tags, I modified the code to check if the texture exists, like the apparel mod, so it won't give an error if it doesn't or give a red X texture and if it exists it will load automatically without a need for xml patches or further verification.

I tested it with Yttakin and VRE Highmate.

So FurCovered_Thin_Female_south.png texture will work.
Acrollex 8 月 1 日 下午 10:29 
@Iirly thank you for clarifying i ended up removing both including the mod requiring female apparel variants and FemaleBodyVariants, WDI relastic bodies requires both mods to be installed to work i ended up removing the mod completley with the requirements and installed another body mod now everything works fine
Iirly 7 月 31 日 下午 8:01 
@Acrollex if you are using this mod with female apparel variants, that was giving me the same issue. removing it is only a work around if you're using it though. Hope that helps.
ПΛПО Dragoon 7 月 30 日 下午 7:04 
@Decimus Magnus Yeah I've never tried adding mods mid save but did you test doing that with only this mod?
тетеря, блин 7 月 30 日 下午 4:23 
should this be used alongside?

https://psteamcommunity.yuanyoumao.com/sharedfiles/filedetails/?id=1792668502

I mean, is it okay or it's better to exclude it?
тетеря, блин 7 月 30 日 上午 5:44 
would be great to see a collection of mods that support it eventually.
Decimus Magnus 7 月 29 日 下午 10:31 
I tried to add this mid game and it completely breaks the map for some reason. Not sure if it's an incompatibility with another mod, but the entire map (not the globe) refuses to load and is purely black.
тетеря, блин 7 月 29 日 上午 6:11 
@tiagocc0 high hopes!
AJarOfDirt 7 月 28 日 下午 9:58 
@Acrollex No way that is this mod. This mod doesn't touch the head at all.
Acrollex 7 月 28 日 下午 7:10 
This mod has huge amount incompatibility with Medieval Overhaul where females textures specifically the head area shows a big [ X ] symbol

error:
Failed to find any textures at Things/Pawn/Humanlike/Apparel/Headgear/Coif/Coif_Thin while constructing Multi(initPath=Things/Pawn/Humanlike/Apparel/Headgear/Coif/Coif_Thin, color=RGBA(0.792, 0.765, 0.667, 1.000), colorTwo=RGBA(1.000, 1.000, 1.000, 1.000))

seems to have some type of conflict with headgear for some reason
tiagocc0  [作者] 7 月 28 日 下午 6:22 
I wouldn't know, never looked into the source code about how the faces are drawn
тетеря, блин 7 月 28 日 上午 11:56 
is it possible to make the same, but for animated faces? there are so many of them. would be especially great to be able to bind them to factions.
FanKaydarius 7 月 27 日 上午 7:15 
I do have my own personal texture mod that I use for myself, but when it comes to giving males the female body variant and vice versa, I simply just use the pre-existing character editor mod. I don't think it'd be necessary to find a way to have them spawn naturally anyways. (Though it sometimes happens via glitches anyways lol)
tiagocc0  [作者] 7 月 26 日 上午 10:45 
I get what you are saying but they are the only official type that have male/female variant, and due to how difficult it would be also have separated bodies for the other types, the only that is also separated in the code.

Following the same silhouette, it would be a feminine male body and a masculine female body right?

It it's possible for the texture the be arranged like that, however I don't know if in the code a female body would ever appear as male and vice versa, or do you already have a mod for that?
FanKaydarius 7 月 26 日 上午 7:42 
This might sound a bit much, but would it be possible to somehow introduce a male variant for the female body type, and a female variant for the male body type?
tanyfilina 7 月 24 日 上午 6:59 
tiagocc0  [作者] 7 月 23 日 下午 5:35 
Thanks I will check it
AJarOfDirt 7 月 23 日 下午 2:03 
@tiagocc0 Yeah I never had any issues with baseliner textures. That patch should only affect xenotypes that have a fur type that also has the tag. Everything else should be left alone. Here is my github page if you wanted to just check that out (https://github.com/AJarOfDirt0/Rimworld-Custom-changes) . It has some other stuff that I've collected for my own use too.
tiagocc0  [作者] 7 月 23 日 上午 8:18 
@Pillowkitty if possible, I don't know when I will have time to check the code, this would help a lot

you can reach me on discord, this is my id 253930179196485633
If you prefer another way let me know
Pillowkitty 7 月 23 日 上午 8:08 
@tiagocc0 What I did was clone your FemaleBodyVariants.dll then rename it to FemaleBodyFurVariants.dll and slipped/replaced the lines in via dnSpy. My baseliners are generating properly as it does not touch your original assembly.

If you want I can pass you my assembly? It has been working on my end with all the VE races I have completed art for. I'm still working on designing full body skins of Roo's unguligrade legs as whatever design/code that is used for those overlays are not cooperating.
tiagocc0  [作者] 7 月 23 日 上午 6:44 
@AJarOfDirt I tried to add the patch but then for baseliners it wouldn't show the female body, is the patch made to work exclusively with other types of bodies that have those genes?
Pillowkitty 7 月 22 日 下午 12:27 
@AJarOfDirt Thank you so much for providing those patch lines! Guess the rest of my day is going to be spent fiddling in GIMP to add more female furdef variants to the existing xenotypes I play with! <3
tiagocc0  [作者] 7 月 14 日 上午 11:26 
Ok, I won't have time to check it now, but will do so next weekend, thanks
AJarOfDirt 7 月 14 日 上午 1:13 
Sorry about the formatting. Had to split it into two comments too, but this patch checks for the exclusionTag Has_Female_Variants". Pretty much just went off your existing patch.
AJarOfDirt 7 月 14 日 上午 1:12 
[HarmonyPatch(typeof(FurDef), "GetFurBodyGraphicPath")]
public static class FurDef_GetFurBodyGraphicPath_Patch
{
[HarmonyPostfix]
public static void Postfix(FurDef __instance, ref Pawn pawn, ref string __result)
{
if ((__result == null)
|| (pawn.Drawer.renderer.CurRotDrawMode == RotDrawMode.Dessicated)
|| (ModsConfig.AnomalyActive && pawn.IsMutant && !pawn.mutant.Def.bodyTypeGraphicPaths.NullOrEmpty())
|| (ModsConfig.AnomalyActive && pawn.IsCreepJoiner && pawn.story.bodyType != null && !pawn.creepjoiner.form.bodyTypeGraphicPaths.NullOrEmpty())
|| (pawn.story?.bodyType?.bodyNakedGraphicPath == null)
)
{
return;
}
AJarOfDirt 7 月 14 日 上午 1:12 
string graphicPath = __result;
if (pawn.gender != Gender.Male && graphicPath != null && !graphicPath.Contains("_Female") && (graphicPath.Contains("_Thin") || graphicPath.Contains("_Fat") || graphicPath.Contains("_Hulk")))
{
foreach (Gene gene in pawn.genes.GenesListForReading) {
if (gene.def.exclusionTags?.Contains("Has_Female_Variants") == true)
{
graphicPath += "_Female";
__result = graphicPath;
}
}
}
}
}
}