diff --git a/1.5/Assemblies/Rimworld-Animations.dll b/1.5/Assemblies/Rimworld-Animations.dll index 1f8be2a..0b2fedc 100644 Binary files a/1.5/Assemblies/Rimworld-Animations.dll and b/1.5/Assemblies/Rimworld-Animations.dll differ diff --git a/1.5/Defs/AnimationDefs/Backup.rar b/1.5/Defs/AnimationDefs/Backup.rar new file mode 100644 index 0000000..756fe55 Binary files /dev/null and b/1.5/Defs/AnimationDefs/Backup.rar differ diff --git a/1.5/Defs/AnimationDefs/Cowgirl/AnimationPropDef_Cowgirl_Xray.xml b/1.5/Defs/AnimationDefs/Cowgirl/AnimationPropDef_Cowgirl_Xray.xml index d41bde0..23b5562 100644 --- a/1.5/Defs/AnimationDefs/Cowgirl/AnimationPropDef_Cowgirl_Xray.xml +++ b/1.5/Defs/AnimationDefs/Cowgirl/AnimationPropDef_Cowgirl_Xray.xml @@ -19,8 +19,8 @@ Head 95 TexPathVariants_Cowgirl_Xray - - + + diff --git a/1.5/Defs/AnimationDefs/Cowgirl/Cowgirl_Stage1.xml b/1.5/Defs/AnimationDefs/Cowgirl/Cowgirl_Stage1.xml index 6d49621..0955fd5 100644 --- a/1.5/Defs/AnimationDefs/Cowgirl/Cowgirl_Stage1.xml +++ b/1.5/Defs/AnimationDefs/Cowgirl/Cowgirl_Stage1.xml @@ -14,7 +14,6 @@ 180 true (0, 0, -0.7) - (1, 1, 1) South
  • @@ -22,15 +21,14 @@ 180 true (0, 0, -0.7) - (1, 1, 1) South + Slimy
  • 110 180 true (0, 0, -0.75) - (1, 1, 1) South
  • @@ -38,8 +36,8 @@ 180 true (0, 0, -0.7) - (1, 1, 1) South + Slimy
  • @@ -53,13 +51,12 @@ 0 0 true - (1, 1, 1) South -
  • +
  • RimNude_Penis Rimworld_Animations.AnimationWorker_KeyframesExtended @@ -69,7 +66,6 @@ 190 true (0, 1, 0) - (1, 1, 1) South
  • @@ -77,7 +73,6 @@ 170 true (0, 1, 0) - (1, 1, 1) South
  • @@ -85,7 +80,6 @@ 180 true (0, 1, 0) - (1, 1, 1) South
  • @@ -107,7 +101,6 @@ 15 true (0.2, 2, 0.5) - (1, 1, 1) South
  • @@ -115,7 +108,6 @@ 15 true (0.1, 2, 0.5) - (1, 1, 1) South
  • @@ -123,7 +115,6 @@ 0 true (0, 2, 0.2) - (1, 1, 1) South
  • @@ -131,7 +122,6 @@ 0 true (0, 2, 0.23) - (1, 1, 1) South
  • @@ -146,7 +136,6 @@ 0 -15 true - (1, 1, 1) South
  • @@ -154,14 +143,12 @@ -15 true (0, 0, -0.05) - (1, 1, 1) South
  • 110 0 true - (1, 1, 1) South
  • diff --git a/1.5/Defs/AnimationDefs/Cowgirl/Cowgirl_Stage2_1.xml b/1.5/Defs/AnimationDefs/Cowgirl/Cowgirl_Stage2_1.xml index 44b5ca9..0d8fac2 100644 --- a/1.5/Defs/AnimationDefs/Cowgirl/Cowgirl_Stage2_1.xml +++ b/1.5/Defs/AnimationDefs/Cowgirl/Cowgirl_Stage2_1.xml @@ -14,7 +14,6 @@ 180 true (0, 0, -0.7) - (1, 1, 1) South
  • @@ -22,15 +21,14 @@ 180 true (0, 0, -0.65) - (1, 1, 1) South + Fuck
  • 30 180 true (0, 0, -0.7) - (1, 1, 1) South
  • @@ -45,13 +43,12 @@ 0 0 true - (1, 1, 1) South -
  • +
  • RimNude_Penis Rimworld_Animations.AnimationWorker_KeyframesExtended @@ -61,7 +58,6 @@ 180 true (0, 1, 0) - (1, 1, 1) South
  • @@ -83,7 +79,6 @@ 0 true (0, 2, 0.23) - (1, 1, 1) South
  • @@ -91,7 +86,6 @@ 0 true (0, 2, 0.43) - (1, 1, 1) South
  • @@ -99,7 +93,6 @@ 0 true (0, 2, 0.23) - (1, 1, 1) South
  • @@ -114,7 +107,6 @@ 0 0 true - (1, 1, 1) South
  • @@ -122,14 +114,12 @@ 0 true (0, 0, -0.04) - (1, 1, 1) South
  • 30 0 true - (1, 1, 1) South
  • diff --git a/1.5/Defs/AnimationDefs/Cowgirl/Cowgirl_Stage2_2.xml b/1.5/Defs/AnimationDefs/Cowgirl/Cowgirl_Stage2_2.xml index 0b1d919..536e518 100644 --- a/1.5/Defs/AnimationDefs/Cowgirl/Cowgirl_Stage2_2.xml +++ b/1.5/Defs/AnimationDefs/Cowgirl/Cowgirl_Stage2_2.xml @@ -14,7 +14,6 @@ 180 true (0, 0, -0.7) - (1, 1, 1) South
  • @@ -22,15 +21,14 @@ 180 true (0, 0, -0.65) - (1, 1, 1) South + Fuck
  • 30 180 true (0, 0, -0.7) - (1, 1, 1) South
  • @@ -45,13 +43,12 @@ 0 0 true - (1, 1, 1) South -
  • +
  • RimNude_Penis Rimworld_Animations.AnimationWorker_KeyframesExtended @@ -61,7 +58,6 @@ 180 true (0, 1, 0) - (1, 1, 1) South
  • @@ -83,7 +79,6 @@ 0 true (0, 2, 0.23) - (1, 1, 1) South
  • @@ -91,7 +86,6 @@ 7 true (0, 2, 0.43) - (1, 1, 1) South
  • @@ -99,7 +93,6 @@ 0 true (0, 2, 0.23) - (1, 1, 1) South
  • @@ -114,7 +107,6 @@ 0 0 true - (1, 1, 1) South
  • @@ -122,14 +114,12 @@ -7 true (0, 0, -0.04) - (1, 1, 1) South
  • 30 0 true - (1, 1, 1) South
  • diff --git a/1.5/Defs/AnimationDefs/Cowgirl/Cowgirl_Stage2_3.xml b/1.5/Defs/AnimationDefs/Cowgirl/Cowgirl_Stage2_3.xml index c70e4fe..72d68ea 100644 --- a/1.5/Defs/AnimationDefs/Cowgirl/Cowgirl_Stage2_3.xml +++ b/1.5/Defs/AnimationDefs/Cowgirl/Cowgirl_Stage2_3.xml @@ -14,7 +14,6 @@ 180 true (0, 0, -0.7) - (1, 1, 1) South
  • @@ -22,15 +21,14 @@ 180 true (0, 0, -0.65) - (1, 1, 1) South + Fuck
  • 30 180 true (0, 0, -0.7) - (1, 1, 1) South
  • @@ -45,13 +43,12 @@ 0 0 true - (1, 1, 1) South -
  • +
  • RimNude_Penis Rimworld_Animations.AnimationWorker_KeyframesExtended @@ -61,7 +58,6 @@ 180 true (0, 1, 0) - (1, 1, 1) South
  • @@ -83,7 +79,6 @@ 0 true (0, 2, 0.23) - (1, 1, 1) South
  • @@ -91,7 +86,6 @@ 7 true (0, 2, 0.43) - (1, 1, 1) South
  • @@ -99,7 +93,6 @@ -7 true (0.03, 2, 0.43) - (1, 1, 1) South
  • @@ -107,7 +100,6 @@ 0 true (0, 2, 0.23) - (1, 1, 1) South
  • @@ -122,7 +114,6 @@ 0 0 true - (1, 1, 1) South
  • @@ -130,7 +121,6 @@ -7 true (0, 0, -0.07) - (1, 1, 1) South
  • @@ -138,14 +128,12 @@ 7 true (0, 0, -0.07) - (1, 1, 1) South
  • 30 0 true - (1, 1, 1) South
  • diff --git a/1.5/Defs/AnimationDefs/Cowgirl/Cowgirl_Stage3_XRay.xml b/1.5/Defs/AnimationDefs/Cowgirl/Cowgirl_Stage3_XRay.xml index 9474a0e..52b6170 100644 --- a/1.5/Defs/AnimationDefs/Cowgirl/Cowgirl_Stage3_XRay.xml +++ b/1.5/Defs/AnimationDefs/Cowgirl/Cowgirl_Stage3_XRay.xml @@ -14,7 +14,6 @@ 180 true (0, 0, -0.7) - (1, 1, 1) South
  • @@ -22,15 +21,14 @@ 180 true (0, 0, -0.6) - (1, 1, 1) South + Fuck
  • 25 180 true (0, 0, -0.7) - (1, 1, 1) South
  • @@ -45,7 +43,6 @@ 0 0 true - (1, 1, 1) South
  • @@ -53,20 +50,18 @@ 0 true (0, 0, 0.03) - (1, 1, 1) South
  • 25 0 true - (1, 1, 1) South
  • -
  • +
  • RimNude_Penis Rimworld_Animations.AnimationWorker_KeyframesExtended @@ -76,7 +71,6 @@ 180 true (0, 1, 0) - (1, 1, 1) South
  • @@ -98,7 +92,6 @@ 0 true (0, 2, 0.23) - (1, 1, 1) South
  • @@ -106,7 +99,6 @@ 3 true (0, 2, 0.43) - (1, 1, 1) South
  • @@ -114,7 +106,6 @@ 0 true (0, 2, 0.23) - (1, 1, 1) South
  • @@ -129,7 +120,6 @@ 0 0 true - (1, 1, 1) South
  • @@ -137,14 +127,12 @@ 0 true (0, 0, 0.03) - (1, 1, 1) South
  • 25 0 true - (1, 1, 1) South
  • diff --git a/1.5/Defs/AnimationDefs/Cowgirl/Cowgirl_Stage4.xml b/1.5/Defs/AnimationDefs/Cowgirl/Cowgirl_Stage4.xml index 72dba98..1536330 100644 --- a/1.5/Defs/AnimationDefs/Cowgirl/Cowgirl_Stage4.xml +++ b/1.5/Defs/AnimationDefs/Cowgirl/Cowgirl_Stage4.xml @@ -14,7 +14,6 @@ 180 true (0, 0, -0.7) - (1, 1, 1) South
  • @@ -22,7 +21,6 @@ 180 true (0, 0, -0.7) - (1, 1, 1) South
  • @@ -30,7 +28,6 @@ 180 true (0, 0, -0.67) - (1, 1, 1) South
  • @@ -38,23 +35,22 @@ 180 true (0, 0, -0.7) - (1, 1, 1) South + Cum
  • 125 180 true (0, 0, -0.7) - (1, 1, 1) South + Cum
  • 135 180 true (0, 0, -0.67) - (1, 1, 1) South
  • @@ -62,15 +58,14 @@ 180 true (0, 0, -0.7) - (1, 1, 1) South + Cum
  • 200 180 true (0, 0, -0.72) - (1, 1, 1) South
  • @@ -85,7 +80,6 @@ 0 0 true - (1, 1, 1) South
  • @@ -93,20 +87,18 @@ 0 true (0, 0, -0.02) - (1, 1, 1) South
  • 200 0 true - (1, 1, 1) South
  • -
  • +
  • RimNude_Penis Rimworld_Animations.AnimationWorker_KeyframesExtended @@ -115,8 +107,7 @@ 0 180 true - (0, 1, 0) - (1, 1, 1) + (0, 1, 0) South
  • @@ -138,7 +129,6 @@ 0 true (0, 2, 0.23) - (1, 1, 1) South
  • @@ -146,7 +136,6 @@ 0 true (0, 2, 0.26) - (1, 1, 1) South
  • @@ -154,7 +143,6 @@ 0 true (0, 2, 0.23) - (1, 1, 1) South
  • @@ -162,7 +150,6 @@ 0 true (0, 2, 0.26) - (1, 1, 1) South
  • @@ -170,7 +157,6 @@ 0 true (0, 2, 0.23) - (1, 1, 1) South
  • @@ -185,7 +171,6 @@ 0 0 true - (1, 1, 1) South
  • @@ -193,14 +178,12 @@ 0 true (0, 0, 0.02) - (1, 1, 1) South
  • 100 0 true - (1, 1, 1) South
  • @@ -208,14 +191,12 @@ 0 true (0, 0, 0.025) - (1, 1, 1) South
  • 200 0 true - (1, 1, 1) South
  • @@ -227,41 +208,41 @@ Rimworld_Animations.AnimationWorker_KeyframesExtended
  • - 0 - 1 - true - (1, 0, 0.3) - (0.5, 1, 0.5) - North - 3 + 0 + 1 + true + (1, 0, 0.3) + (0.5, 1, 0.5) + North + 3 +
  • +
  • + 40 + 1 + true + (1, 0, 0.3) + (0.5, 1, 0.5) + North + 4 +
  • +
  • + 105 + 1 + true + (1, 0, 0.3) + (0.5, 1, 0.5) + North + 5 +
  • +
  • + 150 + 1 + true + (1, 0, 0.3) + (0.5, 1, 0.5) + North + 5
  • -
  • - 40 - 1 - true - (1, 0, 0.3) - (0.5, 1, 0.5) - North - 4 -
  • -
  • - 105 - 1 - true - (1, 0, 0.3) - (0.5, 1, 0.5) - North - 5 -
  • -
  • - 150 - 1 - true - (1, 0, 0.3) - (0.5, 1, 0.5) - North - 5 -
  • diff --git a/1.5/Defs/AnimationDefs/Cowgirl/Cowgirl_Stage_1_5.xml b/1.5/Defs/AnimationDefs/Cowgirl/Cowgirl_Stage_1_5.xml index 471f674..95591e5 100644 --- a/1.5/Defs/AnimationDefs/Cowgirl/Cowgirl_Stage_1_5.xml +++ b/1.5/Defs/AnimationDefs/Cowgirl/Cowgirl_Stage_1_5.xml @@ -14,7 +14,6 @@ 180 true (0, 0, -0.7) - (1, 1, 1) South
  • @@ -22,16 +21,16 @@ 180 true (0, 0, -0.65) - (1, 1, 1) South + Slimy
  • 55 180 true (0, 0, -0.7) - (1, 1, 1) South + Fuck
  • @@ -45,13 +44,12 @@ 0 0 true - (1, 1, 1) South -
  • +
  • RimNude_Penis Rimworld_Animations.AnimationWorker_KeyframesExtended @@ -61,7 +59,6 @@ 180 true (0, 1, 0) - (1, 1, 1) South
  • @@ -83,7 +80,6 @@ 0 true (0, 2, 0.23) - (1, 1, 1) South
  • @@ -91,7 +87,6 @@ 0 true (0, 2, 0.43) - (1, 1, 1) South
  • @@ -99,7 +94,6 @@ 0 true (0, 2, 0.23) - (1, 1, 1) South
  • @@ -114,7 +108,6 @@ 0 0 true - (1, 1, 1) South
  • @@ -122,14 +115,12 @@ 0 true (0, 0, -0.04) - (1, 1, 1) South
  • 55 0 true - (1, 1, 1) South
  • diff --git a/1.5/Defs/AnimationDefs/Cowgirl/GroupAnimation_Cowgirl.xml b/1.5/Defs/AnimationDefs/Cowgirl/GroupAnimation_Cowgirl.xml index a4d5f1c..e5ccdec 100644 --- a/1.5/Defs/AnimationDefs/Cowgirl/GroupAnimation_Cowgirl.xml +++ b/1.5/Defs/AnimationDefs/Cowgirl/GroupAnimation_Cowgirl.xml @@ -98,6 +98,8 @@ --> + +
  • Offset_Placeholder
  • Offset_Cowgirl_Top
  • diff --git a/1.5/Defs/AnimationDefs/DoublePenetration/GroupAnimation_DP.xml b/1.5/Defs/AnimationDefs/DoublePenetration/GroupAnimation_DP.xml index 97d1b7d..60f898d 100644 --- a/1.5/Defs/AnimationDefs/DoublePenetration/GroupAnimation_DP.xml +++ b/1.5/Defs/AnimationDefs/DoublePenetration/GroupAnimation_DP.xml @@ -71,6 +71,11 @@
  • 1 + +
  • +
  • +
  • + 2
  • Sex_DoublePenetration
  • @@ -85,6 +90,11 @@
  • 1 + +
  • +
  • +
  • +
  • Sex_Reverse_DoublePenetration
  • Sex_Reverse_DoublePenetrationM
  • @@ -115,6 +125,8 @@ + + GroupAnimation_DP_Stage2_Branch1 3 @@ -143,7 +155,6 @@ - GroupAnimation_DP_Stage2_Branch2 3 diff --git a/1.5/Defs/AnimationDefs/DoublePenetration/Stage1.xml b/1.5/Defs/AnimationDefs/DoublePenetration/Stage1.xml index 304add6..a6d5019 100644 --- a/1.5/Defs/AnimationDefs/DoublePenetration/Stage1.xml +++ b/1.5/Defs/AnimationDefs/DoublePenetration/Stage1.xml @@ -22,6 +22,7 @@ true (-0.6, -1, -0.42) East + Fuck
  • 40 @@ -158,6 +159,7 @@ true (0.2, -1, 0.2) West + Fuck
  • 80 diff --git a/1.5/Defs/AnimationDefs/DoublePenetration/Stage2a.xml b/1.5/Defs/AnimationDefs/DoublePenetration/Stage2a.xml index d8e397d..9a8c749 100644 --- a/1.5/Defs/AnimationDefs/DoublePenetration/Stage2a.xml +++ b/1.5/Defs/AnimationDefs/DoublePenetration/Stage2a.xml @@ -22,6 +22,7 @@ true (-0.6, -1, -0.37) East + Fuck
  • 40 @@ -139,6 +140,7 @@ true (0.2, -1, 0.2) West + Fuck
  • diff --git a/1.5/Defs/AnimationDefs/DoublePenetration/Stage2b.xml b/1.5/Defs/AnimationDefs/DoublePenetration/Stage2b.xml index 2c11ef7..8e607f2 100644 --- a/1.5/Defs/AnimationDefs/DoublePenetration/Stage2b.xml +++ b/1.5/Defs/AnimationDefs/DoublePenetration/Stage2b.xml @@ -22,6 +22,7 @@ true (-0.6, -1, -0.37) East + Fuck
  • 40 @@ -139,6 +140,7 @@ true (0.2, -1, 0.2) West + Fuck
  • diff --git a/1.5/Defs/AnimationDefs/DoublePenetration/Stage2c.xml b/1.5/Defs/AnimationDefs/DoublePenetration/Stage2c.xml index 35fa184..d28c52e 100644 --- a/1.5/Defs/AnimationDefs/DoublePenetration/Stage2c.xml +++ b/1.5/Defs/AnimationDefs/DoublePenetration/Stage2c.xml @@ -22,6 +22,7 @@ true (-0.6, -1, -0.37) East + Fuck
  • 20 @@ -146,6 +147,7 @@ true (0.3, -1, 0.2) West + Fuck
  • 40 diff --git a/1.5/Defs/AnimationDefs/DoublePenetration/Stage2d.xml b/1.5/Defs/AnimationDefs/DoublePenetration/Stage2d.xml index 59ae660..7995c42 100644 --- a/1.5/Defs/AnimationDefs/DoublePenetration/Stage2d.xml +++ b/1.5/Defs/AnimationDefs/DoublePenetration/Stage2d.xml @@ -22,6 +22,7 @@ true (-0.6, -1, -0.37) East + Fuck
  • 40 @@ -145,6 +146,7 @@ true (0.2, -1, 0.2) West + Fuck
  • 30 @@ -214,6 +216,7 @@ true (-0.1, 1, -0.03) North + Slap
  • 15 diff --git a/1.5/Defs/AnimationDefs/DoublePenetration/Stage3.xml b/1.5/Defs/AnimationDefs/DoublePenetration/Stage3.xml index 3e7cff3..9547341 100644 --- a/1.5/Defs/AnimationDefs/DoublePenetration/Stage3.xml +++ b/1.5/Defs/AnimationDefs/DoublePenetration/Stage3.xml @@ -22,6 +22,7 @@ true (-0.64, -1, -0.3) East + Fuck
  • 25 @@ -144,6 +145,7 @@ true (0.2, -1, 0.28) West + Fuck
  • 25 diff --git a/1.5/Defs/AnimationDefs/DoublePenetration/Stage4.xml b/1.5/Defs/AnimationDefs/DoublePenetration/Stage4.xml index a2e6f77..521f72d 100644 --- a/1.5/Defs/AnimationDefs/DoublePenetration/Stage4.xml +++ b/1.5/Defs/AnimationDefs/DoublePenetration/Stage4.xml @@ -22,6 +22,7 @@ true (-0.64, -1, -0.4) East + Fuck
  • 17 @@ -144,6 +145,7 @@ true (0.23, -1, 0.28) West + Fuck
  • 17 diff --git a/1.5/Defs/AnimationDefs/DoublePenetration/Stage5a.xml b/1.5/Defs/AnimationDefs/DoublePenetration/Stage5a.xml index d5383bb..bc5e6e0 100644 --- a/1.5/Defs/AnimationDefs/DoublePenetration/Stage5a.xml +++ b/1.5/Defs/AnimationDefs/DoublePenetration/Stage5a.xml @@ -29,6 +29,7 @@ true (-0.6, -1, -0.37) East + Fuck
  • 50 @@ -36,6 +37,7 @@ true (-0.6, -1, -0.37) East + Cum
  • 55 @@ -50,6 +52,7 @@ true (-0.6, -1, -0.37) East + Cum
  • 105 @@ -213,6 +216,7 @@ true (0.16, -1, 0.2) West + Fuck
  • 70 @@ -220,6 +224,7 @@ true (0.16, -1, 0.2) West + Cum
  • 75 @@ -234,6 +239,7 @@ true (0.16, -1, 0.2) West + Cum
  • 135 diff --git a/1.5/Defs/AnimationDefs/DoublePenetration/Stage5b.xml b/1.5/Defs/AnimationDefs/DoublePenetration/Stage5b.xml index 43c1cbb..677eddc 100644 --- a/1.5/Defs/AnimationDefs/DoublePenetration/Stage5b.xml +++ b/1.5/Defs/AnimationDefs/DoublePenetration/Stage5b.xml @@ -29,6 +29,7 @@ true (-0.6, -1, -0.37) East + Fuck
  • 50 @@ -36,6 +37,7 @@ true (-0.6, -1, -0.37) East + Cum
  • 55 @@ -50,6 +52,7 @@ true (-0.6, -1, -0.37) East + Cum
  • 105 @@ -193,6 +196,7 @@ true (0.33, -1, 0.2) West + Fuck
  • 23 @@ -207,6 +211,7 @@ true (0.16, -1, 0.2) West + Cum
  • 75 @@ -221,6 +226,7 @@ true (0.16, -1, 0.2) West + Cum
  • 135 diff --git a/1.5/Defs/AnimationDefs/DoublePenetration/Stage5c.xml b/1.5/Defs/AnimationDefs/DoublePenetration/Stage5c.xml index 7c0d90e..ce1cb0e 100644 --- a/1.5/Defs/AnimationDefs/DoublePenetration/Stage5c.xml +++ b/1.5/Defs/AnimationDefs/DoublePenetration/Stage5c.xml @@ -29,6 +29,7 @@ true (-0.6, -1, -0.37) East + Fuck
  • 50 @@ -36,6 +37,7 @@ true (-0.6, -1, -0.37) East + Cum
  • 55 @@ -50,6 +52,7 @@ true (-0.6, -1, -0.37) East + Cum
  • 105 @@ -249,6 +252,7 @@ true (0.16, -1, 0.2) West + Fuck
  • 70 @@ -256,6 +260,7 @@ true (0.16, -1, 0.2) West + Cum
  • 75 @@ -270,6 +275,7 @@ true (0.16, -1, 0.2) West + Cum
  • 135 diff --git a/1.5/Defs/AnimationDefs/Missionary/Stage1.xml b/1.5/Defs/AnimationDefs/Missionary/Stage1.xml index 830521a..f795658 100644 --- a/1.5/Defs/AnimationDefs/Missionary/Stage1.xml +++ b/1.5/Defs/AnimationDefs/Missionary/Stage1.xml @@ -14,7 +14,6 @@ 0 true (-0.85, 0, 0.5) - (1, 1, 1) East
  • @@ -22,7 +21,6 @@ 0 true (-0.79, 0, 0.44) - (1, 1, 1) East
  • @@ -30,15 +28,14 @@ 20 true (-0.75, 0, 0.38) - (1, 1, 1) East + Fuck
  • 66 -10 true (-0.6, 0, 0.38) - (1, 1, 1) East
  • @@ -46,7 +43,6 @@ 10 true (-0.75, 0, 0.38) - (1, 1, 1) East
  • @@ -61,27 +57,24 @@ 0 0 true - (1, 1, 1) East
  • 40 13 true - (1, 1, 1) East
  • 100 3 true - (1, 1, 1) East
  • -
  • +
  • RimNude_Penis Rimworld_Animations.AnimationWorker_KeyframesExtended @@ -91,23 +84,20 @@ 0 true (0, -3, 0) - (1, 1, 1) East
  • 20 0 true - (0, -3, 0) - (1, 1, 1) + (0, -3, 0) East
  • 60 30 true - (0, -3, 0) - (1, 1, 1) + (0, -3, 0) East
  • @@ -129,7 +119,6 @@ 90 true (0, -1, 0) - (1, 1, 1) West
  • @@ -137,7 +126,6 @@ 90 true (0.03, -1, 0) - (1, 1, 1) West
  • @@ -145,7 +133,6 @@ 90 true (0.1, -1, 0) - (1, 1, 1) West
  • @@ -153,7 +140,6 @@ 90 true (0.03, -1, 0) - (1, 1, 1) West
  • @@ -168,28 +154,24 @@ 0 -15 true - (1, 1, 1) West
  • 60 -20 true - (1, 1, 1) West
  • 66 0 true - (1, 1, 1) West
  • 100 -20 true - (1, 1, 1) West
  • diff --git a/1.5/Defs/AnimationDefs/Missionary/Stage2.xml b/1.5/Defs/AnimationDefs/Missionary/Stage2.xml index 5bb92b4..9362acf 100644 --- a/1.5/Defs/AnimationDefs/Missionary/Stage2.xml +++ b/1.5/Defs/AnimationDefs/Missionary/Stage2.xml @@ -14,15 +14,14 @@ 10 true (-0.75, 0, 0.38) - (1, 1, 1) East + Fuck
  • 5 -25 true (-0.6, 0, 0.38) - (1, 1, 1) East
  • @@ -30,7 +29,6 @@ 10 true (-0.75, 0, 0.38) - (1, 1, 1) East
  • @@ -45,27 +43,24 @@ 0 3 true - (1, 1, 1) East
  • 5 20 true - (1, 1, 1) East
  • 35 3 true - (1, 1, 1) East
  • -
  • +
  • RimNude_Penis Rimworld_Animations.AnimationWorker_KeyframesExtended @@ -74,24 +69,21 @@ 0 30 true - (0, -3, 0) - (1, 1, 1) + (0, -3, 0) East
  • 5 60 true - (0, -3, 0) - (1, 1, 1) + (0, -3, 0) East
  • 35 30 true - (0, -3, 0) - (1, 1, 1) + (0, -3, 0) East
  • @@ -113,7 +105,6 @@ 90 true (0.03, -1, 0) - (1, 1, 1) West
  • @@ -121,7 +112,6 @@ 90 true (0.03, -1, 0) - (1, 1, 1) West
  • @@ -129,7 +119,6 @@ 88 true (0.12, -1, 0.03) - (1, 1, 1) West
  • @@ -137,7 +126,6 @@ 90 true (0.03, -1, 0) - (1, 1, 1) West
  • @@ -152,21 +140,18 @@ 0 -20 true - (1, 1, 1) West
  • 10 -10 true - (1, 1, 1) West
  • 35 -20 true - (1, 1, 1) West
  • diff --git a/1.5/Defs/AnimationDefs/Missionary/Stage2b.xml b/1.5/Defs/AnimationDefs/Missionary/Stage2b.xml index eab8093..96e85d8 100644 --- a/1.5/Defs/AnimationDefs/Missionary/Stage2b.xml +++ b/1.5/Defs/AnimationDefs/Missionary/Stage2b.xml @@ -14,15 +14,14 @@ 10 true (-0.75, 0, 0.38) - (1, 1, 1) East + Fuck
  • 5 -25 true (-0.6, 0, 0.38) - (1, 1, 1) East
  • @@ -30,7 +29,6 @@ 10 true (-0.75, 0, 0.38) - (1, 1, 1) East
  • @@ -45,27 +43,24 @@ 0 3 true - (1, 1, 1) East
  • 5 20 true - (1, 1, 1) East
  • 35 3 true - (1, 1, 1) East
  • -
  • +
  • RimNude_Penis Rimworld_Animations.AnimationWorker_KeyframesExtended @@ -74,24 +69,21 @@ 0 30 true - (1, 1, 1) - (0, -3, 0) + (0, -3, 0) East
  • 5 60 true - (1, 1, 1) - (0, -3, 0) + (0, -3, 0) East
  • 35 30 true - (1, 1, 1) - (0, -3, 0) + (0, -3, 0) East
  • @@ -113,7 +105,6 @@ 90 true (0.03, -1, 0) - (1, 1, 1) West
  • @@ -121,7 +112,6 @@ 90 true (0.03, -1, 0) - (1, 1, 1) West
  • @@ -129,7 +119,6 @@ 88 true (0.12, -1, 0.03) - (1, 1, 1) West
  • @@ -137,7 +126,6 @@ 90 true (0.03, -1, 0) - (1, 1, 1) West
  • @@ -152,21 +140,18 @@ 0 -20 true - (1, 1, 1) South
  • 10 -17 true - (1, 1, 1) South
  • 35 -20 true - (1, 1, 1) South
  • diff --git a/1.5/Defs/AnimationDefs/Missionary/Stage2c.xml b/1.5/Defs/AnimationDefs/Missionary/Stage2c.xml index 574bbc5..ac1f762 100644 --- a/1.5/Defs/AnimationDefs/Missionary/Stage2c.xml +++ b/1.5/Defs/AnimationDefs/Missionary/Stage2c.xml @@ -14,15 +14,14 @@ 10 true (-0.75, 0, 0.38) - (1, 1, 1) East + Fuck
  • 5 -25 true (-0.6, 0, 0.38) - (1, 1, 1) East
  • @@ -30,7 +29,6 @@ 10 true (-0.75, 0, 0.38) - (1, 1, 1) East
  • @@ -45,27 +43,24 @@ 0 3 true - (1, 1, 1) East
  • 5 20 true - (1, 1, 1) East
  • 35 3 true - (1, 1, 1) East
  • -
  • +
  • RimNude_Penis Rimworld_Animations.AnimationWorker_KeyframesExtended @@ -74,24 +69,21 @@ 0 30 true - (1, 1, 1) - (0, -3, 0) + (0, -3, 0) East
  • 5 60 true - (1, 1, 1) - (0, -3, 0) + (0, -3, 0) East
  • 35 30 true - (1, 1, 1) - (0, -3, 0) + (0, -3, 0) East
  • @@ -113,7 +105,6 @@ 90 true (0.03, -1, 0) - (1, 1, 1) West
  • @@ -121,7 +112,6 @@ 90 true (0.03, -1, 0) - (1, 1, 1) West
  • @@ -129,7 +119,6 @@ 88 true (0.12, -1, 0.03) - (1, 1, 1) West
  • @@ -137,7 +126,6 @@ 90 true (0.03, -1, 0) - (1, 1, 1) West
  • @@ -152,21 +140,18 @@ 0 -20 true - (1, 1, 1) North
  • 10 -17 true - (1, 1, 1) North
  • 35 -20 true - (1, 1, 1) North
  • diff --git a/1.5/Defs/AnimationDefs/Missionary/Stage4.xml b/1.5/Defs/AnimationDefs/Missionary/Stage4.xml index 931d915..816af01 100644 --- a/1.5/Defs/AnimationDefs/Missionary/Stage4.xml +++ b/1.5/Defs/AnimationDefs/Missionary/Stage4.xml @@ -14,15 +14,14 @@ 15 true (-0.65, 0, 0.42) - (1, 1, 1) East + Fuck
  • 5 0 true (-0.42, 0, 0.42) - (1, 1, 1) East
  • @@ -30,7 +29,6 @@ 15 true (-0.65, 0, 0.42) - (1, 1, 1) East
  • @@ -45,27 +43,24 @@ 0 20 true - (1, 1, 1) East
  • 5 30 true - (1, 1, 1) East
  • 20 20 true - (1, 1, 1) East
  • -
  • +
  • RimNude_Penis Rimworld_Animations.AnimationWorker_KeyframesExtended @@ -74,8 +69,7 @@ 35 30 true - (1, 1, 1) - (0, -3, 0) + (0, -3, 0) East
  • @@ -97,7 +91,6 @@ 95 true (0.07, -1, 0) - (1, 1, 1) West
  • @@ -105,7 +98,6 @@ 100 true (0.2, -1, 0) - (1, 1, 1) West
  • @@ -113,7 +105,6 @@ 95 true (0.07, -1, 0) - (1, 1, 1) West
  • @@ -128,21 +119,18 @@ 0 -20 true - (1, 1, 1) West
  • 13 -26 true - (1, 1, 1) West
  • 20 -20 true - (1, 1, 1) West
  • diff --git a/1.5/Defs/AnimationDefs/Missionary/Stage5.xml b/1.5/Defs/AnimationDefs/Missionary/Stage5.xml index 8f1e8b7..8a88271 100644 --- a/1.5/Defs/AnimationDefs/Missionary/Stage5.xml +++ b/1.5/Defs/AnimationDefs/Missionary/Stage5.xml @@ -14,15 +14,14 @@ 15 true (-0.65, 0, 0.42) - (1, 1, 1) East + Fuck
  • 5 0 true (-0.45, 0, 0.42) - (1, 1, 1) East
  • @@ -30,7 +29,6 @@ 15 true (-0.65, 0, 0.42) - (1, 1, 1) East
  • @@ -45,27 +43,24 @@ 0 20 true - (1, 1, 1) East
  • 5 40 true - (1, 1, 1) East
  • 20 20 true - (1, 1, 1) East
  • -
  • +
  • RimNude_Penis Rimworld_Animations.AnimationWorker_KeyframesExtended @@ -74,8 +69,7 @@ 35 30 true - (1, 1, 1) - (0, -3, 0) + (0, -3, 0) East
  • @@ -97,7 +91,6 @@ 95 true (0.07, -1, 0) - (1, 1, 1) West
  • @@ -105,7 +98,6 @@ 100 true (0.16, -1, 0) - (1, 1, 1) West
  • @@ -113,7 +105,6 @@ 95 true (0.07, -1, 0) - (1, 1, 1) West
  • @@ -128,21 +119,18 @@ 0 -20 true - (1, 1, 1) West
  • 3 -34 true - (1, 1, 1) West
  • 13 -20 true - (1, 1, 1) West
  • diff --git a/1.5/Defs/AnimationDefs/Missionary/Stage6.xml b/1.5/Defs/AnimationDefs/Missionary/Stage6.xml index bf4d03a..746ff38 100644 --- a/1.5/Defs/AnimationDefs/Missionary/Stage6.xml +++ b/1.5/Defs/AnimationDefs/Missionary/Stage6.xml @@ -14,7 +14,6 @@ 15 true (-0.65, 0, 0.42) - (1, 1, 1) East
  • @@ -22,23 +21,22 @@ -20 true (-0.43, 0, 0.42) - (1, 1, 1) East + Fuck
  • 80 -15 true (-0.49, 0, 0.42) - (1, 1, 1) East + Cum
  • 85 -20 true (-0.43, 0, 0.42) - (1, 1, 1) East
  • @@ -46,15 +44,14 @@ -15 true (-0.49, 0, 0.42) - (1, 1, 1) East + Cum
  • 155 -20 true (-0.43, 0, 0.42) - (1, 1, 1) East
  • @@ -62,7 +59,6 @@ -15 true (-0.49, 0, 0.42) - (1, 1, 1) East
  • @@ -77,27 +73,24 @@ 0 20 true - (1, 1, 1) East
  • 40 25 true - (1, 1, 1) East
  • 200 30 true - (1, 1, 1) East
  • -
  • +
  • RimNude_Penis Rimworld_Animations.AnimationWorker_KeyframesExtended @@ -106,16 +99,14 @@ 0 30 true - (1, 1, 1) - (0, -3, 0) + (0, -3, 0) East
  • 13 60 true - (1, 1, 1) - (0, -3, 0) + (0, -3, 0) East
  • @@ -137,7 +128,6 @@ 95 true (0.07, -1, 0) - (1, 1, 1) West
  • @@ -145,7 +135,6 @@ 100 true (0.23, -1, 0) - (1, 1, 1) West
  • @@ -153,7 +142,6 @@ 100 true (0.2, -1, 0) - (1, 1, 1) West
  • @@ -161,7 +149,6 @@ 100 true (0.23, -1, 0) - (1, 1, 1) West
  • @@ -169,7 +156,6 @@ 100 true (0.2, -1, 0) - (1, 1, 1) West
  • @@ -177,7 +163,6 @@ 100 true (0.23, -1, 0) - (1, 1, 1) West
  • @@ -185,7 +170,6 @@ 100 true (0.2, -1, 0) - (1, 1, 1) West
  • @@ -200,21 +184,18 @@ 0 -20 true - (1, 1, 1) West
  • 100 -10 true - (1, 1, 1) West
  • 200 -23 true - (1, 1, 1) West
  • diff --git a/1.5/Defs/SoundDefs/Sounds_Sex.xml b/1.5/Defs/SoundDefs/Sounds_Sex.xml index f05a1a8..d0b4c12 100644 --- a/1.5/Defs/SoundDefs/Sounds_Sex.xml +++ b/1.5/Defs/SoundDefs/Sounds_Sex.xml @@ -5,8 +5,8 @@ Cum MapOnly - 1 - 1 + 5 + 5
  • @@ -34,8 +34,8 @@ Sex MapOnly - 1 - 1 + 5 + 5
  • @@ -63,8 +63,8 @@ Suck MapOnly - 1 - 1 + 5 + 5
  • @@ -120,8 +120,8 @@ Fuck MapOnly - 1 - 1 + 5 + 5
  • @@ -171,8 +171,8 @@ Slimy MapOnly - 1 - 1 + 5 + 5
  • @@ -209,4 +209,46 @@
  • + + Slap + MapOnly + + 5 + 5 + +
  • + +
  • + Sex/Slap/Slap_1 +
  • +
  • + Sex/Slap/Slap_2 +
  • +
  • + Sex/Slap/Slap_3 +
  • +
  • + Sex/Slap/Slap_4 +
  • +
  • + Sex/Slap/Slap_5 +
  • + + + 75 + 85 + + + 0.8 + 1.2 + + + 0 + 100 + + NeverTwice + false + +
    +
    \ No newline at end of file diff --git a/1.5/Sounds/Sex/Slap/Slap_1.wav b/1.5/Sounds/Sex/Slap/Slap_1.wav new file mode 100644 index 0000000..3387390 Binary files /dev/null and b/1.5/Sounds/Sex/Slap/Slap_1.wav differ diff --git a/1.5/Sounds/Sex/Slap/Slap_2.wav b/1.5/Sounds/Sex/Slap/Slap_2.wav new file mode 100644 index 0000000..1486217 Binary files /dev/null and b/1.5/Sounds/Sex/Slap/Slap_2.wav differ diff --git a/1.5/Sounds/Sex/Slap/Slap_3.wav b/1.5/Sounds/Sex/Slap/Slap_3.wav new file mode 100644 index 0000000..8d476db Binary files /dev/null and b/1.5/Sounds/Sex/Slap/Slap_3.wav differ diff --git a/1.5/Sounds/Sex/Slap/Slap_4.wav b/1.5/Sounds/Sex/Slap/Slap_4.wav new file mode 100644 index 0000000..c958a4c Binary files /dev/null and b/1.5/Sounds/Sex/Slap/Slap_4.wav differ diff --git a/1.5/Sounds/Sex/Slap/Slap_5.wav b/1.5/Sounds/Sex/Slap/Slap_5.wav new file mode 100644 index 0000000..033b2c4 Binary files /dev/null and b/1.5/Sounds/Sex/Slap/Slap_5.wav differ diff --git a/1.5/Source/Animations/GroupAnimations/GroupAnimationContexts/BaseGroupAnimationContext.cs b/1.5/Source/Animations/GroupAnimations/GroupAnimationContexts/BaseGroupAnimationContext.cs index 19f475d..de5ddc3 100644 --- a/1.5/Source/Animations/GroupAnimations/GroupAnimationContexts/BaseGroupAnimationContext.cs +++ b/1.5/Source/Animations/GroupAnimations/GroupAnimationContexts/BaseGroupAnimationContext.cs @@ -11,13 +11,46 @@ namespace Rimworld_Animations { public int actorShift = 0; public int priority = 0; + + public List whitelist; + public List blacklist; + public virtual bool CanAnimationBeUsed(List actors, int numActors) { + if (numActors != actors.Count) { return false; } + if (!whitelist.NullOrEmpty()) + { + for (int i = 0; i < whitelist.Count; i++) + { + // check whitelist to make sure pawn can be in this act + //for each whitelist item, pawntest must hold true for that pawn + if (!whitelist[i].PawnTest(actors[i])) + { + return false; + } + + } + } + + if (!blacklist.NullOrEmpty()) + { + for (int i = 0; i < blacklist.Count; i++) + { + // check blacklist to make sure pawn can be in this act + // for each blacklist item, pawntest must hold false for that pawn + if (blacklist[i].PawnTest(actors[i])) + { + return false; + } + + } + } + return true; } public virtual int AnimationReorder() diff --git a/1.5/Source/Animations/PawnTests/BasePawnTest.cs b/1.5/Source/Animations/PawnTests/BasePawnTest.cs new file mode 100644 index 0000000..9ada366 --- /dev/null +++ b/1.5/Source/Animations/PawnTests/BasePawnTest.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; + +namespace Rimworld_Animations +{ + public abstract class BasePawnTest + { + public abstract bool PawnTest(Pawn pawn); + + } +} diff --git a/1.5/Source/Animations/PawnTests/PawnTest_Always.cs b/1.5/Source/Animations/PawnTests/PawnTest_Always.cs new file mode 100644 index 0000000..198f71b --- /dev/null +++ b/1.5/Source/Animations/PawnTests/PawnTest_Always.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; + +namespace Rimworld_Animations +{ + public class PawnTest_Always : BasePawnTest + { + public override bool PawnTest(Pawn pawn) + { + return true; + } + } +} diff --git a/1.5/Source/Animations/PawnTests/PawnTest_Multi.cs b/1.5/Source/Animations/PawnTests/PawnTest_Multi.cs new file mode 100644 index 0000000..8c854a2 --- /dev/null +++ b/1.5/Source/Animations/PawnTests/PawnTest_Multi.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; + +namespace Rimworld_Animations +{ + public class PawnTest_Multi : BasePawnTest + { + public List tests = new List(); + public override bool PawnTest(Pawn pawn) + { + //check all different pawn tests in list for pawn + foreach (BasePawnTest test in tests) + { + if (!test.PawnTest(pawn)) + { + return false; + } + } + + return true; + } + } +} diff --git a/1.5/Source/Animations/PawnTests/PawnTest_RJWCanBeFucked.cs b/1.5/Source/Animations/PawnTests/PawnTest_RJWCanBeFucked.cs new file mode 100644 index 0000000..044b9c9 --- /dev/null +++ b/1.5/Source/Animations/PawnTests/PawnTest_RJWCanBeFucked.cs @@ -0,0 +1,18 @@ +using rjw; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; + +namespace Rimworld_Animations +{ + public class PawnTest_RJWCanBeFucked : BasePawnTest + { + public override bool PawnTest(Pawn pawn) + { + return xxx.can_be_fucked(pawn); + } + } +} diff --git a/1.5/Source/Animations/PawnTests/PawnTest_RJWCanFuck.cs b/1.5/Source/Animations/PawnTests/PawnTest_RJWCanFuck.cs new file mode 100644 index 0000000..7ef9c55 --- /dev/null +++ b/1.5/Source/Animations/PawnTests/PawnTest_RJWCanFuck.cs @@ -0,0 +1,18 @@ +using rjw; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; + +namespace Rimworld_Animations +{ + public class PawnTest_RJWCanFuck : BasePawnTest + { + public override bool PawnTest(Pawn pawn) + { + return xxx.can_fuck(pawn); + } + } +} diff --git a/1.5/Source/Comps/ExtendedAnimatorAnchor/ExtendedAnimatorAnchor_Thing.cs b/1.5/Source/Comps/ExtendedAnimatorAnchor/ExtendedAnimatorAnchor_Thing.cs index 4331046..b7b7f61 100644 --- a/1.5/Source/Comps/ExtendedAnimatorAnchor/ExtendedAnimatorAnchor_Thing.cs +++ b/1.5/Source/Comps/ExtendedAnimatorAnchor/ExtendedAnimatorAnchor_Thing.cs @@ -22,8 +22,8 @@ namespace Rimworld_Animations public override Vector3 getDrawPos() { - //vector3.up means stand above the thing - return thing.DrawPos; + //x and z position, regular altitude for pawns + return new Vector3(thing.DrawPos.x, AltitudeLayer.Pawn.AltitudeFor(), thing.DrawPos.z); } public override void ExposeData() diff --git a/1.5/Source/Comps/ExtendedAnimatorAnchor/ExtendedAnimatorAnchor_Vector3.cs b/1.5/Source/Comps/ExtendedAnimatorAnchor/ExtendedAnimatorAnchor_Vector3.cs index ffb84ab..7eb5ed8 100644 --- a/1.5/Source/Comps/ExtendedAnimatorAnchor/ExtendedAnimatorAnchor_Vector3.cs +++ b/1.5/Source/Comps/ExtendedAnimatorAnchor/ExtendedAnimatorAnchor_Vector3.cs @@ -16,7 +16,8 @@ namespace Rimworld_Animations private Vector3 position; public ExtendedAnimatorAnchor_Vector3(Vector3 position) : base() { - this.position = position; + //default to altitude for layer for y + this.position = new Vector3(position.x, AltitudeLayer.Pawn.AltitudeFor(), position.z); } public override Vector3 getDrawPos() diff --git a/1.5/Source/Patches/RJWPatches/JobDrivers/JobDriver_Sex/HarmonyPatch_Animate.cs b/1.5/Source/Patches/RJWPatches/JobDrivers/JobDriver_Sex/HarmonyPatch_Animate.cs index eaaf9b1..4de97aa 100644 --- a/1.5/Source/Patches/RJWPatches/JobDrivers/JobDriver_Sex/HarmonyPatch_Animate.cs +++ b/1.5/Source/Patches/RJWPatches/JobDrivers/JobDriver_Sex/HarmonyPatch_Animate.cs @@ -15,9 +15,23 @@ namespace Rimworld_Animations public static bool Prefix(ref JobDriver_Sex __instance, ref Pawn pawn, ref Thing target) { //remove all bumping stuff in animations; keep draw nude code + __instance.RotatePawns(pawn, __instance.Partner); if (target != null) { Pawn pawn2 = target as Pawn; + + if (pawn2 != null && !__instance.Sexprops.isRapist) + { + // if not (pawn has root node and rootnode is animating) + if (!(pawn2?.Drawer?.renderer?.renderTree?.rootNode is PawnRenderNode rootNode + && (rootNode.AnimationWorker is AnimationWorker_KeyframesExtended || rootNode.children.Any(x => x.AnimationWorker is AnimationWorker_KeyframesExtended)))) + { + //play bumpin anim + pawn.Drawer.Notify_MeleeAttackOn(target); + } + + } + if (!__instance.isEndytophile) { SexUtility.DrawNude(pawn, false); diff --git a/1.5/Source/Patches/RJWPatches/RJWAnimationSettings.cs b/1.5/Source/Patches/RJWPatches/RJWAnimationSettings.cs index fac9115..0716cb8 100644 --- a/1.5/Source/Patches/RJWPatches/RJWAnimationSettings.cs +++ b/1.5/Source/Patches/RJWPatches/RJWAnimationSettings.cs @@ -16,6 +16,7 @@ namespace Rimworld_Animations { //probably move this setting to a different mod menu if moving rjw parts of code public static bool playHumanlikeVoicesAsDefault = true; + public static float floatRangeInRenderTreeMenu = 1f; public static bool offsetTab = false, debugMode = false; public static float shiverIntensity = 2f; @@ -34,6 +35,7 @@ namespace Rimworld_Animations { Scribe_Values.Look(ref PlayAnimForNonsexualActs, "RJWAnims-PlayAnimForNonsexualActs"); Scribe_Values.Look(ref soundOverride, "RJWAnimations-rjwAnimSoundOverride", true); Scribe_Values.Look(ref shiverIntensity, "RJWAnimations-shiverIntensity", 2f); + Scribe_Values.Look(ref floatRangeInRenderTreeMenu, "RJWAnimations-FloatRangeRenderMenu", 1f); //todo: save offsetsByDefName } @@ -63,6 +65,9 @@ namespace Rimworld_Animations { listingStandard.Label("RimAnim_ShiverIntensity".Translate() + RJWAnimationSettings.shiverIntensity); RJWAnimationSettings.shiverIntensity = listingStandard.Slider(RJWAnimationSettings.shiverIntensity, 0.0f, 12f); + listingStandard.Label("RimAnim_FloatRangeRenderTree".Translate() + RJWAnimationSettings.floatRangeInRenderTreeMenu); + RJWAnimationSettings.floatRangeInRenderTreeMenu = listingStandard.Slider(RJWAnimationSettings.floatRangeInRenderTreeMenu, 0.1f, 12f); + listingStandard.CheckboxLabeled("RimAnim_DebugMode".Translate(), ref RJWAnimationSettings.debugMode); diff --git a/1.5/Source/Patches/RimworldPatches/HarmonyPatch_Dialog_DebugRenderTree.cs b/1.5/Source/Patches/RimworldPatches/HarmonyPatch_Dialog_DebugRenderTree.cs new file mode 100644 index 0000000..eadccea --- /dev/null +++ b/1.5/Source/Patches/RimworldPatches/HarmonyPatch_Dialog_DebugRenderTree.cs @@ -0,0 +1,47 @@ +using HarmonyLib; +using RimWorld; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Reflection.Emit; +using System.Text; +using System.Threading.Tasks; +using Verse; + +namespace Rimworld_Animations +{ + [HarmonyPatch(typeof(Dialog_DebugRenderTree), "RightRect")] + public static class HarmonyPatch_Dialog_DebugRenderTree + { + + static MethodInfo replaceFloatRangeMethod = SymbolExtensions.GetMethodInfo(() => HarmonyPatch_Dialog_DebugRenderTree.ReplaceFloatValueRange()); + + public static IEnumerable Transpiler(IEnumerable instructions) + { + var codes = new List(instructions); + + for (int i = 0; i < codes.Count; i++) + { + //increase granularity of x and z sliders to be 0.01 instead + if (codes[i].opcode == OpCodes.Ldc_R4 && (float)codes[i].operand == 0.05f) + { + codes[i].operand = 0.001f; + codes[i - 8].opcode = OpCodes.Call; + codes[i - 8].operand = replaceFloatRangeMethod; + + } + + } + + return codes.AsEnumerable(); + + } + + public static FloatRange ReplaceFloatValueRange() + { + return new FloatRange(-RJWAnimationSettings.floatRangeInRenderTreeMenu, RJWAnimationSettings.floatRangeInRenderTreeMenu); + } + + } +} diff --git a/1.5/Source/Patches/RimworldPatches/HarmonyPatch_PawnRenderNode.cs b/1.5/Source/Patches/RimworldPatches/HarmonyPatch_PawnRenderNode.cs index 7e30364..7f78668 100644 --- a/1.5/Source/Patches/RimworldPatches/HarmonyPatch_PawnRenderNode.cs +++ b/1.5/Source/Patches/RimworldPatches/HarmonyPatch_PawnRenderNode.cs @@ -21,6 +21,8 @@ namespace Rimworld_Animations if (__instance.AnimationWorker is AnimationWorker_KeyframesExtended extendedAnimWorker) { + if (parms.Portrait) return true; + // ADJUST FACING get rotated textures // compare the previous tick to the current tick; if the current tick rotation is different, recache parms.facing = extendedAnimWorker.facingAtTick(__instance.tree.AnimationTick); diff --git a/1.5/Source/Patches/RimworldPatches/HarmonyPatch_PawnRenderTree.cs b/1.5/Source/Patches/RimworldPatches/HarmonyPatch_PawnRenderTree.cs index c3cca54..470b3d3 100644 --- a/1.5/Source/Patches/RimworldPatches/HarmonyPatch_PawnRenderTree.cs +++ b/1.5/Source/Patches/RimworldPatches/HarmonyPatch_PawnRenderTree.cs @@ -20,6 +20,10 @@ namespace Rimworld_Animations * Facing offsets fix */ //find lowest parent that is animating, or nothing if not animating + + //don't do anything if portrait + if (parms.Portrait) return true; + PawnRenderNode animatingNode = node; while (animatingNode != null && !(animatingNode.AnimationWorker is AnimationWorker_KeyframesExtended)) diff --git a/1.5/Source/Patches/RimworldPatches/HarmonyPatch_PawnRenderer.cs b/1.5/Source/Patches/RimworldPatches/HarmonyPatch_PawnRenderer.cs index a013ea7..ec61598 100644 --- a/1.5/Source/Patches/RimworldPatches/HarmonyPatch_PawnRenderer.cs +++ b/1.5/Source/Patches/RimworldPatches/HarmonyPatch_PawnRenderer.cs @@ -4,18 +4,18 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using UnityEngine; using Verse; namespace Rimworld_Animations { [HarmonyPatch(typeof(PawnRenderer), "BodyAngle")] - public class HarmonyPatch_PawnRenderer { public static bool Prefix(ref Pawn ___pawn, ref float __result) { - //stop using cache when animating, for when downed (downed disables cache) + //set body angle to zero, for when downed if (___pawn?.Drawer?.renderer?.renderTree?.rootNode?.AnimationWorker is AnimationWorker_KeyframesExtended) { __result = 0; @@ -28,5 +28,20 @@ namespace Rimworld_Animations } } + [HarmonyPatch(typeof(PawnRenderer), "GetBodyPos")] + public class HarmonyPatch_PawnRenderer2 + { + //patch so that pawns appear at the same altitude layer, at layer Pawn + public static void Postfix(PawnRenderer __instance, ref Vector3 __result) + { + + if (__instance.renderTree.rootNode.AnimationWorker is AnimationWorker_KeyframesExtended + || __instance.renderTree.rootNode.children.Any(x => x.AnimationWorker is AnimationWorker_KeyframesExtended)) + { + __result.y = AltitudeLayer.Pawn.AltitudeFor(); + } + + } + } } diff --git a/1.5/Source/Patches/RimworldPatches/HarmonyPatch_Pawn_DrawTracker.cs b/1.5/Source/Patches/RimworldPatches/HarmonyPatch_Pawn_DrawTracker.cs index 31c4692..da0f303 100644 --- a/1.5/Source/Patches/RimworldPatches/HarmonyPatch_Pawn_DrawTracker.cs +++ b/1.5/Source/Patches/RimworldPatches/HarmonyPatch_Pawn_DrawTracker.cs @@ -12,13 +12,15 @@ namespace Rimworld_Animations { public static void Postfix(ref Pawn ___pawn, ref Vector3 __result) { //align pos on top of partner, position, etc., based on animatoranchor - if (___pawn.TryGetComp() is CompExtendedAnimator animator - && animator.IsAnchored) + if (___pawn.TryGetComp() is CompExtendedAnimator animator) { - Vector3 anchor = animator.getAnchor(); - //ignore y so that pawns don't clip through stuff - __result.x = anchor.x; - __result.z = anchor.z; + if (animator.IsAnchored) + { + Vector3 anchor = animator.getAnchor(); + __result.x = anchor.x; + __result.z = anchor.z; + } + } } diff --git a/1.5/Source/RenderSubWorkers/PawnRenderSubWorker_HideWhenAnimating.cs b/1.5/Source/RenderSubWorkers/PawnRenderSubWorker_HideWhenAnimating.cs index 57c174d..74bc599 100644 --- a/1.5/Source/RenderSubWorkers/PawnRenderSubWorker_HideWhenAnimating.cs +++ b/1.5/Source/RenderSubWorkers/PawnRenderSubWorker_HideWhenAnimating.cs @@ -14,6 +14,8 @@ namespace Rimworld_Animations public override void EditMaterial(PawnRenderNode node, PawnDrawParms parms, ref Material material) { + if (node.tree.pawn.def != ThingDefOf.Human) return; + if (node.tree.rootNode.AnimationWorker is AnimationWorker_KeyframesExtended || node.tree.rootNode.children.Any(x => x.AnimationWorker is AnimationWorker_KeyframesExtended)) { @@ -24,7 +26,10 @@ namespace Rimworld_Animations public override void TransformLayer(PawnRenderNode node, PawnDrawParms parms, ref float layer) { + base.TransformLayer(node, parms, ref layer); + + if (node.tree.pawn.def != ThingDefOf.Human) return; layer -= 1000; } diff --git a/Languages/English/Keyed/RJWAnimations-LanguageData.xml b/Languages/English/Keyed/RJWAnimations-LanguageData.xml index 7227181..418ffef 100644 --- a/Languages/English/Keyed/RJWAnimations-LanguageData.xml +++ b/Languages/English/Keyed/RJWAnimations-LanguageData.xml @@ -19,6 +19,7 @@ Warning--You generally don't want to change human offsets, only alien offsets or animals Copy Offset to Clipboard Paste offset values in OffsetDef, or share in Discord + Float range for Debug Render Tree offset menu: \ No newline at end of file diff --git a/Rimworld-Animations.csproj b/Rimworld-Animations.csproj index e27cfbc..28ac856 100644 --- a/Rimworld-Animations.csproj +++ b/Rimworld-Animations.csproj @@ -84,6 +84,11 @@ + + + + + @@ -104,6 +109,7 @@ + @@ -247,6 +253,11 @@ + + + + +