mirror of
https://gitgud.io/Stardust3D/rjw-patch-autopsy.git
synced 2026-06-18 19:35:46 +00:00
Compare commits
17 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
944e20ba0c | ||
|
|
e0270202eb | ||
|
|
4004440525 | ||
|
|
eefa33d9be | ||
|
|
6918d2a041 | ||
|
|
1c280fb4cc | ||
|
|
4d59a20a34 | ||
|
|
ab65b48bbf | ||
|
|
74d355d187 | ||
|
|
83a556d958 | ||
|
|
a3336f6a3a | ||
|
|
ddb8f3db01 | ||
|
|
70678abe14 | ||
|
|
a89114a091 | ||
|
|
6afd59db77 | ||
|
|
57c9f5c556 | ||
|
|
aa14381a04 |
21 changed files with 268 additions and 47 deletions
9
.gitmodules
vendored
Normal file
9
.gitmodules
vendored
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
[submodule "Source/dependencies/Harvest-Post-Mortem-1.3"]
|
||||||
|
path = Source/dependencies/Harvest-Post-Mortem-1.3
|
||||||
|
url = https://github.com/ViralReaction/Harvest-Post-Mortem-Sans-Hugslib.git
|
||||||
|
[submodule "Source/dependencies/Harvest-Post-Mortem-1.4"]
|
||||||
|
path = Source/dependencies/Harvest-Post-Mortem-1.4
|
||||||
|
url = https://github.com/ViralReaction/Harvest-Post-Mortem-Sans-Hugslib.git
|
||||||
|
[submodule "Source/dependencies/rjw"]
|
||||||
|
path = Source/dependencies/rjw
|
||||||
|
url = https://gitgud.io/Ed86/rjw.git
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
115
1.5/Patches/NewMedicalRecipesUtilityPatch.cs
Normal file
115
1.5/Patches/NewMedicalRecipesUtilityPatch.cs
Normal file
|
|
@ -0,0 +1,115 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using Verse;
|
||||||
|
using rjw;
|
||||||
|
using Autopsy;
|
||||||
|
using HarmonyLib;
|
||||||
|
|
||||||
|
namespace RJW_patch_Autopsy
|
||||||
|
{
|
||||||
|
[HarmonyPatch(typeof(NewMedicalRecipesUtility), nameof(NewMedicalRecipesUtility.TraverseBody))]
|
||||||
|
public static class NewMedicalRecipesUtilityPatch
|
||||||
|
{
|
||||||
|
private const bool DEBUG = true;
|
||||||
|
|
||||||
|
private static void log(String message)
|
||||||
|
{
|
||||||
|
if (DEBUG)
|
||||||
|
{
|
||||||
|
Log.Message($"[RJW_Autopsy] {message}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[HarmonyPostfix]
|
||||||
|
public static IEnumerable<Thing> Postfix(IEnumerable<Thing> vanillaParts, RecipeInfo recipeInfo, Corpse corpse,
|
||||||
|
float skillChance)
|
||||||
|
{
|
||||||
|
log("Starting AddRjwParts");
|
||||||
|
|
||||||
|
/*//Collect vanilla parts
|
||||||
|
var core = corpse.InnerPawn.RaceProps.body.corePart;
|
||||||
|
var queue = new List<BodyPartRecord> {core};
|
||||||
|
var hediffSet = corpse.InnerPawn.health.hediffSet;
|
||||||
|
var results = new List<Thing>();
|
||||||
|
var damagedParts = new List<BodyPartRecord>();
|
||||||
|
while (queue.Count > 0)
|
||||||
|
{
|
||||||
|
var part = queue.First();
|
||||||
|
queue.Remove(part);
|
||||||
|
//Drop parts and bionics that are higher on the body tree.
|
||||||
|
if (NewMedicalRecipesUtility.TryGetParts(corpse, recipeInfo, part, skillChance, ref results,
|
||||||
|
ref damagedParts) && core != part)
|
||||||
|
continue;
|
||||||
|
queue.AddRange(part.parts.Where(x => !hediffSet.PartIsMissing(x)));
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (var part in damagedParts)
|
||||||
|
NewMedicalRecipesUtility.DamageHarvested(corpse.InnerPawn, part);
|
||||||
|
*/
|
||||||
|
// var results = __result.ToList();
|
||||||
|
// log($"Collected {results.Count} vanilla parts");
|
||||||
|
|
||||||
|
//Collect rjw rediffs
|
||||||
|
var rjwNaturalDiffs = (from x in corpse.InnerPawn.health.hediffSet.hediffs
|
||||||
|
where x is Hediff_NaturalSexPart
|
||||||
|
select x).ToList();
|
||||||
|
var rjwArtificialDiffs = (from x in corpse.InnerPawn.health.hediffSet.hediffs
|
||||||
|
where x is Hediff_ArtificialSexPart
|
||||||
|
select x).ToList();
|
||||||
|
|
||||||
|
log($"Collected {rjwNaturalDiffs.Count} natural and {rjwArtificialDiffs.Count} artificial hediffs");
|
||||||
|
|
||||||
|
//Collect parts from hediffs rjw's surgery methods
|
||||||
|
var rjwNaturalThings = rjwNaturalDiffs.Select(hediff =>
|
||||||
|
{
|
||||||
|
var tmp = SexPartAdder.recipePartRemover(hediff);
|
||||||
|
log($"Obtained natural part: {tmp} from hediff: {hediff}");
|
||||||
|
return tmp;
|
||||||
|
}).ToList();
|
||||||
|
var rjwArtificialThings = rjwArtificialDiffs.Select(hediff =>
|
||||||
|
{
|
||||||
|
var tmp = SexPartAdder.recipePartRemover(hediff);
|
||||||
|
log($"Obtained artificial part: {tmp} from hediff: {hediff}");
|
||||||
|
return tmp;
|
||||||
|
}).ToList();
|
||||||
|
|
||||||
|
log(
|
||||||
|
$"Collected {rjwNaturalThings.Count} things from {rjwNaturalDiffs.Count} natural and {rjwArtificialThings.Count} things from {rjwArtificialDiffs.Count} artificial hediffs");
|
||||||
|
|
||||||
|
var results = new HashSet<Thing>();
|
||||||
|
//Simulate success chance scaled with skill etc.
|
||||||
|
rjwNaturalThings.ForEach(t =>
|
||||||
|
{
|
||||||
|
if (DEBUG || Rand.Chance(Math.Min(skillChance, recipeInfo.NaturalChance))) results.Add(t);
|
||||||
|
});
|
||||||
|
rjwArtificialThings.ForEach(t =>
|
||||||
|
{
|
||||||
|
if (DEBUG || Rand.Chance(Math.Min(skillChance, recipeInfo.BionicChance))) results.Add(t);
|
||||||
|
});
|
||||||
|
|
||||||
|
//Remove all parts that were tried to harvest from the corpse
|
||||||
|
rjwNaturalDiffs.ForEach(d => corpse.InnerPawn.health.RemoveHediff(d));
|
||||||
|
rjwArtificialDiffs.ForEach(d => corpse.InnerPawn.health.RemoveHediff(d));
|
||||||
|
|
||||||
|
if (results.Count > recipeInfo.PartNumber)
|
||||||
|
{
|
||||||
|
var random = new Random();
|
||||||
|
results = results.OrderBy(i => random.Next()).Take(recipeInfo.PartNumber).ToHashSet();
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (var result in results)
|
||||||
|
{
|
||||||
|
log(result.ToString());
|
||||||
|
yield return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (var result in vanillaParts)
|
||||||
|
{
|
||||||
|
log(result.ToString());
|
||||||
|
yield return result;
|
||||||
|
}
|
||||||
|
// return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -2,5 +2,5 @@
|
||||||
|
|
||||||
<Manifest>
|
<Manifest>
|
||||||
<identifier>RJW patch - Harvest Organs Post Mortem</identifier>
|
<identifier>RJW patch - Harvest Organs Post Mortem</identifier>
|
||||||
<version>5502.0.1.5</version>
|
<version>5603.0.1.5</version>
|
||||||
</Manifest>
|
</Manifest>
|
||||||
|
|
|
||||||
|
|
@ -11,20 +11,22 @@ namespace RJW_patch_Autopsy
|
||||||
[HarmonyPatch(typeof(NewMedicalRecipesUtility), nameof(NewMedicalRecipesUtility.TraverseBody))]
|
[HarmonyPatch(typeof(NewMedicalRecipesUtility), nameof(NewMedicalRecipesUtility.TraverseBody))]
|
||||||
public static class NewMedicalRecipesUtilityPatch
|
public static class NewMedicalRecipesUtilityPatch
|
||||||
{
|
{
|
||||||
private const bool DEBUG = false;
|
private const bool DEBUG = true;
|
||||||
|
|
||||||
private static void log(String message)
|
private static void log(String message)
|
||||||
{
|
{
|
||||||
if (DEBUG)
|
if (DEBUG)
|
||||||
{
|
{
|
||||||
Log.Message(message);
|
Log.Message($"[RJW_Autopsy] {message}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[HarmonyPostfix]
|
[HarmonyPostfix]
|
||||||
public static IEnumerable<Thing> AddRjwParts(IEnumerable<Thing> __result, RecipeInfo recipeInfo, Corpse corpse,
|
public static IEnumerable<Thing> Postfix(IEnumerable<Thing> vanillaParts, RecipeInfo recipeInfo, Corpse corpse,
|
||||||
float skillChance)
|
float skillChance)
|
||||||
{
|
{
|
||||||
|
log("Starting AddRjwParts");
|
||||||
|
|
||||||
/*//Collect vanilla parts
|
/*//Collect vanilla parts
|
||||||
var core = corpse.InnerPawn.RaceProps.body.corePart;
|
var core = corpse.InnerPawn.RaceProps.body.corePart;
|
||||||
var queue = new List<BodyPartRecord> {core};
|
var queue = new List<BodyPartRecord> {core};
|
||||||
|
|
@ -45,8 +47,8 @@ namespace RJW_patch_Autopsy
|
||||||
foreach (var part in damagedParts)
|
foreach (var part in damagedParts)
|
||||||
NewMedicalRecipesUtility.DamageHarvested(corpse.InnerPawn, part);
|
NewMedicalRecipesUtility.DamageHarvested(corpse.InnerPawn, part);
|
||||||
*/
|
*/
|
||||||
var results = __result.ToList();
|
// var results = __result.ToList();
|
||||||
log($"Collected {results.Count} vanilla parts");
|
// log($"Collected {results.Count} vanilla parts");
|
||||||
|
|
||||||
//Collect rjw rediffs
|
//Collect rjw rediffs
|
||||||
var rjwNaturalDiffs = (from x in corpse.InnerPawn.health.hediffSet.hediffs
|
var rjwNaturalDiffs = (from x in corpse.InnerPawn.health.hediffSet.hediffs
|
||||||
|
|
@ -62,19 +64,20 @@ namespace RJW_patch_Autopsy
|
||||||
var rjwNaturalThings = rjwNaturalDiffs.Select(hediff =>
|
var rjwNaturalThings = rjwNaturalDiffs.Select(hediff =>
|
||||||
{
|
{
|
||||||
var tmp = SexPartAdder.recipePartRemover(hediff);
|
var tmp = SexPartAdder.recipePartRemover(hediff);
|
||||||
Log.Message($"obtained ${tmp} from ${hediff} via rjw");
|
log($"Obtained natural part: {tmp} from hediff: {hediff}");
|
||||||
return tmp;
|
return tmp;
|
||||||
}).ToList();
|
}).ToList();
|
||||||
var rjwArtificialThings = rjwArtificialDiffs.Select(hediff =>
|
var rjwArtificialThings = rjwArtificialDiffs.Select(hediff =>
|
||||||
{
|
{
|
||||||
var tmp = SexPartAdder.recipePartRemover(hediff);
|
var tmp = SexPartAdder.recipePartRemover(hediff);
|
||||||
Log.Message($"obtained ${tmp} from ${hediff} via rjw");
|
log($"Obtained artificial part: {tmp} from hediff: {hediff}");
|
||||||
return tmp;
|
return tmp;
|
||||||
}).ToList();
|
}).ToList();
|
||||||
|
|
||||||
log(
|
log(
|
||||||
$"Collected {rjwNaturalThings.Count} things from {rjwNaturalDiffs.Count} natural and {rjwArtificialThings.Count} things from {rjwArtificialDiffs.Count} artificial hediffs");
|
$"Collected {rjwNaturalThings.Count} things from {rjwNaturalDiffs.Count} natural and {rjwArtificialThings.Count} things from {rjwArtificialDiffs.Count} artificial hediffs");
|
||||||
|
|
||||||
|
var results = new HashSet<Thing>();
|
||||||
//Simulate success chance scaled with skill etc.
|
//Simulate success chance scaled with skill etc.
|
||||||
rjwNaturalThings.ForEach(t =>
|
rjwNaturalThings.ForEach(t =>
|
||||||
{
|
{
|
||||||
|
|
@ -92,11 +95,18 @@ namespace RJW_patch_Autopsy
|
||||||
if (results.Count > recipeInfo.PartNumber)
|
if (results.Count > recipeInfo.PartNumber)
|
||||||
{
|
{
|
||||||
var random = new Random();
|
var random = new Random();
|
||||||
results = results.OrderBy(i => random.Next()).Take(recipeInfo.PartNumber).ToList();
|
results = results.OrderBy(i => random.Next()).Take(recipeInfo.PartNumber).ToHashSet();
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (var result in results)
|
foreach (var result in results)
|
||||||
{
|
{
|
||||||
|
log(result.ToString());
|
||||||
|
yield return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (var result in vanillaParts)
|
||||||
|
{
|
||||||
|
log(result.ToString());
|
||||||
yield return result;
|
yield return result;
|
||||||
}
|
}
|
||||||
// return false;
|
// return false;
|
||||||
|
|
|
||||||
|
|
@ -2,5 +2,5 @@
|
||||||
|
|
||||||
<Manifest>
|
<Manifest>
|
||||||
<identifier>RJW patch - Harvest Organs Post Mortem</identifier>
|
<identifier>RJW patch - Harvest Organs Post Mortem</identifier>
|
||||||
<version>5502.0.1.5</version>
|
<version>5603.0.1.5</version>
|
||||||
</Manifest>
|
</Manifest>
|
||||||
|
|
|
||||||
|
|
@ -13,10 +13,10 @@
|
||||||
<TargetFrameworkProfile>
|
<TargetFrameworkProfile>
|
||||||
</TargetFrameworkProfile>
|
</TargetFrameworkProfile>
|
||||||
<LangVersion>11</LangVersion>
|
<LangVersion>11</LangVersion>
|
||||||
<Copyright>©2024 Stardust3D</Copyright>
|
<Copyright>©2025 Stardust3D</Copyright>
|
||||||
<Company>Stardust3D</Company>
|
<Company>Stardust3D</Company>
|
||||||
<AssemblyVersion>5502.0.1.5</AssemblyVersion>
|
<AssemblyVersion>5630.0.1.5</AssemblyVersion>
|
||||||
<FileVersion>5502.0.1.5</FileVersion>
|
<FileVersion>5630.0.1.5</FileVersion>
|
||||||
<SignAssembly>true</SignAssembly>
|
<SignAssembly>true</SignAssembly>
|
||||||
<AssemblyOriginatorKeyFile>RJW_patch_Autopsy.snk</AssemblyOriginatorKeyFile>
|
<AssemblyOriginatorKeyFile>RJW_patch_Autopsy.snk</AssemblyOriginatorKeyFile>
|
||||||
<Description>This is a compatibility patch to enable 'Harvest Organs post mortem'/Autopsy to yield RJW bodyparts.</Description>
|
<Description>This is a compatibility patch to enable 'Harvest Organs post mortem'/Autopsy to yield RJW bodyparts.</Description>
|
||||||
|
|
@ -24,22 +24,25 @@
|
||||||
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
||||||
<OutputPath>bin\Release\1.3\</OutputPath>
|
<OutputPath>bin\Release\1.3\</OutputPath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
|
||||||
|
<OutputPath>bin\Debug\1.3\</OutputPath>
|
||||||
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Remove="1.4\**"/>
|
<None Remove="1.4\**"/>
|
||||||
<None Remove="1.5\**"/>
|
<None Remove="1.5\**"/>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Lib.Harmony" Version="2.3.3" />
|
<PackageReference Include="Lib.Harmony" Version="2.3.6" />
|
||||||
<PackageReference Include="Microsoft.CSharp" Version="4.7.0"/>
|
<PackageReference Include="Microsoft.CSharp" Version="4.7.0"/>
|
||||||
<PackageReference Include="Krafs.Rimworld.Ref" Version="1.3.3389" />
|
<PackageReference Include="Krafs.Rimworld.Ref" Version="1.3.3389" />
|
||||||
<PackageReference Include="UnlimitedHugs.Rimworld.HugsLib" Version="11.0.3" />
|
<PackageReference Include="UnlimitedHugs.Rimworld.HugsLib" Version="11.0.5" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Autopsy">
|
<Reference Include="Autopsy">
|
||||||
<HintPath>..\..\..\RimwoldAutopsy\1.3\Assemblies\Autopsy.dll</HintPath>
|
<HintPath>..\dependencies\Harvest-Post-Mortem-1.3\1.3\Assemblies\Autopsy.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="RJW">
|
<Reference Include="RJW">
|
||||||
<HintPath>..\..\..\rjw-base\1.3\Assemblies\RJW.dll</HintPath>
|
<HintPath>..\dependencies\rjw\1.3\Assemblies\RJW.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
||||||
|
|
@ -13,10 +13,10 @@
|
||||||
<TargetFrameworkProfile>
|
<TargetFrameworkProfile>
|
||||||
</TargetFrameworkProfile>
|
</TargetFrameworkProfile>
|
||||||
<LangVersion>11</LangVersion>
|
<LangVersion>11</LangVersion>
|
||||||
<Copyright>©2024 Stardust3D</Copyright>
|
<Copyright>©2025 Stardust3D</Copyright>
|
||||||
<Company>Stardust3D</Company>
|
<Company>Stardust3D</Company>
|
||||||
<AssemblyVersion>5502.0.1.5</AssemblyVersion>
|
<AssemblyVersion>5630.0.1.5</AssemblyVersion>
|
||||||
<FileVersion>5502.0.1.5</FileVersion>
|
<FileVersion>5630.0.1.5</FileVersion>
|
||||||
<SignAssembly>true</SignAssembly>
|
<SignAssembly>true</SignAssembly>
|
||||||
<AssemblyOriginatorKeyFile>RJW_patch_Autopsy.snk</AssemblyOriginatorKeyFile>
|
<AssemblyOriginatorKeyFile>RJW_patch_Autopsy.snk</AssemblyOriginatorKeyFile>
|
||||||
<Description>This is a compatibility patch to enable 'Harvest Organs post mortem'/Autopsy to yield RJW bodyparts.</Description>
|
<Description>This is a compatibility patch to enable 'Harvest Organs post mortem'/Autopsy to yield RJW bodyparts.</Description>
|
||||||
|
|
@ -24,22 +24,25 @@
|
||||||
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
||||||
<OutputPath>bin\Release\1.4\</OutputPath>
|
<OutputPath>bin\Release\1.4\</OutputPath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
|
||||||
|
<OutputPath>bin\Debug\1.4\</OutputPath>
|
||||||
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Remove="1.3\**"/>
|
<None Remove="1.3\**"/>
|
||||||
<None Remove="1.5\**"/>
|
<None Remove="1.5\**"/>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Lib.Harmony" Version="2.3.3" />
|
<PackageReference Include="Lib.Harmony" Version="2.3.6" />
|
||||||
<PackageReference Include="Microsoft.CSharp" Version="4.7.0"/>
|
<PackageReference Include="Microsoft.CSharp" Version="4.7.0"/>
|
||||||
<PackageReference Include="Krafs.Rimworld.Ref" Version="1.4.3901" />
|
<PackageReference Include="Krafs.Rimworld.Ref" Version="1.4.3901" />
|
||||||
<PackageReference Include="UnlimitedHugs.Rimworld.HugsLib" Version="11.0.3" />
|
<PackageReference Include="UnlimitedHugs.Rimworld.HugsLib" Version="11.0.5" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Autopsy">
|
<Reference Include="Autopsy">
|
||||||
<HintPath>..\..\..\RimwoldAutopsy\1.4\Assemblies\Autopsy.dll</HintPath>
|
<HintPath>..\dependencies\Harvest-Post-Mortem-1.4\1.4\Assemblies\Autopsy.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="RJW">
|
<Reference Include="RJW">
|
||||||
<HintPath>..\..\..\rjw-base\1.4\Assemblies\RJW.dll</HintPath>
|
<HintPath>..\dependencies\rjw\1.4\Assemblies\RJW.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
||||||
|
|
@ -13,10 +13,10 @@
|
||||||
<TargetFrameworkProfile>
|
<TargetFrameworkProfile>
|
||||||
</TargetFrameworkProfile>
|
</TargetFrameworkProfile>
|
||||||
<LangVersion>11</LangVersion>
|
<LangVersion>11</LangVersion>
|
||||||
<Copyright>©2024 Stardust3D</Copyright>
|
<Copyright>©2025 Stardust3D</Copyright>
|
||||||
<Company>Stardust3D</Company>
|
<Company>Stardust3D</Company>
|
||||||
<AssemblyVersion>5502.0.1.5</AssemblyVersion>
|
<AssemblyVersion>5630.0.1.5</AssemblyVersion>
|
||||||
<FileVersion>5502.0.1.5</FileVersion>
|
<FileVersion>5630.0.1.5</FileVersion>
|
||||||
<SignAssembly>true</SignAssembly>
|
<SignAssembly>true</SignAssembly>
|
||||||
<AssemblyOriginatorKeyFile>RJW_patch_Autopsy.snk</AssemblyOriginatorKeyFile>
|
<AssemblyOriginatorKeyFile>RJW_patch_Autopsy.snk</AssemblyOriginatorKeyFile>
|
||||||
<Description>This is a compatibility patch to enable 'Harvest Organs post mortem'/Autopsy to yield RJW bodyparts.</Description>
|
<Description>This is a compatibility patch to enable 'Harvest Organs post mortem'/Autopsy to yield RJW bodyparts.</Description>
|
||||||
|
|
@ -24,15 +24,18 @@
|
||||||
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
||||||
<OutputPath>bin\Release\1.5\</OutputPath>
|
<OutputPath>bin\Release\1.5\</OutputPath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
|
||||||
|
<OutputPath>bin\Debug\1.5\</OutputPath>
|
||||||
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Remove="1.3\**"/>
|
<None Remove="1.3\**"/>
|
||||||
<None Remove="1.4\**"/>
|
<None Remove="1.4\**"/>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Lib.Harmony" Version="2.3.3" />
|
<PackageReference Include="Lib.Harmony" Version="2.3.6" />
|
||||||
<PackageReference Include="Microsoft.CSharp" Version="4.7.0"/>
|
<PackageReference Include="Microsoft.CSharp" Version="4.7.0"/>
|
||||||
<PackageReference Include="Krafs.Rimworld.Ref" Version="1.5.4104" />
|
<PackageReference Include="Krafs.Rimworld.Ref" Version="1.5.4409" />
|
||||||
<PackageReference Include="UnlimitedHugs.Rimworld.HugsLib" Version="11.0.3" />
|
<PackageReference Include="UnlimitedHugs.Rimworld.HugsLib" Version="11.0.5" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Autopsy">
|
<Reference Include="Autopsy">
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ plugins {
|
||||||
alias(libs.plugins.versions)
|
alias(libs.plugins.versions)
|
||||||
}
|
}
|
||||||
|
|
||||||
version = "5502.0.1.5"
|
version = "5630.0.1.5"
|
||||||
val friendlyName = "rjw-patch-autopsy"
|
val friendlyName = "rjw-patch-autopsy"
|
||||||
|
|
||||||
tasks.register<com.ullink.Msbuild>("buildC#_1.3") {
|
tasks.register<com.ullink.Msbuild>("buildC#_1.3") {
|
||||||
|
|
@ -26,6 +26,18 @@ tasks.register<com.ullink.Msbuild>("buildC#_1.3") {
|
||||||
// destinationDir = "build/msbuild/bin"
|
// destinationDir = "build/msbuild/bin"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tasks.register<com.ullink.Msbuild>("buildC#_1.3_debug") {
|
||||||
|
// either a solution file
|
||||||
|
// solutionFile = "${rootProject.name}.sln"
|
||||||
|
// or a project file (.csproj or .vbproj)
|
||||||
|
projectFile = file("${rootProject.name}/${rootProject.name}_1.3.csproj")
|
||||||
|
|
||||||
|
targets = listOf("Restore", "Clean", "Rebuild")
|
||||||
|
configuration = "Debug"
|
||||||
|
|
||||||
|
// destinationDir = "build/msbuild/bin"
|
||||||
|
}
|
||||||
|
|
||||||
tasks.register<com.ullink.Msbuild>("buildC#_1.4") {
|
tasks.register<com.ullink.Msbuild>("buildC#_1.4") {
|
||||||
// either a solution file
|
// either a solution file
|
||||||
// solutionFile = "${rootProject.name}.sln"
|
// solutionFile = "${rootProject.name}.sln"
|
||||||
|
|
@ -38,6 +50,18 @@ tasks.register<com.ullink.Msbuild>("buildC#_1.4") {
|
||||||
// destinationDir = "build/msbuild/bin"
|
// destinationDir = "build/msbuild/bin"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tasks.register<com.ullink.Msbuild>("buildC#_1.4_debug") {
|
||||||
|
// either a solution file
|
||||||
|
// solutionFile = "${rootProject.name}.sln"
|
||||||
|
// or a project file (.csproj or .vbproj)
|
||||||
|
projectFile = file("${rootProject.name}/${rootProject.name}_1.4.csproj")
|
||||||
|
|
||||||
|
targets = listOf("Restore", "Clean", "Rebuild")
|
||||||
|
configuration = "Debug"
|
||||||
|
|
||||||
|
// destinationDir = "build/msbuild/bin"
|
||||||
|
}
|
||||||
|
|
||||||
tasks.register<com.ullink.Msbuild>("buildC#_1.5") {
|
tasks.register<com.ullink.Msbuild>("buildC#_1.5") {
|
||||||
// either a solution file
|
// either a solution file
|
||||||
// solutionFile = "${rootProject.name}.sln"
|
// solutionFile = "${rootProject.name}.sln"
|
||||||
|
|
@ -50,10 +74,22 @@ tasks.register<com.ullink.Msbuild>("buildC#_1.5") {
|
||||||
// destinationDir = "build/msbuild/bin"
|
// destinationDir = "build/msbuild/bin"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tasks.register<com.ullink.Msbuild>("buildC#_1.5_debug") {
|
||||||
|
// either a solution file
|
||||||
|
// solutionFile = "${rootProject.name}.sln"
|
||||||
|
// or a project file (.csproj or .vbproj)
|
||||||
|
projectFile = file("${rootProject.name}/${rootProject.name}_1.5.csproj")
|
||||||
|
|
||||||
|
targets = listOf("Restore", "Clean", "Rebuild")
|
||||||
|
configuration = "Debug"
|
||||||
|
|
||||||
|
// destinationDir = "build/msbuild/bin"
|
||||||
|
}
|
||||||
|
|
||||||
tasks.register<Exec>("sign_1.3") {
|
tasks.register<Exec>("sign_1.3") {
|
||||||
dependsOn("buildC#_1.3")
|
dependsOn("buildC#_1.3")
|
||||||
workingDir = project.projectDir.resolve("${rootProject.name}/bin/Release/1.3/net472")
|
workingDir = project.projectDir.resolve("${rootProject.name}/bin/Release/1.3/net472")
|
||||||
executable = "H:\\Windows Kits\\10\\bin\\10.0.26100.0\\x64\\signtool.exe"
|
executable = "C:\\Windows Kits\\10\\bin\\10.0.26100.0\\x64\\signtool.exe"
|
||||||
args = listOf(
|
args = listOf(
|
||||||
"sign",
|
"sign",
|
||||||
"/seal",
|
"/seal",
|
||||||
|
|
@ -71,7 +107,7 @@ tasks.register<Exec>("sign_1.3") {
|
||||||
tasks.register<Exec>("sign_1.4") {
|
tasks.register<Exec>("sign_1.4") {
|
||||||
dependsOn("buildC#_1.4")
|
dependsOn("buildC#_1.4")
|
||||||
workingDir = project.projectDir.resolve("${rootProject.name}/bin/Release/1.4/net472")
|
workingDir = project.projectDir.resolve("${rootProject.name}/bin/Release/1.4/net472")
|
||||||
executable = "H:\\Windows Kits\\10\\bin\\10.0.26100.0\\x64\\signtool.exe"
|
executable = "C:\\Windows Kits\\10\\bin\\10.0.26100.0\\x64\\signtool.exe"
|
||||||
args = listOf(
|
args = listOf(
|
||||||
"sign",
|
"sign",
|
||||||
"/seal",
|
"/seal",
|
||||||
|
|
@ -89,7 +125,7 @@ tasks.register<Exec>("sign_1.4") {
|
||||||
tasks.register<Exec>("sign_1.5") {
|
tasks.register<Exec>("sign_1.5") {
|
||||||
dependsOn("buildC#_1.5")
|
dependsOn("buildC#_1.5")
|
||||||
workingDir = project.projectDir.resolve("${rootProject.name}/bin/Release/1.5/net48")
|
workingDir = project.projectDir.resolve("${rootProject.name}/bin/Release/1.5/net48")
|
||||||
executable = "H:\\Windows Kits\\10\\bin\\10.0.26100.0\\x64\\signtool.exe"
|
executable = "C:\\Windows Kits\\10\\bin\\10.0.26100.0\\x64\\signtool.exe"
|
||||||
args = listOf(
|
args = listOf(
|
||||||
"sign",
|
"sign",
|
||||||
"/seal",
|
"/seal",
|
||||||
|
|
@ -108,6 +144,10 @@ tasks.register("copy") {
|
||||||
dependsOn("copy_1.3", "copy_1.4", "copy_1.5", "copy_about")
|
dependsOn("copy_1.3", "copy_1.4", "copy_1.5", "copy_about")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tasks.register("copy_debug") {
|
||||||
|
dependsOn("copy_1.3_debug", "copy_1.4_debug", "copy_1.5_debug", "copy_about")
|
||||||
|
}
|
||||||
|
|
||||||
tasks.register<Copy>("copy_about") {
|
tasks.register<Copy>("copy_about") {
|
||||||
from(project.projectDir.resolve("${rootProject.name}/About"))
|
from(project.projectDir.resolve("${rootProject.name}/About"))
|
||||||
into(project.projectDir.parentFile.resolve("About"))
|
into(project.projectDir.parentFile.resolve("About"))
|
||||||
|
|
@ -119,36 +159,72 @@ tasks.register<Copy>("copy_1.3") {
|
||||||
into(project.projectDir.parentFile.resolve("1.3"))
|
into(project.projectDir.parentFile.resolve("1.3"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tasks.register<Copy>("copy_1.3_debug") {
|
||||||
|
dependsOn("copyDll_1.3_debug")
|
||||||
|
from(project.projectDir.resolve("${rootProject.name}/1.3"))
|
||||||
|
into(project.projectDir.parentFile.resolve("1.3"))
|
||||||
|
}
|
||||||
|
|
||||||
tasks.register<Copy>("copy_1.4") {
|
tasks.register<Copy>("copy_1.4") {
|
||||||
dependsOn("copyDll_1.4")
|
dependsOn("copyDll_1.4")
|
||||||
from(project.projectDir.resolve("${rootProject.name}/1.4"))
|
from(project.projectDir.resolve("${rootProject.name}/1.4"))
|
||||||
into(project.projectDir.parentFile.resolve("1.4"))
|
into(project.projectDir.parentFile.resolve("1.4"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tasks.register<Copy>("copy_1.4_debug") {
|
||||||
|
dependsOn("copyDll_1.4_debug")
|
||||||
|
from(project.projectDir.resolve("${rootProject.name}/1.4"))
|
||||||
|
into(project.projectDir.parentFile.resolve("1.4"))
|
||||||
|
}
|
||||||
|
|
||||||
tasks.register<Copy>("copy_1.5") {
|
tasks.register<Copy>("copy_1.5") {
|
||||||
dependsOn("copyDll_1.5")
|
dependsOn("copyDll_1.5")
|
||||||
from(project.projectDir.resolve("${rootProject.name}/1.5"))
|
from(project.projectDir.resolve("${rootProject.name}/1.5"))
|
||||||
into(project.projectDir.parentFile.resolve("1.5"))
|
into(project.projectDir.parentFile.resolve("1.5"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tasks.register<Copy>("copy_1.5_debug") {
|
||||||
|
dependsOn("copyDll_1.5_debug")
|
||||||
|
from(project.projectDir.resolve("${rootProject.name}/1.5"))
|
||||||
|
into(project.projectDir.parentFile.resolve("1.5"))
|
||||||
|
}
|
||||||
|
|
||||||
tasks.register<Copy>("copyDll_1.3") {
|
tasks.register<Copy>("copyDll_1.3") {
|
||||||
dependsOn("sign_1.3")
|
dependsOn("sign_1.3")
|
||||||
from(project.projectDir.resolve("${rootProject.name}/bin/Release/1.3/net472/${rootProject.name}.dll"))
|
from(project.projectDir.resolve("${rootProject.name}/bin/Release/1.3/net472/${rootProject.name}.dll"))
|
||||||
into(project.projectDir.parentFile.resolve("1.3/Assemblies"))
|
into(project.projectDir.parentFile.resolve("1.3/Assemblies"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tasks.register<Copy>("copyDll_1.3_debug") {
|
||||||
|
dependsOn("buildC#_1.3_debug")
|
||||||
|
from(project.projectDir.resolve("${rootProject.name}/bin/Debug/1.3/net472/${rootProject.name}.dll"))
|
||||||
|
into(project.projectDir.parentFile.resolve("1.3/Assemblies"))
|
||||||
|
}
|
||||||
|
|
||||||
tasks.register<Copy>("copyDll_1.4") {
|
tasks.register<Copy>("copyDll_1.4") {
|
||||||
dependsOn("sign_1.4")
|
dependsOn("sign_1.4")
|
||||||
from(project.projectDir.resolve("${rootProject.name}/bin/Release/1.4/net472/${rootProject.name}.dll"))
|
from(project.projectDir.resolve("${rootProject.name}/bin/Release/1.4/net472/${rootProject.name}.dll"))
|
||||||
into(project.projectDir.parentFile.resolve("1.4/Assemblies"))
|
into(project.projectDir.parentFile.resolve("1.4/Assemblies"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tasks.register<Copy>("copyDll_1.4_debug") {
|
||||||
|
dependsOn("buildC#_1.4_debug")
|
||||||
|
from(project.projectDir.resolve("${rootProject.name}/bin/Debug/1.4/net472/${rootProject.name}.dll"))
|
||||||
|
into(project.projectDir.parentFile.resolve("1.4/Assemblies"))
|
||||||
|
}
|
||||||
|
|
||||||
tasks.register<Copy>("copyDll_1.5") {
|
tasks.register<Copy>("copyDll_1.5") {
|
||||||
dependsOn("sign_1.5")
|
dependsOn("sign_1.5")
|
||||||
from(project.projectDir.resolve("${rootProject.name}/bin/Release/1.5/net48/${rootProject.name}.dll"))
|
from(project.projectDir.resolve("${rootProject.name}/bin/Release/1.5/net48/${rootProject.name}.dll"))
|
||||||
into(project.projectDir.parentFile.resolve("1.5/Assemblies"))
|
into(project.projectDir.parentFile.resolve("1.5/Assemblies"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tasks.register<Copy>("copyDll_1.5_debug") {
|
||||||
|
dependsOn("buildC#_1.5_debug")
|
||||||
|
from(project.projectDir.resolve("${rootProject.name}/bin/Debug/1.5/net48/${rootProject.name}.dll"))
|
||||||
|
into(project.projectDir.parentFile.resolve("1.5/Assemblies"))
|
||||||
|
}
|
||||||
|
|
||||||
tasks.register<Zip>("buildZip") {
|
tasks.register<Zip>("buildZip") {
|
||||||
dependsOn("clean", ":copy")
|
dependsOn("clean", ":copy")
|
||||||
into("$friendlyName/1.3") {
|
into("$friendlyName/1.3") {
|
||||||
|
|
@ -174,7 +250,7 @@ tasks.register<Zip>("buildZip") {
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.clean {
|
tasks.clean {
|
||||||
delete.add(project.projectDir.parentFile.resolve("1.3"))
|
// delete.add(project.projectDir.parentFile.resolve("1.3"))
|
||||||
delete.add(project.projectDir.parentFile.resolve("1.4"))
|
delete.add(project.projectDir.parentFile.resolve("1.4"))
|
||||||
delete.add(project.projectDir.parentFile.resolve("1.5"))
|
delete.add(project.projectDir.parentFile.resolve("1.5"))
|
||||||
delete.add(project.projectDir.parentFile.resolve("About"))
|
delete.add(project.projectDir.parentFile.resolve("About"))
|
||||||
|
|
|
||||||
1
Source/dependencies/Harvest-Post-Mortem-1.3
Submodule
1
Source/dependencies/Harvest-Post-Mortem-1.3
Submodule
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit eabaf3d8fa247a49610c40557b136581322264fc
|
||||||
1
Source/dependencies/Harvest-Post-Mortem-1.4
Submodule
1
Source/dependencies/Harvest-Post-Mortem-1.4
Submodule
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit bce98068239f6882dabb8be3933c94b3295c08ea
|
||||||
1
Source/dependencies/rjw
Submodule
1
Source/dependencies/rjw
Submodule
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 5c23d8145e853ca6db6249be9d05583a13596444
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"sdk": {
|
"sdk": {
|
||||||
"version": "8.0.0",
|
"version": "9.0.0",
|
||||||
"rollForward": "latestMajor",
|
"rollForward": "latestMajor",
|
||||||
"allowPrerelease": false
|
"allowPrerelease": false
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
[versions]
|
[versions]
|
||||||
versions = "0.51.0"
|
versions = "0.52.0"
|
||||||
msbuild = "4.7"
|
msbuild = "4.7"
|
||||||
|
|
||||||
[libraries]
|
[libraries]
|
||||||
|
|
|
||||||
BIN
Source/gradle/wrapper/gradle-wrapper.jar
vendored
BIN
Source/gradle/wrapper/gradle-wrapper.jar
vendored
Binary file not shown.
|
|
@ -1,6 +1,6 @@
|
||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip
|
||||||
networkTimeout=10000
|
networkTimeout=10000
|
||||||
validateDistributionUrl=true
|
validateDistributionUrl=true
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
|
|
|
||||||
9
Source/gradlew
vendored
9
Source/gradlew
vendored
|
|
@ -86,8 +86,7 @@ done
|
||||||
# shellcheck disable=SC2034
|
# shellcheck disable=SC2034
|
||||||
APP_BASE_NAME=${0##*/}
|
APP_BASE_NAME=${0##*/}
|
||||||
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
|
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
|
||||||
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
|
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
|
||||||
' "$PWD" ) || exit
|
|
||||||
|
|
||||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||||
MAX_FD=maximum
|
MAX_FD=maximum
|
||||||
|
|
@ -115,7 +114,7 @@ case "$( uname )" in #(
|
||||||
NONSTOP* ) nonstop=true ;;
|
NONSTOP* ) nonstop=true ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
CLASSPATH="\\\"\\\""
|
||||||
|
|
||||||
|
|
||||||
# Determine the Java command to use to start the JVM.
|
# Determine the Java command to use to start the JVM.
|
||||||
|
|
@ -206,7 +205,7 @@ fi
|
||||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||||
|
|
||||||
# Collect all arguments for the java command:
|
# Collect all arguments for the java command:
|
||||||
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
|
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
|
||||||
# and any embedded shellness will be escaped.
|
# and any embedded shellness will be escaped.
|
||||||
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
|
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
|
||||||
# treated as '${Hostname}' itself on the command line.
|
# treated as '${Hostname}' itself on the command line.
|
||||||
|
|
@ -214,7 +213,7 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||||
set -- \
|
set -- \
|
||||||
"-Dorg.gradle.appname=$APP_BASE_NAME" \
|
"-Dorg.gradle.appname=$APP_BASE_NAME" \
|
||||||
-classpath "$CLASSPATH" \
|
-classpath "$CLASSPATH" \
|
||||||
org.gradle.wrapper.GradleWrapperMain \
|
-jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
|
||||||
"$@"
|
"$@"
|
||||||
|
|
||||||
# Stop when "xargs" is not available.
|
# Stop when "xargs" is not available.
|
||||||
|
|
|
||||||
4
Source/gradlew.bat
vendored
4
Source/gradlew.bat
vendored
|
|
@ -70,11 +70,11 @@ goto fail
|
||||||
:execute
|
:execute
|
||||||
@rem Setup the command line
|
@rem Setup the command line
|
||||||
|
|
||||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
set CLASSPATH=
|
||||||
|
|
||||||
|
|
||||||
@rem Execute Gradle
|
@rem Execute Gradle
|
||||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
|
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
|
||||||
|
|
||||||
:end
|
:end
|
||||||
@rem End local scope for the variables with windows NT shell
|
@rem End local scope for the variables with windows NT shell
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue