From 3cc7985515463efbc35579b420c79dc840fa8a99 Mon Sep 17 00:00:00 2001 From: c0ffee Date: Thu, 25 Apr 2024 11:17:51 -0700 Subject: [PATCH] bugfixing hediff variants and body type variants --- 1.5/Assemblies/Rimworld-Animations.dll | Bin 42496 -> 42496 bytes 1.5/Defs/AnimationDefs/TestAnimation2.xml | 32 ++++++++++-------- .../TestGroupAnimation1.xml | 8 ++--- .../PawnRenderNode_GraphicBodyTypeVariants.cs | 1 - .../PawnRenderNode_GraphicHediffVariants.cs | 11 ++---- 5 files changed, 25 insertions(+), 27 deletions(-) diff --git a/1.5/Assemblies/Rimworld-Animations.dll b/1.5/Assemblies/Rimworld-Animations.dll index 3c237035ccaf86bafa5811cdbfd2f497fd3d619a..e80e0c8ea2920253ada67eb2c324d0ee2f26fb35 100644 GIT binary patch delta 4417 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 Bkc$8S delta 4521 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 TestAnimation2 - 120 + 400 False False @@ -13,32 +13,35 @@ Rimworld_Animations.AnimationWorker_KeyframesExtended
  • - (1, 0, 0) 0 0 - North + South
  • - (0, 0, 0) - 30 - 15 - North + 100 + 45 + South
  • - (-1, 0, 0) - 60 + 0 + (-0.73, 0, -0.02) 0 - North + East
  • - (0, 0, 0) - 90 - -15 - North + 200 + 90 + South +
  • +
  • + 300 + 135 + South
  • +
    diff --git a/1.5/Defs/GroupAnimationDefs/TestGroupAnimation1.xml b/1.5/Defs/GroupAnimationDefs/TestGroupAnimation1.xml index ea2061e..05c541b 100644 --- a/1.5/Defs/GroupAnimationDefs/TestGroupAnimation1.xml +++ b/1.5/Defs/GroupAnimationDefs/TestGroupAnimation1.xml @@ -10,16 +10,16 @@
  • 3 -
  • TestAnimation3
  • -
  • TestAnimation3
  • +
  • TestAnimation2
  • +
  • TestAnimation2
  • 1 -
  • TestAnimation3
  • -
  • TestAnimation3
  • +
  • TestAnimation2
  • +
  • TestAnimation2
  • diff --git a/1.5/Source/PawnRenderNode/GraphicBodyTypeVariants/PawnRenderNode_GraphicBodyTypeVariants.cs b/1.5/Source/PawnRenderNode/GraphicBodyTypeVariants/PawnRenderNode_GraphicBodyTypeVariants.cs index 6164782..9972f1c 100644 --- a/1.5/Source/PawnRenderNode/GraphicBodyTypeVariants/PawnRenderNode_GraphicBodyTypeVariants.cs +++ b/1.5/Source/PawnRenderNode/GraphicBodyTypeVariants/PawnRenderNode_GraphicBodyTypeVariants.cs @@ -49,7 +49,6 @@ namespace Rimworld_Animations protected override void EnsureMaterialsInitialized() { variants = GraphicVariantsFor(this.tree.pawn); - base.EnsureMaterialsInitialized(); } diff --git a/1.5/Source/PawnRenderNode/GraphicHediffVariants/PawnRenderNode_GraphicHediffVariants.cs b/1.5/Source/PawnRenderNode/GraphicHediffVariants/PawnRenderNode_GraphicHediffVariants.cs index e73b1cc..5c11474 100644 --- a/1.5/Source/PawnRenderNode/GraphicHediffVariants/PawnRenderNode_GraphicHediffVariants.cs +++ b/1.5/Source/PawnRenderNode/GraphicHediffVariants/PawnRenderNode_GraphicHediffVariants.cs @@ -36,10 +36,10 @@ namespace Rimworld_Animations foreach (HediffDef hediffDef in texPathVariant_Hediff.hediffs) { //if the pawn has that hediff, - if (pawn.health.hediffSet.hediffs.Any((Hediff hediff) => hediff.def == hediffDef)) + if (pawn?.health?.hediffSet?.hediffs is List pawnHediffs && pawnHediffs.Any((Hediff hediff) => hediff.def == hediffDef)) { //return that specific variant - curHediff = hediff.def; + curHediff = hediffDef; return GenerateVariants(pawn, texPathVariant_Hediff.texPathVariantsDef); } @@ -56,18 +56,13 @@ namespace Rimworld_Animations protected override void EnsureMaterialsInitialized() { //if pawn no longer has the hediff, - if (curHediff == null || + if (variants == null || (this.tree.pawn.health?.hediffSet?.hediffs is List hediffs && hediffs.Any((Hediff hediff) => hediff.def == curHediff))) { //redo graphicvariantsfor variants = GraphicVariantsFor(this.tree.pawn); } - - base.EnsureMaterialsInitialized(); } - - } - }