Mirror of 1.4.22 from Lovers Lab
|
@ -0,0 +1 @@
|
|||
latest source build: SizedApparel1.4WIP22
|
|
@ -0,0 +1,131 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- this is Wip Def. Not work yet. -->
|
||||
<Defs>
|
||||
<SizedApparel.BodyDef>
|
||||
<defName>AOC</defName>
|
||||
<bodies>
|
||||
<li>
|
||||
<bodyType>Female</bodyType>
|
||||
<Addons>
|
||||
<li>
|
||||
<partName>Breasts</partName>
|
||||
<boneName>Breasts</boneName>
|
||||
<defaultHediffName>Breasts</defaultHediffName>
|
||||
<bodyPartOf>Breasts</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>true</isBreasts>
|
||||
<!-- "isBreasts" is used for step count -->
|
||||
<!-- rjw private parts and breasts has different step method with serverity. -->
|
||||
<mustHaveBone>false</mustHaveBone>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0113</south>
|
||||
<north>0.001</north>
|
||||
<east>0.0113</east>
|
||||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
<defaultHediffName>Vagina</defaultHediffName>
|
||||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<mustHaveBone>true</mustHaveBone>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0088</south>
|
||||
<north>0.0100</north>
|
||||
<east>0.0088</east>
|
||||
<west>0.0088</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Anus</partName>
|
||||
<boneName>Anus</boneName>
|
||||
<defaultHediffName>Anus</defaultHediffName>
|
||||
<bodyPartOf>Anus</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0093</south>
|
||||
<north>0.0105</north>
|
||||
<east>0.0093</east>
|
||||
<west>0.0093</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Belly</partName>
|
||||
<boneName>Belly</boneName>
|
||||
<defaultHediffName>BellyBulge</defaultHediffName>
|
||||
<bodyPartOf>Belly</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0098</south>
|
||||
<north>0.0002</north>
|
||||
<east>0.0098</east>
|
||||
<west>0.0098</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Penis</partName>
|
||||
<boneName>Penis</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Penis</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0108</south>
|
||||
<north>0.0025</north>
|
||||
<east>0.0108</east>
|
||||
<west>0.0108</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Balls</partName>
|
||||
<boneName>Balls</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Balls</bodyPartOf>
|
||||
<customPath>Penis/Balls</customPath>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0096</south>
|
||||
<north>0.0085</north>
|
||||
<east>0.0096</east>
|
||||
<west>0.0096</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>PubicHair</partName>
|
||||
<boneName>PubicHair</boneName>
|
||||
<defaultHediffName>Default</defaultHediffName>
|
||||
<bodyPartOf>PubicHair</bodyPartOf>
|
||||
<colorType>Hair</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
</li>
|
||||
</bodies>
|
||||
</SizedApparel.BodyDef>
|
||||
</Defs>
|
|
@ -0,0 +1,127 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- this is Wip Def. Not work yet. -->
|
||||
<Defs>
|
||||
<SizedApparel.BodyDef>
|
||||
<defName>Alien_Bori</defName>
|
||||
<bodies>
|
||||
<li>
|
||||
<bodyType>Thin</bodyType>
|
||||
<Addons>
|
||||
<li>
|
||||
<partName>Breasts</partName>
|
||||
<boneName>Breasts</boneName>
|
||||
<defaultHediffName>Breasts</defaultHediffName>
|
||||
<bodyPartOf>Breasts</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>true</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0113</south>
|
||||
<north>0.001</north>
|
||||
<east>0.0113</east>
|
||||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
<defaultHediffName>Vagina</defaultHediffName>
|
||||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0088</south>
|
||||
<north>0.0100</north>
|
||||
<east>0.0088</east>
|
||||
<west>0.0088</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Anus</partName>
|
||||
<boneName>Anus</boneName>
|
||||
<defaultHediffName>Anus</defaultHediffName>
|
||||
<bodyPartOf>Anus</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0093</south>
|
||||
<north>0.0105</north>
|
||||
<east>0.0093</east>
|
||||
<west>0.0093</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Belly</partName>
|
||||
<boneName>Belly</boneName>
|
||||
<defaultHediffName>BellyBulge</defaultHediffName>
|
||||
<bodyPartOf>Belly</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0098</south>
|
||||
<north>0.0002</north>
|
||||
<east>0.0098</east>
|
||||
<west>0.0098</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Penis</partName>
|
||||
<boneName>Penis</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Penis</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0108</south>
|
||||
<north>0.0025</north>
|
||||
<east>0.0108</east>
|
||||
<west>0.0108</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Balls</partName>
|
||||
<boneName>Balls</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Balls</bodyPartOf>
|
||||
<customPath>Penis/Balls</customPath>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0096</south>
|
||||
<north>0.0085</north>
|
||||
<east>0.0096</east>
|
||||
<west>0.0096</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>PubicHair</partName>
|
||||
<boneName>PubicHair</boneName>
|
||||
<defaultHediffName>Default</defaultHediffName>
|
||||
<bodyPartOf>PubicHair</bodyPartOf>
|
||||
<colorType>Hair</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
</li>
|
||||
</bodies>
|
||||
</SizedApparel.BodyDef>
|
||||
</Defs>
|
|
@ -0,0 +1,249 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- this is Wip Def. Not work yet. -->
|
||||
<Defs>
|
||||
<SizedApparel.BodyDef>
|
||||
<defName>Alien_Miho</defName>
|
||||
<bodies>
|
||||
<li>
|
||||
<bodyType>Female</bodyType>
|
||||
<Addons>
|
||||
<li>
|
||||
<partName>Breasts</partName>
|
||||
<boneName>Breasts</boneName>
|
||||
<defaultHediffName>Breasts</defaultHediffName>
|
||||
<bodyPartOf>Breasts</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>true</isBreasts>
|
||||
<!-- "isBreasts" is used for step count -->
|
||||
<!-- rjw private parts and breasts has different step method with serverity. -->
|
||||
<mustHaveBone>false</mustHaveBone>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0113</south>
|
||||
<north>0.001</north>
|
||||
<east>0.0113</east>
|
||||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
<defaultHediffName>Vagina</defaultHediffName>
|
||||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<mustHaveBone>true</mustHaveBone>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0088</south>
|
||||
<north>0.0100</north>
|
||||
<east>0.0088</east>
|
||||
<west>0.0088</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Anus</partName>
|
||||
<boneName>Anus</boneName>
|
||||
<defaultHediffName>Anus</defaultHediffName>
|
||||
<bodyPartOf>Anus</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0093</south>
|
||||
<north>0.0105</north>
|
||||
<east>0.0093</east>
|
||||
<west>0.0093</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Belly</partName>
|
||||
<boneName>Belly</boneName>
|
||||
<defaultHediffName>BellyBulge</defaultHediffName>
|
||||
<bodyPartOf>Belly</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0098</south>
|
||||
<north>0.0002</north>
|
||||
<east>0.0098</east>
|
||||
<west>0.0098</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Penis</partName>
|
||||
<boneName>Penis</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Penis</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0108</south>
|
||||
<north>0.0025</north>
|
||||
<east>0.0108</east>
|
||||
<west>0.0108</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Balls</partName>
|
||||
<boneName>Balls</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Balls</bodyPartOf>
|
||||
<customPath>Penis/Balls</customPath>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0096</south>
|
||||
<north>0.0085</north>
|
||||
<east>0.0096</east>
|
||||
<west>0.0096</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>PubicHair</partName>
|
||||
<boneName>PubicHair</boneName>
|
||||
<defaultHediffName>Default</defaultHediffName>
|
||||
<bodyPartOf>PubicHair</bodyPartOf>
|
||||
<colorType>Hair</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Thin</bodyType>
|
||||
<Addons>
|
||||
<li>
|
||||
<partName>Breasts</partName>
|
||||
<boneName>Breasts</boneName>
|
||||
<defaultHediffName>Breasts</defaultHediffName>
|
||||
<bodyPartOf>Breasts</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>true</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0113</south>
|
||||
<north>0.001</north>
|
||||
<east>0.0113</east>
|
||||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
<defaultHediffName>Vagina</defaultHediffName>
|
||||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0088</south>
|
||||
<north>0.0100</north>
|
||||
<east>0.0088</east>
|
||||
<west>0.0088</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Anus</partName>
|
||||
<boneName>Anus</boneName>
|
||||
<defaultHediffName>Anus</defaultHediffName>
|
||||
<bodyPartOf>Anus</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0093</south>
|
||||
<north>0.0105</north>
|
||||
<east>0.0093</east>
|
||||
<west>0.0093</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Belly</partName>
|
||||
<boneName>Belly</boneName>
|
||||
<defaultHediffName>BellyBulge</defaultHediffName>
|
||||
<bodyPartOf>Belly</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0098</south>
|
||||
<north>0.0002</north>
|
||||
<east>0.0098</east>
|
||||
<west>0.0098</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Penis</partName>
|
||||
<boneName>Penis</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Penis</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0108</south>
|
||||
<north>0.0025</north>
|
||||
<east>0.0108</east>
|
||||
<west>0.0108</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Balls</partName>
|
||||
<boneName>Balls</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Balls</bodyPartOf>
|
||||
<customPath>Penis/Balls</customPath>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0096</south>
|
||||
<north>0.0085</north>
|
||||
<east>0.0096</east>
|
||||
<west>0.0096</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>PubicHair</partName>
|
||||
<boneName>PubicHair</boneName>
|
||||
<defaultHediffName>Default</defaultHediffName>
|
||||
<bodyPartOf>PubicHair</bodyPartOf>
|
||||
<colorType>Hair</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
</li>
|
||||
</bodies>
|
||||
</SizedApparel.BodyDef>
|
||||
</Defs>
|
|
@ -0,0 +1,249 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- this is Wip Def. Not work yet. -->
|
||||
<Defs>
|
||||
<SizedApparel.BodyDef>
|
||||
<defName>Rabbie</defName>
|
||||
<bodies>
|
||||
<li>
|
||||
<bodyType>Thin</bodyType>
|
||||
<Addons>
|
||||
<li>
|
||||
<partName>Breasts</partName>
|
||||
<boneName>Breasts</boneName>
|
||||
<defaultHediffName>Breasts</defaultHediffName>
|
||||
<bodyPartOf>Breasts</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>true</isBreasts>
|
||||
<!-- "isBreasts" is used for step count -->
|
||||
<!-- rjw private parts and breasts has different step method with serverity. -->
|
||||
<mustHaveBone>false</mustHaveBone>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0113</south>
|
||||
<north>0.001</north>
|
||||
<east>0.0113</east>
|
||||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
<defaultHediffName>Vagina</defaultHediffName>
|
||||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<mustHaveBone>true</mustHaveBone>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0088</south>
|
||||
<north>0.0100</north>
|
||||
<east>0.0088</east>
|
||||
<west>0.0088</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Anus</partName>
|
||||
<boneName>Anus</boneName>
|
||||
<defaultHediffName>Anus</defaultHediffName>
|
||||
<bodyPartOf>Anus</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0093</south>
|
||||
<north>0.0105</north>
|
||||
<east>0.0093</east>
|
||||
<west>0.0093</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Belly</partName>
|
||||
<boneName>Belly</boneName>
|
||||
<defaultHediffName>BellyBulge</defaultHediffName>
|
||||
<bodyPartOf>Belly</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0098</south>
|
||||
<north>0.0002</north>
|
||||
<east>0.0098</east>
|
||||
<west>0.0098</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Penis</partName>
|
||||
<boneName>Penis</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Penis</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0108</south>
|
||||
<north>0.0025</north>
|
||||
<east>0.0108</east>
|
||||
<west>0.0108</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Balls</partName>
|
||||
<boneName>Balls</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Balls</bodyPartOf>
|
||||
<customPath>Penis/Balls</customPath>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0096</south>
|
||||
<north>0.0085</north>
|
||||
<east>0.0096</east>
|
||||
<west>0.0096</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>PubicHair</partName>
|
||||
<boneName>PubicHair</boneName>
|
||||
<defaultHediffName>Default</defaultHediffName>
|
||||
<bodyPartOf>PubicHair</bodyPartOf>
|
||||
<colorType>Hair</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Male</bodyType>
|
||||
<Addons>
|
||||
<li>
|
||||
<partName>Breasts</partName>
|
||||
<boneName>Breasts</boneName>
|
||||
<defaultHediffName>Breasts</defaultHediffName>
|
||||
<bodyPartOf>Breasts</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>true</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0113</south>
|
||||
<north>0.001</north>
|
||||
<east>0.0113</east>
|
||||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
<defaultHediffName>Vagina</defaultHediffName>
|
||||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0088</south>
|
||||
<north>0.0100</north>
|
||||
<east>0.0088</east>
|
||||
<west>0.0088</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Anus</partName>
|
||||
<boneName>Anus</boneName>
|
||||
<defaultHediffName>Anus</defaultHediffName>
|
||||
<bodyPartOf>Anus</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0093</south>
|
||||
<north>0.0105</north>
|
||||
<east>0.0093</east>
|
||||
<west>0.0093</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Belly</partName>
|
||||
<boneName>Belly</boneName>
|
||||
<defaultHediffName>BellyBulge</defaultHediffName>
|
||||
<bodyPartOf>Belly</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0098</south>
|
||||
<north>0.0002</north>
|
||||
<east>0.0098</east>
|
||||
<west>0.0098</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Penis</partName>
|
||||
<boneName>Penis</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Penis</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0108</south>
|
||||
<north>0.0025</north>
|
||||
<east>0.0108</east>
|
||||
<west>0.0108</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Balls</partName>
|
||||
<boneName>Balls</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Balls</bodyPartOf>
|
||||
<customPath>Penis/Balls</customPath>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0096</south>
|
||||
<north>0.0085</north>
|
||||
<east>0.0096</east>
|
||||
<west>0.0096</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>PubicHair</partName>
|
||||
<boneName>PubicHair</boneName>
|
||||
<defaultHediffName>Default</defaultHediffName>
|
||||
<bodyPartOf>PubicHair</bodyPartOf>
|
||||
<colorType>Hair</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
</li>
|
||||
</bodies>
|
||||
</SizedApparel.BodyDef>
|
||||
</Defs>
|
|
@ -0,0 +1,249 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- this is Wip Def. Not work yet. -->
|
||||
<Defs>
|
||||
<SizedApparel.BodyDef>
|
||||
<defName>Ratkin</defName>
|
||||
<bodies>
|
||||
<li>
|
||||
<bodyType>Thin</bodyType>
|
||||
<Addons>
|
||||
<li>
|
||||
<partName>Breasts</partName>
|
||||
<boneName>Breasts</boneName>
|
||||
<defaultHediffName>Breasts</defaultHediffName>
|
||||
<bodyPartOf>Breasts</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>true</isBreasts>
|
||||
<!-- "isBreasts" is used for step count -->
|
||||
<!-- rjw private parts and breasts has different step method with serverity. -->
|
||||
<mustHaveBone>false</mustHaveBone>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0113</south>
|
||||
<north>0.001</north>
|
||||
<east>0.0113</east>
|
||||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
<defaultHediffName>Vagina</defaultHediffName>
|
||||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<mustHaveBone>true</mustHaveBone>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0088</south>
|
||||
<north>0.0100</north>
|
||||
<east>0.0088</east>
|
||||
<west>0.0088</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Anus</partName>
|
||||
<boneName>Anus</boneName>
|
||||
<defaultHediffName>Anus</defaultHediffName>
|
||||
<bodyPartOf>Anus</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0093</south>
|
||||
<north>0.0105</north>
|
||||
<east>0.0093</east>
|
||||
<west>0.0093</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Belly</partName>
|
||||
<boneName>Belly</boneName>
|
||||
<defaultHediffName>BellyBulge</defaultHediffName>
|
||||
<bodyPartOf>Belly</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0098</south>
|
||||
<north>0.0002</north>
|
||||
<east>0.0098</east>
|
||||
<west>0.0098</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Penis</partName>
|
||||
<boneName>Penis</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Penis</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0108</south>
|
||||
<north>0.0025</north>
|
||||
<east>0.0108</east>
|
||||
<west>0.0108</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Balls</partName>
|
||||
<boneName>Balls</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Balls</bodyPartOf>
|
||||
<customPath>Penis/Balls</customPath>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0096</south>
|
||||
<north>0.0085</north>
|
||||
<east>0.0096</east>
|
||||
<west>0.0096</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>PubicHair</partName>
|
||||
<boneName>PubicHair</boneName>
|
||||
<defaultHediffName>Default</defaultHediffName>
|
||||
<bodyPartOf>PubicHair</bodyPartOf>
|
||||
<colorType>Hair</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Male</bodyType>
|
||||
<Addons>
|
||||
<li>
|
||||
<partName>Breasts</partName>
|
||||
<boneName>Breasts</boneName>
|
||||
<defaultHediffName>Breasts</defaultHediffName>
|
||||
<bodyPartOf>Breasts</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>true</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0113</south>
|
||||
<north>0.001</north>
|
||||
<east>0.0113</east>
|
||||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
<defaultHediffName>Vagina</defaultHediffName>
|
||||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0088</south>
|
||||
<north>0.0100</north>
|
||||
<east>0.0088</east>
|
||||
<west>0.0088</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Anus</partName>
|
||||
<boneName>Anus</boneName>
|
||||
<defaultHediffName>Anus</defaultHediffName>
|
||||
<bodyPartOf>Anus</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0093</south>
|
||||
<north>0.0105</north>
|
||||
<east>0.0093</east>
|
||||
<west>0.0093</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Belly</partName>
|
||||
<boneName>Belly</boneName>
|
||||
<defaultHediffName>BellyBulge</defaultHediffName>
|
||||
<bodyPartOf>Belly</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0098</south>
|
||||
<north>0.0002</north>
|
||||
<east>0.0098</east>
|
||||
<west>0.0098</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Penis</partName>
|
||||
<boneName>Penis</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Penis</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0108</south>
|
||||
<north>0.0025</north>
|
||||
<east>0.0108</east>
|
||||
<west>0.0108</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Balls</partName>
|
||||
<boneName>Balls</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Balls</bodyPartOf>
|
||||
<customPath>Penis/Balls</customPath>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0096</south>
|
||||
<north>0.0085</north>
|
||||
<east>0.0096</east>
|
||||
<west>0.0096</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>PubicHair</partName>
|
||||
<boneName>PubicHair</boneName>
|
||||
<defaultHediffName>Default</defaultHediffName>
|
||||
<bodyPartOf>PubicHair</bodyPartOf>
|
||||
<colorType>Hair</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
</li>
|
||||
</bodies>
|
||||
</SizedApparel.BodyDef>
|
||||
</Defs>
|
|
@ -0,0 +1,249 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- this is Wip Def. Not work yet. -->
|
||||
<Defs>
|
||||
<SizedApparel.BodyDef>
|
||||
<defName>Ratkin_Su</defName>
|
||||
<bodies>
|
||||
<li>
|
||||
<bodyType>Thin</bodyType>
|
||||
<Addons>
|
||||
<li>
|
||||
<partName>Breasts</partName>
|
||||
<boneName>Breasts</boneName>
|
||||
<defaultHediffName>Breasts</defaultHediffName>
|
||||
<bodyPartOf>Breasts</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>true</isBreasts>
|
||||
<!-- "isBreasts" is used for step count -->
|
||||
<!-- rjw private parts and breasts has different step method with serverity. -->
|
||||
<mustHaveBone>false</mustHaveBone>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0113</south>
|
||||
<north>0.001</north>
|
||||
<east>0.0113</east>
|
||||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
<defaultHediffName>Vagina</defaultHediffName>
|
||||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<mustHaveBone>true</mustHaveBone>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0088</south>
|
||||
<north>0.0100</north>
|
||||
<east>0.0088</east>
|
||||
<west>0.0088</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Anus</partName>
|
||||
<boneName>Anus</boneName>
|
||||
<defaultHediffName>Anus</defaultHediffName>
|
||||
<bodyPartOf>Anus</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0093</south>
|
||||
<north>0.0105</north>
|
||||
<east>0.0093</east>
|
||||
<west>0.0093</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Belly</partName>
|
||||
<boneName>Belly</boneName>
|
||||
<defaultHediffName>BellyBulge</defaultHediffName>
|
||||
<bodyPartOf>Belly</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0098</south>
|
||||
<north>0.0002</north>
|
||||
<east>0.0098</east>
|
||||
<west>0.0098</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Penis</partName>
|
||||
<boneName>Penis</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Penis</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0108</south>
|
||||
<north>0.0025</north>
|
||||
<east>0.0108</east>
|
||||
<west>0.0108</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Balls</partName>
|
||||
<boneName>Balls</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Balls</bodyPartOf>
|
||||
<customPath>Penis/Balls</customPath>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0096</south>
|
||||
<north>0.0085</north>
|
||||
<east>0.0096</east>
|
||||
<west>0.0096</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>PubicHair</partName>
|
||||
<boneName>PubicHair</boneName>
|
||||
<defaultHediffName>Default</defaultHediffName>
|
||||
<bodyPartOf>PubicHair</bodyPartOf>
|
||||
<colorType>Hair</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Male</bodyType>
|
||||
<Addons>
|
||||
<li>
|
||||
<partName>Breasts</partName>
|
||||
<boneName>Breasts</boneName>
|
||||
<defaultHediffName>Breasts</defaultHediffName>
|
||||
<bodyPartOf>Breasts</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>true</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0113</south>
|
||||
<north>0.001</north>
|
||||
<east>0.0113</east>
|
||||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
<defaultHediffName>Vagina</defaultHediffName>
|
||||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0088</south>
|
||||
<north>0.0100</north>
|
||||
<east>0.0088</east>
|
||||
<west>0.0088</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Anus</partName>
|
||||
<boneName>Anus</boneName>
|
||||
<defaultHediffName>Anus</defaultHediffName>
|
||||
<bodyPartOf>Anus</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0093</south>
|
||||
<north>0.0105</north>
|
||||
<east>0.0093</east>
|
||||
<west>0.0093</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Belly</partName>
|
||||
<boneName>Belly</boneName>
|
||||
<defaultHediffName>BellyBulge</defaultHediffName>
|
||||
<bodyPartOf>Belly</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0098</south>
|
||||
<north>0.0002</north>
|
||||
<east>0.0098</east>
|
||||
<west>0.0098</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Penis</partName>
|
||||
<boneName>Penis</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Penis</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0108</south>
|
||||
<north>0.0025</north>
|
||||
<east>0.0108</east>
|
||||
<west>0.0108</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Balls</partName>
|
||||
<boneName>Balls</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Balls</bodyPartOf>
|
||||
<customPath>Penis/Balls</customPath>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0096</south>
|
||||
<north>0.0085</north>
|
||||
<east>0.0096</east>
|
||||
<west>0.0096</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>PubicHair</partName>
|
||||
<boneName>PubicHair</boneName>
|
||||
<defaultHediffName>Default</defaultHediffName>
|
||||
<bodyPartOf>PubicHair</bodyPartOf>
|
||||
<colorType>Hair</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
</li>
|
||||
</bodies>
|
||||
</SizedApparel.BodyDef>
|
||||
</Defs>
|
|
@ -0,0 +1,131 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- this is Wip Def. Not work yet. -->
|
||||
<Defs>
|
||||
<SizedApparel.BodyDef>
|
||||
<defName>Alien_SP</defName>
|
||||
<bodies>
|
||||
<li>
|
||||
<bodyType>Female</bodyType>
|
||||
<Addons>
|
||||
<li>
|
||||
<partName>Breasts</partName>
|
||||
<boneName>Breasts</boneName>
|
||||
<defaultHediffName>Breasts</defaultHediffName>
|
||||
<bodyPartOf>Breasts</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>true</isBreasts>
|
||||
<!-- "isBreasts" is used for step count -->
|
||||
<!-- rjw private parts and breasts has different step method with serverity. -->
|
||||
<mustHaveBone>false</mustHaveBone>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0113</south>
|
||||
<north>0.001</north>
|
||||
<east>0.0113</east>
|
||||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
<defaultHediffName>Vagina</defaultHediffName>
|
||||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<mustHaveBone>true</mustHaveBone>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0088</south>
|
||||
<north>0.0100</north>
|
||||
<east>0.0088</east>
|
||||
<west>0.0088</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Anus</partName>
|
||||
<boneName>Anus</boneName>
|
||||
<defaultHediffName>Anus</defaultHediffName>
|
||||
<bodyPartOf>Anus</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0093</south>
|
||||
<north>0.0105</north>
|
||||
<east>0.0093</east>
|
||||
<west>0.0093</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Belly</partName>
|
||||
<boneName>Belly</boneName>
|
||||
<defaultHediffName>BellyBulge</defaultHediffName>
|
||||
<bodyPartOf>Belly</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0098</south>
|
||||
<north>0.0002</north>
|
||||
<east>0.0098</east>
|
||||
<west>0.0098</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Penis</partName>
|
||||
<boneName>Penis</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Penis</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0108</south>
|
||||
<north>0.0025</north>
|
||||
<east>0.0108</east>
|
||||
<west>0.0108</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Balls</partName>
|
||||
<boneName>Balls</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Balls</bodyPartOf>
|
||||
<customPath>Penis/Balls</customPath>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0096</south>
|
||||
<north>0.0085</north>
|
||||
<east>0.0096</east>
|
||||
<west>0.0096</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>PubicHair</partName>
|
||||
<boneName>PubicHair</boneName>
|
||||
<defaultHediffName>Default</defaultHediffName>
|
||||
<bodyPartOf>PubicHair</bodyPartOf>
|
||||
<colorType>Hair</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
</li>
|
||||
</bodies>
|
||||
</SizedApparel.BodyDef>
|
||||
</Defs>
|
|
@ -0,0 +1,717 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Defs>
|
||||
<SizedApparel.BodyDef>
|
||||
<defName>Human</defName>
|
||||
<bodies>
|
||||
<li>
|
||||
<bodyType>Female</bodyType>
|
||||
<Addons>
|
||||
<li>
|
||||
<partName>Breasts</partName>
|
||||
<boneName>Breasts</boneName>
|
||||
<defaultHediffName>Breasts</defaultHediffName>
|
||||
<bodyPartOf>Breasts</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>true</isBreasts>
|
||||
<!-- "isBreasts" is used for step count -->
|
||||
<!-- rjw private parts and breasts has different step method with serverity. -->
|
||||
<mustHaveBone>false</mustHaveBone>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0113</south>
|
||||
<north>0.001</north>
|
||||
<east>0.0113</east>
|
||||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<!-- Wip -->
|
||||
<!-- <li> -->
|
||||
<!-- <partName>Nipples</partName> -->
|
||||
<!-- <boneName>Breasts</boneName> -->
|
||||
<!-- <defaultHediffName>Breasts</defaultHediffName> -->
|
||||
<!-- <bodyPartOf>Breasts</bodyPartOf> -->
|
||||
<!-- <colorType>Nipple</colorType> -->
|
||||
<!-- <isBreasts>true</isBreasts> -->
|
||||
<!-- <mustHaveBone>false</mustHaveBone> -->
|
||||
<!-- <centeredTexture>false</centeredTexture> -->
|
||||
<!-- <depthOffset> -->
|
||||
<!-- <south>0.0114</south> -->
|
||||
<!-- <north>0.0011</north> -->
|
||||
<!-- <east>0.0114</east> -->
|
||||
<!-- <west>0.0114</west> -->
|
||||
<!-- </depthOffset> -->
|
||||
<!-- </li> -->
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
<defaultHediffName>Vagina</defaultHediffName>
|
||||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<mustHaveBone>true</mustHaveBone>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0088</south>
|
||||
<north>0.0100</north>
|
||||
<east>0.0088</east>
|
||||
<west>0.0088</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Anus</partName>
|
||||
<boneName>Anus</boneName>
|
||||
<defaultHediffName>Anus</defaultHediffName>
|
||||
<bodyPartOf>Anus</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0093</south>
|
||||
<north>0.0105</north>
|
||||
<east>0.0093</east>
|
||||
<west>0.0093</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Belly</partName>
|
||||
<boneName>Belly</boneName>
|
||||
<defaultHediffName>BellyBulge</defaultHediffName>
|
||||
<bodyPartOf>Belly</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0098</south>
|
||||
<north>0.0002</north>
|
||||
<east>0.0098</east>
|
||||
<west>0.0098</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Penis</partName>
|
||||
<boneName>Penis</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Penis</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0108</south>
|
||||
<north>0.0025</north>
|
||||
<east>0.0108</east>
|
||||
<west>0.0108</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Balls</partName>
|
||||
<boneName>Balls</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Balls</bodyPartOf>
|
||||
<customPath>Penis/Balls</customPath>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0096</south>
|
||||
<north>0.0085</north>
|
||||
<east>0.0096</east>
|
||||
<west>0.0096</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>PubicHair</partName>
|
||||
<boneName>PubicHair</boneName>
|
||||
<defaultHediffName>Default</defaultHediffName>
|
||||
<bodyPartOf>PubicHair</bodyPartOf>
|
||||
<colorType>Hair</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Thin</bodyType>
|
||||
<Addons>
|
||||
<li>
|
||||
<partName>Breasts</partName>
|
||||
<boneName>Breasts</boneName>
|
||||
<defaultHediffName>Breasts</defaultHediffName>
|
||||
<bodyPartOf>Breasts</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>true</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0113</south>
|
||||
<north>0.001</north>
|
||||
<east>0.0113</east>
|
||||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
<defaultHediffName>Vagina</defaultHediffName>
|
||||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0088</south>
|
||||
<north>0.0100</north>
|
||||
<east>0.0088</east>
|
||||
<west>0.0088</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Anus</partName>
|
||||
<boneName>Anus</boneName>
|
||||
<defaultHediffName>Anus</defaultHediffName>
|
||||
<bodyPartOf>Anus</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0093</south>
|
||||
<north>0.0105</north>
|
||||
<east>0.0093</east>
|
||||
<west>0.0093</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Belly</partName>
|
||||
<boneName>Belly</boneName>
|
||||
<defaultHediffName>BellyBulge</defaultHediffName>
|
||||
<bodyPartOf>Belly</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0098</south>
|
||||
<north>0.0002</north>
|
||||
<east>0.0098</east>
|
||||
<west>0.0098</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Penis</partName>
|
||||
<boneName>Penis</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Penis</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0108</south>
|
||||
<north>0.0025</north>
|
||||
<east>0.0108</east>
|
||||
<west>0.0108</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Balls</partName>
|
||||
<boneName>Balls</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Balls</bodyPartOf>
|
||||
<customPath>Penis/Balls</customPath>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0096</south>
|
||||
<north>0.0085</north>
|
||||
<east>0.0096</east>
|
||||
<west>0.0096</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>PubicHair</partName>
|
||||
<boneName>PubicHair</boneName>
|
||||
<defaultHediffName>Default</defaultHediffName>
|
||||
<bodyPartOf>PubicHair</bodyPartOf>
|
||||
<colorType>Hair</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Male</bodyType>
|
||||
<Addons>
|
||||
<li>
|
||||
<partName>Breasts</partName>
|
||||
<boneName>Breasts</boneName>
|
||||
<defaultHediffName>Breasts</defaultHediffName>
|
||||
<bodyPartOf>Breasts</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>true</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0113</south>
|
||||
<north>0.001</north>
|
||||
<east>0.0113</east>
|
||||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
<defaultHediffName>Vagina</defaultHediffName>
|
||||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0088</south>
|
||||
<north>0.0100</north>
|
||||
<east>0.0088</east>
|
||||
<west>0.0088</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Anus</partName>
|
||||
<boneName>Anus</boneName>
|
||||
<defaultHediffName>Anus</defaultHediffName>
|
||||
<bodyPartOf>Anus</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0093</south>
|
||||
<north>0.0105</north>
|
||||
<east>0.0093</east>
|
||||
<west>0.0093</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Belly</partName>
|
||||
<boneName>Belly</boneName>
|
||||
<defaultHediffName>BellyBulge</defaultHediffName>
|
||||
<bodyPartOf>Belly</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0098</south>
|
||||
<north>0.0002</north>
|
||||
<east>0.0098</east>
|
||||
<west>0.0098</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Penis</partName>
|
||||
<boneName>Penis</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Penis</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0108</south>
|
||||
<north>0.0025</north>
|
||||
<east>0.0108</east>
|
||||
<west>0.0108</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Balls</partName>
|
||||
<boneName>Balls</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Balls</bodyPartOf>
|
||||
<customPath>Penis/Balls</customPath>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0096</south>
|
||||
<north>0.0085</north>
|
||||
<east>0.0096</east>
|
||||
<west>0.0096</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>PubicHair</partName>
|
||||
<boneName>PubicHair</boneName>
|
||||
<defaultHediffName>Default</defaultHediffName>
|
||||
<bodyPartOf>PubicHair</bodyPartOf>
|
||||
<colorType>Hair</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Hulk</bodyType>
|
||||
<Addons>
|
||||
<li>
|
||||
<partName>Breasts</partName>
|
||||
<boneName>Breasts</boneName>
|
||||
<defaultHediffName>Breasts</defaultHediffName>
|
||||
<bodyPartOf>Breasts</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>true</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0113</south>
|
||||
<north>0.001</north>
|
||||
<east>0.0113</east>
|
||||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
<defaultHediffName>Vagina</defaultHediffName>
|
||||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0088</south>
|
||||
<north>0.0100</north>
|
||||
<east>0.0088</east>
|
||||
<west>0.0088</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Anus</partName>
|
||||
<boneName>Anus</boneName>
|
||||
<defaultHediffName>Anus</defaultHediffName>
|
||||
<bodyPartOf>Anus</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0093</south>
|
||||
<north>0.0105</north>
|
||||
<east>0.0093</east>
|
||||
<west>0.0093</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Belly</partName>
|
||||
<boneName>Belly</boneName>
|
||||
<defaultHediffName>BellyBulge</defaultHediffName>
|
||||
<bodyPartOf>Belly</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0098</south>
|
||||
<north>0.0002</north>
|
||||
<east>0.0098</east>
|
||||
<west>0.0098</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Penis</partName>
|
||||
<boneName>Penis</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Penis</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0108</south>
|
||||
<north>0.0025</north>
|
||||
<east>0.0108</east>
|
||||
<west>0.0108</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Balls</partName>
|
||||
<boneName>Balls</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Balls</bodyPartOf>
|
||||
<customPath>Penis/Balls</customPath>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0096</south>
|
||||
<north>0.0085</north>
|
||||
<east>0.0096</east>
|
||||
<west>0.0096</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>PubicHair</partName>
|
||||
<boneName>PubicHair</boneName>
|
||||
<defaultHediffName>Default</defaultHediffName>
|
||||
<bodyPartOf>PubicHair</bodyPartOf>
|
||||
<colorType>Hair</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Fat</bodyType>
|
||||
<Addons>
|
||||
<li>
|
||||
<partName>Breasts</partName>
|
||||
<boneName>Breasts</boneName>
|
||||
<defaultHediffName>Breasts</defaultHediffName>
|
||||
<bodyPartOf>Breasts</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>true</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0113</south>
|
||||
<north>0.001</north>
|
||||
<east>0.0113</east>
|
||||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
<defaultHediffName>Vagina</defaultHediffName>
|
||||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0088</south>
|
||||
<north>0.0100</north>
|
||||
<east>0.0088</east>
|
||||
<west>0.0088</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Anus</partName>
|
||||
<boneName>Anus</boneName>
|
||||
<defaultHediffName>Anus</defaultHediffName>
|
||||
<bodyPartOf>Anus</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0093</south>
|
||||
<north>0.0105</north>
|
||||
<east>0.0093</east>
|
||||
<west>0.0093</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Belly</partName>
|
||||
<boneName>Belly</boneName>
|
||||
<defaultHediffName>BellyBulge</defaultHediffName>
|
||||
<bodyPartOf>Belly</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0098</south>
|
||||
<north>0.0002</north>
|
||||
<east>0.0098</east>
|
||||
<west>0.0098</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Penis</partName>
|
||||
<boneName>Penis</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Penis</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0108</south>
|
||||
<north>0.0025</north>
|
||||
<east>0.0108</east>
|
||||
<west>0.0108</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Balls</partName>
|
||||
<boneName>Balls</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Balls</bodyPartOf>
|
||||
<customPath>Penis/Balls</customPath>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0096</south>
|
||||
<north>0.0085</north>
|
||||
<east>0.0096</east>
|
||||
<west>0.0096</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>PubicHair</partName>
|
||||
<boneName>PubicHair</boneName>
|
||||
<defaultHediffName>Default</defaultHediffName>
|
||||
<bodyPartOf>PubicHair</bodyPartOf>
|
||||
<colorType>Hair</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Child</bodyType>
|
||||
<Addons>
|
||||
<!-- <li> -->
|
||||
<!-- <partName>Breasts</partName> -->
|
||||
<!-- <boneName>Breasts</boneName> -->
|
||||
<!-- <defaultHediffName>Breasts</defaultHediffName> -->
|
||||
<!-- <bodyPartOf>Breasts</bodyPartOf> -->
|
||||
<!-- <colorType>Skin</colorType> -->
|
||||
<!-- <isBreasts>true</isBreasts> -->
|
||||
<!-- <mustHaveBone>false</mustHaveBone> -->
|
||||
<!-- <centeredTexture>false</centeredTexture> -->
|
||||
<!-- <depthOffset> -->
|
||||
<!-- <south>0.0113</south> -->
|
||||
<!-- <north>0.001</north> -->
|
||||
<!-- <east>0.0113</east> -->
|
||||
<!-- <west>0.0113</west> -->
|
||||
<!-- </depthOffset> -->
|
||||
<!-- </li> -->
|
||||
<!-- <li> -->
|
||||
<!-- <partName>Vagina</partName> -->
|
||||
<!-- <boneName>Vagina</boneName> -->
|
||||
<!-- <defaultHediffName>Vagina</defaultHediffName> -->
|
||||
<!-- <bodyPartOf>Vagina</bodyPartOf> -->
|
||||
<!-- <colorType>Skin</colorType> -->
|
||||
<!-- <isBreasts>false</isBreasts> -->
|
||||
<!-- <mustHaveBone>true</mustHaveBone> -->
|
||||
<!-- <centeredTexture>true</centeredTexture> -->
|
||||
<!-- <depthOffset> -->
|
||||
<!-- <south>0.0088</south> -->
|
||||
<!-- <north>0.0100</north> -->
|
||||
<!-- <east>0.0088</east> -->
|
||||
<!-- <west>0.0088</west> -->
|
||||
<!-- </depthOffset> -->
|
||||
<!-- </li> -->
|
||||
<!-- <li> -->
|
||||
<!-- <partName>Anus</partName> -->
|
||||
<!-- <boneName>Anus</boneName> -->
|
||||
<!-- <defaultHediffName>Anus</defaultHediffName> -->
|
||||
<!-- <bodyPartOf>Anus</bodyPartOf> -->
|
||||
<!-- <colorType>Skin</colorType> -->
|
||||
<!-- <isBreasts>false</isBreasts> -->
|
||||
<!-- <centeredTexture>true</centeredTexture> -->
|
||||
<!-- <depthOffset> -->
|
||||
<!-- <south>0.0093</south> -->
|
||||
<!-- <north>0.0105</north> -->
|
||||
<!-- <east>0.0093</east> -->
|
||||
<!-- <west>0.0093</west> -->
|
||||
<!-- </depthOffset> -->
|
||||
<!-- </li> -->
|
||||
<!-- <li> -->
|
||||
<!-- <partName>Belly</partName> -->
|
||||
<!-- <boneName>Belly</boneName> -->
|
||||
<!-- <defaultHediffName>BellyBulge</defaultHediffName> -->
|
||||
<!-- <bodyPartOf>Belly</bodyPartOf> -->
|
||||
<!-- <colorType>Skin</colorType> -->
|
||||
<!-- <isBreasts>false</isBreasts> -->
|
||||
<!-- <centeredTexture>false</centeredTexture> -->
|
||||
<!-- <depthOffset> -->
|
||||
<!-- <south>0.0098</south> -->
|
||||
<!-- <north>0.0002</north> -->
|
||||
<!-- <east>0.0098</east> -->
|
||||
<!-- <west>0.0098</west> -->
|
||||
<!-- </depthOffset> -->
|
||||
<!-- </li> -->
|
||||
<!-- <li> -->
|
||||
<!-- <partName>Penis</partName> -->
|
||||
<!-- <boneName>Penis</boneName> -->
|
||||
<!-- <defaultHediffName>Penis</defaultHediffName> -->
|
||||
<!-- <bodyPartOf>Penis</bodyPartOf> -->
|
||||
<!-- <colorType>Skin</colorType> -->
|
||||
<!-- <isBreasts>false</isBreasts> -->
|
||||
<!-- <centeredTexture>true</centeredTexture> -->
|
||||
<!-- <depthOffset> -->
|
||||
<!-- <south>0.0108</south> -->
|
||||
<!-- <north>0.0025</north> -->
|
||||
<!-- <east>0.0108</east> -->
|
||||
<!-- <west>0.0108</west> -->
|
||||
<!-- </depthOffset> -->
|
||||
<!-- </li> -->
|
||||
<!-- <li> -->
|
||||
<!-- <partName>Balls</partName> -->
|
||||
<!-- <boneName>Balls</boneName> -->
|
||||
<!-- <defaultHediffName>Penis</defaultHediffName> -->
|
||||
<!-- <bodyPartOf>Balls</bodyPartOf> -->
|
||||
<!-- <customPath>Penis/Balls</customPath> -->
|
||||
<!-- <colorType>Skin</colorType> -->
|
||||
<!-- <isBreasts>false</isBreasts> -->
|
||||
<!-- <centeredTexture>true</centeredTexture> -->
|
||||
<!-- <depthOffset> -->
|
||||
<!-- <south>0.0096</south> -->
|
||||
<!-- <north>0.0085</north> -->
|
||||
<!-- <east>0.0096</east> -->
|
||||
<!-- <west>0.0096</west> -->
|
||||
<!-- </depthOffset> -->
|
||||
<!-- </li> -->
|
||||
</Addons>
|
||||
</li>
|
||||
</bodies>
|
||||
</SizedApparel.BodyDef>
|
||||
</Defs>
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- this is Wip Def. Not work yet. -->
|
||||
<Defs>
|
||||
<SizedApparel.BodyDef>
|
||||
<defName>Human</defName>
|
||||
|
@ -26,6 +25,23 @@
|
|||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<!-- Wip -->
|
||||
<!-- <li> -->
|
||||
<!-- <partName>Nipples</partName> -->
|
||||
<!-- <boneName>Breasts</boneName> -->
|
||||
<!-- <defaultHediffName>Breasts</defaultHediffName> -->
|
||||
<!-- <bodyPartOf>Breasts</bodyPartOf> -->
|
||||
<!-- <colorType>Nipple</colorType> -->
|
||||
<!-- <isBreasts>true</isBreasts> -->
|
||||
<!-- <mustHaveBone>false</mustHaveBone> -->
|
||||
<!-- <centeredTexture>false</centeredTexture> -->
|
||||
<!-- <depthOffset> -->
|
||||
<!-- <south>0.0114</south> -->
|
||||
<!-- <north>0.0011</north> -->
|
||||
<!-- <east>0.0114</east> -->
|
||||
<!-- <west>0.0114</west> -->
|
||||
<!-- </depthOffset> -->
|
||||
<!-- </li> -->
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
|
@ -120,8 +136,8 @@
|
|||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0089</east>
|
||||
<west>0.0089</west>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
|
@ -238,8 +254,8 @@
|
|||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0089</east>
|
||||
<west>0.0089</west>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
|
@ -356,8 +372,8 @@
|
|||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0089</east>
|
||||
<west>0.0089</west>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
|
@ -474,8 +490,8 @@
|
|||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0089</east>
|
||||
<west>0.0089</west>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
|
@ -592,8 +608,106 @@
|
|||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0089</east>
|
||||
<west>0.0089</west>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Child</bodyType>
|
||||
<Addons>
|
||||
<li>
|
||||
<partName>Breasts</partName>
|
||||
<boneName>Breasts</boneName>
|
||||
<defaultHediffName>Breasts</defaultHediffName>
|
||||
<bodyPartOf>Breasts</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>true</isBreasts>
|
||||
<mustHaveBone>false</mustHaveBone>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<depthOffset>
|
||||
<south>0.0113</south>
|
||||
<north>0.001</north>
|
||||
<east>0.0113</east>
|
||||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
<defaultHediffName>Vagina</defaultHediffName>
|
||||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<mustHaveBone>true</mustHaveBone>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<depthOffset>
|
||||
<south>0.0088</south>
|
||||
<north>0.0100</north>
|
||||
<east>0.0088</east>
|
||||
<west>0.0088</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Anus</partName>
|
||||
<boneName>Anus</boneName>
|
||||
<defaultHediffName>Anus</defaultHediffName>
|
||||
<bodyPartOf>Anus</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<depthOffset>
|
||||
<south>0.0093</south>
|
||||
<north>0.0105</north>
|
||||
<east>0.0093</east>
|
||||
<west>0.0093</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Belly</partName>
|
||||
<boneName>Belly</boneName>
|
||||
<defaultHediffName>BellyBulge</defaultHediffName>
|
||||
<bodyPartOf>Belly</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<depthOffset>
|
||||
<south>0.0098</south>
|
||||
<north>0.0002</north>
|
||||
<east>0.0098</east>
|
||||
<west>0.0098</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Penis</partName>
|
||||
<boneName>Penis</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Penis</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<depthOffset>
|
||||
<south>0.0108</south>
|
||||
<north>0.0025</north>
|
||||
<east>0.0108</east>
|
||||
<west>0.0108</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Balls</partName>
|
||||
<boneName>Balls</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Balls</bodyPartOf>
|
||||
<customPath>Penis/Balls</customPath>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<depthOffset>
|
||||
<south>0.0096</south>
|
||||
<north>0.0085</north>
|
||||
<east>0.0096</east>
|
||||
<west>0.0096</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Defs>
|
||||
<SizedApparel.PubicHairDef>
|
||||
<!-- Sized Apparel will Use defName for TextureSearch -->
|
||||
<defName>Default</defName>
|
||||
<!-- texPath must be set for styling station! -->
|
||||
<texPath>SizedApparel/BodyParts/Human/PubicHair/Default</texPath>
|
||||
<!-- Actual Texture must have "_south" name. -->
|
||||
<!-- for example of this: Default_south.png -->
|
||||
</SizedApparel.PubicHairDef>
|
||||
</Defs>
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Defs>
|
||||
<SizedApparel.PubicHairDef>
|
||||
<!-- Sized Apparel will Use defName for TextureSearch -->
|
||||
<defName>Line</defName>
|
||||
<!-- texPath must be set for styling station! -->
|
||||
<texPath>SizedApparel/BodyParts/Human/PubicHair/Line</texPath>
|
||||
<!-- Actual Texture must have "_south" name. -->
|
||||
<!-- for example of this: Default_south.png -->
|
||||
</SizedApparel.PubicHairDef>
|
||||
</Defs>
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Defs>
|
||||
<SizedApparel.PubicHairDef>
|
||||
<!-- Sized Apparel will Use defName for TextureSearch -->
|
||||
<defName>Wild</defName>
|
||||
<!-- texPath must be set for styling station! -->
|
||||
<texPath>SizedApparel/BodyParts/Human/PubicHair/Wild</texPath>
|
||||
<!-- Actual Texture must have "_south" name. -->
|
||||
<!-- for example of this: Default_south.png -->
|
||||
</SizedApparel.PubicHairDef>
|
||||
</Defs>
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Defs>
|
||||
<SizedApparel.PubicHairDef>
|
||||
<defName>None</defName>
|
||||
<noGraphic>true</noGraphic>
|
||||
</SizedApparel.PubicHairDef>
|
||||
</Defs>
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Defs>
|
||||
<SizedApparel.PubicHairDef>
|
||||
<!-- Sized Apparel will Use defName for TextureSearch -->
|
||||
<defName>Wild</defName>
|
||||
<!-- texPath must be set for styling station! -->
|
||||
<texPath>SizedApparel/BodyParts/Human/PubicHair/Wild</texPath>
|
||||
<!-- Actual Texture must have "_south" name. -->
|
||||
<!-- for example of this: Default_south.png -->
|
||||
</SizedApparel.PubicHairDef>
|
||||
</Defs>
|
|
@ -0,0 +1,123 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Defs>
|
||||
<SizedApparel.SkeletonDef>
|
||||
<defName>AOC</defName>
|
||||
<skeletons>
|
||||
<li>
|
||||
<bodyType>Female</bodyType>
|
||||
<Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>PubicHair</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
</Bones>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Child</bodyType>
|
||||
<Bones>
|
||||
</Bones>
|
||||
</li>
|
||||
</skeletons>
|
||||
</SizedApparel.SkeletonDef>
|
||||
</Defs>
|
|
@ -0,0 +1,123 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Defs>
|
||||
<SizedApparel.SkeletonDef>
|
||||
<defName>Alien_Bori</defName>
|
||||
<skeletons>
|
||||
<li>
|
||||
<bodyType>Thin</bodyType>
|
||||
<Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>PubicHair</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
</Bones>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Child</bodyType>
|
||||
<Bones>
|
||||
</Bones>
|
||||
</li>
|
||||
</skeletons>
|
||||
</SizedApparel.SkeletonDef>
|
||||
</Defs>
|
|
@ -0,0 +1,233 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Defs>
|
||||
<SizedApparel.SkeletonDef>
|
||||
<defName>Alien_Miho</defName>
|
||||
<skeletons>
|
||||
<li>
|
||||
<bodyType>Thin</bodyType>
|
||||
<Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.148)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.006, 0, -0.150)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(-0.006, 0, -0.143)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.129)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.006, 0, -0.139</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(-0.061, 0, -0.155)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.141)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.006, 0, -0.141)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(-0.004, 0, -0.139)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.141)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.006, 0, -0.141))</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(-0.004, 0, -0.139)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>PubicHair</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.121)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.006, 0, -0.109)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.004, 0, -0.123)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
</Bones>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Female</bodyType>
|
||||
<Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.148)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.006, 0, -0.150)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(-0.006, 0, -0.143)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.129)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.006, 0, -0.139)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(-0.061, 0, -0.155)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.141)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.006, 0, -0.141)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(-0.004, 0, -0.139)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.141)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.006, 0, -0.141)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(-0.004, 0, -0.139)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.004, 0, -0.123))</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>PubicHair</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.121)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.006, 0, -0.109)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.004, 0, -0.123)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
</Bones>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Child</bodyType>
|
||||
<Bones>
|
||||
</Bones>
|
||||
</li>
|
||||
</skeletons>
|
||||
</SizedApparel.SkeletonDef>
|
||||
</Defs>
|
|
@ -0,0 +1,233 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Defs>
|
||||
<SizedApparel.SkeletonDef>
|
||||
<defName>Rabbie</defName>
|
||||
<skeletons>
|
||||
<li>
|
||||
<bodyType>Thin</bodyType>
|
||||
<Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>PubicHair</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
</Bones>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Male</bodyType>
|
||||
<Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>PubicHair</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
</Bones>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Child</bodyType>
|
||||
<Bones>
|
||||
</Bones>
|
||||
</li>
|
||||
</skeletons>
|
||||
</SizedApparel.SkeletonDef>
|
||||
</Defs>
|
|
@ -0,0 +1,233 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Defs>
|
||||
<SizedApparel.SkeletonDef>
|
||||
<defName>Ratkin</defName>
|
||||
<skeletons>
|
||||
<li>
|
||||
<bodyType>Thin</bodyType>
|
||||
<Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>PubicHair</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
</Bones>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Male</bodyType>
|
||||
<Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>PubicHair</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
</Bones>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Child</bodyType>
|
||||
<Bones>
|
||||
</Bones>
|
||||
</li>
|
||||
</skeletons>
|
||||
</SizedApparel.SkeletonDef>
|
||||
</Defs>
|
|
@ -0,0 +1,233 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Defs>
|
||||
<SizedApparel.SkeletonDef>
|
||||
<defName>Ratkin_Su</defName>
|
||||
<skeletons>
|
||||
<li>
|
||||
<bodyType>Thin</bodyType>
|
||||
<Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>PubicHair</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
</Bones>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Male</bodyType>
|
||||
<Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>PubicHair</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
</Bones>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Child</bodyType>
|
||||
<Bones>
|
||||
</Bones>
|
||||
</li>
|
||||
</skeletons>
|
||||
</SizedApparel.SkeletonDef>
|
||||
</Defs>
|
|
@ -0,0 +1,123 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Defs>
|
||||
<SizedApparel.SkeletonDef>
|
||||
<defName>Alien_SP</defName>
|
||||
<skeletons>
|
||||
<li>
|
||||
<bodyType>Female</bodyType>
|
||||
<Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>PubicHair</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
</Bones>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Child</bodyType>
|
||||
<Bones>
|
||||
</Bones>
|
||||
</li>
|
||||
</skeletons>
|
||||
</SizedApparel.SkeletonDef>
|
||||
</Defs>
|
|
@ -556,7 +556,112 @@
|
|||
<li>
|
||||
<bodyType>Child</bodyType>
|
||||
<Bones>
|
||||
</Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(0.002, 0, -0.209)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, -0.205)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.043, 0, -0.174)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.289)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0.002, 0, -0.164)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(-0.084, 0, -0.127)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(-0.002, 0, -0.195)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.002, 0, -0.195)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.047, 0, -0.170)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(-0.002, 0, -0.195)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.002, 0, -0.195)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.047, 0, -0.170)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>PubicHair</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.166)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.002, 0, -0.164)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.057, 0, -0.145)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
</Bones>
|
||||
</li>
|
||||
</skeletons>
|
||||
</SizedApparel.SkeletonDef>
|
|
@ -0,0 +1,668 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Defs>
|
||||
<SizedApparel.SkeletonDef>
|
||||
<defName>Human</defName>
|
||||
<skeletons>
|
||||
<li>
|
||||
<bodyType>Female</bodyType>
|
||||
<Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(-0.002, 0, -0.340)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.006, 0, -0.346)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.047, 0, -0.238)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.289)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.006, 0, -0.289)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(-0.174, 0, 0.254)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.320)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.01, 0, -0.338)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.062, 0, -0.221)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.320)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.01, 0, -0.338)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.062, 0, -0.221)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>PubicHair</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.301)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, -0.318)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.059, 0, -0.186)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
</Bones>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Thin</bodyType>
|
||||
<Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.312)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.006, 0, -0.318)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.006, 0, -0.256)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.260)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.002, 0, -0.266)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(-0.137, 0, -0.211)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.307)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, -0.305)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.008, 0, -0.248)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.307)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, -0.305)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.007, 0, -0.248)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>PubicHair</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.281)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, -0.291)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.021, 0, -0.219)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
</Bones>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Male</bodyType>
|
||||
<Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.320)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0.002, 0, -0.311)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.057, 0, -0.258)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.268)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, -0.252)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(-0.113, 0, -0.234)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.301)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, -0.311)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.068, 0, -0.250)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(0.0, 0, -0.301)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0.0, 0, -0.311)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.066, 0, -0.250)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>PubicHair</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.275)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, -0.277)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.066, 0, -0.219)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
</Bones>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Hulk</bodyType>
|
||||
<Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(0.004, 0, -0.434)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, -0.453)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.020, 0, -0.395)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0.006, 0, -0.383)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, -0.406)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(-0.238, 0, -0.328)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.436)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0.0, 0, -0.445)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.029, 0, -0.387)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.436)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, -0.445)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.028, 0, -0.387)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>PubicHair</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.395)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0.027, 0, -0.375)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, -0.424)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
</Bones>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Fat</bodyType>
|
||||
<Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(0.002, 0, -0.352)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0.002, 0, -0.359)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.148, 0, -0.352)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.297)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, -0.297)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(-0.238, 0, -0.271)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.357)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, -0.363)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.168, 0, -0.348)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.357)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, -0.363)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.168, 0, -0.348)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>PubicHair</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.307)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, -0.320)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.158, 0, -0.338)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
</Bones>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Child</bodyType>
|
||||
<Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(0.002, 0, -0.209)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, -0.205)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.043, 0, -0.174)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.289)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0.002, 0, -0.164)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(-0.084, 0, -0.127)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(-0.002, 0, -0.195)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.002, 0, -0.195)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.047, 0, -0.170)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(-0.002, 0, -0.195)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.002, 0, -0.195)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.047, 0, -0.170)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<!-- <li> -->
|
||||
<!-- <name>PubicHair</name> -->
|
||||
<!-- <south> -->
|
||||
<!-- <InitialPosition>(0, 0, -0.166)</InitialPosition> -->
|
||||
<!-- <InitialAngle>0</InitialAngle> -->
|
||||
<!-- </south> -->
|
||||
<!-- <north> -->
|
||||
<!-- <InitialPosition>(-0.002, 0, -0.164)</InitialPosition> -->
|
||||
<!-- <InitialAngle>0</InitialAngle> -->
|
||||
<!-- </north> -->
|
||||
<!-- <east> -->
|
||||
<!-- <InitialPosition>(0.057, 0, -0.145)</InitialPosition> -->
|
||||
<!-- <InitialAngle>0</InitialAngle> -->
|
||||
<!-- </east> -->
|
||||
<!-- </li> -->
|
||||
</Bones>
|
||||
</li>
|
||||
</skeletons>
|
||||
</SizedApparel.SkeletonDef>
|
||||
</Defs>
|
|
@ -0,0 +1,52 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
|
||||
<Patch>
|
||||
<Operation Class="PatchOperationFindMod">
|
||||
<mods>
|
||||
<li>Biotech</li>
|
||||
</mods>
|
||||
<match Class="PatchOperationSequence">
|
||||
<success>Normal</success>
|
||||
<operations>
|
||||
<li Class="PatchOperationConditional">
|
||||
<xpath>Defs/ThingDef[defName = "Apparel_Sash"]/apparel/tags</xpath>
|
||||
<nomatch Class="PatchOperationAdd">
|
||||
<xpath>Defs/ThingDef[defName = "Apparel_Sash"]/apparel</xpath>
|
||||
<value>
|
||||
<tags>
|
||||
<li>SizedApparel_IgnorBreastSize</li>
|
||||
<li>SizedApparel_ShowPrivateCrotch</li>
|
||||
</tags>
|
||||
</value>
|
||||
</nomatch>
|
||||
<match Class="PatchOperationAdd">
|
||||
<xpath>Defs/ThingDef[defName = "Apparel_Sash"]/apparel/tags</xpath>
|
||||
<value>
|
||||
<li>SizedApparel_IgnorBreastSize</li>
|
||||
<li>SizedApparel_ShowPrivateCrotch</li>
|
||||
</value>
|
||||
</match>
|
||||
</li>
|
||||
<li Class="PatchOperationConditional">
|
||||
<xpath>Defs/ThingDef[defName = "Apparel_Bandolier"]/apparel/tags</xpath>
|
||||
<nomatch Class="PatchOperationAdd">
|
||||
<xpath>Defs/ThingDef[defName = "Apparel_Bandolier"]/apparel</xpath>
|
||||
<value>
|
||||
<tags>
|
||||
<li>SizedApparel_IgnorBreastSize</li>
|
||||
<li>SizedApparel_ShowPrivateCrotch</li>
|
||||
</tags>
|
||||
</value>
|
||||
</nomatch>
|
||||
<match Class="PatchOperationAdd">
|
||||
<xpath>Defs/ThingDef[defName = "Apparel_Bandolier"]/apparel/tags</xpath>
|
||||
<value>
|
||||
<li>SizedApparel_IgnorBreastSize</li>
|
||||
<li>SizedApparel_ShowPrivateCrotch</li>
|
||||
</value>
|
||||
</match>
|
||||
</li>
|
||||
</operations>
|
||||
</match>
|
||||
</Operation>
|
||||
</Patch>
|
|
@ -0,0 +1,52 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
|
||||
<Patch>
|
||||
<Operation Class="PatchOperationFindMod">
|
||||
<mods>
|
||||
<li>Biotech</li>
|
||||
</mods>
|
||||
<match Class="PatchOperationSequence">
|
||||
<success>Normal</success>
|
||||
<operations>
|
||||
<li Class="PatchOperationConditional">
|
||||
<xpath>Defs/ThingDef[defName = "Apparel_Sash"]/apparel/tags</xpath>
|
||||
<nomatch Class="PatchOperationAdd">
|
||||
<xpath>Defs/ThingDef[defName = "Apparel_Sash"]/apparel</xpath>
|
||||
<value>
|
||||
<tags>
|
||||
<li>SizedApparel_IgnorBreastSize</li>
|
||||
<li>SizedApparel_ShowPrivateCrotch</li>
|
||||
</tags>
|
||||
</value>
|
||||
</nomatch>
|
||||
<match Class="PatchOperationAdd">
|
||||
<xpath>Defs/ThingDef[defName = "Apparel_Sash"]/apparel/tags</xpath>
|
||||
<value>
|
||||
<li>SizedApparel_IgnorBreastSize</li>
|
||||
<li>SizedApparel_ShowPrivateCrotch</li>
|
||||
</value>
|
||||
</match>
|
||||
</li>
|
||||
<li Class="PatchOperationConditional">
|
||||
<xpath>Defs/ThingDef[defName = "Apparel_Bandolier"]/apparel/tags</xpath>
|
||||
<nomatch Class="PatchOperationAdd">
|
||||
<xpath>Defs/ThingDef[defName = "Apparel_Bandolier"]/apparel</xpath>
|
||||
<value>
|
||||
<tags>
|
||||
<li>SizedApparel_IgnorBreastSize</li>
|
||||
<li>SizedApparel_ShowPrivateCrotch</li>
|
||||
</tags>
|
||||
</value>
|
||||
</nomatch>
|
||||
<match Class="PatchOperationAdd">
|
||||
<xpath>Defs/ThingDef[defName = "Apparel_HeavyBandolier"]/apparel/tags</xpath>
|
||||
<value>
|
||||
<li>SizedApparel_IgnorBreastSize</li>
|
||||
<li>SizedApparel_ShowPrivateCrotch</li>
|
||||
</value>
|
||||
</match>
|
||||
</li>
|
||||
</operations>
|
||||
</match>
|
||||
</Operation>
|
||||
</Patch>
|
|
@ -11,10 +11,4 @@ namespace SizedApparel
|
|||
class AlienRaceSupport
|
||||
{
|
||||
}
|
||||
|
||||
public class SizedApparelPawnDef : Def
|
||||
{
|
||||
public bool allowForceHumanlike = false;
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@ using System.Threading.Tasks;
|
|||
|
||||
namespace SizedApparel
|
||||
{
|
||||
//Does it better to optimize?
|
||||
public class Graphic_BodyParts : Verse.Graphic_Multi
|
||||
{
|
||||
public float serverity;
|
||||
|
|
|
@ -3,11 +3,17 @@ using System.Collections.Generic;
|
|||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using UnityEngine;
|
||||
using RimWorld;
|
||||
using Verse;
|
||||
|
||||
namespace SizedApparel
|
||||
{
|
||||
public class Graphic_SizedApparel : Verse.Graphic_Multi
|
||||
//Does it better to optimize?
|
||||
public class Graphic_SizedApparel : Graphic_Multi
|
||||
{
|
||||
|
||||
public string TargetBodyParts = "Breats";
|
||||
//Sized Graphics.
|
||||
public List<Graphic_Multi> graphics;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,15 +1,11 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using HarmonyLib;
|
||||
using RimWorld;
|
||||
using Verse;
|
||||
using HarmonyLib;
|
||||
//using Rimworld_Animations;
|
||||
//using AlienRace;
|
||||
using UnityEngine;
|
||||
using rjw;
|
||||
using RevealingApparel;
|
||||
using System.Reflection;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using Verse;
|
||||
|
||||
namespace SizedApparel
|
||||
{
|
||||
|
@ -24,6 +20,9 @@ namespace SizedApparel
|
|||
public static bool rimNudeWorldActive = false;
|
||||
public static bool OTYNudeActive = false;
|
||||
public static bool LicentiaActive = false;
|
||||
public static bool RimworldAnimationActive = false; //rjw animation
|
||||
public static bool MenstruationActive = false; //rjw_menstruation
|
||||
public static bool StatueOfColonistActive = false;
|
||||
|
||||
static SizedApparelPatch()
|
||||
{
|
||||
|
@ -85,6 +84,40 @@ namespace SizedApparel
|
|||
{
|
||||
LicentiaActive = true;
|
||||
}
|
||||
if (!LicentiaActive)
|
||||
{
|
||||
if (LoadedModManager.RunningModsListForReading.Any(x => x.PackageId.ToLower() == "Euclidean.LustLicentia.RJWLabs".ToLower()))
|
||||
{
|
||||
LicentiaActive = true;
|
||||
}
|
||||
}
|
||||
if (!LicentiaActive)
|
||||
{
|
||||
if (LoadedModManager.RunningModsListForReading.Any(x => x.PackageId.ToLower().Contains("LustLicentia.RJWLabs".ToLower())))
|
||||
{
|
||||
LicentiaActive = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
//check rjw animation
|
||||
if (LoadedModManager.RunningModsListForReading.Any(x => x.PackageId.ToLower() == "c0ffee.rimworld.animations".ToLower()))
|
||||
{
|
||||
RimworldAnimationActive = true;
|
||||
}
|
||||
|
||||
//check rjw_menstruation
|
||||
if (LoadedModManager.RunningModsListForReading.Any(x => x.PackageId.ToLower() == "rjw.menstruation".ToLower()))
|
||||
{
|
||||
MenstruationActive = true;
|
||||
}
|
||||
|
||||
//check statue of Colonist
|
||||
if (LoadedModManager.RunningModsListForReading.Any(x => x.PackageId.ToLower() == "tammybee.statueofcolonist".ToLower()))
|
||||
{
|
||||
StatueOfColonistActive = true;
|
||||
}
|
||||
|
||||
|
||||
Log.Message("[SizedApparel] start");
|
||||
|
@ -137,7 +170,7 @@ namespace SizedApparel
|
|||
}
|
||||
else
|
||||
{
|
||||
Log.Message("[SizedApparel] RimJobWorld Paatch canceled");
|
||||
Log.Message("[SizedApparel] RimJobWorld Patch canceled");
|
||||
}
|
||||
}))();
|
||||
}
|
||||
|
@ -170,6 +203,31 @@ namespace SizedApparel
|
|||
catch (TypeLoadException ex) { }
|
||||
*/
|
||||
|
||||
try
|
||||
{
|
||||
((Action)(() =>
|
||||
{
|
||||
if (RimworldAnimationActive)
|
||||
{
|
||||
Log.Message("[SizedApparel] RimworldAnimaion(rjw animation) Found");
|
||||
|
||||
harmony.Patch(AccessTools.Method(typeof(Rimworld_Animations.CompBodyAnimator), "tickClip"),
|
||||
postfix: new HarmonyMethod(typeof(RimworldAnimationPatch), "TickClipPostfix"));
|
||||
|
||||
harmony.Patch(AccessTools.Method(typeof(JobDriver_SexBaseInitiator), "End"),
|
||||
postfix: new HarmonyMethod(typeof(RimworldAnimationPatch), "EndClipPostfix"));
|
||||
|
||||
|
||||
Log.Message("[SizedApparel] RimworldAnimaion(rjw animation) Patched");
|
||||
}
|
||||
else
|
||||
{
|
||||
Log.Message("[SizedApparel] RimworldAnimaion(rjw animation) Patch canceled");
|
||||
}
|
||||
}))();
|
||||
}
|
||||
catch (TypeLoadException ex) { }
|
||||
|
||||
//Rim Nude World Patch
|
||||
try
|
||||
{
|
||||
|
|
|
@ -0,0 +1,107 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using RimWorld;
|
||||
using Verse;
|
||||
using HarmonyLib;
|
||||
using UnityEngine;
|
||||
//using Rimworld_Animations;
|
||||
|
||||
namespace SizedApparel
|
||||
{
|
||||
|
||||
public class RimworldAnimationPatch
|
||||
{
|
||||
//since instance (CompBodyAnimator class) must be soft dependency, Get as System.Object.
|
||||
public static void TickClipPostfix(System.Object __instance) //CompBodyAnimator __instance, AnimationDef ___anim, int ___curStage, int ___actor, int ___clipTicks, float ___clipPercent
|
||||
{
|
||||
Rimworld_Animations.CompBodyAnimator instance = __instance as Rimworld_Animations.CompBodyAnimator;
|
||||
|
||||
if (instance == null)
|
||||
return;
|
||||
|
||||
if (!instance.controlGenitalAngle)
|
||||
return;
|
||||
|
||||
var comp = instance.parent.GetComp<ApparelRecorderComp>();
|
||||
if (comp == null)
|
||||
return;
|
||||
|
||||
|
||||
comp.SetPenisAngle(instance.genitalAngle - instance.bodyAngle); //genitalAngle is global Angle value in rjwanimation... fix with body Angle;
|
||||
|
||||
|
||||
if (!SizedApparelSettings.AnimationPatch)//Rotating Penis Setting(avobe) is set from RimworldAnimation Setting, not in SizedApparel.
|
||||
return;
|
||||
|
||||
foreach (var actor in instance.actorsInCurrentAnimation)
|
||||
{
|
||||
//comp.ForceUpdateTickAnimation = true;
|
||||
var actorcomp = actor.GetComp<ApparelRecorderComp>();
|
||||
if (actorcomp == null)
|
||||
continue;
|
||||
//actorcomp.SetBreastJiggle(true);
|
||||
actorcomp.ForceUpdateTickAnimation = true;
|
||||
|
||||
}
|
||||
return;
|
||||
bool isFuckTick = false;
|
||||
/*
|
||||
var soundEffects = ((PawnAnimationClip)___anim.animationStages[___curStage].animationClips[___actor]).SoundEffects;
|
||||
if (soundEffects.ContainsKey(___clipTicks) && (soundEffects[___clipTicks].Contains("Fuck") || soundEffects[___clipTicks].Contains("Suck")))
|
||||
{
|
||||
isFuckTick = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
const int jiggleTime = 3;
|
||||
for(int i = 0; i < jiggleTime; i++)
|
||||
{
|
||||
if (soundEffects.ContainsKey(___clipTicks - i) && soundEffects[___clipTicks - i].Contains("Fuck"))
|
||||
{
|
||||
isFuckTick = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}*/
|
||||
//need to find partner's breasts.
|
||||
/*
|
||||
if (isFuckTick)
|
||||
{
|
||||
foreach (var actor in __instance.actorsInCurrentAnimation)
|
||||
{
|
||||
actor.GetComp<ApparelRecorderComp>().SetBreastJiggle(true);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (var actor in __instance.actorsInCurrentAnimation)
|
||||
{
|
||||
actor.GetComp<ApparelRecorderComp>().SetBreastJiggle(false);
|
||||
}
|
||||
}*/
|
||||
//may have some tick issue? too fast jiggle?
|
||||
}
|
||||
|
||||
//rjw's JobDriver_SexBaseInitiator end patch
|
||||
public static void EndClipPostfix(System.Object __instance)//CompBodyAnimator __instance
|
||||
{
|
||||
Rimworld_Animations.CompBodyAnimator instance = __instance as Rimworld_Animations.CompBodyAnimator;
|
||||
if (instance == null)
|
||||
return;
|
||||
|
||||
if (!instance.controlGenitalAngle)
|
||||
return;
|
||||
var comp = instance.parent.GetComp<ApparelRecorderComp>();
|
||||
if (comp == null)
|
||||
return;
|
||||
comp.SetBreastJiggle(false, -1);
|
||||
comp.ForceUpdateTickAnimation = false;
|
||||
comp.SetPenisAngle(0);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -17,7 +17,7 @@ namespace SizedApparel
|
|||
|
||||
if (graphicSet == null)
|
||||
return;
|
||||
var comp = pawn.TryGetComp<ApparelRecorderComp>();
|
||||
var comp = pawn.GetComp<ApparelRecorderComp>();
|
||||
if (comp == null)
|
||||
return;
|
||||
comp.needToCheckApparelGraphicRecords = true;
|
|
@ -0,0 +1,39 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using UnityEngine;
|
||||
using Verse;
|
||||
using RJW_Menstruation;
|
||||
|
||||
namespace SizedApparel
|
||||
{
|
||||
public class Patch_Menstruation
|
||||
{
|
||||
|
||||
public static Color? GetNippleColor(Hediff breastHediff)
|
||||
{
|
||||
var breastcomp = breastHediff.TryGetComp<HediffComp_Breast>();
|
||||
if (breastcomp == null)
|
||||
return null;
|
||||
return breastcomp.NippleColor;
|
||||
}
|
||||
|
||||
public static float? GetNippleSize(Hediff breastHediff)
|
||||
{
|
||||
var breastcomp = breastHediff.TryGetComp<HediffComp_Breast>();
|
||||
if (breastcomp == null)
|
||||
return null;
|
||||
return breastcomp.NippleSize;
|
||||
}
|
||||
|
||||
public static float? GetAreolaSize(Hediff breastHediff)
|
||||
{
|
||||
var breastcomp = breastHediff.TryGetComp<HediffComp_Breast>();
|
||||
if (breastcomp == null)
|
||||
return null;
|
||||
return breastcomp.AreolaSize;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -18,10 +18,10 @@ namespace SizedApparel
|
|||
{
|
||||
if (!UnityData.IsInMainThread)
|
||||
return;
|
||||
ApparelRecorderComp comp = pawn?.TryGetComp<ApparelRecorderComp>();
|
||||
ApparelRecorderComp comp = pawn?.GetComp<ApparelRecorderComp>();
|
||||
if (comp == null)
|
||||
return;
|
||||
comp.SetDirty();
|
||||
comp.SetDirty(true,true,true);
|
||||
/*
|
||||
comp.ClearAll();
|
||||
var graphicSet = pawn.Drawer?.renderer?.graphics;
|
||||
|
@ -69,7 +69,7 @@ namespace SizedApparel
|
|||
return;
|
||||
//GetBreastSeverity(__instance.pawn, out breastSeverity, out breastHediff);
|
||||
//bool flag = hasUnSupportedApparel(__instance.pawn, breastSeverity, breastHediff);
|
||||
ApparelRecorderComp comp = pawn.TryGetComp<ApparelRecorderComp>();
|
||||
ApparelRecorderComp comp = pawn.GetComp<ApparelRecorderComp>();
|
||||
if (comp != null)
|
||||
{
|
||||
/*
|
||||
|
@ -128,7 +128,7 @@ namespace SizedApparel
|
|||
{
|
||||
if (pawn == null)
|
||||
return;
|
||||
ApparelRecorderComp comp = pawn.TryGetComp<ApparelRecorderComp>();
|
||||
ApparelRecorderComp comp = pawn.GetComp<ApparelRecorderComp>();
|
||||
if (comp == null)
|
||||
return;
|
||||
comp.SetDirty();
|
||||
|
@ -146,7 +146,7 @@ namespace SizedApparel
|
|||
|
||||
|
||||
|
||||
ApparelRecorderComp pawnARC = __instance.pawn.TryGetComp<ApparelRecorderComp>();
|
||||
ApparelRecorderComp pawnARC = __instance.pawn.GetComp<ApparelRecorderComp>();
|
||||
if (pawnARC != null)
|
||||
{
|
||||
if (__instance.pawn.RaceProps.Humanlike)
|
||||
|
@ -161,7 +161,7 @@ namespace SizedApparel
|
|||
var partner = __instance.Partner as Pawn;
|
||||
if (partner == null)
|
||||
return;
|
||||
ApparelRecorderComp partnerARC = partner.TryGetComp<ApparelRecorderComp>();
|
||||
ApparelRecorderComp partnerARC = partner.GetComp<ApparelRecorderComp>();
|
||||
if (partnerARC != null)
|
||||
{
|
||||
if (partner.RaceProps.Humanlike)
|
||||
|
@ -182,7 +182,7 @@ namespace SizedApparel
|
|||
{
|
||||
|
||||
|
||||
ApparelRecorderComp pawnARC = __instance.pawn.TryGetComp<ApparelRecorderComp>();
|
||||
ApparelRecorderComp pawnARC = __instance.pawn.GetComp<ApparelRecorderComp>();
|
||||
|
||||
if (pawnARC != null)
|
||||
{
|
||||
|
@ -209,7 +209,7 @@ namespace SizedApparel
|
|||
var partner = __instance.Partner as Pawn;
|
||||
if (partner == null)
|
||||
return;
|
||||
ApparelRecorderComp partnerARC = partner.TryGetComp<ApparelRecorderComp>();
|
||||
ApparelRecorderComp partnerARC = partner.GetComp<ApparelRecorderComp>();
|
||||
if (partnerARC != null)
|
||||
{
|
||||
partnerARC.havingSex = false;
|
|
@ -36,7 +36,7 @@ namespace SizedApparel
|
|||
{
|
||||
if (__result == false)
|
||||
return;
|
||||
var comp = pawn.TryGetComp<ApparelRecorderComp>();
|
||||
var comp = pawn.GetComp<ApparelRecorderComp>();
|
||||
if (comp == null)
|
||||
return;
|
||||
if (comp.hasUnsupportedApparel)
|
|
@ -0,0 +1,13 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SizedApparel
|
||||
{
|
||||
public class Patch_StatueOfColonist
|
||||
{
|
||||
|
||||
}
|
||||
}
|
|
@ -1,33 +1,51 @@
|
|||
using System;
|
||||
using HarmonyLib;
|
||||
using RimWorld;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using RimWorld;
|
||||
using Verse;
|
||||
using HarmonyLib;
|
||||
using System.Reflection;
|
||||
//using AlienRace;
|
||||
using UnityEngine;
|
||||
using rjw;
|
||||
using System.Reflection;
|
||||
using Verse;
|
||||
|
||||
namespace SizedApparel
|
||||
{
|
||||
public struct Depth4Offsets
|
||||
public class Depth4Offsets
|
||||
{
|
||||
float South;
|
||||
float North;
|
||||
float East;
|
||||
float West;
|
||||
public float south=0;
|
||||
public float north=0;
|
||||
public float east=0;
|
||||
public float west=0;
|
||||
|
||||
public Depth4Offsets() { }
|
||||
|
||||
public Depth4Offsets(Vector4 arg)
|
||||
{
|
||||
south = arg.x;
|
||||
north = arg.y;
|
||||
east = arg.z;
|
||||
west = arg.w;
|
||||
}
|
||||
public Depth4Offsets(float s, float n, float e, float w)
|
||||
{
|
||||
south = s;
|
||||
north = n;
|
||||
east = e;
|
||||
west = w;
|
||||
}
|
||||
}
|
||||
|
||||
public struct Rot4Offsets
|
||||
public class Rot4Offsets
|
||||
{
|
||||
//X: right and left
|
||||
//Y: Frong or Back
|
||||
//Z: Up and Down
|
||||
Vector3 South;
|
||||
|
||||
Vector3 North;
|
||||
|
||||
Vector3 East;
|
||||
|
||||
Vector3 West;
|
||||
|
||||
public Rot4Offsets(Vector3 vector)
|
||||
|
@ -68,11 +86,29 @@ namespace SizedApparel
|
|||
public string bodyType;
|
||||
}
|
||||
|
||||
public class BodyWithBodyType
|
||||
{
|
||||
public string bodyType;
|
||||
public List<BodyPart> Addons = new List<BodyPart>();
|
||||
}
|
||||
|
||||
public class BodyPart
|
||||
{
|
||||
public string partName;
|
||||
public Depth4Offsets depthOffset;
|
||||
public List<BodyTypeAndOffset> offsets;
|
||||
public string partName = null;
|
||||
public string customPath = null;
|
||||
public string defaultHediffName = null; // for missing Hediff
|
||||
public bool isBreasts = false;
|
||||
public bool centeredTexture = true;
|
||||
public bool mustMatchBodyType = false; // TODO
|
||||
|
||||
public string boneName = null;
|
||||
public Bone bone = null; // For Graphic Positioning System
|
||||
public bool mustHaveBone = true; // when bone is missing, don't draw
|
||||
|
||||
public SizedApparelBodyPartOf bodyPartOf = SizedApparelBodyPartOf.None;
|
||||
public ColorType colorType = ColorType.Skin;
|
||||
public Depth4Offsets depthOffset = new Depth4Offsets();
|
||||
public BodyTypeAndOffset offsets = new BodyTypeAndOffset();
|
||||
}
|
||||
|
||||
public class BodyTypeAndOffset
|
||||
|
@ -81,11 +117,16 @@ namespace SizedApparel
|
|||
public string bodyType;
|
||||
public Rot4Offsets offsets = new Rot4Offsets(Vector3.zero);
|
||||
|
||||
public BodyTypeAndOffset()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public BodyTypeAndOffset(bool useCenter)
|
||||
{
|
||||
if (useCenter)
|
||||
{
|
||||
offsets = new Rot4Offsets(new Vector3(0.5f, 0, 0.5f));
|
||||
offsets = new Rot4Offsets(Vector3.zero);
|
||||
}
|
||||
}
|
||||
public BodyTypeAndOffset(Vector3 defaultOffset)
|
||||
|
@ -94,15 +135,15 @@ namespace SizedApparel
|
|||
}
|
||||
}
|
||||
|
||||
public enum SizedApparelBodyPartColorOf
|
||||
public enum ColorType
|
||||
{
|
||||
Skin, Hair, Custom, None
|
||||
Skin, Hair, Nipple, Custom, None
|
||||
}
|
||||
|
||||
|
||||
public enum SizedApparelBodyPartOf
|
||||
{
|
||||
All, Torso, Breasts, Crotch, Penis, Vagina, Anus, Belly, Udder, Hips, Thighs, hands, feet, None
|
||||
All, Torso, Breasts, Crotch, Penis, Balls, Vagina, Anus, Belly, PubicHair, Udder, Hips, Thighs, hands, feet, None
|
||||
}
|
||||
public static class SizedApparelBodyPartOfExtension
|
||||
{
|
||||
|
@ -124,13 +165,17 @@ namespace SizedApparel
|
|||
return true;
|
||||
return false;
|
||||
case SizedApparelBodyPartOf.Crotch:
|
||||
if (source == SizedApparelBodyPartOf.Penis || source == SizedApparelBodyPartOf.Vagina || source == SizedApparelBodyPartOf.Anus)
|
||||
if (source == SizedApparelBodyPartOf.Crotch || source == SizedApparelBodyPartOf.Penis || source == SizedApparelBodyPartOf.Vagina || source == SizedApparelBodyPartOf.Anus || source == SizedApparelBodyPartOf.PubicHair || source == SizedApparelBodyPartOf.Balls)
|
||||
return true;
|
||||
return false;
|
||||
case SizedApparelBodyPartOf.Penis:
|
||||
if (source == SizedApparelBodyPartOf.Penis)
|
||||
return true;
|
||||
return false;
|
||||
case SizedApparelBodyPartOf.Balls:
|
||||
if (source == SizedApparelBodyPartOf.Balls)
|
||||
return true;
|
||||
return false;
|
||||
case SizedApparelBodyPartOf.Vagina:
|
||||
if (source == SizedApparelBodyPartOf.Vagina)
|
||||
return true;
|
||||
|
@ -163,10 +208,13 @@ namespace SizedApparel
|
|||
if (source == SizedApparelBodyPartOf.feet)
|
||||
return true;
|
||||
return false;
|
||||
case SizedApparelBodyPartOf.PubicHair:
|
||||
if (source == SizedApparelBodyPartOf.PubicHair)
|
||||
return true;
|
||||
return false;
|
||||
case SizedApparelBodyPartOf.None:
|
||||
return false;
|
||||
|
||||
return false;
|
||||
}
|
||||
Log.Error("[SizedApparel] missing SizedApparelBodyPartOf!");
|
||||
return false;
|
||||
|
@ -188,7 +236,7 @@ namespace SizedApparel
|
|||
public class GraphicPoint
|
||||
{
|
||||
public string pointName;
|
||||
public Vector2 point = new Vector2(0.5f, 0.5f);
|
||||
public Vector2 point = Vector2.zero;
|
||||
}
|
||||
public class GraphicPointsWithBodyType
|
||||
{
|
||||
|
@ -199,13 +247,13 @@ namespace SizedApparel
|
|||
public class PointWithBodyType
|
||||
{
|
||||
public string bodyTypeName; //null can be used too
|
||||
public Vector2 point = new Vector2(0.5f,0.5f);
|
||||
public Vector2 point = Vector2.zero;
|
||||
}
|
||||
|
||||
public struct BodyPartPoint
|
||||
public class BodyPartPoint
|
||||
{
|
||||
string name;
|
||||
Vector2 position;//Uv position. not pixel
|
||||
Vector2 position = Vector2.zero;//Uv position. not pixel
|
||||
}
|
||||
|
||||
[Obsolete]//todo
|
||||
|
@ -214,10 +262,6 @@ namespace SizedApparel
|
|||
|
||||
}
|
||||
|
||||
public enum ColorMode
|
||||
{
|
||||
Skin, Hair
|
||||
}
|
||||
|
||||
//Def for Hediff Graphic color options or else.
|
||||
public class SizedApparelHeddifDef : Def
|
||||
|
@ -228,6 +272,7 @@ namespace SizedApparel
|
|||
}
|
||||
|
||||
//Def per graphic(texture)
|
||||
[Obsolete]
|
||||
public class SizedApparelBodyPartGraphicDef : Def
|
||||
{
|
||||
public string graphicPath;
|
||||
|
@ -241,17 +286,32 @@ namespace SizedApparel
|
|||
public class SizedApparelBodyPartDef : Def
|
||||
{
|
||||
SizedApparelBodyPartOf bodyPartOf = SizedApparelBodyPartOf.None;
|
||||
public bool canPose = false;
|
||||
public bool canAnimate = false;
|
||||
public bool canPose = true;
|
||||
public List<string> TexturePaths;
|
||||
|
||||
}
|
||||
|
||||
public class SizedApparelBodyPart
|
||||
{
|
||||
static MethodInfo overrideMatMethod = AccessTools.Method(typeof(PawnRenderer), "OverrideMaterialIfNeeded");
|
||||
static Color defaultNippleColor = Color.white;//nipple texture is already colored with pink. so make it white as default to avoid double coloring pink //Strong Pink Color = new ColorInt(255, 121, 121).ToColor
|
||||
|
||||
public SizedApparelBodyPart(Pawn pawn, string bodyPartName, SizedApparelBodyPartOf bodyPartOf, string defaultHediffName, bool isBreast, bool isOverlay , string customPathName = null, SizedApparelBodyPartColorOf colorOf = SizedApparelBodyPartColorOf.Skin)
|
||||
//this is for RGB Channel Edit
|
||||
static string texturePath_White = "SizedApparel/Masks/White";
|
||||
static string texturePath_Black = "SizedApparel/Masks/Black";
|
||||
static string texturePath_Red = "SizedApparel/Masks/Red";
|
||||
static string texturePath_Green = "SizedApparel/Masks/Green";
|
||||
static string texturePath_Blue = "SizedApparel/Masks/Blue";
|
||||
|
||||
|
||||
public bool AutoOffsetForFurCoveredBody = true;
|
||||
|
||||
public SizedApparelBodyPart(Pawn pawn, ApparelRecorderComp apparelRecorderComp, string bodyPartName, SizedApparelBodyPartOf bodyPartOf, string defaultHediffName, bool isBreast, bool isOverlay, string customPathName = null, ColorType colorOf = ColorType.Skin, bool needBoneToRender = true, Bone parentBone = null, bool isCenteredTexture = false )
|
||||
{
|
||||
this.pawn = pawn; //owner
|
||||
|
||||
this.apparelRecorderCompCache = apparelRecorderComp; //for reduce GetComp Call; if it is null, it will try to get pawn's comp.
|
||||
|
||||
this.bodyPartName = bodyPartName;
|
||||
|
||||
this.def = DefDatabase<SizedApparelBodyPartDef>.AllDefs.FirstOrDefault(b => b.defName == bodyPartName);
|
||||
|
@ -262,6 +322,15 @@ namespace SizedApparel
|
|||
this.isOverlay = isOverlay;
|
||||
this.customPath = customPathName;
|
||||
this.colorType = colorOf;
|
||||
|
||||
this.bone = parentBone;
|
||||
this.mustHaveBone = needBoneToRender;
|
||||
this.centeredTexture = isCenteredTexture;
|
||||
}
|
||||
|
||||
public void SetCenteredTexture(bool isCentered)
|
||||
{
|
||||
this.centeredTexture = isCentered;
|
||||
}
|
||||
|
||||
public Vector2 OffsetFromUVOffset(Vector2 vector, Mesh mesh , bool isFliped = false)
|
||||
|
@ -269,10 +338,21 @@ namespace SizedApparel
|
|||
//treat mesh as plane
|
||||
//Vector3 width = mesh.vertices[2] - mesh.vertices[1];
|
||||
//Vector3 height = mesh.vertices[1] - mesh.vertices[2];
|
||||
Vector2 loc = new Vector2(0.5f, 0.5f) - vector;
|
||||
|
||||
|
||||
if(!isFliped)
|
||||
return new Vector2((mesh.vertices[2].x - mesh.vertices[0].x)*vector.x,(mesh.vertices[0].z - mesh.vertices[2].z)*vector.y);
|
||||
return new Vector2((mesh.vertices[2].x - mesh.vertices[0].x)*vector.x, (mesh.vertices[2].z - mesh.vertices[0].z)*vector.y);
|
||||
/*
|
||||
* Vector2 loc = new Vector2(0.5f, 0.5f) - vector;
|
||||
if(!isFliped)
|
||||
return new Vector2(Mathf.Lerp(mesh.vertices[0].x, mesh.vertices[2].x, loc.x), Mathf.Lerp(mesh.vertices[0].z, mesh.vertices[2].z, loc.y));
|
||||
return new Vector2(Mathf.Lerp(mesh.vertices[3].x, mesh.vertices[1].x, loc.x), Mathf.Lerp(mesh.vertices[3].z, mesh.vertices[1].z, loc.y));
|
||||
|
||||
|
||||
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
//public Vector2 OffestFromUVOffset(Vector2 vector, Vector2 drawSize, bool isFliped = false)
|
||||
|
@ -280,19 +360,28 @@ namespace SizedApparel
|
|||
public SizedApparelBodyPartDef def;
|
||||
|
||||
public Pawn pawn;
|
||||
public ApparelRecorderComp apparelRecorderCompCache; // for reduce getComp call;
|
||||
public Bone bone;
|
||||
private bool mustHaveBone;
|
||||
|
||||
public bool centeredTexture = false; // false to keep original position from mesh. and consider this graphics pivot as bone position
|
||||
|
||||
public string bodyPartName; //breast, penis, belly, pubichair... etc. just name. not like architech something
|
||||
public string customPath = null;
|
||||
public SizedApparelBodyPartOf bodyPartOf = SizedApparelBodyPartOf.None;
|
||||
public string defaultHediffName;
|
||||
|
||||
public bool isBreast = false;
|
||||
|
||||
public bool isOverlay = false; //write z cache?
|
||||
|
||||
public string currentHediffName;
|
||||
|
||||
public bool isVisible = true;
|
||||
|
||||
public SizedApparelBodyPartColorOf colorType = SizedApparelBodyPartColorOf.Skin;
|
||||
public int lastPoseTick = -1;
|
||||
|
||||
public ColorType colorType = ColorType.Skin;
|
||||
public Color? customColorOne;
|
||||
public Color? customColorTwo;
|
||||
|
||||
|
@ -313,14 +402,24 @@ namespace SizedApparel
|
|||
public int maxDrawAge = -1;
|
||||
|
||||
|
||||
public void SetBone(Bone bone)
|
||||
{
|
||||
this.bone = bone;
|
||||
}
|
||||
|
||||
public void SetCustomPose(string newPose, bool autoUpdate = true, bool autoSetPawnGraphicDirty = false)
|
||||
{
|
||||
if (customPose == newPose)
|
||||
return;
|
||||
if(SizedApparelSettings.Debug)
|
||||
Log.Message("[SizedApparel] Setting Custom Pose : " + newPose);
|
||||
customPose = newPose;
|
||||
if (autoUpdate)
|
||||
{
|
||||
this.UpdateGraphic();
|
||||
this.lastPoseTick = Find.TickManager.TicksGame;
|
||||
}
|
||||
|
||||
if(autoSetPawnGraphicDirty)
|
||||
{
|
||||
if (pawn == null)
|
||||
|
@ -330,39 +429,22 @@ namespace SizedApparel
|
|||
}
|
||||
}
|
||||
|
||||
public bool CheckCanPose(string targetPose, bool checkApparels, bool mustMatchSize)
|
||||
public bool CheckCanPose(string targetPose, bool checkApparels, bool checkBodyParts, bool mustMatchSize, bool mustMatchBodytype, bool mustMatchRace)
|
||||
{
|
||||
if (checkApparels)
|
||||
{
|
||||
foreach(ApparelGraphicRecord agr in pawn.Drawer.renderer.graphics.apparelGraphics)
|
||||
{
|
||||
/*
|
||||
if (!agr.sourceApparel.def.apparel.bodyPartGroups.Any(bpgd => bpgd.defName == "Torso" || bpgd.defName == "Chest"))
|
||||
continue;
|
||||
|
||||
if (agr.sourceApparel.def.apparel.tags.Any(s => s.ToLower() == "SizedApparel_IgnorePose".ToLower()))
|
||||
continue;
|
||||
*/
|
||||
|
||||
string originalPath = SizedApparelsDatabase.GetSupportedApparelOriginalPath(agr.graphic.path);
|
||||
if (originalPath == null)
|
||||
return false;
|
||||
|
||||
int outInt = -1;
|
||||
float outFloat = -1;
|
||||
SizedApparelsDatabase.SizedApparelDatabaseKey key = new SizedApparelsDatabase.SizedApparelDatabaseKey(originalPath,pawn.def.defName,pawn.story?.bodyType?.defName, pawn.gender, currentHediffName, Math.Min(currentSeverityInt, cappedSeverityInt), false, targetPose);
|
||||
if (SizedApparelSettings.useGenderSpecificTexture)
|
||||
key.gender = Gender.None;
|
||||
var result = SizedApparelsDatabase.GetSupportedApparelSizedPath(key, out outInt, out outFloat);
|
||||
if (!result.isCustomPose)
|
||||
return false;
|
||||
}
|
||||
if (!SizedApparelUtility.CanPoseApparels(pawn, targetPose, currentHediffName, currentSeverityInt, cappedSeverityInt))
|
||||
return false;
|
||||
}
|
||||
Graphic graphic = GetBodyPartGraphics(false, mustMatchSize, targetPose);
|
||||
Graphic graphicH = GetBodyPartGraphics(true, mustMatchSize, targetPose);
|
||||
if (graphic != null || graphicH != null)
|
||||
return true;
|
||||
return false;
|
||||
if (checkBodyParts)
|
||||
{
|
||||
Graphic graphic = GetBodyPartGraphics(false, mustMatchSize, mustMatchBodytype, mustMatchRace);
|
||||
Graphic graphicH = GetBodyPartGraphics(true, mustMatchSize, mustMatchBodytype, mustMatchRace);
|
||||
if (graphic != null || graphicH != null)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
@ -370,20 +452,22 @@ namespace SizedApparel
|
|||
public int currentSeverityInt = -1;
|
||||
public int cappedSeverityInt = 1000; // supported severity from worn apparel graphics
|
||||
|
||||
public Vector2 pivot = new Vector2(0.5f, 0.5f);
|
||||
public Vector2 pivot = Vector2.zero;
|
||||
|
||||
public Vector2 position = Vector2.zero;//offset from pivot //UV. not pixel
|
||||
|
||||
public Dictionary<string, BodyPartPoint> points;
|
||||
public Dictionary<string, BodyPartPoint> pointsHorny;
|
||||
public SizedApparelTexturePointDef points;
|
||||
public SizedApparelTexturePointDef pointsHorny;
|
||||
|
||||
|
||||
public float rotation = 0; // +: rotate right, -: rotate left
|
||||
public Vector2 scale = Vector2.one;
|
||||
public float scale = 1f;
|
||||
|
||||
public Graphic bodyPartGraphic;
|
||||
public Graphic bodyPartGraphicHorny;
|
||||
|
||||
|
||||
|
||||
public Vector2 positionOffset = Vector2.zero; //offset from position //UV. not pixel
|
||||
public Vector2 positionOffsetSouth = Vector2.zero;
|
||||
public Vector2 positionOffsetNorth = Vector2.zero;
|
||||
|
@ -392,11 +476,13 @@ namespace SizedApparel
|
|||
|
||||
public float depthOffset = 0f;
|
||||
|
||||
//0.008f
|
||||
public float depthOffsetEast = 0.008f;
|
||||
public float depthOffsetWest = 0.008f;
|
||||
public float depthOffsetSouth = 0.008f;
|
||||
public float depthOffsetNorth = 0.008f;
|
||||
|
||||
|
||||
//bigger = in front
|
||||
public void SetDepthOffsets(float south, float north, float east, float west)
|
||||
{
|
||||
|
@ -405,6 +491,13 @@ namespace SizedApparel
|
|||
depthOffsetEast = east;
|
||||
depthOffsetWest = west;
|
||||
}
|
||||
public void SetDepthOffsets(Depth4Offsets oppsets)
|
||||
{
|
||||
depthOffsetSouth = oppsets.south;
|
||||
depthOffsetNorth = oppsets.north;
|
||||
depthOffsetEast = oppsets.east;
|
||||
depthOffsetWest = oppsets.west;
|
||||
}
|
||||
public void SetPositionOffsets(Vector2 south, Vector2 north, Vector2 east, Vector2 west)
|
||||
{
|
||||
positionOffsetSouth = south;
|
||||
|
@ -412,38 +505,58 @@ namespace SizedApparel
|
|||
positionOffsetEast = east;
|
||||
positionOffsetWest = west;
|
||||
}
|
||||
public Graphic GetBodyPartGraphics(bool isHorny, bool mustMatchSize = false, string poseOverride = null)
|
||||
public Graphic GetBodyPartGraphics(bool isHorny, bool mustMatchSize = false, bool mustMatchBodytype = false, bool mustMatchRace = false, string poseOverride = null)
|
||||
{
|
||||
Dictionary<string, BodyPartPoint> var;
|
||||
return GetBodyPartGraphics(isHorny, out var, mustMatchSize, poseOverride);
|
||||
SizedApparelTexturePointDef var;
|
||||
return GetBodyPartGraphics(isHorny, out var, mustMatchBodytype, mustMatchSize, mustMatchRace, poseOverride);
|
||||
}
|
||||
|
||||
public Graphic GetBodyPartGraphics(bool isHorny, out Dictionary<string, BodyPartPoint> outPoints, bool mustMatchSize = false ,string poseOverride = null, string variationOverride = null)
|
||||
public Graphic GetBodyPartGraphics(bool isHorny, out SizedApparelTexturePointDef outPoints, bool mustMatchSize = false, bool mustMatchBodyType = false , bool mustMatchRace = false ,string poseOverride = null, string variationOverride = null)
|
||||
{
|
||||
if (pawn == null)
|
||||
{
|
||||
outPoints = null;
|
||||
return null;
|
||||
}
|
||||
|
||||
var comp = pawn.TryGetComp<ApparelRecorderComp>();
|
||||
|
||||
var comp = apparelRecorderCompCache;
|
||||
if (comp == null)
|
||||
comp = pawn.GetComp<ApparelRecorderComp>();
|
||||
if (comp == null)
|
||||
{
|
||||
outPoints = null;
|
||||
return null;
|
||||
}
|
||||
|
||||
string bodyTypeString = pawn.story?.bodyType?.defName;
|
||||
|
||||
var key = new SizedApparelsDatabase.BodyPartDatabaseKey(pawn.def.defName, pawn.story?.bodyType?.defName, currentHediffName, customPath==null?bodyPartName: customPath, pawn.gender, Math.Min(currentSeverityInt, cappedSeverityInt), isHorny, poseOverride==null?customPose:poseOverride, variationOverride==null?variation: variationOverride);
|
||||
var key = new SizedApparelsDatabase.BodyPartDatabaseKey(pawn.def.defName, bodyTypeString, currentHediffName, customPath==null?bodyPartName: customPath, pawn.gender, Math.Min(currentSeverityInt, cappedSeverityInt), isHorny, poseOverride==null?customPose:poseOverride, variationOverride==null?variation: variationOverride);
|
||||
var result = SizedApparelsDatabase.GetSupportedBodyPartPath(key, isBreast, customPath == null ? bodyPartName : customPath, defaultHediffName);
|
||||
|
||||
|
||||
|
||||
|
||||
if (mustMatchSize)
|
||||
if (Math.Min(currentSeverityInt, cappedSeverityInt) != result.size)
|
||||
{
|
||||
outPoints = null;
|
||||
return null;
|
||||
}
|
||||
if (mustMatchBodyType)
|
||||
{
|
||||
if(result.bodyType != pawn.story?.bodyType?.defName)
|
||||
{
|
||||
outPoints = null;
|
||||
return null;
|
||||
}
|
||||
}
|
||||
if (mustMatchRace)
|
||||
{
|
||||
if (result.raceName != pawn.def.defName)
|
||||
{
|
||||
outPoints = null;
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
if (result.pathWithSizeIndex == null)
|
||||
{
|
||||
|
@ -471,7 +584,7 @@ namespace SizedApparel
|
|||
public void ResetTransform()
|
||||
{
|
||||
this.position = Vector2.zero;
|
||||
this.scale = Vector2.one;
|
||||
this.scale = 1f;
|
||||
this.rotation = 0;
|
||||
}
|
||||
|
||||
|
@ -512,48 +625,125 @@ namespace SizedApparel
|
|||
{
|
||||
if (!isVisible)
|
||||
return;
|
||||
if (scale == Vector2.zero)
|
||||
if (scale == 0f)
|
||||
return; //Don't draw if scale is zero
|
||||
if (pawn == null)
|
||||
return;
|
||||
|
||||
if (mustHaveBone && bone == null)
|
||||
return;
|
||||
|
||||
if (bodyMesh == null)
|
||||
{
|
||||
if (SizedApparelSettings.Debug)
|
||||
Log.Warning("[SizedApparel] DrawBodyParts But Null Body Mesh! : " + pawn.Name);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
PawnRenderer pawnRenderer = pawn.Drawer.renderer;
|
||||
Shader shader = ShaderDatabase.CutoutComplex;
|
||||
Shader shader = shader = ShaderDatabase.CutoutSkinOverlay;
|
||||
Color drawColor1 = Color.white;
|
||||
Color drawColor2 = Color.white;
|
||||
|
||||
|
||||
bool forceWriteZ = true;
|
||||
|
||||
if(colorType == SizedApparelBodyPartColorOf.Skin)
|
||||
bool HasFurSkin = false;
|
||||
//Furskin Check
|
||||
/*
|
||||
if (pawn.Drawer.renderer.graphics.furCoveredGraphic != null)
|
||||
{
|
||||
HasFurSkin = true;
|
||||
}*/
|
||||
|
||||
if (colorType == ColorType.Skin)
|
||||
{
|
||||
forceWriteZ = true;
|
||||
if (bodyDrawType == RotDrawMode.Fresh)
|
||||
{
|
||||
if (HasFurSkin)
|
||||
{
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
shader = pawn.Drawer.renderer.graphics.nakedGraphic.Shader;
|
||||
if (!ShaderUtility.SupportsMaskTex(shader))
|
||||
shader = shader = ShaderDatabase.CutoutSkinOverlay;
|
||||
drawColor1 = pawnRenderer.graphics.nakedGraphic.Color;
|
||||
drawColor2 = pawnRenderer.graphics.nakedGraphic.ColorTwo;
|
||||
}
|
||||
|
||||
shader = pawn.Drawer.renderer.graphics.nakedGraphic.Shader;
|
||||
if (!ShaderUtility.SupportsMaskTex(shader))
|
||||
shader = ShaderDatabase.CutoutSkinOverlay;
|
||||
drawColor1 = pawn.Drawer.renderer.graphics.nakedGraphic.Color;
|
||||
drawColor2 = pawn.Drawer.renderer.graphics.nakedGraphic.ColorTwo;
|
||||
}
|
||||
else if (bodyDrawType == RotDrawMode.Rotting)
|
||||
{
|
||||
|
||||
shader = pawn.Drawer.renderer.graphics.rottingGraphic.Shader;
|
||||
if (!ShaderUtility.SupportsMaskTex(shader))
|
||||
shader = ShaderDatabase.CutoutSkinOverlay;
|
||||
drawColor1 = pawn.Drawer.renderer.graphics.rottingGraphic.Color;
|
||||
drawColor2 = pawn.Drawer.renderer.graphics.nakedGraphic.ColorTwo;
|
||||
shader = shader = ShaderDatabase.CutoutSkinOverlay;
|
||||
drawColor1 = pawnRenderer.graphics.rottingGraphic.Color;
|
||||
drawColor2 = pawnRenderer.graphics.nakedGraphic.ColorTwo;
|
||||
}
|
||||
}
|
||||
else if (colorType == SizedApparelBodyPartColorOf.Hair)
|
||||
else if (colorType == ColorType.Nipple)
|
||||
{
|
||||
forceWriteZ = true;
|
||||
|
||||
//Get SkinColor first.
|
||||
if (bodyDrawType == RotDrawMode.Fresh)
|
||||
{
|
||||
if (HasFurSkin)
|
||||
{
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
shader = pawn.Drawer.renderer.graphics.nakedGraphic.Shader;
|
||||
if (!ShaderUtility.SupportsMaskTex(shader))
|
||||
shader = shader = ShaderDatabase.CutoutSkinOverlay;
|
||||
drawColor1 = pawnRenderer.graphics.nakedGraphic.Color;
|
||||
drawColor2 = pawnRenderer.graphics.nakedGraphic.ColorTwo;
|
||||
}
|
||||
|
||||
}
|
||||
else if (bodyDrawType == RotDrawMode.Rotting)
|
||||
{
|
||||
|
||||
shader = pawn.Drawer.renderer.graphics.rottingGraphic.Shader;
|
||||
if (!ShaderUtility.SupportsMaskTex(shader))
|
||||
shader = shader = ShaderDatabase.CutoutSkinOverlay;
|
||||
drawColor1 = pawnRenderer.graphics.rottingGraphic.Color;
|
||||
drawColor2 = pawnRenderer.graphics.nakedGraphic.ColorTwo;
|
||||
}
|
||||
|
||||
if(apparelRecorderCompCache != null)
|
||||
{
|
||||
if(apparelRecorderCompCache.nippleColor != null)
|
||||
{
|
||||
drawColor1 = apparelRecorderCompCache.nippleColor.Value; //* drawColor1;
|
||||
drawColor2 = apparelRecorderCompCache.nippleColor.Value; //* drawColor2; //maybe can be issue
|
||||
}
|
||||
else
|
||||
{
|
||||
//nipple Color is null
|
||||
//Ust Default Color for Nipple with SkinColor
|
||||
drawColor1 = defaultNippleColor * drawColor1;
|
||||
drawColor2 = defaultNippleColor * drawColor2;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
else if (colorType == ColorType.Hair)
|
||||
{
|
||||
forceWriteZ = false;
|
||||
shader = ShaderDatabase.Transparent;
|
||||
if(pawn.story != null)
|
||||
drawColor1 = pawn.story.hairColor;
|
||||
}
|
||||
else if (colorType == SizedApparelBodyPartColorOf.Custom)
|
||||
else if (colorType == ColorType.Custom)
|
||||
{
|
||||
forceWriteZ = true;
|
||||
shader = ShaderDatabase.Transparent;
|
||||
|
@ -562,52 +752,183 @@ namespace SizedApparel
|
|||
if (customColorTwo != null)
|
||||
drawColor2 = customColorTwo.Value;
|
||||
}
|
||||
else if (colorType == SizedApparelBodyPartColorOf.None)
|
||||
else if (colorType == ColorType.None)
|
||||
{
|
||||
forceWriteZ = false;
|
||||
shader = ShaderDatabase.Cutout;
|
||||
}
|
||||
if (isOverlay)
|
||||
{
|
||||
if (shader == ShaderDatabase.Cutout)
|
||||
shader = ShaderDatabase.Transparent;
|
||||
else if (shader == ShaderDatabase.CutoutSkin || shader == ShaderDatabase.CutoutSkinColorOverride)
|
||||
shader = ShaderDatabase.CutoutSkinOverlay;
|
||||
else
|
||||
shader = ShaderDatabase.Transparent;
|
||||
}
|
||||
|
||||
|
||||
Mesh scaledBodyMesh;
|
||||
|
||||
BoneTransform boneTransform = null;
|
||||
if(bone != null)
|
||||
{
|
||||
if (facing == Rot4.South)
|
||||
{
|
||||
boneTransform = bone.south;
|
||||
}
|
||||
else if (facing == Rot4.North)
|
||||
{
|
||||
boneTransform = bone.north;
|
||||
}
|
||||
else if (facing == Rot4.East)
|
||||
{
|
||||
boneTransform = bone.east;
|
||||
|
||||
}
|
||||
else if (facing == Rot4.West)
|
||||
{
|
||||
boneTransform = bone.west;
|
||||
if (boneTransform == null)
|
||||
boneTransform = bone.east;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
float drawScale = scale;
|
||||
float drawRotation = angle;
|
||||
Vector3 drawPosition = rootLoc;
|
||||
|
||||
/*
|
||||
if (this.pawn.ageTracker.CurLifeStage.bodyDrawOffset != null)
|
||||
{
|
||||
drawPosition += this.pawn.ageTracker.CurLifeStage.bodyDrawOffset.Value;
|
||||
}*/
|
||||
|
||||
if (boneTransform != null)
|
||||
{
|
||||
//TODO fixed angle for IK?
|
||||
|
||||
float width = (bodyMesh.vertices[2].x - bodyMesh.vertices[0].x);
|
||||
if (centeredTexture)
|
||||
{
|
||||
bool westUsingEast = false;
|
||||
if (facing == Rot4.West && bone.west == null)
|
||||
westUsingEast = true;
|
||||
|
||||
drawRotation = boneTransform.InitialAngle + boneTransform.angleOffset;
|
||||
//not sure it work correct
|
||||
Vector3 v = (boneTransform.InitialPosition + boneTransform.positionOffset) * width;
|
||||
var q = Quaternion.AngleAxis (westUsingEast? -angle : angle, Vector3.up);
|
||||
v = q * v;
|
||||
drawPosition = (v) ; // calculate rotated point
|
||||
|
||||
//Log.Message(boneTransform.angleOffset.ToString());
|
||||
if (westUsingEast)
|
||||
{
|
||||
//already scaled with "width"?
|
||||
//its using east as west. so flip position
|
||||
drawPosition.Scale(new Vector3(-1f,0f,1f));
|
||||
//drawRotation = boneTransform.InitialAngle - boneTransform.angleOffset;
|
||||
}
|
||||
drawPosition += rootLoc;
|
||||
drawRotation += angle ;
|
||||
}
|
||||
else
|
||||
{
|
||||
//NotCentered Texture not yet support Rotation System.
|
||||
//wip
|
||||
Vector3 v = Vector3.zero;
|
||||
|
||||
bool westUsingEast = false;
|
||||
if (facing == Rot4.West && bone.west == null)
|
||||
westUsingEast = true;
|
||||
drawRotation = boneTransform.InitialAngle; // + boneTransform.angleOffset
|
||||
//not sure it work correct
|
||||
//Vector3 v = (boneTransform.InitialPosition); //initialpos as custom pivot
|
||||
//var q = Quaternion.AngleAxis(westUsingEast ? -drawRotation : drawRotation, Vector3.up);
|
||||
//var q2 = Quaternion.AngleAxis(westUsingEast ? -angle : angle, Vector3.up);
|
||||
|
||||
//v = q * v; // calculate final draw position with torso angle
|
||||
//v = v + boneTransform.InitialPosition + boneTransform.positionOffset;
|
||||
//v = q2 * v; //NotCentered Texture not yet support Rotation System.
|
||||
|
||||
drawPosition = (v) * width;
|
||||
if (westUsingEast)
|
||||
{
|
||||
//already scaled with "width"?
|
||||
//its using east as west. so flip position
|
||||
drawPosition.Scale(new Vector3(-1f, 0f, 1f));
|
||||
//drawRotation = boneTransform.InitialAngle - boneTransform.angleOffset;
|
||||
}
|
||||
drawPosition += rootLoc ; // adjust with result
|
||||
//Log.Message(boneTransform.angleOffset.ToString());
|
||||
drawRotation += angle;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
if (drawScale != 1f)
|
||||
{
|
||||
// scale Only Rimworld Plane Mesh
|
||||
if(bodyMesh.vertexCount == 4)
|
||||
{
|
||||
float width = (bodyMesh.vertices[2].x - bodyMesh.vertices[0].x);
|
||||
|
||||
//var meshSet = MeshPool.GetMeshSetForWidth(scale * width);
|
||||
var meshSet = MeshPool.GetMeshSetForWidth(scale * width);
|
||||
scaledBodyMesh = meshSet.MeshAt(facing);
|
||||
}
|
||||
else
|
||||
scaledBodyMesh = bodyMesh;
|
||||
}
|
||||
else
|
||||
{
|
||||
scaledBodyMesh = bodyMesh;
|
||||
}*/
|
||||
scaledBodyMesh = bodyMesh;
|
||||
|
||||
Quaternion quaternion = Quaternion.AngleAxis(drawRotation, Vector3.up);
|
||||
|
||||
|
||||
|
||||
|
||||
Quaternion quaternion = Quaternion.AngleAxis(angle + rotation, Vector3.up);
|
||||
Vector3 vector = rootLoc;
|
||||
|
||||
Rot4 targetRot = facing;
|
||||
if (rotOverride != null)
|
||||
targetRot = rotOverride.Value;
|
||||
|
||||
if (targetRot == Rot4.South)
|
||||
{
|
||||
var loc = OffsetFromUVOffset(positionOffsetSouth, bodyMesh);
|
||||
vector.x += loc.x;
|
||||
vector.z += loc.y;
|
||||
vector.y += depthOffsetSouth;
|
||||
var loc = OffsetFromUVOffset(positionOffsetSouth, scaledBodyMesh);
|
||||
drawPosition.x += loc.x;
|
||||
drawPosition.z += loc.y;
|
||||
drawPosition.y += depthOffsetSouth;
|
||||
}
|
||||
else if(targetRot == Rot4.North)
|
||||
{
|
||||
var loc = OffsetFromUVOffset(positionOffsetNorth, bodyMesh);
|
||||
vector.x += loc.x;
|
||||
vector.z += loc.y;
|
||||
vector.y += depthOffsetNorth;
|
||||
var loc = OffsetFromUVOffset(positionOffsetNorth, scaledBodyMesh);
|
||||
drawPosition.x += loc.x;
|
||||
drawPosition.z += loc.y;
|
||||
drawPosition.y += depthOffsetNorth;
|
||||
}
|
||||
else if (targetRot == Rot4.East)
|
||||
{
|
||||
var loc = OffsetFromUVOffset(positionOffsetEast, bodyMesh);
|
||||
vector.x += loc.x;
|
||||
vector.z += loc.y;
|
||||
vector.y += depthOffsetEast;
|
||||
var loc = OffsetFromUVOffset(positionOffsetEast, scaledBodyMesh);
|
||||
drawPosition.x += loc.x;
|
||||
drawPosition.z += loc.y;
|
||||
drawPosition.y += depthOffsetEast;
|
||||
}
|
||||
else if (targetRot == Rot4.West)
|
||||
{
|
||||
var loc = OffsetFromUVOffset(positionOffsetWest, bodyMesh);
|
||||
vector.x += loc.x;
|
||||
vector.z += loc.y;
|
||||
vector.y += depthOffsetWest;
|
||||
var loc = OffsetFromUVOffset(positionOffsetWest, scaledBodyMesh);
|
||||
drawPosition.x += loc.x;
|
||||
drawPosition.z += loc.y;
|
||||
drawPosition.y += depthOffsetWest;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Graphic graphic = null;
|
||||
if (SizedApparelUtility.IsHorny(pawn))
|
||||
graphic = bodyPartGraphicHorny;
|
||||
|
@ -617,18 +938,44 @@ namespace SizedApparel
|
|||
if (graphic == null)
|
||||
return;
|
||||
|
||||
Material mat;
|
||||
if (!flags.FlagSet(PawnRenderFlags.Cache)&&!isOverlay&& forceWriteZ)
|
||||
//ForFurskinOffset
|
||||
if(bodyDrawType == RotDrawMode.Fresh && HasFurSkin && AutoOffsetForFurCoveredBody)
|
||||
{
|
||||
graphic = graphic.GetColoredVersion(ShaderDatabase.Cutout, drawColor1, drawColor2);
|
||||
mat = flags.FlagSet(PawnRenderFlags.Cache) ? graphic.MatAt(targetRot) : (Material)overrideMatMethod.Invoke(pawnRenderer, new object[] { graphic.MatAt(facing), pawn, flags.FlagSet(PawnRenderFlags.Portrait) });
|
||||
GenDraw.DrawMeshNowOrLater(bodyMesh, vector, quaternion, mat, flags.FlagSet(PawnRenderFlags.DrawNow)); // draw for writeZ data to solve shadow issue
|
||||
}
|
||||
graphic = graphic.GetColoredVersion(shader, drawColor1, drawColor2);
|
||||
vector.y += 0.00001f;
|
||||
mat = flags.FlagSet(PawnRenderFlags.Cache) ? graphic.MatAt(targetRot) : (Material)overrideMatMethod.Invoke(pawnRenderer, new object[] { graphic.MatAt(facing), pawn, flags.FlagSet(PawnRenderFlags.Portrait) });
|
||||
GenDraw.DrawMeshNowOrLater(bodyMesh, vector, quaternion, mat, flags.FlagSet(PawnRenderFlags.DrawNow));
|
||||
//vector.y += 0.009187258f; //in PawnRenderer, it adds 0.009187258f.
|
||||
|
||||
//graphic.maskPath does error? need to check
|
||||
// worn fur body and naked fur body has different offsets... wtf
|
||||
//TODO Need to Fix
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Material mat;
|
||||
|
||||
//If ForceWriteDepth, draw Cutout mesh for write depth. this is for avoid problem of body addons drawing under other meshes. such as breasts front of body but behind tail.
|
||||
if (forceWriteZ || (!flags.FlagSet(PawnRenderFlags.Cache) && !isOverlay))// //(!flags.FlagSet(PawnRenderFlags.Cache) && !isOverlay)
|
||||
{
|
||||
Graphic Zgraphic = graphic.GetColoredVersion(ShaderDatabase.CutoutComplex, drawColor1, drawColor2); // ShaderDatabase.Cutout
|
||||
Vector3 drawPositionZ = drawPosition;
|
||||
drawPositionZ.y = drawPositionZ.y - 0.00001f; //Send Back of body, but it can still write depth. 1.4: send to 0
|
||||
|
||||
mat = flags.FlagSet(PawnRenderFlags.Cache) ? Zgraphic.MatAt(targetRot) : (Material)overrideMatMethod.Invoke(pawnRenderer, new object[] { Zgraphic.MatAt(facing), pawn, flags.FlagSet(PawnRenderFlags.Portrait) });
|
||||
GenDraw.DrawMeshNowOrLater(scaledBodyMesh, drawPositionZ, quaternion, mat, flags.FlagSet(PawnRenderFlags.DrawNow)); // draw for writeZ data to solve shadow issue
|
||||
}
|
||||
|
||||
//shader must be mask
|
||||
graphic = graphic.GetColoredVersion(shader, drawColor1, drawColor2);
|
||||
|
||||
if (graphic.maskPath == null)
|
||||
{
|
||||
//Test
|
||||
//graphic.maskPath = texturePath_Red;
|
||||
}
|
||||
|
||||
//drawPosition.y += 0.00001f;
|
||||
mat = flags.FlagSet(PawnRenderFlags.Cache) ? graphic.MatAt(targetRot) : (Material)overrideMatMethod.Invoke(pawnRenderer, new object[] { graphic.MatAt(facing), pawn, flags.FlagSet(PawnRenderFlags.Portrait) });
|
||||
GenDraw.DrawMeshNowOrLater(scaledBodyMesh, drawPosition, quaternion, mat, flags.FlagSet(PawnRenderFlags.DrawNow));
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -637,23 +984,24 @@ namespace SizedApparel
|
|||
//TODO: Torso Pose?
|
||||
|
||||
|
||||
public class SizedApparelBodyDef : Def
|
||||
public class BodyDef : Def
|
||||
{
|
||||
//public List<SizedApparelBodyPartDef> BodyParts;
|
||||
|
||||
|
||||
//defName = raceName ?? could it work?
|
||||
|
||||
public List<BodyPart> bodyParts;
|
||||
public List<BodyWithBodyType> bodies = new List<BodyWithBodyType>();
|
||||
|
||||
|
||||
//public List<BodyTypeAndOffset> penisOffset;
|
||||
//public List<BodyTypeAndOffset> vaginaOffset;
|
||||
//public List<BodyTypeAndOffset> pubicHairOffset;
|
||||
//public List<BodyTypeAndOffset> udderOffset;
|
||||
//public List<BodyTypeAndOffset> bellyOffset;
|
||||
//public List<BodyTypeAndOffset> breastsOffset;
|
||||
//public List<BodyTypeAndOffset> anusOffset;
|
||||
|
||||
/*
|
||||
public List<BodyTypeAndOffset> penisOffset;
|
||||
public List<BodyTypeAndOffset> vaginaOffset; //TODO
|
||||
public List<BodyTypeAndOffset> udderOffset; //TODO
|
||||
public List<BodyTypeAndOffset> bellyOffset; //TODO
|
||||
public List<BodyTypeAndOffset> breastsOffset; //TODO
|
||||
public List<BodyTypeAndOffset> anusOffset; //TODO
|
||||
*/
|
||||
}
|
||||
|
||||
public class SizedApparelBody
|
||||
|
@ -667,4 +1015,10 @@ namespace SizedApparel
|
|||
}
|
||||
}
|
||||
|
||||
public class SizedApparelBodyPartOfssetDef : Def
|
||||
{
|
||||
//defName IsRaceName
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,163 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using UnityEngine;
|
||||
using Verse;
|
||||
|
||||
namespace SizedApparel
|
||||
{
|
||||
|
||||
//This Class is Use for Def BodyParts' Custom Pivot, or Some Special Common Vector Points Per Serverity.
|
||||
//Not Consider Acture Graphic Textures.
|
||||
public class SkeletonDef : Def
|
||||
{
|
||||
//defName = Pawn's race name (such as "Human")
|
||||
//public List<BodyPartGraphicBone> graphicBones = new List<BodyPartGraphicBone>();
|
||||
|
||||
//Do Not Directly Use it
|
||||
public List<Skeleton> skeletons = new List<Skeleton>();
|
||||
|
||||
|
||||
public Skeleton CreateSkeleton(string bodyType)
|
||||
{
|
||||
for(int i = 0; i< skeletons.Count; i++)
|
||||
{
|
||||
if(skeletons[i].bodyType == bodyType)
|
||||
{
|
||||
return new Skeleton(skeletons[i]);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public class Skeleton
|
||||
{
|
||||
public string bodyType = null; // can be null for animal or etc
|
||||
public List<Bone> Bones;
|
||||
|
||||
//only runtime. Do not Set in Def
|
||||
public Rot4 BodyFacing; // for flip east-west bones
|
||||
public Rot4 HeadFacing; //TODO
|
||||
|
||||
public Skeleton()
|
||||
{
|
||||
|
||||
}
|
||||
public Skeleton(Skeleton skeletonToCopy)
|
||||
{
|
||||
this.Bones = new List<Bone>();
|
||||
|
||||
|
||||
foreach (var s in skeletonToCopy.Bones)
|
||||
{
|
||||
this.Bones.Add(new Bone(s, this));
|
||||
}
|
||||
|
||||
}
|
||||
public Bone FindBone(string boneName)
|
||||
{
|
||||
foreach (var b in this.Bones)
|
||||
{
|
||||
if (b.name == boneName)
|
||||
return b;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//for deafault bone support?
|
||||
public class BodyPartBoneDef : Def
|
||||
{
|
||||
//DefName is Bone Name To Use.
|
||||
public Vector3 customPivot = new Vector3(0.5f, 0, 0.5f);
|
||||
public Vector3 Position = new Vector3(0.5f, 0, 0.5f); // Local Position(UV) from Body
|
||||
public float Length = 1;
|
||||
public float Rotation = 0;
|
||||
public float Scale = 1f; // Default Render Scale.
|
||||
}
|
||||
|
||||
//Body Parts Graphic can be attached to bone position and rotation
|
||||
public class Bone
|
||||
{
|
||||
|
||||
public string name = null;
|
||||
public Skeleton parentSkeleton = null;
|
||||
//public string parentBoneName = null; // ToDo
|
||||
public bool isHeadBone = false; // TODO
|
||||
public BoneTransform south;
|
||||
public BoneTransform north;
|
||||
public BoneTransform east;
|
||||
public BoneTransform west; // can be null. then use east
|
||||
//hiding Graphic parameter will be in that bodygraphic class
|
||||
|
||||
public Bone()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public Bone(Bone boneToCopy, Skeleton parent)
|
||||
{
|
||||
this.name = boneToCopy.name;
|
||||
this.parentSkeleton = parent;
|
||||
this.isHeadBone = boneToCopy.isHeadBone;
|
||||
if(boneToCopy.south != null)
|
||||
this.south = new BoneTransform(boneToCopy.south);
|
||||
if (boneToCopy.north != null)
|
||||
this.north = new BoneTransform(boneToCopy.north);
|
||||
if (boneToCopy.east != null)
|
||||
this.east = new BoneTransform(boneToCopy.east);
|
||||
if (boneToCopy.west != null)
|
||||
this.west = new BoneTransform(boneToCopy.west); // null for use east
|
||||
|
||||
}
|
||||
|
||||
public void SetAngle(float angle)
|
||||
{
|
||||
if(south != null)
|
||||
south.angleOffset = angle;
|
||||
if (north != null)
|
||||
north.angleOffset = angle;
|
||||
if (east != null)
|
||||
east.angleOffset = angle;
|
||||
if (west != null)
|
||||
west.angleOffset = angle;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public class BoneTransform
|
||||
{
|
||||
//public Vector3 customPivot = new Vector3(0.5f, 0, 0.5f); // used to calculation rotation. the rotating center will be customPivot.
|
||||
//Custom Pivot Doesn't affect to Draw Position on zero Rotated.
|
||||
public Vector3 InitialPosition = Vector3.zero; // Local Position(UV) from Body
|
||||
public float InitialLength = 1;
|
||||
public float InitialAngle = 0;
|
||||
public float InitialScale = 1f;
|
||||
public bool isHeadBone = false; // TODO
|
||||
|
||||
//public BodyPartGraphicBone parentBone; //TODO
|
||||
public Vector3 positionOffset = Vector3.zero;
|
||||
public float lengthOffset = 0;
|
||||
public float angleOffset = 0;
|
||||
public float scaleOffset = 0;
|
||||
|
||||
public BoneTransform() { }
|
||||
|
||||
public BoneTransform(BoneTransform boneToCopy)
|
||||
{
|
||||
|
||||
//this.parentBoneName = boneToCopy.parentBoneName;
|
||||
//this.customPivot = boneToCopy.customPivot;
|
||||
this.InitialPosition = boneToCopy.InitialPosition;
|
||||
this.InitialLength = boneToCopy.InitialLength;
|
||||
this.InitialAngle = boneToCopy.InitialAngle;
|
||||
this.InitialScale = boneToCopy.InitialScale;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,58 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using RimWorld;
|
||||
using Verse;
|
||||
using HarmonyLib;
|
||||
//using AlienRace;
|
||||
using UnityEngine;
|
||||
using rjw;
|
||||
|
||||
namespace SizedApparel
|
||||
{
|
||||
|
||||
//for avoid first hitch. some day it might need make pre def for fast cache...
|
||||
|
||||
public class ApparelTexture
|
||||
{
|
||||
public BodyTypeDef bodytype;
|
||||
public List<string> textures;
|
||||
|
||||
public string GetTexturePath(int level, out int result)
|
||||
{
|
||||
result = -1;
|
||||
if (level < 0)
|
||||
return null;
|
||||
if (textures.Count > level)
|
||||
{
|
||||
result = level;
|
||||
return textures[level];
|
||||
}
|
||||
if (!textures.NullOrEmpty())
|
||||
{
|
||||
result = textures.Count - 1;
|
||||
return textures[result]; //return biggest as supported
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public class SizedApparelDef : Def
|
||||
{
|
||||
//def name must be match with apparels DefName
|
||||
public bool hidingGenitals = false; // pants must be true
|
||||
public List<ApparelTexture> SizedTextures;
|
||||
|
||||
public ApparelTexture GetApparelTexture(BodyTypeDef bodytype)
|
||||
{
|
||||
if(SizedTextures != null)
|
||||
{
|
||||
return SizedTextures.FirstOrDefault(a => a.bodytype == bodytype);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -26,7 +26,7 @@ namespace SizedApparel
|
|||
return;
|
||||
|
||||
/*
|
||||
var comp = ___pawn.TryGetComp<ApparelRecorderComp>();
|
||||
var comp = ___pawn.GetComp<ApparelRecorderComp>();
|
||||
|
||||
if (comp == null)
|
||||
return;
|
||||
|
@ -72,12 +72,17 @@ namespace SizedApparel
|
|||
|
||||
}
|
||||
|
||||
public class PoseDef : Def
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
public class SizedApparelPose
|
||||
{
|
||||
//public string poseName; use defName as PoseName
|
||||
public SizedApparelBodyPartOf targetBodyPart = SizedApparelBodyPartOf.Torso;
|
||||
public List<BodyTypeAndOffset> headOffset;
|
||||
//public List<BodyTypeAndOffset> headOffset;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -14,10 +14,13 @@ namespace SizedApparel
|
|||
[HarmonyPatch(typeof(PawnGraphicSet), "CalculateHairMats")]
|
||||
public static class CalculateHairMatsPatch
|
||||
{
|
||||
public static void Postfix()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public abstract class PubicHairDef : StyleItemDef
|
||||
public class PubicHairDef : StyleItemDef
|
||||
{
|
||||
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@ namespace SizedApparel
|
|||
{
|
||||
public string raceName = null;
|
||||
public bool overrideDef = false;
|
||||
public bool asHumanlike = true;
|
||||
public bool asHuman = false;
|
||||
public float drawMinAge = -1; //pawn's Biological age. -1 to ignore.
|
||||
|
||||
public AlienRaceSetting(string raceName)
|
||||
|
@ -32,7 +32,7 @@ namespace SizedApparel
|
|||
{
|
||||
Scribe_Values.Look(ref raceName, "raceName", null);
|
||||
Scribe_Values.Look(ref overrideDef, "overrideDef", false);
|
||||
Scribe_Values.Look(ref asHumanlike, "asHumanlike", true);
|
||||
Scribe_Values.Look(ref asHuman, "asHuman", false);
|
||||
Scribe_Values.Look(ref drawMinAge, "drawMinAge", -1);
|
||||
}
|
||||
|
||||
|
@ -43,10 +43,14 @@ namespace SizedApparel
|
|||
|
||||
public class SizedApparelSettings : ModSettings
|
||||
{
|
||||
|
||||
public static bool Debug = false;
|
||||
public static bool DetailLog = false;
|
||||
public static bool autoClearCacheOnWriteSetting = true;
|
||||
|
||||
public static bool PreCacheOnLoad = true;
|
||||
public static float PreCacheRandomFactor = 0.5f;
|
||||
|
||||
public static bool useBodyTexture = true;//for user who not use rimnudeworld
|
||||
|
||||
public static bool useGenderSpecificTexture = true;
|
||||
|
@ -60,6 +64,23 @@ namespace SizedApparel
|
|||
|
||||
|
||||
|
||||
//Apply Target Pawn Category
|
||||
public static bool ApplyHumanlikes = true; //Always true.
|
||||
public static bool ApplyAnimals = true;
|
||||
public static bool ApplyAnimalsPlayerFactionOnly = true; //TODO
|
||||
public static bool ApplyMechanoid = true;
|
||||
|
||||
public static bool ApplyApparelPatchForMale = false; //only ApparelServerityWork.
|
||||
|
||||
public static bool ApplyColonists = true;
|
||||
public static bool ApplySlaves = true;
|
||||
public static bool ApplyPrisoner = true;
|
||||
public static bool ApplyNeutralAndAlly = true;
|
||||
public static bool ApplyHostile = false;
|
||||
|
||||
|
||||
public static bool AnimationPatch = true;
|
||||
|
||||
//TODO: Standalone render bodyparts.
|
||||
public static bool drawBodyParts = true;//for user who not use rimnudeworld
|
||||
public static bool drawBreasts = true;
|
||||
|
@ -70,6 +91,7 @@ namespace SizedApparel
|
|||
public static bool drawAnus = true;
|
||||
public static bool drawBelly = false;//TODO
|
||||
public static bool drawUdder = false;//TODO
|
||||
public static bool drawPubicHair = true;
|
||||
public static bool hideBallOfFuta = false;
|
||||
public static bool hidePenisOfMale = false;
|
||||
public static bool matchBreastToSupportedApparelSize = true;//for avoiding breasts cliping
|
||||
|
@ -77,7 +99,7 @@ namespace SizedApparel
|
|||
public static bool useBodyPartsVariation = true;
|
||||
public static bool showBodyPartsVariation = true;
|
||||
|
||||
public static bool autoJiggleBreasts = true;
|
||||
public static bool breastsPhysics = false;
|
||||
|
||||
//RimNudeWorld
|
||||
public static bool drawSizedApparelBreastsOnlyWorn = false;
|
||||
|
@ -171,6 +193,13 @@ namespace SizedApparel
|
|||
//force to use it. this is important thing.
|
||||
//Scribe_Values.Look(ref useBreastSizeCapForApparels, "useBreastSizeCapForApparels", true);
|
||||
|
||||
//Apply Categories.
|
||||
Scribe_Values.Look(ref ApplyAnimals, "ApplyAnimals", true);
|
||||
Scribe_Values.Look(ref ApplyHumanlikes, "ApplyHumanlikes", true);
|
||||
Scribe_Values.Look(ref ApplyMechanoid, "ApplyMechanoid", true);
|
||||
|
||||
Scribe_Values.Look(ref AnimationPatch, "AnimationPatch", true);
|
||||
|
||||
Scribe_Values.Look(ref useBodyTexture, "useBodyTexture", true);
|
||||
Scribe_Values.Look(ref useGenderSpecificTexture, "useGenderSpecificTexture", true);
|
||||
|
||||
|
@ -189,6 +218,32 @@ namespace SizedApparel
|
|||
{
|
||||
alienRaceSettings = new List<AlienRaceSetting>();
|
||||
}
|
||||
|
||||
SizedApparelMod.CheckAndLoadAlienRaces();
|
||||
|
||||
//Initialize Setting for missing Race
|
||||
foreach (var raceName in SizedApparelMod.alienDefList)
|
||||
{
|
||||
AlienRaceSetting raceSetting = null;
|
||||
foreach (var r in SizedApparelSettings.alienRaceSettings)
|
||||
{
|
||||
if (r.raceName == null)
|
||||
continue;
|
||||
if (raceName == r.raceName)
|
||||
{
|
||||
raceSetting = r;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (raceSetting == null)
|
||||
{
|
||||
raceSetting = new AlienRaceSetting(raceName);
|
||||
SizedApparelSettings.alienRaceSettings.Add(raceSetting);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
if (Scribe.mode == LoadSaveMode.ResolvingCrossRefs)
|
||||
{
|
||||
|
@ -218,6 +273,7 @@ namespace SizedApparel
|
|||
Scribe_Values.Look(ref drawAnus, "drawAnus", true);
|
||||
Scribe_Values.Look(ref drawUdder, "drawUdder", true);
|
||||
Scribe_Values.Look(ref drawBelly, "drawBelly", true);
|
||||
Scribe_Values.Look(ref drawPubicHair, "drawPubicHair", true);
|
||||
|
||||
|
||||
//force to draw all size type
|
||||
|
@ -241,6 +297,10 @@ namespace SizedApparel
|
|||
//TODO: Humanlike Setting Per Race
|
||||
//Scribe_Values.Look(ref alienRacesAllowHumanlikTextures, "alienRacesAllowHumanlikTextures");
|
||||
|
||||
//BreastsPhysics
|
||||
Scribe_Values.Look(ref breastsPhysics, "breastsPhysics", false);
|
||||
|
||||
|
||||
base.ExposeData();
|
||||
}
|
||||
|
||||
|
@ -250,8 +310,9 @@ namespace SizedApparel
|
|||
{
|
||||
|
||||
SizedApparelSettings settings;
|
||||
private static Vector2 ScrollPos = Vector2.zero;
|
||||
private static List<string> alienDefList = new List<string>(); // to load aliens and compare with modsetting
|
||||
private static Vector2 ScrollPosL = Vector2.zero;
|
||||
private static Vector2 ScrollPosR = Vector2.zero;
|
||||
public static List<string> alienDefList = new List<string>(); // to load aliens and compare with modsetting
|
||||
|
||||
public override void WriteSettings()
|
||||
{
|
||||
|
@ -264,7 +325,7 @@ namespace SizedApparel
|
|||
{
|
||||
if(alienDefList == null)
|
||||
alienDefList = new List<string>();
|
||||
if (alienDefList.Count == 0)
|
||||
if (true)//alienDefList.Count == 0
|
||||
{
|
||||
IEnumerable<ThingDef> HumanlikeRaces;
|
||||
HumanlikeRaces = DefDatabase<ThingDef>.AllDefs.Where(b => b.race?.Humanlike == true);
|
||||
|
@ -280,19 +341,27 @@ namespace SizedApparel
|
|||
public static void ClearCache(bool clearPawnGraphicSet = true)
|
||||
{
|
||||
SizedApparelsDatabase.ClearAll();
|
||||
|
||||
if (Find.CurrentMap != null)
|
||||
{
|
||||
foreach (Pawn pawn in Find.CurrentMap.mapPawns.AllPawns)
|
||||
{
|
||||
if (pawn == null)
|
||||
continue;
|
||||
var comp = pawn.TryGetComp<ApparelRecorderComp>();
|
||||
var comp = pawn.GetComp<ApparelRecorderComp>();
|
||||
if (comp != null)
|
||||
comp.SetDirty(clearPawnGraphicSet);
|
||||
{
|
||||
comp.UpdateRaceSettingData();
|
||||
comp.SetDirty(clearPawnGraphicSet,true,true,true);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public SizedApparelMod(ModContentPack content) : base(content)
|
||||
{
|
||||
this.settings = GetSettings<SizedApparelSettings>();
|
||||
|
@ -303,7 +372,7 @@ namespace SizedApparel
|
|||
|
||||
const float alienRaceSettingHeight = 120;
|
||||
|
||||
CheckAndLoadAlienRaces();
|
||||
//CheckAndLoadAlienRaces();
|
||||
Listing_Standard listingStandard = new Listing_Standard();
|
||||
//Rect rect = new Rect(0f, 0f, inRect.width, 950);
|
||||
//Rect rect = inRect.ExpandedBy(0.9f);
|
||||
|
@ -313,8 +382,8 @@ namespace SizedApparel
|
|||
//leftRect = leftRect.ContractedBy(10f);
|
||||
rightRect = rightRect.ContractedBy(10f);
|
||||
Rect scrollRect = new Rect(0, 0, leftRect.width - 30f, Math.Max(leftRect.height + (float)alienDefList.Count* alienRaceSettingHeight, 1f));
|
||||
Widgets.BeginScrollView(leftRect, ref ScrollPos, scrollRect, true);
|
||||
leftRect = new Rect(leftRect.x, leftRect.x, leftRect.width - 30f, leftRect.height + Math.Max((float)alienDefList.Count * alienRaceSettingHeight, 1f));
|
||||
Widgets.BeginScrollView(leftRect, ref ScrollPosL, scrollRect, true);
|
||||
leftRect = new Rect(leftRect.x, leftRect.y, leftRect.width - 30f, leftRect.height + Math.Max((float)alienDefList.Count * alienRaceSettingHeight, 1f) + 250f);
|
||||
listingStandard.Begin(leftRect);
|
||||
listingStandard.maxOneColumn = true;
|
||||
|
||||
|
@ -333,13 +402,21 @@ namespace SizedApparel
|
|||
{
|
||||
ClearCache();
|
||||
}
|
||||
if (listingStandard.ButtonTextLabeled("RandomPreCache", "15 sec ~ 2 min"))
|
||||
{
|
||||
SizedApparelsDatabase.RandomPreCacheForApparels();
|
||||
SizedApparelsDatabase.RandomPreCacheForBodyParts();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
listingStandard.Gap();
|
||||
listingStandard.GapLine();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
listingStandard.Gap(8);
|
||||
listingStandard.GapLine(5f);
|
||||
/*
|
||||
listingStandard.Label("Optimization",-1,"");
|
||||
//listingStandard.CheckboxLabeled("Debug Log", ref SizedApparelSettings.Debug, "Debug logs.\nDefault: false");
|
||||
|
@ -361,10 +438,8 @@ namespace SizedApparel
|
|||
//}
|
||||
listingStandard.Gap(8);
|
||||
listingStandard.Label("Other Mod Compatibility");
|
||||
|
||||
listingStandard.Gap(8);
|
||||
listingStandard.GapLine(5f);
|
||||
listingStandard.CheckboxLabeled(" Forced compatibility of unsupported apparel", ref SizedApparelSettings.ForcedSupportApparel, "It may have clipping issue.\nDefault: false");
|
||||
listingStandard.CheckboxLabeled(" Force ignore unsupported apparel", ref SizedApparelSettings.ForcedSupportApparel, "It may have clipping issue from unsupported parts.\nDefault: false");
|
||||
|
||||
|
||||
/*
|
||||
|
@ -403,9 +478,21 @@ namespace SizedApparel
|
|||
}
|
||||
else
|
||||
{
|
||||
//RimJobWorld is Actived
|
||||
listingStandard.Label(" RimJobWorld is Actived ", -1, "");
|
||||
}
|
||||
|
||||
if (SizedApparelPatch.MenstruationActive)
|
||||
{
|
||||
listingStandard.Label(" RJW Menstuation is Active ", -1, "");
|
||||
}
|
||||
else
|
||||
{
|
||||
listingStandard.Label(" RJW Menstuation is Not Active", -1, "");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
listingStandard.GapLine(1);
|
||||
listingStandard.Gap(12);
|
||||
listingStandard.Label("AlienRace Compatibility (wip)", -1, "");
|
||||
|
||||
|
@ -446,25 +533,8 @@ namespace SizedApparel
|
|||
listingStandard.Label(" AlienRace is not Actived ", -1, "");
|
||||
}
|
||||
|
||||
//Rect outRect = new Rect(0f, 35f, rect.width, rect.height - 35f);
|
||||
/*
|
||||
const float alienSettingHeight = 80;
|
||||
Rect outRect = listingStandard.GetRect(listingStandard.CurHeight);
|
||||
outRect = new Rect(outRect.x, outRect.y, outRect.width, alienSettingHeight);
|
||||
Rect viewRect = new Rect(0, 0, outRect.width - 16f, 100 );//alienDefList.Count * 30f
|
||||
Widgets.BeginScrollView(outRect, ref ScrollPos, viewRect, true);
|
||||
Widgets.Label(new Rect(0f, 0f, 30f, 10f), "hello");
|
||||
Widgets.Label(new Rect(0f, 0f, 30f, 10f), "world");
|
||||
*/
|
||||
//Log.Message(alienDefList.Count.ToString());
|
||||
//float h = alienDefList.Count <= 1 ? alienRaceSettingHeight : alienRaceSettingHeight * 1.8f;
|
||||
|
||||
|
||||
//Rect rect = Race_ListingStandard.GetRect(h);
|
||||
//rect.x = 0;
|
||||
//rect.y = 0;
|
||||
//Rect ScrollViewRect = new Rect(0, 0, rect.width - 16f, alienDefList.Count * alienRaceSettingHeight);
|
||||
//Widgets.BeginScrollView(rect, ref ScrollPos, ScrollViewRect, true);
|
||||
if (alienDefList.NullOrEmpty())
|
||||
CheckAndLoadAlienRaces();
|
||||
|
||||
float h = alienDefList.Count * alienRaceSettingHeight;
|
||||
Listing_Standard Race_ListingStandard = listingStandard.BeginSection(h);
|
||||
|
@ -489,19 +559,21 @@ namespace SizedApparel
|
|||
|
||||
SizedApparelSettings.alienRaceSettings.Add(raceSetting);
|
||||
}
|
||||
Race_ListingStandard.CheckboxLabeled("If Unsupported, Use Humanlike", ref raceSetting.asHumanlike, "This Race will use Humanlike if it doesn't have own textures. useful for race that Unsupported but simillar to human");
|
||||
if(raceName != "Human")
|
||||
Race_ListingStandard.CheckboxLabeled("If Unsupported, As Human race", ref raceSetting.asHuman, "This Race will use Human race if it doesn't have own textures. useful for race that Unsupported but simillar to human");
|
||||
Race_ListingStandard.Label((raceSetting.drawMinAge <= 100 ? "" : "[overdrive]") + "SA BodyPart Draw Min Age: " + raceSetting.drawMinAge.ToString(), -1, "Lower than this age will not use Sized Apparel. Useful for BnC. -1 for disable");
|
||||
raceSetting.drawMinAge = Race_ListingStandard.Slider(raceSetting.drawMinAge, raceSetting.drawMinAge <= 100 ? -1: 100, raceSetting.drawMinAge >= 100 ? 1000 : 100);
|
||||
raceSetting.drawMinAge = Mathf.Round(Race_ListingStandard.Slider(raceSetting.drawMinAge, raceSetting.drawMinAge <= 100 ? -1: 100, raceSetting.drawMinAge >= 100 ? 1000 : 100));
|
||||
Race_ListingStandard.Gap();
|
||||
}
|
||||
|
||||
listingStandard.EndSection(Race_ListingStandard);
|
||||
Widgets.EndScrollView();
|
||||
//listingStandard.Gap(alienSettingHeight);
|
||||
|
||||
listingStandard.Gap(8);
|
||||
listingStandard.GapLine(4f);
|
||||
|
||||
listingStandard.Gap(16);
|
||||
listingStandard.Gap(8);
|
||||
listingStandard.Gap(8);
|
||||
listingStandard.Label("RimNudeWorld Compatibility (WIP)", -1, "");
|
||||
|
||||
//listingStandard.CheckboxLabeled(" Don't Replace Body Texture On Nude", ref SizedApparelSettings.DontReplaceBodyTextureOnNude, "Only Replace BodyTexture On Not Nude. Trigers are Torso And Chests.\nDefault: False");
|
||||
|
@ -520,6 +592,7 @@ namespace SizedApparel
|
|||
SizedApparelSettings.drawVagina = false;
|
||||
SizedApparelSettings.drawAnus = false;
|
||||
SizedApparelSettings.drawBelly = false;
|
||||
SizedApparelSettings.drawPubicHair = false;
|
||||
}
|
||||
|
||||
|
||||
|
@ -548,40 +621,79 @@ namespace SizedApparel
|
|||
SizedApparelSettings.drawVagina = true;
|
||||
SizedApparelSettings.drawAnus = true;
|
||||
SizedApparelSettings.drawBelly = true;
|
||||
SizedApparelSettings.drawPubicHair = true;
|
||||
}
|
||||
}
|
||||
listingStandard.Gap(8);
|
||||
listingStandard.GapLine(5f);
|
||||
if (SizedApparelPatch.RimworldAnimationActive)
|
||||
{
|
||||
listingStandard.Label("RimworldAnimation (rjwAnimation) is Actived ", -1, "");
|
||||
listingStandard.CheckboxLabeled(" Animated SizedApparel BodyParts (wip)", ref SizedApparelSettings.AnimationPatch, "this option may animated breasts jiggle during animation.\n but not copatable with rimnudeworld.\ndefault: true");
|
||||
}
|
||||
else
|
||||
{
|
||||
listingStandard.Label("RimworldAnimation (rjwAnimation) is not Actived ", -1, "");
|
||||
}
|
||||
|
||||
|
||||
listingStandard.End();
|
||||
|
||||
|
||||
|
||||
|
||||
////RightRect
|
||||
scrollRect = new Rect(0, 0, rightRect.width - 30f, Math.Max(rightRect.height + 100f, 1f));
|
||||
|
||||
Widgets.BeginScrollView(rightRect, ref ScrollPosR, scrollRect, true);
|
||||
rightRect = new Rect(0, 0, rightRect.width - 30f, rightRect.height + 100f + 250f);
|
||||
listingStandard.maxOneColumn = true;
|
||||
|
||||
listingStandard.Begin(rightRect);
|
||||
|
||||
listingStandard.Label("SizedApparel System Apply (apparel and body parts)");
|
||||
listingStandard.CheckboxLabeled(" Apply Humanlikes", ref SizedApparelSettings.ApplyHumanlikes, "Try to Apply SizedApparel to Humanlikes if The textures are valid.\nDefault: true");
|
||||
listingStandard.CheckboxLabeled(" Apply Animals", ref SizedApparelSettings.ApplyAnimals, "Try to Apply SizedApparel to Animals if The textures are valid.\nDefault: false");
|
||||
//TODO
|
||||
/*
|
||||
if (SizedApparelSettings.ApplyAnimals)
|
||||
listingStandard.CheckboxLabeled(" Apply Player Faction Animals Only", ref SizedApparelSettings.ApplyAnimalsPlayerFactionOnly, "Default: true");
|
||||
*/
|
||||
listingStandard.CheckboxLabeled(" Apply Mechanoid", ref SizedApparelSettings.ApplyMechanoid, "Try to Apply SizedApparel to Mech if The textures are valid.\nDefault: true");
|
||||
listingStandard.GapLine(5f);
|
||||
|
||||
listingStandard.Label("Apparel Patch (Breasts Sized Apparel)");
|
||||
listingStandard.CheckboxLabeled(" Apply Apparel Patch for Male", ref SizedApparelSettings.ApplyApparelPatchForMale, "It Skips breasts size test for male. Do you need man with breasts...? may be not.\nDefault: false");
|
||||
listingStandard.GapLine(5f);
|
||||
|
||||
listingStandard.Label("If you changed the option, try change apparels or reload save", -1);
|
||||
listingStandard.Label("Body Part Render Option (wip)",-1,"standalone BodyPart Render System from this mod. It's for user who don't use RimNudeWorld\nIf you use RimNudeWorld, you should turn off this.");
|
||||
|
||||
listingStandard.CheckboxLabeled("Use Gender Specific Textures.", ref SizedApparelSettings.useGenderSpecificTexture,"Use Gender Specific texture for body and apparel if it's valid. \nDefault: true");
|
||||
listingStandard.GapLine(1);
|
||||
listingStandard.GapLine(5);
|
||||
listingStandard.CheckboxLabeled("Draw Body Parts", ref SizedApparelSettings.drawBodyParts, "Draw Breasts..etc. when the pawn is wearing supported apparels. \nDefault: true");
|
||||
if (SizedApparelSettings.drawBodyParts)
|
||||
{
|
||||
listingStandard.CheckboxLabeled(" Use (Sized Apparel) Body Texture", ref SizedApparelSettings.useBodyTexture, "change pawn's body texture when the pawn is wearing supported apparels. Recommanded\nDefault: true");
|
||||
listingStandard.CheckboxLabeled(" Use (Sized Apparel) Base Body Texture", ref SizedApparelSettings.useBodyTexture, "change pawn's body texture when the pawn is wearing supported apparels. Recommanded\nDefault: true");
|
||||
|
||||
//listingStandard.CheckboxLabeled(" Draw Muscle Overlay (wip)", ref SizedApparelSettings.drawMuscleOverlay, "\nDisable this option when you use RimNudeWorld");
|
||||
|
||||
|
||||
listingStandard.CheckboxLabeled(" Draw Muscle Overlay (wip)", ref SizedApparelSettings.drawMuscleOverlay, "\nDisable this option when you use RimNudeWorld");
|
||||
|
||||
listingStandard.CheckboxLabeled(" Draw Breasts", ref SizedApparelSettings.drawBreasts, "this option is why this mod exist.\nDefault: true");
|
||||
listingStandard.CheckboxLabeled(" Draw Breasts", ref SizedApparelSettings.drawBreasts, "this option is why this mod exist.\nDefault: true");
|
||||
if (SizedApparelSettings.drawBreasts)
|
||||
{
|
||||
listingStandard.CheckboxLabeled(" Match Breasts size to supported apparels",ref SizedApparelSettings.matchBreastToSupportedApparelSize, "to avoid breasts clipping(when breasts are bigger), you need this option.\nDefault: true");
|
||||
listingStandard.CheckboxLabeled(" draw Breasts on worn pawn only (RimNudeWorld)", ref SizedApparelSettings.drawSizedApparelBreastsOnlyWorn, "when the pawn is nude, the breasts graphic for sized apparel will be hidden. \nDefault: false" );
|
||||
listingStandard.CheckboxLabeled(" Match Breasts size to supported apparels",ref SizedApparelSettings.matchBreastToSupportedApparelSize, "to avoid breasts clipping(when breasts are bigger), you need this option.\nDefault: true");
|
||||
listingStandard.CheckboxLabeled(" draw Breasts on worn pawn only (RimNudeWorld)", ref SizedApparelSettings.drawSizedApparelBreastsOnlyWorn, "when the pawn is nude, the breasts graphic for sized apparel will be hidden. \nDefault: false" );
|
||||
listingStandard.CheckboxLabeled(" (Wip) Breasts Physics", ref SizedApparelSettings.breastsPhysics, "Breasts can be jiggled (for now. it works when nude only). It may be heavy for performance. \n Won't work with RimNudeWorld Breasts Rendering. \ndefault = false");
|
||||
}
|
||||
listingStandard.CheckboxLabeled(" Draw Penis", ref SizedApparelSettings.drawPenis,"Disable this option when you use RimNudeWorld");
|
||||
listingStandard.CheckboxLabeled(" Draw Vagina", ref SizedApparelSettings.drawVagina, "Disable this option when you use RimNudeWorld");
|
||||
listingStandard.CheckboxLabeled(" Draw Anus", ref SizedApparelSettings.drawAnus, "Disable this option when you use RimNudeWorld");
|
||||
listingStandard.CheckboxLabeled(" Draw Belly Buldge", ref SizedApparelSettings.drawBelly, "Disable this option when you use RimNudeWorld");
|
||||
listingStandard.CheckboxLabeled(" Draw Penis", ref SizedApparelSettings.drawPenis,"Disable this option when you use RimNudeWorld");
|
||||
listingStandard.CheckboxLabeled(" Draw Vagina", ref SizedApparelSettings.drawVagina, "Disable this option when you use RimNudeWorld");
|
||||
listingStandard.CheckboxLabeled(" Draw Anus", ref SizedApparelSettings.drawAnus, "Disable this option when you use RimNudeWorld");
|
||||
listingStandard.CheckboxLabeled(" Draw Belly Buldge", ref SizedApparelSettings.drawBelly, "Disable this option when you use RimNudeWorld");
|
||||
|
||||
listingStandard.CheckboxLabeled(" Hide Balls of Futa", ref SizedApparelSettings.hideBallOfFuta, "Hide Balls from penis of Futa.\nDefault: false");
|
||||
listingStandard.CheckboxLabeled(" Hide Penis of Man(Not Work yet)", ref SizedApparelSettings.hidePenisOfMale, "this option is for someone who really hate to see male's dick around.\nDefault: false");
|
||||
listingStandard.CheckboxLabeled(" Draw Pubic Hair", ref SizedApparelSettings.drawPubicHair, "Disable this option when you use RimNudeWorld");
|
||||
|
||||
listingStandard.CheckboxLabeled(" Hide Balls of Futa", ref SizedApparelSettings.hideBallOfFuta, "Hide Balls from penis of Futa.\nDefault: false");
|
||||
listingStandard.CheckboxLabeled(" Hide Penis of Man(Not Work yet)", ref SizedApparelSettings.hidePenisOfMale, "this option is for someone who really hate to see male's dick around.\nDefault: false");
|
||||
|
||||
//listingStandard.Gap();
|
||||
//listingStandard.CheckboxLabeled(" Use Body Part Variation", ref SizedApparelSettings.useBodyPartsVariation, "Use graphic variation such as inverted nipple.\nDefault: true");
|
||||
|
@ -614,6 +726,7 @@ namespace SizedApparel
|
|||
listingStandard.CheckboxLabeled(" use Colossal", ref SizedApparelSettings.useColossal, "use Colossal breasts Sized Apparel.\nDefault: true");
|
||||
listingStandard.CheckboxLabeled(" use Titanic", ref SizedApparelSettings.useTitanic, "use Titanic breasts Sized Apparel.\nDefault: true");
|
||||
*/
|
||||
Widgets.EndScrollView();
|
||||
listingStandard.End();
|
||||
|
||||
//listingStandard.EndScrollView(ref rect);
|
||||
|
|
|
@ -5,6 +5,7 @@ using System.Text;
|
|||
using System.Threading.Tasks;
|
||||
using RimWorld;
|
||||
using Verse;
|
||||
using Verse.Sound;
|
||||
using HarmonyLib;
|
||||
using UnityEngine;
|
||||
using rjw;
|
||||
|
@ -13,18 +14,37 @@ using System.Reflection.Emit;
|
|||
|
||||
namespace SizedApparel
|
||||
{
|
||||
//TODO...?
|
||||
//[HarmonyPatch(typeof(Dialog_StylingStation), "DrawTabs")]
|
||||
|
||||
[HarmonyPatch(typeof(Dialog_StylingStation), "DrawTabs")]
|
||||
public class SizedApparelStyleStationDrawTabsPatch
|
||||
{
|
||||
public static void Postfix(Rect rect, ref Vector2 ___hairScrollPosition, Dialog_StylingStation __instance, List<TabRecord> ___tabs, Dialog_StylingStation.StylingTab ___curTab, float ___viewRectHeight, List<StyleItemDef> ___tmpStyleItems, bool ___devEditMode, Pawn ___pawn)
|
||||
public static void Postfix(Rect rect, ref Vector2 ___hairScrollPosition, Dialog_StylingStation __instance, List<TabRecord> ___tabs, Dialog_StylingStation.StylingTab ___curTab, float ___viewRectHeight, ref List<StyleItemDef> ___tmpStyleItems, bool ___devEditMode, Pawn ___pawn, Color ___desiredHairColor)
|
||||
{
|
||||
|
||||
if (!SizedApparelSettings.drawPubicHair)
|
||||
return;
|
||||
|
||||
|
||||
//Widgets.DrawMenuSection(rect);
|
||||
//TabDrawer.DrawTabs<TabRecord>(rect, ___tabs, 200f);
|
||||
//rect = rect.ContractedBy(18f);
|
||||
switch (___curTab)
|
||||
{
|
||||
case (Dialog_StylingStation.StylingTab)24:
|
||||
|
||||
//Draw PubicHair Tab Code here!
|
||||
//rect.yMax -= ___colorsHeight;
|
||||
DrawStylingTypePubicHair(ref __instance, ref ___viewRectHeight, ref ___tmpStyleItems, ___devEditMode, ___pawn, ___desiredHairColor, rect, ref ___hairScrollPosition, delegate (Rect r, PubicHairDef h)
|
||||
{
|
||||
GUI.color = ___desiredHairColor;
|
||||
Widgets.DefIcon(r, h, null, 1.25f, null, false, null);
|
||||
//Widgets.DrawTextureFitted(r, h.Icon, 1.25f, null);
|
||||
GUI.color = Color.white;
|
||||
}, delegate (PubicHairDef h)
|
||||
{
|
||||
___pawn.GetComp<ApparelRecorderComp>().pubicHairDef = h;
|
||||
//___pawn.story.hairDef = h;
|
||||
}, (StyleItemDef h) => ___pawn.GetComp<ApparelRecorderComp>().pubicHairDef == h, (StyleItemDef h) => ___pawn.GetComp<ApparelRecorderComp>().initialPubicHairDef == h, null, false);
|
||||
|
||||
return;
|
||||
default:
|
||||
|
@ -32,13 +52,162 @@ namespace SizedApparel
|
|||
}
|
||||
}
|
||||
|
||||
static void DrawStylingTypePubicHair(Dialog_StylingStation dialog_StylingStation, Rect rect)
|
||||
//Some Copy Code from Rimnudeworld
|
||||
//maybe Some Var has to be ref
|
||||
static void DrawStylingTypePubicHair(ref Dialog_StylingStation dialog_StylingStation, ref float viewRectHeight, ref List<StyleItemDef> tmpStyleItems, bool devEditMode, Pawn pawn, Color desiredHairColor, Rect rect, ref Vector2 scrollPosition, Action<Rect, PubicHairDef> drawAction, Action<PubicHairDef> selectAction, Func<StyleItemDef, bool> hasStyleItem, Func<StyleItemDef, bool> hadStyleItem, Func<StyleItemDef, bool> extraValidator = null, bool doColors = false)
|
||||
{
|
||||
|
||||
//Color desiredHairColor = AccessTools.FieldRefAccess<Dialog_StylingStation, Color>(dialog_StylingStation, "desiredHairColor");
|
||||
|
||||
int total_pubes_count = 0;
|
||||
total_pubes_count = DefDatabase<PubicHairDef>.AllDefs.Count();
|
||||
|
||||
//need child patch?
|
||||
if (total_pubes_count <= 0)
|
||||
{
|
||||
Widgets.NoneLabelCenteredVertically(rect, "(" + "NoneUsableForPawn".Translate(pawn.Named("PAWN")) + ")");
|
||||
return;
|
||||
}
|
||||
|
||||
ApparelRecorderComp comp = pawn.GetComp<ApparelRecorderComp>();
|
||||
|
||||
|
||||
|
||||
Rect viewRect = new Rect(rect.x, rect.y, rect.width - 16f, viewRectHeight);
|
||||
int num = Mathf.FloorToInt(viewRect.width / 60f) - 1;
|
||||
float num2 = (viewRect.width - (float)num * 60f - (float)(num - 1) * 10f) / 2f;
|
||||
int num3 = 0;
|
||||
int num4 = 0;
|
||||
int num5 = 0;
|
||||
tmpStyleItems.Clear();
|
||||
/*
|
||||
tmpStyleItems.AddRange(from x in DefDatabase<PubicHairDef>.AllDefs
|
||||
where (devEditMode || PawnStyleItemChooser.WantsToUseStyle(pawn, x, null) || hadStyleItem(x)) && (extraValidator == null || extraValidator(x))
|
||||
select x);*/
|
||||
tmpStyleItems.AddRange(DefDatabase<PubicHairDef>.AllDefs);// just add All Pubic Hair def.
|
||||
|
||||
tmpStyleItems.SortBy((StyleItemDef x) => -PawnStyleItemChooser.StyleItemChoiceLikelihoodFor(x, pawn));
|
||||
if (tmpStyleItems.NullOrEmpty<StyleItemDef>())
|
||||
{
|
||||
Widgets.NoneLabelCenteredVertically(rect, "(" + "NoneUsableForPawn".Translate(pawn.Named("PAWN")) + ")");
|
||||
}
|
||||
else
|
||||
{
|
||||
Widgets.BeginScrollView(rect, ref scrollPosition, viewRect, true);
|
||||
foreach (StyleItemDef styleItemDef in tmpStyleItems)
|
||||
{
|
||||
if (num5 >= num - 1)
|
||||
{
|
||||
num5 = 0;
|
||||
num4++;
|
||||
}
|
||||
else if (num3 > 0)
|
||||
{
|
||||
num5++;
|
||||
}
|
||||
Rect rect2 = new Rect(rect.x + num2 + (float)num5 * 60f + (float)num5 * 10f, rect.y + (float)num4 * 60f + (float)num4 * 10f, 60f, 60f);
|
||||
Widgets.DrawHighlight(rect2);
|
||||
if (Mouse.IsOver(rect2))
|
||||
{
|
||||
Widgets.DrawHighlight(rect2);
|
||||
TooltipHandler.TipRegion(rect2, styleItemDef.LabelCap);
|
||||
}
|
||||
if (drawAction != null)
|
||||
{
|
||||
drawAction(rect2, styleItemDef as PubicHairDef);
|
||||
}
|
||||
if (hasStyleItem(styleItemDef))
|
||||
{
|
||||
Widgets.DrawBox(rect2, 2, null);
|
||||
}
|
||||
if (Widgets.ButtonInvisible(rect2, true))
|
||||
{
|
||||
if (selectAction != null)
|
||||
{
|
||||
selectAction(styleItemDef as PubicHairDef);
|
||||
}
|
||||
SoundDefOf.Tick_High.PlayOneShotOnCamera(null);
|
||||
pawn.Drawer.renderer.graphics.SetAllGraphicsDirty();
|
||||
PortraitsCache.SetDirty(pawn);
|
||||
}
|
||||
num3++;
|
||||
}
|
||||
if (Event.current.type == EventType.Layout)
|
||||
{
|
||||
viewRectHeight = (float)(num4 + 1) * 60f + (float)num4 * 10f + 10f;
|
||||
}
|
||||
Widgets.EndScrollView();
|
||||
}
|
||||
if (doColors)
|
||||
{
|
||||
//dialog_StylingStation.DrawHairColors(new Rect(rect.x, rect.yMax + 10f, rect.width, dialog_StylingStation.colorsHeight));
|
||||
|
||||
//Copy From RimnudeWorld
|
||||
|
||||
|
||||
/*
|
||||
Rect newrect = new Rect(rect.x, rect.yMax - 10f, rect.width, colorsHeight);
|
||||
|
||||
Color _desiredHairColor = desiredHairColor;
|
||||
|
||||
float numC = newrect.y;
|
||||
float height;
|
||||
Widgets.ColorSelector(new Rect(newrect.x, numC, newrect.width, 92f), ref _desiredHairColor, AllHairColors, null, 22, 2);
|
||||
if (_desiredHairColor != desiredHairColor)
|
||||
{
|
||||
var desiredHairColor_ = dialog_StylingStation.GetType().GetField("desiredHairColor", System.Reflection.BindingFlags.NonPublic
|
||||
| System.Reflection.BindingFlags.Instance);
|
||||
desiredHairColor_.SetValue(dialog_StylingStation, _desiredHairColor);
|
||||
}
|
||||
numC += 60f;
|
||||
if (desiredHairColor != pawn.story.hairColor && desiredHairColor != pawn.style.nextHairColor)
|
||||
{
|
||||
Widgets.ThingIcon(new Rect(newrect.x, numC, Text.LineHeight, Text.LineHeight), ThingDefOf.Dye, null, null, 1.1f, null);
|
||||
string text = "Required".Translate() + ": 1 " + ThingDefOf.Dye.label;
|
||||
float x = Text.CalcSize(text).x;
|
||||
Widgets.Label(new Rect(newrect.x + Text.LineHeight + 4f, numC, x, Text.LineHeight), text);
|
||||
Rect rect2 = new Rect(newrect.x, numC, x + Text.LineHeight + 8f, Text.LineHeight);
|
||||
if (Mouse.IsOver(rect2))
|
||||
{
|
||||
Widgets.DrawHighlight(rect2);
|
||||
TooltipHandler.TipRegionByKey(rect2, "TooltipDyeExplanation");
|
||||
}
|
||||
numC += Text.LineHeight;
|
||||
|
||||
if (pawn.Map.resourceCounter.GetCount(ThingDefOf.Dye) < 1)
|
||||
{
|
||||
rect2 = new Rect(newrect.x, numC, newrect.width, Text.LineHeight);
|
||||
Color color = GUI.color;
|
||||
GUI.color = ColorLibrary.RedReadable;
|
||||
Widgets.Label(rect2, "NotEnoughDye".Translate() + " " + "NotEnoughDyeWillRecolorHair".Translate());
|
||||
GUI.color = color;
|
||||
numC += rect2.height;
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
}
|
||||
private static List<Color> allHairColors;
|
||||
private static List<Color> AllHairColors
|
||||
{
|
||||
get
|
||||
{
|
||||
if (allHairColors == null)
|
||||
{
|
||||
allHairColors = (from ic in DefDatabase<ColorDef>.AllDefsListForReading
|
||||
select ic.color).ToList<Color>();
|
||||
allHairColors.SortByColor((Color x) => x);
|
||||
}
|
||||
return allHairColors;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void AddPubicHairTab(Dialog_StylingStation stylingStation, List<TabRecord> tabs)
|
||||
{
|
||||
if (!SizedApparelSettings.drawPubicHair)
|
||||
return;
|
||||
|
||||
var curTabField = AccessTools.Field(typeof(Dialog_StylingStation), "curTab");
|
||||
tabs.Add(new TabRecord("PubicHair".Translate().CapitalizeFirst(), delegate ()
|
||||
{
|
||||
|
@ -98,5 +267,32 @@ namespace SizedApparel
|
|||
yield break;
|
||||
}
|
||||
}
|
||||
|
||||
[HarmonyPatch(typeof(Dialog_StylingStation), "Reset")]
|
||||
public class SizedApparelStyleStationResetPatch
|
||||
{
|
||||
public static void Prefix(Pawn ___pawn)
|
||||
{
|
||||
ApparelRecorderComp comp = ___pawn.GetComp<ApparelRecorderComp>();
|
||||
|
||||
//this.pawn.story.hairDef = this.initialHairDef;
|
||||
comp.pubicHairDef = comp.initialPubicHairDef;
|
||||
comp.initialPubicHairDef = null;
|
||||
}
|
||||
}
|
||||
|
||||
//Patching Constructors
|
||||
[HarmonyPatch(typeof(Dialog_StylingStation), MethodType.Constructor, new Type[] { typeof(Pawn), typeof(Thing) })]
|
||||
public class SizedApparelDialogStylingStationPatch
|
||||
{
|
||||
public static void Postfix(Pawn pawn)
|
||||
{
|
||||
var comp = pawn.GetComp<ApparelRecorderComp>();
|
||||
if (comp == null)
|
||||
return;
|
||||
comp.initialPubicHairDef = comp.pubicHairDef;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Verse;
|
||||
|
||||
namespace SizedApparel
|
||||
{
|
||||
//Consider Graphic and Graphic_Multi(Graphic with Facing such as south)
|
||||
public class SizedApparelTexturePointDef : Def
|
||||
{
|
||||
//Path must be texture file name with path
|
||||
//Path example: "Things/Pawn/Humanlike/Bodies/Naked_Female_BaseBody"
|
||||
//Facing Text such as "_south" must not be included.
|
||||
//Use "/" instead of "\"
|
||||
|
||||
public string Path;
|
||||
|
||||
public List<BodyPartPoint> SouthBodyPartPoints = new List<BodyPartPoint>();
|
||||
public List<BodyPartPoint> NorthBodyPartPoints = new List<BodyPartPoint>();
|
||||
public List<BodyPartPoint> EastBodyPartPoints = new List<BodyPartPoint>();
|
||||
|
||||
//can be null. then use EastBodyPartPoints
|
||||
public List<BodyPartPoint> WestBodyPartPoints = new List<BodyPartPoint>();
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
|
@ -9,7 +9,7 @@
|
|||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>SizedApparel</RootNamespace>
|
||||
<AssemblyName>SizedApparelforRJW</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
<TargetFrameworkProfile />
|
||||
|
@ -18,7 +18,7 @@
|
|||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\1.3\Assemblies\</OutputPath>
|
||||
<OutputPath>..\..\Assemblies\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
|
@ -28,7 +28,7 @@
|
|||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>none</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>..\..\1.3\Assemblies\</OutputPath>
|
||||
<OutputPath>..\..\Assemblies\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
|
@ -37,23 +37,31 @@
|
|||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="0Harmony">
|
||||
<HintPath>..\..\..\..\..\..\workshop\content\294100\2009463077\Current\Assemblies\0Harmony.dll</HintPath>
|
||||
<HintPath>..\..\..\..\..\..\..\workshop\content\294100\2009463077\Current\Assemblies\0Harmony.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Assembly-CSharp">
|
||||
<HintPath>..\..\..\..\RimWorldWin64_Data\Managed\Assembly-CSharp.dll</HintPath>
|
||||
<HintPath>..\..\..\..\..\RimWorldWin64_Data\Managed\Assembly-CSharp.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="HugsLib">
|
||||
<HintPath>..\..\..\..\..\..\workshop\content\294100\818773962\v1.1\Assemblies\HugsLib.dll</HintPath>
|
||||
<HintPath>..\..\..\..\..\..\..\workshop\content\294100\818773962\v1.3\Assemblies\HugsLib.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="RimNudeWorld">
|
||||
<HintPath>..\..\..\rimnude-unofficial\1.3 Assembly\Assemblies\RimNudeWorld.dll</HintPath>
|
||||
<HintPath>..\..\..\..\rimnude-unofficial\Assembly Folders\1.3 Assembly\Assemblies\RimNudeWorld.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Rimworld-Animations">
|
||||
<HintPath>..\..\..\..\rimworld-animations\1.3\Assemblies\Rimworld-Animations.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="RJW">
|
||||
<HintPath>..\..\..\RJW\1.3\Assemblies\RJW.dll</HintPath>
|
||||
<HintPath>..\..\..\..\rjw\1.3\Assemblies\RJW.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="RJW_Menstruation">
|
||||
<HintPath>..\..\..\..\rjw_menstruation\1.3\Assemblies\RJW_Menstruation.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
|
@ -62,16 +70,16 @@
|
|||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="UnityEngine">
|
||||
<HintPath>..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.CoreModule">
|
||||
<HintPath>..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.CoreModule.dll</HintPath>
|
||||
<HintPath>..\..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.CoreModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.IMGUIModule">
|
||||
<HintPath>..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.IMGUIModule.dll</HintPath>
|
||||
<HintPath>..\..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.IMGUIModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.TextRenderingModule">
|
||||
<HintPath>..\..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.TextRenderingModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
|
@ -79,23 +87,29 @@
|
|||
<Compile Include="AlienRaceSupport.cs" />
|
||||
<Compile Include="Graphic_BodyParts.cs" />
|
||||
<Compile Include="Graphic_SizedApparel.cs" />
|
||||
<Compile Include="Patch-Animation.cs" />
|
||||
<Compile Include="Patch-Menstruation.cs" />
|
||||
<Compile Include="Patch-StatueOfColonist.cs" />
|
||||
<Compile Include="SizedAppareIdeoPatch.cs" />
|
||||
<Compile Include="SizedApparelApparelBuilder.cs" />
|
||||
<Compile Include="SizedApparelBodyPart.cs" />
|
||||
<Compile Include="SizedApparelBodyPartDef.cs" />
|
||||
<Compile Include="SizedApparelBodyPartDetail.cs" />
|
||||
<Compile Include="SizedApparelBodyPartEditor.cs" />
|
||||
<Compile Include="SizedApparelComp.cs" />
|
||||
<Compile Include="HarmonyPatches.cs" />
|
||||
<Compile Include="SizedApparelDubsApparelPatch.cs" />
|
||||
<Compile Include="SizedApparelDef.cs" />
|
||||
<Compile Include="Patch-DubsApparelPatch.cs" />
|
||||
<Compile Include="SizedApparelMain.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="SizedApparelPoseSet.cs" />
|
||||
<Compile Include="SizedApparelPubicHair.cs" />
|
||||
<Compile Include="SizedApparelRJWPatch.cs" />
|
||||
<Compile Include="SizedApparelRNWPatch.cs" />
|
||||
<Compile Include="Patch-RimJobWorld.cs" />
|
||||
<Compile Include="Patch-RimNudeWorld.cs" />
|
||||
<Compile Include="SizedApparelsDatabase.cs" />
|
||||
<Compile Include="SizedApparelSettingcs.cs" />
|
||||
<Compile Include="SizedApparelStyleStationPatch.cs" />
|
||||
<Compile Include="SizedApparelTexturePointDef.cs" />
|
||||
<Compile Include="SizedApparelUtility.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
|
|
|
@ -11,6 +11,27 @@ using rjw;
|
|||
|
||||
namespace SizedApparel
|
||||
{
|
||||
public class BodyTypeAndPath
|
||||
{
|
||||
public string BodyType;
|
||||
public string Path;
|
||||
}
|
||||
|
||||
public class ApparelData
|
||||
{
|
||||
public string WornPath;
|
||||
public List<BodyTypeAndPath> Data;
|
||||
}
|
||||
public class PreDefinedApparelDate : Def
|
||||
{
|
||||
public string HediffName;
|
||||
public bool IsBreasts = false;
|
||||
public List<BodyTypeAndPath> Data;
|
||||
}
|
||||
public class PreDefinedBodyPartGraphicDate : Def
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public static class SizedApparelsDatabase
|
||||
{
|
||||
|
@ -20,6 +41,12 @@ namespace SizedApparel
|
|||
|
||||
}
|
||||
|
||||
public static void LoadPreDefinedData()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
public struct SizedApparelDatabaseKey
|
||||
{
|
||||
|
@ -107,18 +134,23 @@ namespace SizedApparel
|
|||
public bool isUnsupportedHumanlikePath;
|
||||
public bool isCustomPose;
|
||||
public string hediffName;
|
||||
public Dictionary<string, BodyPartPoint> points;
|
||||
public string bodyType; // useful for bodypart Graphic (body addons).
|
||||
public string raceName; // for check is Human or Alien or Alien as Human.
|
||||
public SizedApparelTexturePointDef points;
|
||||
|
||||
public PathAndSize(string path, int index, bool unsupportedHumanlike = false, bool customPose = false, string hediff = null ,Dictionary<string, BodyPartPoint> pointsInput = null)
|
||||
public PathAndSize(string path, int index, bool unsupportedHumanlike = false, bool customPose = false, string hediff = null, string bodytype = null, string raceName = null, SizedApparelTexturePointDef pointsInput = null)
|
||||
{
|
||||
this.pathWithSizeIndex = path;
|
||||
this.size = index;
|
||||
this.isUnsupportedHumanlikePath = unsupportedHumanlike;
|
||||
this.isCustomPose = customPose;
|
||||
this.hediffName = hediff;
|
||||
this.bodyType = bodytype;
|
||||
this.points = pointsInput;
|
||||
this.raceName = raceName;
|
||||
}
|
||||
}
|
||||
private static Dictionary<Pawn, ApparelRecorderComp> ApparelRecordersCache = new Dictionary<Pawn, ApparelRecorderComp>();
|
||||
|
||||
private static Dictionary<BodyGraphicKey, Graphic> SizedApparelBodyGraphic = new Dictionary<BodyGraphicKey, Graphic>(); // TODO
|
||||
private static Dictionary<SizedApparelDatabaseKey, PathAndSize> SupportedApparelResultPath = new Dictionary<SizedApparelDatabaseKey, PathAndSize>(new SizedApparelDatabaseKeyComparer());
|
||||
|
@ -128,6 +160,14 @@ namespace SizedApparel
|
|||
//AlienRace AllowHumanlike. Need to Restart or Clear cache to change options
|
||||
|
||||
|
||||
public static ApparelRecorderComp GetApparelCompFast(Pawn pawn)
|
||||
{
|
||||
if (ApparelRecordersCache.ContainsKey(pawn))
|
||||
return ApparelRecordersCache[pawn];
|
||||
ApparelRecorderComp comp = pawn.GetComp<ApparelRecorderComp>(); // comp can be null
|
||||
ApparelRecordersCache.Add(pawn, comp);
|
||||
return comp;
|
||||
}
|
||||
|
||||
public static Dictionary<string, bool> AlienRaceUseHumanlike = new Dictionary<string, bool>();
|
||||
private static void ResetAlienRaceUseHumanlike()
|
||||
|
@ -143,6 +183,7 @@ namespace SizedApparel
|
|||
}
|
||||
}
|
||||
|
||||
[Obsolete]
|
||||
public static bool GetAlienRaceUseHumanlike(string raceDef)
|
||||
{
|
||||
if (AlienRaceUseHumanlike.NullOrEmpty())
|
||||
|
@ -255,7 +296,7 @@ namespace SizedApparel
|
|||
//Try Find Different Target Size
|
||||
if (flag == true)
|
||||
{
|
||||
result = new PathAndSize(graphic.path, indexOut, false, customPose, hediffResult);
|
||||
result = new PathAndSize(graphic.path, indexOut, false, customPose, hediffResult, key.bodyTypeName, key.raceName);
|
||||
SupportedApparelResultPath.SetOrAdd(key, result);
|
||||
SupportedApparelOriginalPath.SetOrAdd(result.pathWithSizeIndex, key.pathWithoutSizeIndex);
|
||||
}
|
||||
|
@ -270,27 +311,43 @@ namespace SizedApparel
|
|||
|
||||
public static PathAndSize GetSupportedBodyPartPath(BodyPartDatabaseKey key, bool isBreast, string folderName, string defaultHediffName)
|
||||
{
|
||||
|
||||
PathAndSize result;
|
||||
if (SupportedBodyPartResultPath.ContainsKey(key))
|
||||
return SupportedBodyPartResultPath.TryGetValue(key);
|
||||
int currentSize = -1;
|
||||
string hediffResult;
|
||||
Graphic graphic = null;
|
||||
|
||||
//Find Points from result's path
|
||||
//TODO: Build SizedApparel DataBase separate?
|
||||
|
||||
|
||||
if (key.customPose != null)
|
||||
{
|
||||
graphic = SizedApparelUtility.GetBodyPartGraphic(key.raceName, key.bodyTypeName, key.hediffName, isBreast, key.targetSize, folderName+"/CustomPose/"+key.customPose, defaultHediffName, out currentSize, out hediffResult, key.isHorny, null, key.variation, key.gender);
|
||||
if (graphic != null)
|
||||
{
|
||||
result = new PathAndSize(graphic.path, currentSize, false, true, hediffResult);
|
||||
result = new PathAndSize(graphic.path, currentSize, false, true, hediffResult, key.bodyTypeName, key.raceName);
|
||||
SupportedBodyPartResultPath.SetOrAdd(key, result);
|
||||
//SizedApparelTexturePointDef PointsDef = DefDatabase<SizedApparelTexturePointDef>.AllDefs.FirstOrDefault((SizedApparelTexturePointDef s) => s.Path == graphic.path);
|
||||
//if (SizedApparelSettings.Debug && PointsDef != null)
|
||||
//{
|
||||
// Log.Message("[SizedApparel] : Points Def Found : " + PointsDef.defName);
|
||||
//}
|
||||
return result;
|
||||
}
|
||||
if (key.bodyTypeName != null)
|
||||
graphic = SizedApparelUtility.GetBodyPartGraphic(key.raceName, null, key.hediffName, isBreast, key.targetSize, folderName + "/CustomPose/" + key.customPose, defaultHediffName, out currentSize, out hediffResult, key.isHorny, null, key.variation, key.gender);
|
||||
if (graphic != null)
|
||||
{
|
||||
result = new PathAndSize(graphic.path, currentSize, false, true, hediffResult);
|
||||
result = new PathAndSize(graphic.path, currentSize, false, true, hediffResult , null, key.raceName);
|
||||
SupportedBodyPartResultPath.SetOrAdd(key, result);
|
||||
//SizedApparelTexturePointDef PointsDef = DefDatabase<SizedApparelTexturePointDef>.AllDefs.FirstOrDefault((SizedApparelTexturePointDef s) => s.Path == graphic.path);
|
||||
//if (SizedApparelSettings.Debug && PointsDef != null)
|
||||
//{
|
||||
// Log.Message("[SizedApparel] : Points Def Found : " + PointsDef.defName);
|
||||
//}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -298,8 +355,14 @@ namespace SizedApparel
|
|||
graphic = SizedApparelUtility.GetBodyPartGraphic(key.raceName, key.bodyTypeName, key.hediffName, isBreast, key.targetSize, folderName, defaultHediffName, out currentSize, out hediffResult, key.isHorny, null, key.variation, key.gender);
|
||||
if (graphic != null)
|
||||
{
|
||||
result = new PathAndSize(graphic.path, currentSize, false, key.customPose == null ? true : false, hediffResult);
|
||||
//SizedApparelTexturePointDef PointsDef = DefDatabase<SizedApparelTexturePointDef>.AllDefs.FirstOrDefault((SizedApparelTexturePointDef s) => s.Path == graphic.path);
|
||||
//if (SizedApparelSettings.Debug && PointsDef != null)
|
||||
//{
|
||||
// Log.Message("[SizedApparel] : Points Def Found : " + PointsDef.defName);
|
||||
//}
|
||||
result = new PathAndSize(graphic.path, currentSize, false, key.customPose == null ? true : false, hediffResult , key.bodyTypeName, key.raceName);
|
||||
SupportedBodyPartResultPath.SetOrAdd(key, result);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -307,7 +370,12 @@ namespace SizedApparel
|
|||
graphic = SizedApparelUtility.GetBodyPartGraphic(key.raceName, null, key.hediffName, isBreast, key.targetSize, folderName, defaultHediffName, out currentSize, out hediffResult, key.isHorny, null, key.variation, key.gender);
|
||||
if (graphic != null)
|
||||
{
|
||||
result = new PathAndSize(graphic.path, currentSize, false, key.customPose == null ? true : false, hediffResult);
|
||||
//SizedApparelTexturePointDef PointsDef = DefDatabase<SizedApparelTexturePointDef>.AllDefs.FirstOrDefault((SizedApparelTexturePointDef s) => s.Path == graphic.path);
|
||||
//if (SizedApparelSettings.Debug && PointsDef != null)
|
||||
//{
|
||||
// Log.Message("[SizedApparel] : Points Def Found : " + PointsDef.defName);
|
||||
//}
|
||||
result = new PathAndSize(graphic.path, currentSize, false, key.customPose == null ? true : false, hediffResult, null, key.raceName);
|
||||
SupportedBodyPartResultPath.SetOrAdd(key, result);
|
||||
return result;
|
||||
}
|
||||
|
@ -315,8 +383,9 @@ namespace SizedApparel
|
|||
|
||||
//SizedApparelMod.CheckAndLoadAlienRaces();
|
||||
//HumanLike Search
|
||||
var raceSetting = SizedApparelSettings.alienRaceSettings.FirstOrDefault((AlienRaceSetting s) => s.raceName == key.raceName);
|
||||
if (raceSetting !=null && !raceSetting.asHumanlike) //old: !SizedApparelSettings.UnsupportedRaceToUseHumanlike
|
||||
AlienRaceSetting raceSetting;
|
||||
raceSetting = SizedApparelSettings.alienRaceSettings.FirstOrDefault((AlienRaceSetting s) => s.raceName == key.raceName);
|
||||
if (raceSetting !=null && key.raceName == "Human" || !raceSetting.asHuman) //old: !SizedApparelSettings.UnsupportedRaceToUseHumanlike
|
||||
{
|
||||
//Cannot find Any result
|
||||
result = new PathAndSize(null, -1);
|
||||
|
@ -326,36 +395,56 @@ namespace SizedApparel
|
|||
|
||||
if (key.customPose != null)
|
||||
{
|
||||
graphic = SizedApparelUtility.GetBodyPartGraphic(key.raceName, key.bodyTypeName, key.hediffName, isBreast, key.targetSize, folderName + "/CustomPose/" + key.customPose, defaultHediffName, out currentSize, out hediffResult, key.isHorny, "Humanlike", key.variation, key.gender);
|
||||
graphic = SizedApparelUtility.GetBodyPartGraphic(key.raceName, key.bodyTypeName, key.hediffName, isBreast, key.targetSize, folderName + "/CustomPose/" + key.customPose, defaultHediffName, out currentSize, out hediffResult, key.isHorny, "Human", key.variation, key.gender);
|
||||
if (graphic != null)
|
||||
{
|
||||
result = new PathAndSize(graphic.path, currentSize, true, true, hediffResult);
|
||||
//SizedApparelTexturePointDef PointsDef = DefDatabase<SizedApparelTexturePointDef>.AllDefs.FirstOrDefault((SizedApparelTexturePointDef s) => s.Path == graphic.path);
|
||||
//if (SizedApparelSettings.Debug && PointsDef != null)
|
||||
//{
|
||||
// Log.Message("[SizedApparel] : Points Def Found : " + PointsDef.defName);
|
||||
//}
|
||||
result = new PathAndSize(graphic.path, currentSize, true, true, hediffResult, key.bodyTypeName);
|
||||
SupportedBodyPartResultPath.SetOrAdd(key, result);
|
||||
return result;
|
||||
}
|
||||
if (key.bodyTypeName != null)
|
||||
graphic = SizedApparelUtility.GetBodyPartGraphic(key.raceName, null, key.hediffName, isBreast, key.targetSize, folderName + "/CustomPose/" + key.customPose, defaultHediffName, out currentSize, out hediffResult, key.isHorny, "Humanlike", key.variation, key.gender);
|
||||
graphic = SizedApparelUtility.GetBodyPartGraphic(key.raceName, null, key.hediffName, isBreast, key.targetSize, folderName + "/CustomPose/" + key.customPose, defaultHediffName, out currentSize, out hediffResult, key.isHorny, "Human", key.variation, key.gender);
|
||||
if (graphic != null)
|
||||
{
|
||||
result = new PathAndSize(graphic.path, currentSize, true, true, hediffResult);
|
||||
//SizedApparelTexturePointDef PointsDef = DefDatabase<SizedApparelTexturePointDef>.AllDefs.FirstOrDefault((SizedApparelTexturePointDef s) => s.Path == graphic.path);
|
||||
//if (SizedApparelSettings.Debug && PointsDef != null)
|
||||
//{
|
||||
// Log.Message("[SizedApparel] : Points Def Found : " + PointsDef.defName);
|
||||
//}
|
||||
result = new PathAndSize(graphic.path, currentSize, true, true, hediffResult, null);
|
||||
SupportedBodyPartResultPath.SetOrAdd(key, result);
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
graphic = SizedApparelUtility.GetBodyPartGraphic(key.raceName, key.bodyTypeName, key.hediffName, isBreast, key.targetSize, folderName, defaultHediffName, out currentSize, out hediffResult, key.isHorny, "Humanlike", key.variation, key.gender);
|
||||
graphic = SizedApparelUtility.GetBodyPartGraphic(key.raceName, key.bodyTypeName, key.hediffName, isBreast, key.targetSize, folderName, defaultHediffName, out currentSize, out hediffResult, key.isHorny, "Human", key.variation, key.gender);
|
||||
if (graphic != null)
|
||||
{
|
||||
result = new PathAndSize(graphic.path, currentSize, true, key.customPose == null ? true : false, hediffResult);
|
||||
//SizedApparelTexturePointDef PointsDef = DefDatabase<SizedApparelTexturePointDef>.AllDefs.FirstOrDefault((SizedApparelTexturePointDef s) => s.Path == graphic.path);
|
||||
//if (SizedApparelSettings.Debug && PointsDef != null)
|
||||
//{
|
||||
// Log.Message("[SizedApparel] : Points Def Found : " + PointsDef.defName);
|
||||
//}
|
||||
result = new PathAndSize(graphic.path, currentSize, true, key.customPose == null ? true : false, hediffResult, key.bodyTypeName, "Human");
|
||||
SupportedBodyPartResultPath.SetOrAdd(key, result);
|
||||
return result;
|
||||
}
|
||||
|
||||
if (key.bodyTypeName != null)
|
||||
graphic = SizedApparelUtility.GetBodyPartGraphic(key.raceName, null, key.hediffName, isBreast, key.targetSize, folderName, defaultHediffName, out currentSize, out hediffResult, key.isHorny, "Humanlike", key.variation, key.gender);
|
||||
graphic = SizedApparelUtility.GetBodyPartGraphic(key.raceName, null, key.hediffName, isBreast, key.targetSize, folderName, defaultHediffName, out currentSize, out hediffResult, key.isHorny, "Human", key.variation, key.gender);
|
||||
if (graphic != null)
|
||||
{
|
||||
result = new PathAndSize(graphic.path, currentSize, true, key.customPose == null ? true : false, hediffResult);
|
||||
//SizedApparelTexturePointDef PointsDef = DefDatabase<SizedApparelTexturePointDef>.AllDefs.FirstOrDefault((SizedApparelTexturePointDef s) => s.Path == graphic.path);
|
||||
//if (SizedApparelSettings.Debug && PointsDef != null)
|
||||
//{
|
||||
// Log.Message("[SizedApparel] : Points Def Found : " + PointsDef.defName);
|
||||
//}
|
||||
result = new PathAndSize(graphic.path, currentSize, true, key.customPose == null ? true : false, hediffResult, null, "Human");
|
||||
SupportedBodyPartResultPath.SetOrAdd(key, result);
|
||||
return result;
|
||||
}
|
||||
|
@ -368,5 +457,95 @@ namespace SizedApparel
|
|||
return result;
|
||||
}
|
||||
|
||||
public static void RandomPreCacheForBodyParts()
|
||||
{
|
||||
//variationDef = DefDatabase<SizedApparelBodyPartVariationDef>.AllDefsListForReading;
|
||||
BodyPartDatabaseKey key;
|
||||
for (int i = 0; i<11; i++)
|
||||
{
|
||||
key = new BodyPartDatabaseKey("Human", "Female", "Breasts", "Breasts", Gender.Female, i);
|
||||
GetSupportedBodyPartPath(key, true, "Breasts", "Breasts");
|
||||
key = new BodyPartDatabaseKey("Human", "Thin", "Breasts", "Breasts", Gender.Female, i);
|
||||
GetSupportedBodyPartPath(key, true, "Breasts", "Breasts");
|
||||
}
|
||||
|
||||
for (int i = 0; i < 6; i++)
|
||||
{
|
||||
key = new BodyPartDatabaseKey("Human", "Female", "Vagina", "Vagina", Gender.Female, i);
|
||||
GetSupportedBodyPartPath(key, false, "Vagina", "Vagina");
|
||||
key = new BodyPartDatabaseKey("Human", "Thin", "Vagina", "Vagina", Gender.Female, i);
|
||||
GetSupportedBodyPartPath(key, false, "Vagina", "Vagina");
|
||||
}
|
||||
|
||||
for (int i = 0; i < 6; i++)
|
||||
{
|
||||
key = new BodyPartDatabaseKey("Human", "Female", "Anus", "Anus", Gender.Female, i);
|
||||
GetSupportedBodyPartPath(key, false, "Anus", "Anus");
|
||||
key = new BodyPartDatabaseKey("Human", "Thin", "Anus", "Anus", Gender.Female, i);
|
||||
GetSupportedBodyPartPath(key, false, "Anus", "Anus");
|
||||
key = new BodyPartDatabaseKey("Human", "Male", "Anus", "Anus", Gender.Male, i);
|
||||
GetSupportedBodyPartPath(key, false, "Anus", "Anus");
|
||||
key = new BodyPartDatabaseKey("Human", "Thin", "Anus", "Anus", Gender.Male, i);
|
||||
GetSupportedBodyPartPath(key, false, "Anus", "Anus");
|
||||
}
|
||||
for (int i = 0; i < 6; i++)
|
||||
{
|
||||
key = new BodyPartDatabaseKey("Human", "Male", "Penis", "Penis", Gender.Male, i);
|
||||
GetSupportedBodyPartPath(key, false, "Penis", "Penis");
|
||||
key = new BodyPartDatabaseKey("Human", "Male", "Penis", "Penis/Balls", Gender.Male, i);
|
||||
GetSupportedBodyPartPath(key, false, "Penis", "Penis");
|
||||
|
||||
key = new BodyPartDatabaseKey("Human", "Thin", "Penis", "Penis", Gender.Male, i);
|
||||
GetSupportedBodyPartPath(key, false, "Penis", "Penis");
|
||||
key = new BodyPartDatabaseKey("Human", "Thin", "Penis", "Penis/Balls", Gender.Male, i);
|
||||
GetSupportedBodyPartPath(key, false, "Penis", "Penis");
|
||||
|
||||
key = new BodyPartDatabaseKey("Human", "Fat", "Penis", "Penis", Gender.Male, i);
|
||||
GetSupportedBodyPartPath(key, false, "Penis", "Penis");
|
||||
key = new BodyPartDatabaseKey("Human", "Fat", "Penis", "Penis/Balls", Gender.Male, i);
|
||||
GetSupportedBodyPartPath(key, false, "Penis", "Penis");
|
||||
|
||||
key = new BodyPartDatabaseKey("Human", "Hulk", "Penis", "Penis", Gender.Male, i);
|
||||
GetSupportedBodyPartPath(key, false, "Penis", "Penis");
|
||||
key = new BodyPartDatabaseKey("Human", "Hulk", "Penis", "Penis/Balls", Gender.Male, i);
|
||||
GetSupportedBodyPartPath(key, false, "Penis", "Penis");
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
public static void RandomPreCacheForApparels()
|
||||
{
|
||||
//random precache should be useful. so it target female and thin body only.
|
||||
//don't target male because the male doesn't need breasts textures usually.
|
||||
|
||||
List<string> bodyTypes = new List<string>();
|
||||
bodyTypes.Add("Female");
|
||||
bodyTypes.Add("Thin");
|
||||
|
||||
|
||||
// DefDatabase<BodyTypeDef>.AllDefsListForReading
|
||||
foreach (ThingDef thingDef in DefDatabase<ThingDef>.AllDefsListForReading)
|
||||
{
|
||||
if (thingDef.IsApparel && !thingDef.apparel.wornGraphicPath.NullOrEmpty())
|
||||
{
|
||||
|
||||
for(int i = 0; i<11; i++)
|
||||
{
|
||||
var key = new SizedApparelDatabaseKey(thingDef.apparel.wornGraphicPath, "Human", "Female", Gender.Female, "Breasts", i);
|
||||
GetSupportedApparelSizedPath(key);
|
||||
key = new SizedApparelDatabaseKey(thingDef.apparel.wornGraphicPath, "Human", "Thin", Gender.Female, "Breasts", i);
|
||||
GetSupportedApparelSizedPath(key);
|
||||
//need Humanlike Cache?
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
|
|
@ -0,0 +1,131 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- this is Wip Def. Not work yet. -->
|
||||
<Defs>
|
||||
<SizedApparel.BodyDef>
|
||||
<defName>AOC</defName>
|
||||
<bodies>
|
||||
<li>
|
||||
<bodyType>Female</bodyType>
|
||||
<Addons>
|
||||
<li>
|
||||
<partName>Breasts</partName>
|
||||
<boneName>Breasts</boneName>
|
||||
<defaultHediffName>Breasts</defaultHediffName>
|
||||
<bodyPartOf>Breasts</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>true</isBreasts>
|
||||
<!-- "isBreasts" is used for step count -->
|
||||
<!-- rjw private parts and breasts has different step method with serverity. -->
|
||||
<mustHaveBone>false</mustHaveBone>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0113</south>
|
||||
<north>0.001</north>
|
||||
<east>0.0113</east>
|
||||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
<defaultHediffName>Vagina</defaultHediffName>
|
||||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<mustHaveBone>true</mustHaveBone>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0088</south>
|
||||
<north>0.0100</north>
|
||||
<east>0.0088</east>
|
||||
<west>0.0088</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Anus</partName>
|
||||
<boneName>Anus</boneName>
|
||||
<defaultHediffName>Anus</defaultHediffName>
|
||||
<bodyPartOf>Anus</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0093</south>
|
||||
<north>0.0105</north>
|
||||
<east>0.0093</east>
|
||||
<west>0.0093</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Belly</partName>
|
||||
<boneName>Belly</boneName>
|
||||
<defaultHediffName>BellyBulge</defaultHediffName>
|
||||
<bodyPartOf>Belly</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0098</south>
|
||||
<north>0.0002</north>
|
||||
<east>0.0098</east>
|
||||
<west>0.0098</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Penis</partName>
|
||||
<boneName>Penis</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Penis</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0108</south>
|
||||
<north>0.0025</north>
|
||||
<east>0.0108</east>
|
||||
<west>0.0108</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Balls</partName>
|
||||
<boneName>Balls</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Balls</bodyPartOf>
|
||||
<customPath>Penis/Balls</customPath>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0096</south>
|
||||
<north>0.0085</north>
|
||||
<east>0.0096</east>
|
||||
<west>0.0096</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>PubicHair</partName>
|
||||
<boneName>PubicHair</boneName>
|
||||
<defaultHediffName>Default</defaultHediffName>
|
||||
<bodyPartOf>PubicHair</bodyPartOf>
|
||||
<colorType>Hair</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
</li>
|
||||
</bodies>
|
||||
</SizedApparel.BodyDef>
|
||||
</Defs>
|
|
@ -0,0 +1,127 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- this is Wip Def. Not work yet. -->
|
||||
<Defs>
|
||||
<SizedApparel.BodyDef>
|
||||
<defName>Alien_Bori</defName>
|
||||
<bodies>
|
||||
<li>
|
||||
<bodyType>Thin</bodyType>
|
||||
<Addons>
|
||||
<li>
|
||||
<partName>Breasts</partName>
|
||||
<boneName>Breasts</boneName>
|
||||
<defaultHediffName>Breasts</defaultHediffName>
|
||||
<bodyPartOf>Breasts</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>true</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0113</south>
|
||||
<north>0.001</north>
|
||||
<east>0.0113</east>
|
||||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
<defaultHediffName>Vagina</defaultHediffName>
|
||||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0088</south>
|
||||
<north>0.0100</north>
|
||||
<east>0.0088</east>
|
||||
<west>0.0088</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Anus</partName>
|
||||
<boneName>Anus</boneName>
|
||||
<defaultHediffName>Anus</defaultHediffName>
|
||||
<bodyPartOf>Anus</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0093</south>
|
||||
<north>0.0105</north>
|
||||
<east>0.0093</east>
|
||||
<west>0.0093</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Belly</partName>
|
||||
<boneName>Belly</boneName>
|
||||
<defaultHediffName>BellyBulge</defaultHediffName>
|
||||
<bodyPartOf>Belly</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0098</south>
|
||||
<north>0.0002</north>
|
||||
<east>0.0098</east>
|
||||
<west>0.0098</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Penis</partName>
|
||||
<boneName>Penis</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Penis</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0108</south>
|
||||
<north>0.0025</north>
|
||||
<east>0.0108</east>
|
||||
<west>0.0108</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Balls</partName>
|
||||
<boneName>Balls</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Balls</bodyPartOf>
|
||||
<customPath>Penis/Balls</customPath>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0096</south>
|
||||
<north>0.0085</north>
|
||||
<east>0.0096</east>
|
||||
<west>0.0096</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>PubicHair</partName>
|
||||
<boneName>PubicHair</boneName>
|
||||
<defaultHediffName>Default</defaultHediffName>
|
||||
<bodyPartOf>PubicHair</bodyPartOf>
|
||||
<colorType>Hair</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
</li>
|
||||
</bodies>
|
||||
</SizedApparel.BodyDef>
|
||||
</Defs>
|
|
@ -0,0 +1,249 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- this is Wip Def. Not work yet. -->
|
||||
<Defs>
|
||||
<SizedApparel.BodyDef>
|
||||
<defName>Alien_Miho</defName>
|
||||
<bodies>
|
||||
<li>
|
||||
<bodyType>Female</bodyType>
|
||||
<Addons>
|
||||
<li>
|
||||
<partName>Breasts</partName>
|
||||
<boneName>Breasts</boneName>
|
||||
<defaultHediffName>Breasts</defaultHediffName>
|
||||
<bodyPartOf>Breasts</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>true</isBreasts>
|
||||
<!-- "isBreasts" is used for step count -->
|
||||
<!-- rjw private parts and breasts has different step method with serverity. -->
|
||||
<mustHaveBone>false</mustHaveBone>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0113</south>
|
||||
<north>0.001</north>
|
||||
<east>0.0113</east>
|
||||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
<defaultHediffName>Vagina</defaultHediffName>
|
||||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<mustHaveBone>true</mustHaveBone>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0088</south>
|
||||
<north>0.0100</north>
|
||||
<east>0.0088</east>
|
||||
<west>0.0088</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Anus</partName>
|
||||
<boneName>Anus</boneName>
|
||||
<defaultHediffName>Anus</defaultHediffName>
|
||||
<bodyPartOf>Anus</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0093</south>
|
||||
<north>0.0105</north>
|
||||
<east>0.0093</east>
|
||||
<west>0.0093</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Belly</partName>
|
||||
<boneName>Belly</boneName>
|
||||
<defaultHediffName>BellyBulge</defaultHediffName>
|
||||
<bodyPartOf>Belly</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0098</south>
|
||||
<north>0.0002</north>
|
||||
<east>0.0098</east>
|
||||
<west>0.0098</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Penis</partName>
|
||||
<boneName>Penis</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Penis</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0108</south>
|
||||
<north>0.0025</north>
|
||||
<east>0.0108</east>
|
||||
<west>0.0108</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Balls</partName>
|
||||
<boneName>Balls</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Balls</bodyPartOf>
|
||||
<customPath>Penis/Balls</customPath>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0096</south>
|
||||
<north>0.0085</north>
|
||||
<east>0.0096</east>
|
||||
<west>0.0096</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>PubicHair</partName>
|
||||
<boneName>PubicHair</boneName>
|
||||
<defaultHediffName>Default</defaultHediffName>
|
||||
<bodyPartOf>PubicHair</bodyPartOf>
|
||||
<colorType>Hair</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Thin</bodyType>
|
||||
<Addons>
|
||||
<li>
|
||||
<partName>Breasts</partName>
|
||||
<boneName>Breasts</boneName>
|
||||
<defaultHediffName>Breasts</defaultHediffName>
|
||||
<bodyPartOf>Breasts</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>true</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0113</south>
|
||||
<north>0.001</north>
|
||||
<east>0.0113</east>
|
||||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
<defaultHediffName>Vagina</defaultHediffName>
|
||||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0088</south>
|
||||
<north>0.0100</north>
|
||||
<east>0.0088</east>
|
||||
<west>0.0088</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Anus</partName>
|
||||
<boneName>Anus</boneName>
|
||||
<defaultHediffName>Anus</defaultHediffName>
|
||||
<bodyPartOf>Anus</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0093</south>
|
||||
<north>0.0105</north>
|
||||
<east>0.0093</east>
|
||||
<west>0.0093</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Belly</partName>
|
||||
<boneName>Belly</boneName>
|
||||
<defaultHediffName>BellyBulge</defaultHediffName>
|
||||
<bodyPartOf>Belly</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0098</south>
|
||||
<north>0.0002</north>
|
||||
<east>0.0098</east>
|
||||
<west>0.0098</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Penis</partName>
|
||||
<boneName>Penis</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Penis</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0108</south>
|
||||
<north>0.0025</north>
|
||||
<east>0.0108</east>
|
||||
<west>0.0108</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Balls</partName>
|
||||
<boneName>Balls</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Balls</bodyPartOf>
|
||||
<customPath>Penis/Balls</customPath>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0096</south>
|
||||
<north>0.0085</north>
|
||||
<east>0.0096</east>
|
||||
<west>0.0096</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>PubicHair</partName>
|
||||
<boneName>PubicHair</boneName>
|
||||
<defaultHediffName>Default</defaultHediffName>
|
||||
<bodyPartOf>PubicHair</bodyPartOf>
|
||||
<colorType>Hair</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
</li>
|
||||
</bodies>
|
||||
</SizedApparel.BodyDef>
|
||||
</Defs>
|
|
@ -0,0 +1,249 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- this is Wip Def. Not work yet. -->
|
||||
<Defs>
|
||||
<SizedApparel.BodyDef>
|
||||
<defName>Rabbie</defName>
|
||||
<bodies>
|
||||
<li>
|
||||
<bodyType>Thin</bodyType>
|
||||
<Addons>
|
||||
<li>
|
||||
<partName>Breasts</partName>
|
||||
<boneName>Breasts</boneName>
|
||||
<defaultHediffName>Breasts</defaultHediffName>
|
||||
<bodyPartOf>Breasts</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>true</isBreasts>
|
||||
<!-- "isBreasts" is used for step count -->
|
||||
<!-- rjw private parts and breasts has different step method with serverity. -->
|
||||
<mustHaveBone>false</mustHaveBone>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0113</south>
|
||||
<north>0.001</north>
|
||||
<east>0.0113</east>
|
||||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
<defaultHediffName>Vagina</defaultHediffName>
|
||||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<mustHaveBone>true</mustHaveBone>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0088</south>
|
||||
<north>0.0100</north>
|
||||
<east>0.0088</east>
|
||||
<west>0.0088</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Anus</partName>
|
||||
<boneName>Anus</boneName>
|
||||
<defaultHediffName>Anus</defaultHediffName>
|
||||
<bodyPartOf>Anus</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0093</south>
|
||||
<north>0.0105</north>
|
||||
<east>0.0093</east>
|
||||
<west>0.0093</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Belly</partName>
|
||||
<boneName>Belly</boneName>
|
||||
<defaultHediffName>BellyBulge</defaultHediffName>
|
||||
<bodyPartOf>Belly</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0098</south>
|
||||
<north>0.0002</north>
|
||||
<east>0.0098</east>
|
||||
<west>0.0098</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Penis</partName>
|
||||
<boneName>Penis</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Penis</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0108</south>
|
||||
<north>0.0025</north>
|
||||
<east>0.0108</east>
|
||||
<west>0.0108</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Balls</partName>
|
||||
<boneName>Balls</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Balls</bodyPartOf>
|
||||
<customPath>Penis/Balls</customPath>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0096</south>
|
||||
<north>0.0085</north>
|
||||
<east>0.0096</east>
|
||||
<west>0.0096</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>PubicHair</partName>
|
||||
<boneName>PubicHair</boneName>
|
||||
<defaultHediffName>Default</defaultHediffName>
|
||||
<bodyPartOf>PubicHair</bodyPartOf>
|
||||
<colorType>Hair</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Male</bodyType>
|
||||
<Addons>
|
||||
<li>
|
||||
<partName>Breasts</partName>
|
||||
<boneName>Breasts</boneName>
|
||||
<defaultHediffName>Breasts</defaultHediffName>
|
||||
<bodyPartOf>Breasts</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>true</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0113</south>
|
||||
<north>0.001</north>
|
||||
<east>0.0113</east>
|
||||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
<defaultHediffName>Vagina</defaultHediffName>
|
||||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0088</south>
|
||||
<north>0.0100</north>
|
||||
<east>0.0088</east>
|
||||
<west>0.0088</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Anus</partName>
|
||||
<boneName>Anus</boneName>
|
||||
<defaultHediffName>Anus</defaultHediffName>
|
||||
<bodyPartOf>Anus</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0093</south>
|
||||
<north>0.0105</north>
|
||||
<east>0.0093</east>
|
||||
<west>0.0093</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Belly</partName>
|
||||
<boneName>Belly</boneName>
|
||||
<defaultHediffName>BellyBulge</defaultHediffName>
|
||||
<bodyPartOf>Belly</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0098</south>
|
||||
<north>0.0002</north>
|
||||
<east>0.0098</east>
|
||||
<west>0.0098</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Penis</partName>
|
||||
<boneName>Penis</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Penis</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0108</south>
|
||||
<north>0.0025</north>
|
||||
<east>0.0108</east>
|
||||
<west>0.0108</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Balls</partName>
|
||||
<boneName>Balls</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Balls</bodyPartOf>
|
||||
<customPath>Penis/Balls</customPath>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0096</south>
|
||||
<north>0.0085</north>
|
||||
<east>0.0096</east>
|
||||
<west>0.0096</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>PubicHair</partName>
|
||||
<boneName>PubicHair</boneName>
|
||||
<defaultHediffName>Default</defaultHediffName>
|
||||
<bodyPartOf>PubicHair</bodyPartOf>
|
||||
<colorType>Hair</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
</li>
|
||||
</bodies>
|
||||
</SizedApparel.BodyDef>
|
||||
</Defs>
|
|
@ -0,0 +1,249 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- this is Wip Def. Not work yet. -->
|
||||
<Defs>
|
||||
<SizedApparel.BodyDef>
|
||||
<defName>Ratkin</defName>
|
||||
<bodies>
|
||||
<li>
|
||||
<bodyType>Thin</bodyType>
|
||||
<Addons>
|
||||
<li>
|
||||
<partName>Breasts</partName>
|
||||
<boneName>Breasts</boneName>
|
||||
<defaultHediffName>Breasts</defaultHediffName>
|
||||
<bodyPartOf>Breasts</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>true</isBreasts>
|
||||
<!-- "isBreasts" is used for step count -->
|
||||
<!-- rjw private parts and breasts has different step method with serverity. -->
|
||||
<mustHaveBone>false</mustHaveBone>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0113</south>
|
||||
<north>0.001</north>
|
||||
<east>0.0113</east>
|
||||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
<defaultHediffName>Vagina</defaultHediffName>
|
||||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<mustHaveBone>true</mustHaveBone>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0088</south>
|
||||
<north>0.0100</north>
|
||||
<east>0.0088</east>
|
||||
<west>0.0088</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Anus</partName>
|
||||
<boneName>Anus</boneName>
|
||||
<defaultHediffName>Anus</defaultHediffName>
|
||||
<bodyPartOf>Anus</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0093</south>
|
||||
<north>0.0105</north>
|
||||
<east>0.0093</east>
|
||||
<west>0.0093</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Belly</partName>
|
||||
<boneName>Belly</boneName>
|
||||
<defaultHediffName>BellyBulge</defaultHediffName>
|
||||
<bodyPartOf>Belly</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0098</south>
|
||||
<north>0.0002</north>
|
||||
<east>0.0098</east>
|
||||
<west>0.0098</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Penis</partName>
|
||||
<boneName>Penis</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Penis</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0108</south>
|
||||
<north>0.0025</north>
|
||||
<east>0.0108</east>
|
||||
<west>0.0108</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Balls</partName>
|
||||
<boneName>Balls</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Balls</bodyPartOf>
|
||||
<customPath>Penis/Balls</customPath>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0096</south>
|
||||
<north>0.0085</north>
|
||||
<east>0.0096</east>
|
||||
<west>0.0096</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>PubicHair</partName>
|
||||
<boneName>PubicHair</boneName>
|
||||
<defaultHediffName>Default</defaultHediffName>
|
||||
<bodyPartOf>PubicHair</bodyPartOf>
|
||||
<colorType>Hair</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Male</bodyType>
|
||||
<Addons>
|
||||
<li>
|
||||
<partName>Breasts</partName>
|
||||
<boneName>Breasts</boneName>
|
||||
<defaultHediffName>Breasts</defaultHediffName>
|
||||
<bodyPartOf>Breasts</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>true</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0113</south>
|
||||
<north>0.001</north>
|
||||
<east>0.0113</east>
|
||||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
<defaultHediffName>Vagina</defaultHediffName>
|
||||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0088</south>
|
||||
<north>0.0100</north>
|
||||
<east>0.0088</east>
|
||||
<west>0.0088</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Anus</partName>
|
||||
<boneName>Anus</boneName>
|
||||
<defaultHediffName>Anus</defaultHediffName>
|
||||
<bodyPartOf>Anus</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0093</south>
|
||||
<north>0.0105</north>
|
||||
<east>0.0093</east>
|
||||
<west>0.0093</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Belly</partName>
|
||||
<boneName>Belly</boneName>
|
||||
<defaultHediffName>BellyBulge</defaultHediffName>
|
||||
<bodyPartOf>Belly</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0098</south>
|
||||
<north>0.0002</north>
|
||||
<east>0.0098</east>
|
||||
<west>0.0098</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Penis</partName>
|
||||
<boneName>Penis</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Penis</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0108</south>
|
||||
<north>0.0025</north>
|
||||
<east>0.0108</east>
|
||||
<west>0.0108</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Balls</partName>
|
||||
<boneName>Balls</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Balls</bodyPartOf>
|
||||
<customPath>Penis/Balls</customPath>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0096</south>
|
||||
<north>0.0085</north>
|
||||
<east>0.0096</east>
|
||||
<west>0.0096</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>PubicHair</partName>
|
||||
<boneName>PubicHair</boneName>
|
||||
<defaultHediffName>Default</defaultHediffName>
|
||||
<bodyPartOf>PubicHair</bodyPartOf>
|
||||
<colorType>Hair</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
</li>
|
||||
</bodies>
|
||||
</SizedApparel.BodyDef>
|
||||
</Defs>
|
|
@ -0,0 +1,249 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- this is Wip Def. Not work yet. -->
|
||||
<Defs>
|
||||
<SizedApparel.BodyDef>
|
||||
<defName>Ratkin_Su</defName>
|
||||
<bodies>
|
||||
<li>
|
||||
<bodyType>Thin</bodyType>
|
||||
<Addons>
|
||||
<li>
|
||||
<partName>Breasts</partName>
|
||||
<boneName>Breasts</boneName>
|
||||
<defaultHediffName>Breasts</defaultHediffName>
|
||||
<bodyPartOf>Breasts</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>true</isBreasts>
|
||||
<!-- "isBreasts" is used for step count -->
|
||||
<!-- rjw private parts and breasts has different step method with serverity. -->
|
||||
<mustHaveBone>false</mustHaveBone>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0113</south>
|
||||
<north>0.001</north>
|
||||
<east>0.0113</east>
|
||||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
<defaultHediffName>Vagina</defaultHediffName>
|
||||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<mustHaveBone>true</mustHaveBone>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0088</south>
|
||||
<north>0.0100</north>
|
||||
<east>0.0088</east>
|
||||
<west>0.0088</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Anus</partName>
|
||||
<boneName>Anus</boneName>
|
||||
<defaultHediffName>Anus</defaultHediffName>
|
||||
<bodyPartOf>Anus</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0093</south>
|
||||
<north>0.0105</north>
|
||||
<east>0.0093</east>
|
||||
<west>0.0093</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Belly</partName>
|
||||
<boneName>Belly</boneName>
|
||||
<defaultHediffName>BellyBulge</defaultHediffName>
|
||||
<bodyPartOf>Belly</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0098</south>
|
||||
<north>0.0002</north>
|
||||
<east>0.0098</east>
|
||||
<west>0.0098</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Penis</partName>
|
||||
<boneName>Penis</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Penis</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0108</south>
|
||||
<north>0.0025</north>
|
||||
<east>0.0108</east>
|
||||
<west>0.0108</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Balls</partName>
|
||||
<boneName>Balls</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Balls</bodyPartOf>
|
||||
<customPath>Penis/Balls</customPath>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0096</south>
|
||||
<north>0.0085</north>
|
||||
<east>0.0096</east>
|
||||
<west>0.0096</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>PubicHair</partName>
|
||||
<boneName>PubicHair</boneName>
|
||||
<defaultHediffName>Default</defaultHediffName>
|
||||
<bodyPartOf>PubicHair</bodyPartOf>
|
||||
<colorType>Hair</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Male</bodyType>
|
||||
<Addons>
|
||||
<li>
|
||||
<partName>Breasts</partName>
|
||||
<boneName>Breasts</boneName>
|
||||
<defaultHediffName>Breasts</defaultHediffName>
|
||||
<bodyPartOf>Breasts</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>true</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0113</south>
|
||||
<north>0.001</north>
|
||||
<east>0.0113</east>
|
||||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
<defaultHediffName>Vagina</defaultHediffName>
|
||||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0088</south>
|
||||
<north>0.0100</north>
|
||||
<east>0.0088</east>
|
||||
<west>0.0088</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Anus</partName>
|
||||
<boneName>Anus</boneName>
|
||||
<defaultHediffName>Anus</defaultHediffName>
|
||||
<bodyPartOf>Anus</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0093</south>
|
||||
<north>0.0105</north>
|
||||
<east>0.0093</east>
|
||||
<west>0.0093</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Belly</partName>
|
||||
<boneName>Belly</boneName>
|
||||
<defaultHediffName>BellyBulge</defaultHediffName>
|
||||
<bodyPartOf>Belly</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0098</south>
|
||||
<north>0.0002</north>
|
||||
<east>0.0098</east>
|
||||
<west>0.0098</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Penis</partName>
|
||||
<boneName>Penis</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Penis</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0108</south>
|
||||
<north>0.0025</north>
|
||||
<east>0.0108</east>
|
||||
<west>0.0108</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Balls</partName>
|
||||
<boneName>Balls</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Balls</bodyPartOf>
|
||||
<customPath>Penis/Balls</customPath>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0096</south>
|
||||
<north>0.0085</north>
|
||||
<east>0.0096</east>
|
||||
<west>0.0096</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>PubicHair</partName>
|
||||
<boneName>PubicHair</boneName>
|
||||
<defaultHediffName>Default</defaultHediffName>
|
||||
<bodyPartOf>PubicHair</bodyPartOf>
|
||||
<colorType>Hair</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
</li>
|
||||
</bodies>
|
||||
</SizedApparel.BodyDef>
|
||||
</Defs>
|
|
@ -0,0 +1,131 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- this is Wip Def. Not work yet. -->
|
||||
<Defs>
|
||||
<SizedApparel.BodyDef>
|
||||
<defName>Alien_SP</defName>
|
||||
<bodies>
|
||||
<li>
|
||||
<bodyType>Female</bodyType>
|
||||
<Addons>
|
||||
<li>
|
||||
<partName>Breasts</partName>
|
||||
<boneName>Breasts</boneName>
|
||||
<defaultHediffName>Breasts</defaultHediffName>
|
||||
<bodyPartOf>Breasts</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>true</isBreasts>
|
||||
<!-- "isBreasts" is used for step count -->
|
||||
<!-- rjw private parts and breasts has different step method with serverity. -->
|
||||
<mustHaveBone>false</mustHaveBone>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0113</south>
|
||||
<north>0.001</north>
|
||||
<east>0.0113</east>
|
||||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
<defaultHediffName>Vagina</defaultHediffName>
|
||||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<mustHaveBone>true</mustHaveBone>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0088</south>
|
||||
<north>0.0100</north>
|
||||
<east>0.0088</east>
|
||||
<west>0.0088</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Anus</partName>
|
||||
<boneName>Anus</boneName>
|
||||
<defaultHediffName>Anus</defaultHediffName>
|
||||
<bodyPartOf>Anus</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0093</south>
|
||||
<north>0.0105</north>
|
||||
<east>0.0093</east>
|
||||
<west>0.0093</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Belly</partName>
|
||||
<boneName>Belly</boneName>
|
||||
<defaultHediffName>BellyBulge</defaultHediffName>
|
||||
<bodyPartOf>Belly</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0098</south>
|
||||
<north>0.0002</north>
|
||||
<east>0.0098</east>
|
||||
<west>0.0098</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Penis</partName>
|
||||
<boneName>Penis</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Penis</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0108</south>
|
||||
<north>0.0025</north>
|
||||
<east>0.0108</east>
|
||||
<west>0.0108</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Balls</partName>
|
||||
<boneName>Balls</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Balls</bodyPartOf>
|
||||
<customPath>Penis/Balls</customPath>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0096</south>
|
||||
<north>0.0085</north>
|
||||
<east>0.0096</east>
|
||||
<west>0.0096</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>PubicHair</partName>
|
||||
<boneName>PubicHair</boneName>
|
||||
<defaultHediffName>Default</defaultHediffName>
|
||||
<bodyPartOf>PubicHair</bodyPartOf>
|
||||
<colorType>Hair</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
</li>
|
||||
</bodies>
|
||||
</SizedApparel.BodyDef>
|
||||
</Defs>
|
|
@ -0,0 +1,717 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Defs>
|
||||
<SizedApparel.BodyDef>
|
||||
<defName>Human</defName>
|
||||
<bodies>
|
||||
<li>
|
||||
<bodyType>Female</bodyType>
|
||||
<Addons>
|
||||
<li>
|
||||
<partName>Breasts</partName>
|
||||
<boneName>Breasts</boneName>
|
||||
<defaultHediffName>Breasts</defaultHediffName>
|
||||
<bodyPartOf>Breasts</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>true</isBreasts>
|
||||
<!-- "isBreasts" is used for step count -->
|
||||
<!-- rjw private parts and breasts has different step method with serverity. -->
|
||||
<mustHaveBone>false</mustHaveBone>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0113</south>
|
||||
<north>0.001</north>
|
||||
<east>0.0113</east>
|
||||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<!-- Wip -->
|
||||
<!-- <li> -->
|
||||
<!-- <partName>Nipples</partName> -->
|
||||
<!-- <boneName>Breasts</boneName> -->
|
||||
<!-- <defaultHediffName>Breasts</defaultHediffName> -->
|
||||
<!-- <bodyPartOf>Breasts</bodyPartOf> -->
|
||||
<!-- <colorType>Nipple</colorType> -->
|
||||
<!-- <isBreasts>true</isBreasts> -->
|
||||
<!-- <mustHaveBone>false</mustHaveBone> -->
|
||||
<!-- <centeredTexture>false</centeredTexture> -->
|
||||
<!-- <depthOffset> -->
|
||||
<!-- <south>0.0114</south> -->
|
||||
<!-- <north>0.0011</north> -->
|
||||
<!-- <east>0.0114</east> -->
|
||||
<!-- <west>0.0114</west> -->
|
||||
<!-- </depthOffset> -->
|
||||
<!-- </li> -->
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
<defaultHediffName>Vagina</defaultHediffName>
|
||||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<mustHaveBone>true</mustHaveBone>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0088</south>
|
||||
<north>0.0100</north>
|
||||
<east>0.0088</east>
|
||||
<west>0.0088</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Anus</partName>
|
||||
<boneName>Anus</boneName>
|
||||
<defaultHediffName>Anus</defaultHediffName>
|
||||
<bodyPartOf>Anus</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0093</south>
|
||||
<north>0.0105</north>
|
||||
<east>0.0093</east>
|
||||
<west>0.0093</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Belly</partName>
|
||||
<boneName>Belly</boneName>
|
||||
<defaultHediffName>BellyBulge</defaultHediffName>
|
||||
<bodyPartOf>Belly</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0098</south>
|
||||
<north>0.0002</north>
|
||||
<east>0.0098</east>
|
||||
<west>0.0098</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Penis</partName>
|
||||
<boneName>Penis</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Penis</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0108</south>
|
||||
<north>0.0025</north>
|
||||
<east>0.0108</east>
|
||||
<west>0.0108</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Balls</partName>
|
||||
<boneName>Balls</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Balls</bodyPartOf>
|
||||
<customPath>Penis/Balls</customPath>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0096</south>
|
||||
<north>0.0085</north>
|
||||
<east>0.0096</east>
|
||||
<west>0.0096</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>PubicHair</partName>
|
||||
<boneName>PubicHair</boneName>
|
||||
<defaultHediffName>Default</defaultHediffName>
|
||||
<bodyPartOf>PubicHair</bodyPartOf>
|
||||
<colorType>Hair</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Thin</bodyType>
|
||||
<Addons>
|
||||
<li>
|
||||
<partName>Breasts</partName>
|
||||
<boneName>Breasts</boneName>
|
||||
<defaultHediffName>Breasts</defaultHediffName>
|
||||
<bodyPartOf>Breasts</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>true</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0113</south>
|
||||
<north>0.001</north>
|
||||
<east>0.0113</east>
|
||||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
<defaultHediffName>Vagina</defaultHediffName>
|
||||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0088</south>
|
||||
<north>0.0100</north>
|
||||
<east>0.0088</east>
|
||||
<west>0.0088</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Anus</partName>
|
||||
<boneName>Anus</boneName>
|
||||
<defaultHediffName>Anus</defaultHediffName>
|
||||
<bodyPartOf>Anus</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0093</south>
|
||||
<north>0.0105</north>
|
||||
<east>0.0093</east>
|
||||
<west>0.0093</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Belly</partName>
|
||||
<boneName>Belly</boneName>
|
||||
<defaultHediffName>BellyBulge</defaultHediffName>
|
||||
<bodyPartOf>Belly</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0098</south>
|
||||
<north>0.0002</north>
|
||||
<east>0.0098</east>
|
||||
<west>0.0098</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Penis</partName>
|
||||
<boneName>Penis</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Penis</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0108</south>
|
||||
<north>0.0025</north>
|
||||
<east>0.0108</east>
|
||||
<west>0.0108</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Balls</partName>
|
||||
<boneName>Balls</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Balls</bodyPartOf>
|
||||
<customPath>Penis/Balls</customPath>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0096</south>
|
||||
<north>0.0085</north>
|
||||
<east>0.0096</east>
|
||||
<west>0.0096</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>PubicHair</partName>
|
||||
<boneName>PubicHair</boneName>
|
||||
<defaultHediffName>Default</defaultHediffName>
|
||||
<bodyPartOf>PubicHair</bodyPartOf>
|
||||
<colorType>Hair</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Male</bodyType>
|
||||
<Addons>
|
||||
<li>
|
||||
<partName>Breasts</partName>
|
||||
<boneName>Breasts</boneName>
|
||||
<defaultHediffName>Breasts</defaultHediffName>
|
||||
<bodyPartOf>Breasts</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>true</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0113</south>
|
||||
<north>0.001</north>
|
||||
<east>0.0113</east>
|
||||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
<defaultHediffName>Vagina</defaultHediffName>
|
||||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0088</south>
|
||||
<north>0.0100</north>
|
||||
<east>0.0088</east>
|
||||
<west>0.0088</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Anus</partName>
|
||||
<boneName>Anus</boneName>
|
||||
<defaultHediffName>Anus</defaultHediffName>
|
||||
<bodyPartOf>Anus</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0093</south>
|
||||
<north>0.0105</north>
|
||||
<east>0.0093</east>
|
||||
<west>0.0093</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Belly</partName>
|
||||
<boneName>Belly</boneName>
|
||||
<defaultHediffName>BellyBulge</defaultHediffName>
|
||||
<bodyPartOf>Belly</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0098</south>
|
||||
<north>0.0002</north>
|
||||
<east>0.0098</east>
|
||||
<west>0.0098</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Penis</partName>
|
||||
<boneName>Penis</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Penis</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0108</south>
|
||||
<north>0.0025</north>
|
||||
<east>0.0108</east>
|
||||
<west>0.0108</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Balls</partName>
|
||||
<boneName>Balls</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Balls</bodyPartOf>
|
||||
<customPath>Penis/Balls</customPath>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0096</south>
|
||||
<north>0.0085</north>
|
||||
<east>0.0096</east>
|
||||
<west>0.0096</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>PubicHair</partName>
|
||||
<boneName>PubicHair</boneName>
|
||||
<defaultHediffName>Default</defaultHediffName>
|
||||
<bodyPartOf>PubicHair</bodyPartOf>
|
||||
<colorType>Hair</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Hulk</bodyType>
|
||||
<Addons>
|
||||
<li>
|
||||
<partName>Breasts</partName>
|
||||
<boneName>Breasts</boneName>
|
||||
<defaultHediffName>Breasts</defaultHediffName>
|
||||
<bodyPartOf>Breasts</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>true</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0113</south>
|
||||
<north>0.001</north>
|
||||
<east>0.0113</east>
|
||||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
<defaultHediffName>Vagina</defaultHediffName>
|
||||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0088</south>
|
||||
<north>0.0100</north>
|
||||
<east>0.0088</east>
|
||||
<west>0.0088</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Anus</partName>
|
||||
<boneName>Anus</boneName>
|
||||
<defaultHediffName>Anus</defaultHediffName>
|
||||
<bodyPartOf>Anus</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0093</south>
|
||||
<north>0.0105</north>
|
||||
<east>0.0093</east>
|
||||
<west>0.0093</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Belly</partName>
|
||||
<boneName>Belly</boneName>
|
||||
<defaultHediffName>BellyBulge</defaultHediffName>
|
||||
<bodyPartOf>Belly</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0098</south>
|
||||
<north>0.0002</north>
|
||||
<east>0.0098</east>
|
||||
<west>0.0098</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Penis</partName>
|
||||
<boneName>Penis</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Penis</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0108</south>
|
||||
<north>0.0025</north>
|
||||
<east>0.0108</east>
|
||||
<west>0.0108</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Balls</partName>
|
||||
<boneName>Balls</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Balls</bodyPartOf>
|
||||
<customPath>Penis/Balls</customPath>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0096</south>
|
||||
<north>0.0085</north>
|
||||
<east>0.0096</east>
|
||||
<west>0.0096</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>PubicHair</partName>
|
||||
<boneName>PubicHair</boneName>
|
||||
<defaultHediffName>Default</defaultHediffName>
|
||||
<bodyPartOf>PubicHair</bodyPartOf>
|
||||
<colorType>Hair</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Fat</bodyType>
|
||||
<Addons>
|
||||
<li>
|
||||
<partName>Breasts</partName>
|
||||
<boneName>Breasts</boneName>
|
||||
<defaultHediffName>Breasts</defaultHediffName>
|
||||
<bodyPartOf>Breasts</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>true</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0113</south>
|
||||
<north>0.001</north>
|
||||
<east>0.0113</east>
|
||||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
<defaultHediffName>Vagina</defaultHediffName>
|
||||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0088</south>
|
||||
<north>0.0100</north>
|
||||
<east>0.0088</east>
|
||||
<west>0.0088</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Anus</partName>
|
||||
<boneName>Anus</boneName>
|
||||
<defaultHediffName>Anus</defaultHediffName>
|
||||
<bodyPartOf>Anus</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0093</south>
|
||||
<north>0.0105</north>
|
||||
<east>0.0093</east>
|
||||
<west>0.0093</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Belly</partName>
|
||||
<boneName>Belly</boneName>
|
||||
<defaultHediffName>BellyBulge</defaultHediffName>
|
||||
<bodyPartOf>Belly</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0098</south>
|
||||
<north>0.0002</north>
|
||||
<east>0.0098</east>
|
||||
<west>0.0098</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Penis</partName>
|
||||
<boneName>Penis</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Penis</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0108</south>
|
||||
<north>0.0025</north>
|
||||
<east>0.0108</east>
|
||||
<west>0.0108</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Balls</partName>
|
||||
<boneName>Balls</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Balls</bodyPartOf>
|
||||
<customPath>Penis/Balls</customPath>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0096</south>
|
||||
<north>0.0085</north>
|
||||
<east>0.0096</east>
|
||||
<west>0.0096</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>PubicHair</partName>
|
||||
<boneName>PubicHair</boneName>
|
||||
<defaultHediffName>Default</defaultHediffName>
|
||||
<bodyPartOf>PubicHair</bodyPartOf>
|
||||
<colorType>Hair</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Child</bodyType>
|
||||
<Addons>
|
||||
<!-- <li> -->
|
||||
<!-- <partName>Breasts</partName> -->
|
||||
<!-- <boneName>Breasts</boneName> -->
|
||||
<!-- <defaultHediffName>Breasts</defaultHediffName> -->
|
||||
<!-- <bodyPartOf>Breasts</bodyPartOf> -->
|
||||
<!-- <colorType>Skin</colorType> -->
|
||||
<!-- <isBreasts>true</isBreasts> -->
|
||||
<!-- <mustHaveBone>false</mustHaveBone> -->
|
||||
<!-- <centeredTexture>false</centeredTexture> -->
|
||||
<!-- <depthOffset> -->
|
||||
<!-- <south>0.0113</south> -->
|
||||
<!-- <north>0.001</north> -->
|
||||
<!-- <east>0.0113</east> -->
|
||||
<!-- <west>0.0113</west> -->
|
||||
<!-- </depthOffset> -->
|
||||
<!-- </li> -->
|
||||
<!-- <li> -->
|
||||
<!-- <partName>Vagina</partName> -->
|
||||
<!-- <boneName>Vagina</boneName> -->
|
||||
<!-- <defaultHediffName>Vagina</defaultHediffName> -->
|
||||
<!-- <bodyPartOf>Vagina</bodyPartOf> -->
|
||||
<!-- <colorType>Skin</colorType> -->
|
||||
<!-- <isBreasts>false</isBreasts> -->
|
||||
<!-- <mustHaveBone>true</mustHaveBone> -->
|
||||
<!-- <centeredTexture>true</centeredTexture> -->
|
||||
<!-- <depthOffset> -->
|
||||
<!-- <south>0.0088</south> -->
|
||||
<!-- <north>0.0100</north> -->
|
||||
<!-- <east>0.0088</east> -->
|
||||
<!-- <west>0.0088</west> -->
|
||||
<!-- </depthOffset> -->
|
||||
<!-- </li> -->
|
||||
<!-- <li> -->
|
||||
<!-- <partName>Anus</partName> -->
|
||||
<!-- <boneName>Anus</boneName> -->
|
||||
<!-- <defaultHediffName>Anus</defaultHediffName> -->
|
||||
<!-- <bodyPartOf>Anus</bodyPartOf> -->
|
||||
<!-- <colorType>Skin</colorType> -->
|
||||
<!-- <isBreasts>false</isBreasts> -->
|
||||
<!-- <centeredTexture>true</centeredTexture> -->
|
||||
<!-- <depthOffset> -->
|
||||
<!-- <south>0.0093</south> -->
|
||||
<!-- <north>0.0105</north> -->
|
||||
<!-- <east>0.0093</east> -->
|
||||
<!-- <west>0.0093</west> -->
|
||||
<!-- </depthOffset> -->
|
||||
<!-- </li> -->
|
||||
<!-- <li> -->
|
||||
<!-- <partName>Belly</partName> -->
|
||||
<!-- <boneName>Belly</boneName> -->
|
||||
<!-- <defaultHediffName>BellyBulge</defaultHediffName> -->
|
||||
<!-- <bodyPartOf>Belly</bodyPartOf> -->
|
||||
<!-- <colorType>Skin</colorType> -->
|
||||
<!-- <isBreasts>false</isBreasts> -->
|
||||
<!-- <centeredTexture>false</centeredTexture> -->
|
||||
<!-- <depthOffset> -->
|
||||
<!-- <south>0.0098</south> -->
|
||||
<!-- <north>0.0002</north> -->
|
||||
<!-- <east>0.0098</east> -->
|
||||
<!-- <west>0.0098</west> -->
|
||||
<!-- </depthOffset> -->
|
||||
<!-- </li> -->
|
||||
<!-- <li> -->
|
||||
<!-- <partName>Penis</partName> -->
|
||||
<!-- <boneName>Penis</boneName> -->
|
||||
<!-- <defaultHediffName>Penis</defaultHediffName> -->
|
||||
<!-- <bodyPartOf>Penis</bodyPartOf> -->
|
||||
<!-- <colorType>Skin</colorType> -->
|
||||
<!-- <isBreasts>false</isBreasts> -->
|
||||
<!-- <centeredTexture>true</centeredTexture> -->
|
||||
<!-- <depthOffset> -->
|
||||
<!-- <south>0.0108</south> -->
|
||||
<!-- <north>0.0025</north> -->
|
||||
<!-- <east>0.0108</east> -->
|
||||
<!-- <west>0.0108</west> -->
|
||||
<!-- </depthOffset> -->
|
||||
<!-- </li> -->
|
||||
<!-- <li> -->
|
||||
<!-- <partName>Balls</partName> -->
|
||||
<!-- <boneName>Balls</boneName> -->
|
||||
<!-- <defaultHediffName>Penis</defaultHediffName> -->
|
||||
<!-- <bodyPartOf>Balls</bodyPartOf> -->
|
||||
<!-- <customPath>Penis/Balls</customPath> -->
|
||||
<!-- <colorType>Skin</colorType> -->
|
||||
<!-- <isBreasts>false</isBreasts> -->
|
||||
<!-- <centeredTexture>true</centeredTexture> -->
|
||||
<!-- <depthOffset> -->
|
||||
<!-- <south>0.0096</south> -->
|
||||
<!-- <north>0.0085</north> -->
|
||||
<!-- <east>0.0096</east> -->
|
||||
<!-- <west>0.0096</west> -->
|
||||
<!-- </depthOffset> -->
|
||||
<!-- </li> -->
|
||||
</Addons>
|
||||
</li>
|
||||
</bodies>
|
||||
</SizedApparel.BodyDef>
|
||||
</Defs>
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- this is Wip Def. Not work yet. -->
|
||||
<Defs>
|
||||
<SizedApparel.BodyDef>
|
||||
<defName>Human</defName>
|
||||
|
@ -26,6 +25,23 @@
|
|||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<!-- Wip -->
|
||||
<!-- <li> -->
|
||||
<!-- <partName>Nipples</partName> -->
|
||||
<!-- <boneName>Breasts</boneName> -->
|
||||
<!-- <defaultHediffName>Breasts</defaultHediffName> -->
|
||||
<!-- <bodyPartOf>Breasts</bodyPartOf> -->
|
||||
<!-- <colorType>Nipple</colorType> -->
|
||||
<!-- <isBreasts>true</isBreasts> -->
|
||||
<!-- <mustHaveBone>false</mustHaveBone> -->
|
||||
<!-- <centeredTexture>false</centeredTexture> -->
|
||||
<!-- <depthOffset> -->
|
||||
<!-- <south>0.0114</south> -->
|
||||
<!-- <north>0.0011</north> -->
|
||||
<!-- <east>0.0114</east> -->
|
||||
<!-- <west>0.0114</west> -->
|
||||
<!-- </depthOffset> -->
|
||||
<!-- </li> -->
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
|
@ -33,6 +49,7 @@
|
|||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<mustHaveBone>true</mustHaveBone>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<!-- TODO? <TexturePaths/> -->
|
||||
<depthOffset>
|
||||
|
@ -119,8 +136,8 @@
|
|||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0089</east>
|
||||
<west>0.0089</west>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
|
@ -237,8 +254,8 @@
|
|||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0089</east>
|
||||
<west>0.0089</west>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
|
@ -355,8 +372,8 @@
|
|||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0089</east>
|
||||
<west>0.0089</west>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
|
@ -473,8 +490,8 @@
|
|||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0089</east>
|
||||
<west>0.0089</west>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
|
@ -591,8 +608,106 @@
|
|||
<depthOffset>
|
||||
<south>0.0099</south>
|
||||
<north>0.0099</north>
|
||||
<east>0.0089</east>
|
||||
<west>0.0089</west>
|
||||
<east>0.0099</east>
|
||||
<west>0.0099</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Child</bodyType>
|
||||
<Addons>
|
||||
<li>
|
||||
<partName>Breasts</partName>
|
||||
<boneName>Breasts</boneName>
|
||||
<defaultHediffName>Breasts</defaultHediffName>
|
||||
<bodyPartOf>Breasts</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>true</isBreasts>
|
||||
<mustHaveBone>false</mustHaveBone>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<depthOffset>
|
||||
<south>0.0113</south>
|
||||
<north>0.001</north>
|
||||
<east>0.0113</east>
|
||||
<west>0.0113</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Vagina</partName>
|
||||
<boneName>Vagina</boneName>
|
||||
<defaultHediffName>Vagina</defaultHediffName>
|
||||
<bodyPartOf>Vagina</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<mustHaveBone>true</mustHaveBone>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<depthOffset>
|
||||
<south>0.0088</south>
|
||||
<north>0.0100</north>
|
||||
<east>0.0088</east>
|
||||
<west>0.0088</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Anus</partName>
|
||||
<boneName>Anus</boneName>
|
||||
<defaultHediffName>Anus</defaultHediffName>
|
||||
<bodyPartOf>Anus</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<depthOffset>
|
||||
<south>0.0093</south>
|
||||
<north>0.0105</north>
|
||||
<east>0.0093</east>
|
||||
<west>0.0093</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Belly</partName>
|
||||
<boneName>Belly</boneName>
|
||||
<defaultHediffName>BellyBulge</defaultHediffName>
|
||||
<bodyPartOf>Belly</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>false</centeredTexture>
|
||||
<depthOffset>
|
||||
<south>0.0098</south>
|
||||
<north>0.0002</north>
|
||||
<east>0.0098</east>
|
||||
<west>0.0098</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Penis</partName>
|
||||
<boneName>Penis</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Penis</bodyPartOf>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<depthOffset>
|
||||
<south>0.0108</south>
|
||||
<north>0.0025</north>
|
||||
<east>0.0108</east>
|
||||
<west>0.0108</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
<li>
|
||||
<partName>Balls</partName>
|
||||
<boneName>Balls</boneName>
|
||||
<defaultHediffName>Penis</defaultHediffName>
|
||||
<bodyPartOf>Balls</bodyPartOf>
|
||||
<customPath>Penis/Balls</customPath>
|
||||
<colorType>Skin</colorType>
|
||||
<isBreasts>false</isBreasts>
|
||||
<centeredTexture>true</centeredTexture>
|
||||
<depthOffset>
|
||||
<south>0.0096</south>
|
||||
<north>0.0085</north>
|
||||
<east>0.0096</east>
|
||||
<west>0.0096</west>
|
||||
</depthOffset>
|
||||
</li>
|
||||
</Addons>
|
|
@ -0,0 +1,123 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Defs>
|
||||
<SizedApparel.SkeletonDef>
|
||||
<defName>AOC</defName>
|
||||
<skeletons>
|
||||
<li>
|
||||
<bodyType>Female</bodyType>
|
||||
<Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>PubicHair</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
</Bones>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Child</bodyType>
|
||||
<Bones>
|
||||
</Bones>
|
||||
</li>
|
||||
</skeletons>
|
||||
</SizedApparel.SkeletonDef>
|
||||
</Defs>
|
|
@ -0,0 +1,123 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Defs>
|
||||
<SizedApparel.SkeletonDef>
|
||||
<defName>Alien_Bori</defName>
|
||||
<skeletons>
|
||||
<li>
|
||||
<bodyType>Thin</bodyType>
|
||||
<Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>PubicHair</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
</Bones>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Child</bodyType>
|
||||
<Bones>
|
||||
</Bones>
|
||||
</li>
|
||||
</skeletons>
|
||||
</SizedApparel.SkeletonDef>
|
||||
</Defs>
|
|
@ -0,0 +1,233 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Defs>
|
||||
<SizedApparel.SkeletonDef>
|
||||
<defName>Alien_Miho</defName>
|
||||
<skeletons>
|
||||
<li>
|
||||
<bodyType>Thin</bodyType>
|
||||
<Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.148)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.006, 0, -0.150)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(-0.006, 0, -0.143)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.129)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.006, 0, -0.139</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(-0.061, 0, -0.155)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.141)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.006, 0, -0.141)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(-0.004, 0, -0.139)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.141)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.006, 0, -0.141))</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(-0.004, 0, -0.139)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>PubicHair</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.121)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.006, 0, -0.109)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.004, 0, -0.123)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
</Bones>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Female</bodyType>
|
||||
<Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.148)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.006, 0, -0.150)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(-0.006, 0, -0.143)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.129)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.006, 0, -0.139)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(-0.061, 0, -0.155)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.141)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.006, 0, -0.141)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(-0.004, 0, -0.139)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.141)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.006, 0, -0.141)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(-0.004, 0, -0.139)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.004, 0, -0.123))</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>PubicHair</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.121)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.006, 0, -0.109)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.004, 0, -0.123)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
</Bones>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Child</bodyType>
|
||||
<Bones>
|
||||
</Bones>
|
||||
</li>
|
||||
</skeletons>
|
||||
</SizedApparel.SkeletonDef>
|
||||
</Defs>
|
|
@ -0,0 +1,233 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Defs>
|
||||
<SizedApparel.SkeletonDef>
|
||||
<defName>Rabbie</defName>
|
||||
<skeletons>
|
||||
<li>
|
||||
<bodyType>Thin</bodyType>
|
||||
<Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>PubicHair</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
</Bones>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Male</bodyType>
|
||||
<Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>PubicHair</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
</Bones>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Child</bodyType>
|
||||
<Bones>
|
||||
</Bones>
|
||||
</li>
|
||||
</skeletons>
|
||||
</SizedApparel.SkeletonDef>
|
||||
</Defs>
|
|
@ -0,0 +1,233 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Defs>
|
||||
<SizedApparel.SkeletonDef>
|
||||
<defName>Ratkin</defName>
|
||||
<skeletons>
|
||||
<li>
|
||||
<bodyType>Thin</bodyType>
|
||||
<Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>PubicHair</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
</Bones>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Male</bodyType>
|
||||
<Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>PubicHair</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
</Bones>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Child</bodyType>
|
||||
<Bones>
|
||||
</Bones>
|
||||
</li>
|
||||
</skeletons>
|
||||
</SizedApparel.SkeletonDef>
|
||||
</Defs>
|
|
@ -0,0 +1,233 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Defs>
|
||||
<SizedApparel.SkeletonDef>
|
||||
<defName>Ratkin_Su</defName>
|
||||
<skeletons>
|
||||
<li>
|
||||
<bodyType>Thin</bodyType>
|
||||
<Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>PubicHair</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
</Bones>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Male</bodyType>
|
||||
<Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>PubicHair</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
</Bones>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Child</bodyType>
|
||||
<Bones>
|
||||
</Bones>
|
||||
</li>
|
||||
</skeletons>
|
||||
</SizedApparel.SkeletonDef>
|
||||
</Defs>
|
|
@ -0,0 +1,123 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Defs>
|
||||
<SizedApparel.SkeletonDef>
|
||||
<defName>Alien_SP</defName>
|
||||
<skeletons>
|
||||
<li>
|
||||
<bodyType>Female</bodyType>
|
||||
<Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>PubicHair</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
</Bones>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Child</bodyType>
|
||||
<Bones>
|
||||
</Bones>
|
||||
</li>
|
||||
</skeletons>
|
||||
</SizedApparel.SkeletonDef>
|
||||
</Defs>
|
|
@ -9,11 +9,11 @@
|
|||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(-0.004, 0, -0.340)</InitialPosition>
|
||||
<InitialPosition>(-0.002, 0, -0.340)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.008, 0, -0.346)</InitialPosition>
|
||||
<InitialPosition>(-0.006, 0, -0.346)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
|
@ -556,7 +556,112 @@
|
|||
<li>
|
||||
<bodyType>Child</bodyType>
|
||||
<Bones>
|
||||
</Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(0.002, 0, -0.209)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, -0.205)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.043, 0, -0.174)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.289)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0.002, 0, -0.164)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(-0.084, 0, -0.127)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(-0.002, 0, -0.195)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.002, 0, -0.195)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.047, 0, -0.170)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(-0.002, 0, -0.195)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.002, 0, -0.195)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.047, 0, -0.170)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>PubicHair</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.166)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.002, 0, -0.164)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.057, 0, -0.145)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
</Bones>
|
||||
</li>
|
||||
</skeletons>
|
||||
</SizedApparel.SkeletonDef>
|
|
@ -0,0 +1,668 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Defs>
|
||||
<SizedApparel.SkeletonDef>
|
||||
<defName>Human</defName>
|
||||
<skeletons>
|
||||
<li>
|
||||
<bodyType>Female</bodyType>
|
||||
<Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(-0.002, 0, -0.340)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.006, 0, -0.346)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.047, 0, -0.238)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.289)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.006, 0, -0.289)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(-0.174, 0, 0.254)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.320)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.01, 0, -0.338)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.062, 0, -0.221)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.320)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.01, 0, -0.338)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.062, 0, -0.221)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>PubicHair</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.301)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, -0.318)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.059, 0, -0.186)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
</Bones>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Thin</bodyType>
|
||||
<Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.312)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.006, 0, -0.318)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.006, 0, -0.256)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.260)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.002, 0, -0.266)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(-0.137, 0, -0.211)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.307)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, -0.305)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.008, 0, -0.248)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.307)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, -0.305)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.007, 0, -0.248)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>PubicHair</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.281)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, -0.291)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.021, 0, -0.219)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
</Bones>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Male</bodyType>
|
||||
<Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.320)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0.002, 0, -0.311)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.057, 0, -0.258)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.268)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, -0.252)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(-0.113, 0, -0.234)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.301)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, -0.311)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.068, 0, -0.250)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(0.0, 0, -0.301)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0.0, 0, -0.311)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.066, 0, -0.250)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>PubicHair</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.275)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, -0.277)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.066, 0, -0.219)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
</Bones>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Hulk</bodyType>
|
||||
<Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(0.004, 0, -0.434)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, -0.453)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.020, 0, -0.395)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0.006, 0, -0.383)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, -0.406)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(-0.238, 0, -0.328)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.436)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0.0, 0, -0.445)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.029, 0, -0.387)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.436)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, -0.445)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.028, 0, -0.387)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>PubicHair</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.395)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0.027, 0, -0.375)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, -0.424)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
</Bones>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Fat</bodyType>
|
||||
<Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(0.002, 0, -0.352)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0.002, 0, -0.359)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.148, 0, -0.352)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.297)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, -0.297)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(-0.238, 0, -0.271)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.357)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, -0.363)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.168, 0, -0.348)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.357)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, -0.363)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.168, 0, -0.348)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>PubicHair</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.307)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, -0.320)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.158, 0, -0.338)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
</Bones>
|
||||
</li>
|
||||
<li>
|
||||
<bodyType>Child</bodyType>
|
||||
<Bones>
|
||||
<li>
|
||||
<name>Vagina</name>
|
||||
<south>
|
||||
<InitialPosition>(0.002, 0, -0.209)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, -0.205)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.043, 0, -0.174)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Breasts</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Anus</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, -0.289)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0.002, 0, -0.164)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(-0.084, 0, -0.127)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Penis</name>
|
||||
<south>
|
||||
<InitialPosition>(-0.002, 0, -0.195)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.002, 0, -0.195)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.047, 0, -0.170)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Balls</name>
|
||||
<south>
|
||||
<InitialPosition>(-0.002, 0, -0.195)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(-0.002, 0, -0.195)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0.047, 0, -0.170)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<li>
|
||||
<name>Belly</name>
|
||||
<south>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</south>
|
||||
<north>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</north>
|
||||
<east>
|
||||
<InitialPosition>(0, 0, 0)</InitialPosition>
|
||||
<InitialAngle>0</InitialAngle>
|
||||
</east>
|
||||
</li>
|
||||
<!-- <li> -->
|
||||
<!-- <name>PubicHair</name> -->
|
||||
<!-- <south> -->
|
||||
<!-- <InitialPosition>(0, 0, -0.166)</InitialPosition> -->
|
||||
<!-- <InitialAngle>0</InitialAngle> -->
|
||||
<!-- </south> -->
|
||||
<!-- <north> -->
|
||||
<!-- <InitialPosition>(-0.002, 0, -0.164)</InitialPosition> -->
|
||||
<!-- <InitialAngle>0</InitialAngle> -->
|
||||
<!-- </north> -->
|
||||
<!-- <east> -->
|
||||
<!-- <InitialPosition>(0.057, 0, -0.145)</InitialPosition> -->
|
||||
<!-- <InitialAngle>0</InitialAngle> -->
|
||||
<!-- </east> -->
|
||||
<!-- </li> -->
|
||||
</Bones>
|
||||
</li>
|
||||
</skeletons>
|
||||
</SizedApparel.SkeletonDef>
|
||||
</Defs>
|
|
@ -27,6 +27,25 @@
|
|||
</value>
|
||||
</match>
|
||||
</li>
|
||||
<li Class="PatchOperationConditional">
|
||||
<xpath>Defs/ThingDef[defName = "Apparel_Bandolier"]/apparel/tags</xpath>
|
||||
<nomatch Class="PatchOperationAdd">
|
||||
<xpath>Defs/ThingDef[defName = "Apparel_Bandolier"]/apparel</xpath>
|
||||
<value>
|
||||
<tags>
|
||||
<li>SizedApparel_IgnorBreastSize</li>
|
||||
<li>SizedApparel_ShowPrivateCrotch</li>
|
||||
</tags>
|
||||
</value>
|
||||
</nomatch>
|
||||
<match Class="PatchOperationAdd">
|
||||
<xpath>Defs/ThingDef[defName = "Apparel_Bandolier"]/apparel/tags</xpath>
|
||||
<value>
|
||||
<li>SizedApparel_IgnorBreastSize</li>
|
||||
<li>SizedApparel_ShowPrivateCrotch</li>
|
||||
</value>
|
||||
</match>
|
||||
</li>
|
||||
</operations>
|
||||
</match>
|
||||
</Operation>
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
<value>
|
||||
<tags>
|
||||
<li>SizedApparel_IgnorBreastSize</li>
|
||||
<li>SizedApparel_ShowPrivateCrotch</li>
|
||||
</tags>
|
||||
</value>
|
||||
</nomatch>
|
||||
|
@ -22,6 +23,26 @@
|
|||
<xpath>Defs/ThingDef[defName = "Apparel_Sash"]/apparel/tags</xpath>
|
||||
<value>
|
||||
<li>SizedApparel_IgnorBreastSize</li>
|
||||
<li>SizedApparel_ShowPrivateCrotch</li>
|
||||
</value>
|
||||
</match>
|
||||
</li>
|
||||
<li Class="PatchOperationConditional">
|
||||
<xpath>Defs/ThingDef[defName = "Apparel_Bandolier"]/apparel/tags</xpath>
|
||||
<nomatch Class="PatchOperationAdd">
|
||||
<xpath>Defs/ThingDef[defName = "Apparel_Bandolier"]/apparel</xpath>
|
||||
<value>
|
||||
<tags>
|
||||
<li>SizedApparel_IgnorBreastSize</li>
|
||||
<li>SizedApparel_ShowPrivateCrotch</li>
|
||||
</tags>
|
||||
</value>
|
||||
</nomatch>
|
||||
<match Class="PatchOperationAdd">
|
||||
<xpath>Defs/ThingDef[defName = "Apparel_HeavyBandolier"]/apparel/tags</xpath>
|
||||
<value>
|
||||
<li>SizedApparel_IgnorBreastSize</li>
|
||||
<li>SizedApparel_ShowPrivateCrotch</li>
|
||||
</value>
|
||||
</match>
|
||||
</li>
|
||||
|
|
|
@ -32,6 +32,7 @@ zero112
|
|||
<li>rim.job.world</li>
|
||||
<li>shauaputa.rimnudeworld</li>
|
||||
<li>c0ffee.rimworld.animations</li>
|
||||
<li>tammybee.statueofcolonist</li>
|
||||
</loadAfter>
|
||||
<incompatibleWith>
|
||||
|
||||
|
|
|
@ -16,6 +16,7 @@ I'm planning to at least all vanilla apparels will be supported.
|
|||
|
||||
[special thanks]
|
||||
leoinc
|
||||
zero112
|
||||
</description>
|
||||
<modDependencies>
|
||||
<li>
|
||||
|
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 990 B After Width: | Height: | Size: 990 B |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 600 B After Width: | Height: | Size: 600 B |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |