Compare commits

...

28 commits

Author SHA1 Message Date
Stardust3D
b0148fbed8 Update assemblies for 1.6 2025-12-17 13:07:00 +01:00
Stardust3D
fdc6cdb1e3 updated rjw version 2025-10-04 15:03:26 +02:00
Stardust3D
fa09fd68a8 Merge branch 'feature/1.6-support' into develop 2025-10-03 17:49:58 +02:00
Stardust3D
17d11ccd26 Update assemblies for 1.6 2025-10-03 17:49:32 +02:00
Stardust3D
fd6b99d347 rotting update 2025-09-05 21:23:19 +02:00
Stardust3D
cc16fed6c5 1.6 preparations 2025-09-05 21:05:22 +02:00
Stardust3D
ad08cfa422 Merge tag '5630.0.1.5' into develop
v5630.0.1.5 5630.0.1.5
2025-07-10 14:45:12 +02:00
Stardust3D
73976e7b80 Merge branch 'release/5630.0.1.5' 2025-07-10 14:45:12 +02:00
Stardust3D
b8718a6aeb bug fixing and dependency submodules 2025-07-10 14:44:48 +02:00
Stardust3D
a10a2f44bc library and tool updates 2025-06-09 15:33:52 +02:00
Stardust3D
eefa33d9be Add debug build tasks and configurations for all versions
Introduced debug-specific build tasks for C# versions 1.3, 1.4, and 1.5 in `build.gradle.kts` to support Restore, Clean, and Rebuild operations. Updated the respective `.csproj` files to include debug configurations with appropriate output paths. Also added corresponding copy tasks to handle debug binaries.
2024-12-13 01:48:38 +01:00
Stardust3D
6918d2a041 Merge branch 'release/5603.0.1.5' 2024-12-07 17:43:05 +01:00
Stardust3D
1c280fb4cc Merge tag '5603.0.1.5' into develop
5603.0.1.5 5603.0.1.5
2024-12-07 17:43:05 +01:00
Stardust3D
4d59a20a34 updated binaries 2024-12-07 17:42:35 +01:00
Stardust3D
ab65b48bbf bump mod version to 5603.0.1.5 2024-12-07 17:42:14 +01:00
Stardust3D
74d355d187 bump Rimworld version to 1.5.4297 2024-12-07 17:40:54 +01:00
Stardust3D
83a556d958 upgrade gradle wrapper to 8.11.1 2024-12-07 17:40:10 +01:00
Stardust3D
a3336f6a3a Merge tag '5600.0.1.5' into develop
5600.0.1.5 5600.0.1.5
2024-11-16 13:44:27 +01:00
Stardust3D
ddb8f3db01 Merge branch 'release/5600.0.1.5' 2024-11-16 13:44:26 +01:00
Stardust3D
70678abe14 updated binaries 2024-11-16 13:43:54 +01:00
Stardust3D
a89114a091 bumped version to 5600.0.1.5 2024-11-16 13:40:49 +01:00
Stardust3D
6afd59db77 Update .NET SDK version to 9.0.0 2024-11-16 03:37:20 +01:00
Stardust3D
57c9f5c556 Update Gradle wrapper to version 8.11 2024-11-16 03:26:02 +01:00
Stardust3D
aa14381a04 Merge tag '5502.1.5' into develop
5502.1.5 5502.1.5
2024-10-02 13:05:39 +02:00
Stardust3D
e5e81f81d9 Merge branch 'release/5502.1.5' 2024-10-02 13:05:38 +02:00
Stardust3D
6ac851a2f4 Update version to 5502.0.1.5
Incremented version numbers across multiple project files to 5502.0.1.5. This change ensures consistency and prepares the project for its next release.
2024-10-02 13:05:02 +02:00
Stardust3D
cd4e169277 custom code for 1.5 2024-10-02 13:03:14 +02:00
Stardust3D
5df1b5aa8f updated gradle 2024-10-02 12:54:37 +02:00
29 changed files with 527 additions and 59 deletions

15
.gitmodules vendored Normal file
View file

@ -0,0 +1,15 @@
[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
[submodule "Source/dependencies/Harvest-Post-Mortem-1.5"]
path = Source/dependencies/Harvest-Post-Mortem-1.5
url = https://github.com/ViralReaction/Harvest-Post-Mortem-Sans-Hugslib.git
[submodule "Source/dependencies/Harvest-Post-Mortem-1.6"]
path = Source/dependencies/Harvest-Post-Mortem-1.6
url = https://github.com/ViralReaction/Harvest-Post-Mortem-Sans-Hugslib.git

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,89 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Verse;
using rjw;
using Autopsy;
using HarmonyLib;
using RimWorld;
namespace RJW_patch_Autopsy
{
[HarmonyPatch(typeof(NewMedicalRecipesUtility), nameof(NewMedicalRecipesUtility.TraverseBody))]
public static class NewMedicalRecipesUtilityPatch
{
private const bool DEBUG = false;
private static void log(String message)
{
if (DEBUG)
{
Log.Message(message);
}
}
[HarmonyPostfix]
public static IEnumerable<Thing> AddRjwParts(IEnumerable<Thing> __result, RecipeInfo recipeInfo, Corpse corpse,
float skillChance)
{
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.Message($"obtained ${tmp} from ${hediff} via rjw");
return tmp;
}).ToList();
var rjwArtificialThings = rjwArtificialDiffs.Select(hediff =>
{
var tmp = SexPartAdder.recipePartRemover(hediff);
Log.Message($"obtained ${tmp} from ${hediff} via rjw");
return tmp;
}).ToList();
log(
$"Collected {rjwNaturalThings.Count} things from {rjwNaturalDiffs.Count} natural and {rjwArtificialThings.Count} things from {rjwArtificialDiffs.Count} artificial hediffs");
//Simulate success chance scaled with skill etc.
rjwNaturalThings.ForEach(t =>
{
CompRottable rot = corpse.TryGetComp<CompRottable>();
if (DEBUG || rot == null
? corpse.Age <= recipeInfo.CorpseValidAge
: rot.RotProgress + (corpse.Age - rot.RotProgress) * recipeInfo.FrozenDecay <=
recipeInfo.CorpseValidAge) 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(_ => random.Next()).Take(recipeInfo.PartNumber).ToList();
}
foreach (var result in results)
{
yield return result;
}
}
}
}

Binary file not shown.

View file

@ -7,6 +7,7 @@
<li>1.3</li>
<li>1.4</li>
<li>1.5</li>
<li>1.6</li>
</supportedVersions>
<packageId>Stardust3D.RJW.patch.Autopsy</packageId>
<description>This is a compatibility patch to enable 'Harvest Organs post mortem'/Autopsy to yield RJW bodyparts.

View file

@ -2,5 +2,5 @@
<Manifest>
<identifier>RJW patch - Harvest Organs Post Mortem</identifier>
<version>5400.0.1.5</version>
<version>6020.0.1.5</version>
</Manifest>

View file

@ -3,11 +3,13 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.1.32113.165
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RJW_patch_Autopsy_1.3", "RJW_patch_Autopsy\RJW_patch_Autopsy_1.3.csproj", "{F17C6B3F-BA9D-4133-A201-1265A64BCB71}"
Project("{f6000eff-8113-444d-b3a9-5e4c2bf865e4}") = "RJW_patch_Autopsy_1.3", "RJW_patch_Autopsy\RJW_patch_Autopsy_1.3.csproj", "{f6000eff-8113-444d-b3a9-5e4c2bf865e4}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RJW_patch_Autopsy_1.4", "RJW_patch_Autopsy\RJW_patch_Autopsy_1.4.csproj", "{FC20CA27-4400-4AAC-99AF-F18CAFAC942E}"
Project("{9bdc76c6-9494-462e-923e-c98c079a7494}") = "RJW_patch_Autopsy_1.4", "RJW_patch_Autopsy\RJW_patch_Autopsy_1.4.csproj", "{9bdc76c6-9494-462e-923e-c98c079a7494}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RJW_patch_Autopsy_1.5", "RJW_patch_Autopsy\RJW_patch_Autopsy_1.5.csproj", "{25A0821A-6B42-4FB0-A454-0AD22A7716E7}"
Project("{fa9a4a99-5a8e-4a19-9b84-940e4ac26e76}") = "RJW_patch_Autopsy_1.5", "RJW_patch_Autopsy\RJW_patch_Autopsy_1.5.csproj", "{fa9a4a99-5a8e-4a19-9b84-940e4ac26e76}"
EndProject
Project("{828ac463-72f1-4f6c-91e2-e0b7dae6c938}") = "RJW_patch_Autopsy_1.6", "RJW_patch_Autopsy\RJW_patch_Autopsy_1.6.csproj", "{828ac463-72f1-4f6c-91e2-e0b7dae6c938}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -15,18 +17,22 @@ Global
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{F17C6B3F-BA9D-4133-A201-1265A64BCB71}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F17C6B3F-BA9D-4133-A201-1265A64BCB71}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F17C6B3F-BA9D-4133-A201-1265A64BCB71}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F17C6B3F-BA9D-4133-A201-1265A64BCB71}.Release|Any CPU.Build.0 = Release|Any CPU
{FC20CA27-4400-4AAC-99AF-F18CAFAC942E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FC20CA27-4400-4AAC-99AF-F18CAFAC942E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FC20CA27-4400-4AAC-99AF-F18CAFAC942E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FC20CA27-4400-4AAC-99AF-F18CAFAC942E}.Release|Any CPU.Build.0 = Release|Any CPU
{25A0821A-6B42-4FB0-A454-0AD22A7716E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{25A0821A-6B42-4FB0-A454-0AD22A7716E7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{25A0821A-6B42-4FB0-A454-0AD22A7716E7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{25A0821A-6B42-4FB0-A454-0AD22A7716E7}.Release|Any CPU.Build.0 = Release|Any CPU
{f6000eff-8113-444d-b3a9-5e4c2bf865e4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{f6000eff-8113-444d-b3a9-5e4c2bf865e4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{f6000eff-8113-444d-b3a9-5e4c2bf865e4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{f6000eff-8113-444d-b3a9-5e4c2bf865e4}.Release|Any CPU.Build.0 = Release|Any CPU
{9bdc76c6-9494-462e-923e-c98c079a7494}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9bdc76c6-9494-462e-923e-c98c079a7494}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9bdc76c6-9494-462e-923e-c98c079a7494}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9bdc76c6-9494-462e-923e-c98c079a7494}.Release|Any CPU.Build.0 = Release|Any CPU
{fa9a4a99-5a8e-4a19-9b84-940e4ac26e76}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{fa9a4a99-5a8e-4a19-9b84-940e4ac26e76}.Debug|Any CPU.Build.0 = Debug|Any CPU
{fa9a4a99-5a8e-4a19-9b84-940e4ac26e76}.Release|Any CPU.ActiveCfg = Release|Any CPU
{fa9a4a99-5a8e-4a19-9b84-940e4ac26e76}.Release|Any CPU.Build.0 = Release|Any CPU
{828ac463-72f1-4f6c-91e2-e0b7dae6c938}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{828ac463-72f1-4f6c-91e2-e0b7dae6c938}.Debug|Any CPU.Build.0 = Debug|Any CPU
{828ac463-72f1-4f6c-91e2-e0b7dae6c938}.Release|Any CPU.ActiveCfg = Release|Any CPU
{828ac463-72f1-4f6c-91e2-e0b7dae6c938}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View file

@ -0,0 +1,89 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Verse;
using rjw;
using Autopsy;
using HarmonyLib;
using RimWorld;
namespace RJW_patch_Autopsy
{
[HarmonyPatch(typeof(NewMedicalRecipesUtility), nameof(NewMedicalRecipesUtility.TraverseBody))]
public static class NewMedicalRecipesUtilityPatch
{
private const bool DEBUG = false;
private static void log(String message)
{
if (DEBUG)
{
Log.Message(message);
}
}
[HarmonyPostfix]
public static IEnumerable<Thing> AddRjwParts(IEnumerable<Thing> __result, RecipeInfo recipeInfo, Corpse corpse,
float skillChance)
{
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.Message($"obtained ${tmp} from ${hediff} via rjw");
return tmp;
}).ToList();
var rjwArtificialThings = rjwArtificialDiffs.Select(hediff =>
{
var tmp = SexPartAdder.recipePartRemover(hediff);
Log.Message($"obtained ${tmp} from ${hediff} via rjw");
return tmp;
}).ToList();
log(
$"Collected {rjwNaturalThings.Count} things from {rjwNaturalDiffs.Count} natural and {rjwArtificialThings.Count} things from {rjwArtificialDiffs.Count} artificial hediffs");
//Simulate success chance scaled with skill etc.
rjwNaturalThings.ForEach(t =>
{
CompRottable rot = corpse.TryGetComp<CompRottable>();
if (DEBUG || rot == null
? corpse.Age <= recipeInfo.CorpseValidAge
: rot.RotProgress + (corpse.Age - rot.RotProgress) * recipeInfo.FrozenDecay <=
recipeInfo.CorpseValidAge) 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(_ => random.Next()).Take(recipeInfo.PartNumber).ToList();
}
foreach (var result in results)
{
yield return result;
}
}
}
}

View file

@ -7,6 +7,7 @@
<li>1.3</li>
<li>1.4</li>
<li>1.5</li>
<li>1.6</li>
</supportedVersions>
<packageId>Stardust3D.RJW.patch.Autopsy</packageId>
<description>This is a compatibility patch to enable 'Harvest Organs post mortem'/Autopsy to yield RJW bodyparts.

View file

@ -2,5 +2,5 @@
<Manifest>
<identifier>RJW patch - Harvest Organs Post Mortem</identifier>
<version>5400.0.1.5</version>
<version>6020.0.1.5</version>
</Manifest>

View file

@ -0,0 +1,42 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.5.2.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RJW_patch_Autopsy_1.3", "RJW_patch_Autopsy_1.3.csproj", "{509F8663-1A3C-7F4F-0FF3-F7D2D2666D13}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RJW_patch_Autopsy_1.4", "RJW_patch_Autopsy_1.4.csproj", "{2164C009-3D12-7504-A10A-36EB5F05083A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RJW_patch_Autopsy_1.5", "RJW_patch_Autopsy_1.5.csproj", "{4B7144D9-6A87-43FF-72CA-99A21FC60BA2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RJW_patch_Autopsy_1.6", "RJW_patch_Autopsy_1.6.csproj", "{F4D7D007-61A7-DDC0-56E7-BAA4B04C2D63}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{509F8663-1A3C-7F4F-0FF3-F7D2D2666D13}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{509F8663-1A3C-7F4F-0FF3-F7D2D2666D13}.Debug|Any CPU.Build.0 = Debug|Any CPU
{509F8663-1A3C-7F4F-0FF3-F7D2D2666D13}.Release|Any CPU.ActiveCfg = Release|Any CPU
{509F8663-1A3C-7F4F-0FF3-F7D2D2666D13}.Release|Any CPU.Build.0 = Release|Any CPU
{2164C009-3D12-7504-A10A-36EB5F05083A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2164C009-3D12-7504-A10A-36EB5F05083A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2164C009-3D12-7504-A10A-36EB5F05083A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2164C009-3D12-7504-A10A-36EB5F05083A}.Release|Any CPU.Build.0 = Release|Any CPU
{4B7144D9-6A87-43FF-72CA-99A21FC60BA2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4B7144D9-6A87-43FF-72CA-99A21FC60BA2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4B7144D9-6A87-43FF-72CA-99A21FC60BA2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4B7144D9-6A87-43FF-72CA-99A21FC60BA2}.Release|Any CPU.Build.0 = Release|Any CPU
{F4D7D007-61A7-DDC0-56E7-BAA4B04C2D63}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F4D7D007-61A7-DDC0-56E7-BAA4B04C2D63}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F4D7D007-61A7-DDC0-56E7-BAA4B04C2D63}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F4D7D007-61A7-DDC0-56E7-BAA4B04C2D63}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {DCFFD481-5BB8-4A48-BF2E-5FE881B5FC23}
EndGlobalSection
EndGlobal

View file

@ -3,7 +3,7 @@
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{F17C6B3F-BA9D-4133-A201-1265A64BCB71}</ProjectGuid>
<ProjectGuid>{f6000eff-8113-444d-b3a9-5e4c2bf865e4}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>RJW_patch_Autopsy</RootNamespace>
@ -13,10 +13,10 @@
<TargetFrameworkProfile>
</TargetFrameworkProfile>
<LangVersion>11</LangVersion>
<Copyright>©2024 Stardust3D</Copyright>
<Copyright>©2025 Stardust3D</Copyright>
<Company>Stardust3D</Company>
<AssemblyVersion>5400.0.1.5</AssemblyVersion>
<FileVersion>5400.0.1.5</FileVersion>
<AssemblyVersion>6020.0.1.5</AssemblyVersion>
<FileVersion>5630.0.1.5</FileVersion>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>RJW_patch_Autopsy.snk</AssemblyOriginatorKeyFile>
<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' ">
<OutputPath>bin\Release\1.3\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<OutputPath>bin\Debug\1.3\</OutputPath>
</PropertyGroup>
<ItemGroup>
<None Remove="1.4\**"/>
<None Remove="1.5\**"/>
</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="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>
<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 Include="RJW">
<HintPath>..\..\..\rjw-base\1.3\Assemblies\RJW.dll</HintPath>
<HintPath>..\dependencies\rjw\1.3\Assemblies\RJW.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>

View file

@ -3,7 +3,7 @@
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{fc20ca27-4400-4aac-99af-f18cafac942e}</ProjectGuid>
<ProjectGuid>{9bdc76c6-9494-462e-923e-c98c079a7494}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>RJW_patch_Autopsy</RootNamespace>
@ -13,10 +13,10 @@
<TargetFrameworkProfile>
</TargetFrameworkProfile>
<LangVersion>11</LangVersion>
<Copyright>©2024 Stardust3D</Copyright>
<Copyright>©2025 Stardust3D</Copyright>
<Company>Stardust3D</Company>
<AssemblyVersion>5400.0.1.5</AssemblyVersion>
<FileVersion>5400.0.1.5</FileVersion>
<AssemblyVersion>6020.0.1.5</AssemblyVersion>
<FileVersion>6020.0.1.5</FileVersion>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>RJW_patch_Autopsy.snk</AssemblyOriginatorKeyFile>
<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' ">
<OutputPath>bin\Release\1.4\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<OutputPath>bin\Debug\1.4\</OutputPath>
</PropertyGroup>
<ItemGroup>
<None Remove="1.3\**"/>
<None Remove="1.5\**"/>
</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="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>
<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 Include="RJW">
<HintPath>..\..\..\rjw-base\1.4\Assemblies\RJW.dll</HintPath>
<HintPath>..\dependencies\rjw\1.4\Assemblies\RJW.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>

View file

@ -3,7 +3,7 @@
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{25a0821a-6b42-4fb0-a454-0ad22a7716e7}</ProjectGuid>
<ProjectGuid>{fa9a4a99-5a8e-4a19-9b84-940e4ac26e76}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>RJW_patch_Autopsy</RootNamespace>
@ -13,10 +13,10 @@
<TargetFrameworkProfile>
</TargetFrameworkProfile>
<LangVersion>11</LangVersion>
<Copyright>©2024 Stardust3D</Copyright>
<Copyright>©2025 Stardust3D</Copyright>
<Company>Stardust3D</Company>
<AssemblyVersion>5400.0.1.5</AssemblyVersion>
<FileVersion>5400.0.1.5</FileVersion>
<AssemblyVersion>6020.0.1.5</AssemblyVersion>
<FileVersion>6020.0.1.5</FileVersion>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>RJW_patch_Autopsy.snk</AssemblyOriginatorKeyFile>
<Description>This is a compatibility patch to enable 'Harvest Organs post mortem'/Autopsy to yield RJW bodyparts.</Description>
@ -24,27 +24,31 @@
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<OutputPath>bin\Release\1.5\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<OutputPath>bin\Debug\1.5\</OutputPath>
</PropertyGroup>
<ItemGroup>
<None Remove="1.3\**"/>
<None Remove="1.4\**"/>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Lib.Harmony" Version="2.3.3" />
<PackageReference Include="Lib.Harmony" Version="2.4.2" />
<PackageReference Include="Microsoft.CSharp" Version="4.7.0"/>
<PackageReference Include="Krafs.Rimworld.Ref" Version="1.5.4104" />
<PackageReference Include="UnlimitedHugs.Rimworld.HugsLib" Version="11.0.3" />
<PackageReference Include="Krafs.Rimworld.Ref" Version="1.5.4409" />
<PackageReference Include="UnlimitedHugs.Rimworld.HugsLib" Version="11.0.5" />
</ItemGroup>
<ItemGroup>
<Reference Include="Autopsy">
<HintPath>..\..\..\RimwoldAutopsy\1.5\Assemblies\Autopsy.dll</HintPath>
<HintPath>..\dependencies\Harvest-Post-Mortem-1.6\1.6\Assemblies\Autopsy.dll</HintPath>
</Reference>
<Reference Include="RJW">
<HintPath>..\..\..\rjw-base\1.5\Assemblies\RJW.dll</HintPath>
<HintPath>..\dependencies\rjw\1.5\Assemblies\RJW.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Remove="1.3\**"/>
<Compile Remove="1.4\**"/>
<Compile Remove="Patches\NewMedicalRecipesUtilityPatch.cs"/>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Remove="1.3\**"/>

View file

@ -0,0 +1,60 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')"/>
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{828ac463-72f1-4f6c-91e2-e0b7dae6c938}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>RJW_patch_Autopsy</RootNamespace>
<AssemblyName>RJW_patch_Autopsy</AssemblyName>
<TargetFramework>net48</TargetFramework>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
<LangVersion>11</LangVersion>
<Copyright>©2025 Stardust3D</Copyright>
<Company>Stardust3D</Company>
<AssemblyVersion>6020.0.1.5</AssemblyVersion>
<FileVersion>6020.0.1.5</FileVersion>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>RJW_patch_Autopsy.snk</AssemblyOriginatorKeyFile>
<Description>This is a compatibility patch to enable 'Harvest Organs post mortem'/Autopsy to yield RJW bodyparts.</Description>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<OutputPath>bin\Release\1.6\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<OutputPath>bin\Debug\1.6\</OutputPath>
</PropertyGroup>
<ItemGroup>
<None Remove="1.3\**"/>
<None Remove="1.4\**"/>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Lib.Harmony" Version="2.4.2" />
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
<PackageReference Include="Krafs.Rimworld.Ref" Version="1.6.4633" />
<PackageReference Include="UnlimitedHugs.Rimworld.HugsLib" Version="12.0.0" />
</ItemGroup>
<ItemGroup>
<Reference Include="Autopsy">
<HintPath>..\dependencies\Harvest-Post-Mortem-1.6\1.6\Assemblies\Autopsy.dll</HintPath>
</Reference>
<Reference Include="RJW">
<HintPath>..\dependencies\rjw\1.6\Assemblies\RJW.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Remove="1.3\**"/>
<Compile Remove="1.4\**"/>
<Compile Remove="Patches\NewMedicalRecipesUtilityPatch.cs"/>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Remove="1.3\**"/>
<EmbeddedResource Remove="1.4\**"/>
</ItemGroup>
<ItemGroup>
<Folder Include="Properties\" />
</ItemGroup>
</Project>

View file

@ -11,7 +11,7 @@ plugins {
alias(libs.plugins.versions)
}
version = "5400.0.1.5"
version = "6020.0.1.5"
val friendlyName = "rjw-patch-autopsy"
tasks.register<com.ullink.Msbuild>("buildC#_1.3") {
@ -50,10 +50,70 @@ tasks.register<com.ullink.Msbuild>("buildC#_1.5") {
// destinationDir = "build/msbuild/bin"
}
tasks.register<com.ullink.Msbuild>("buildC#_1.6") {
// either a solution file
// solutionFile = "${rootProject.name}.sln"
// or a project file (.csproj or .vbproj)
projectFile = file("${rootProject.name}/${rootProject.name}_1.6.csproj")
targets = listOf("Restore", "Clean", "Rebuild")
configuration = "Release"
// 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_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_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<com.ullink.Msbuild>("buildC#_1.6_debug") {
// either a solution file
// solutionFile = "${rootProject.name}.sln"
// or a project file (.csproj or .vbproj)
projectFile = file("${rootProject.name}/${rootProject.name}_1.6.csproj")
targets = listOf("Restore", "Clean", "Rebuild")
configuration = "Debug"
// destinationDir = "build/msbuild/bin"
}
tasks.register<Exec>("sign_1.3") {
dependsOn("buildC#_1.3")
workingDir = project.projectDir.resolve("${rootProject.name}/bin/Release/1.3/net472")
executable = "H:\\Windows Kits\\10\\bin\\10.0.22621.0\\x64\\signtool.exe"
executable = "C:\\Windows Kits\\10\\bin\\10.0.26100.0\\x64\\signtool.exe"
args = listOf(
"sign",
"/seal",
@ -71,7 +131,7 @@ tasks.register<Exec>("sign_1.3") {
tasks.register<Exec>("sign_1.4") {
dependsOn("buildC#_1.4")
workingDir = project.projectDir.resolve("${rootProject.name}/bin/Release/1.4/net472")
executable = "H:\\Windows Kits\\10\\bin\\10.0.22621.0\\x64\\signtool.exe"
executable = "C:\\Windows Kits\\10\\bin\\10.0.26100.0\\x64\\signtool.exe"
args = listOf(
"sign",
"/seal",
@ -89,7 +149,25 @@ tasks.register<Exec>("sign_1.4") {
tasks.register<Exec>("sign_1.5") {
dependsOn("buildC#_1.5")
workingDir = project.projectDir.resolve("${rootProject.name}/bin/Release/1.5/net48")
executable = "H:\\Windows Kits\\10\\bin\\10.0.22621.0\\x64\\signtool.exe"
executable = "C:\\Windows Kits\\10\\bin\\10.0.26100.0\\x64\\signtool.exe"
args = listOf(
"sign",
"/seal",
"/t",
"http://timestamp.digicert.com",
"/a",
"/n",
"Stardust3D",
"/fd",
"certHash",
"${rootProject.name}.dll"
)
}
tasks.register<Exec>("sign_1.6") {
dependsOn("buildC#_1.6")
workingDir = project.projectDir.resolve("${rootProject.name}/bin/Release/1.6/net48")
executable = "C:\\Windows Kits\\10\\bin\\10.0.26100.0\\x64\\signtool.exe"
args = listOf(
"sign",
"/seal",
@ -105,7 +183,11 @@ tasks.register<Exec>("sign_1.5") {
}
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_1.6", "copy_about")
}
tasks.register("copy_debug") {
dependsOn("copy_1.3_debug", "copy_1.4_debug", "copy_1.5_debug", "copy_1.6_debug", "copy_about")
}
tasks.register<Copy>("copy_about") {
@ -131,6 +213,36 @@ tasks.register<Copy>("copy_1.5") {
into(project.projectDir.parentFile.resolve("1.5"))
}
tasks.register<Copy>("copy_1.6") {
dependsOn("copyDll_1.6")
from(project.projectDir.resolve("${rootProject.name}/1.6"))
into(project.projectDir.parentFile.resolve("1.6"))
}
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_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_debug") {
dependsOn("copyDll_1.5_debug")
from(project.projectDir.resolve("${rootProject.name}/1.5"))
into(project.projectDir.parentFile.resolve("1.5"))
}
tasks.register<Copy>("copy_1.6_debug") {
dependsOn("copyDll_1.6_debug")
from(project.projectDir.resolve("${rootProject.name}/1.6"))
into(project.projectDir.parentFile.resolve("1.6"))
}
tasks.register<Copy>("copyDll_1.3") {
dependsOn("sign_1.3")
from(project.projectDir.resolve("${rootProject.name}/bin/Release/1.3/net472/${rootProject.name}.dll"))
@ -149,6 +261,36 @@ tasks.register<Copy>("copyDll_1.5") {
into(project.projectDir.parentFile.resolve("1.5/Assemblies"))
}
tasks.register<Copy>("copyDll_1.6") {
dependsOn("sign_1.6")
from(project.projectDir.resolve("${rootProject.name}/bin/Release/1.6/net48/${rootProject.name}.dll"))
into(project.projectDir.parentFile.resolve("1.6/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_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_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<Copy>("copyDll_1.6_debug") {
dependsOn("buildC#_1.6_debug")
from(project.projectDir.resolve("${rootProject.name}/bin/Debug/1.6/net48/${rootProject.name}.dll"))
into(project.projectDir.parentFile.resolve("1.6/Assemblies"))
}
tasks.register<Zip>("buildZip") {
dependsOn("clean", ":copy")
into("$friendlyName/1.3") {
@ -160,6 +302,9 @@ tasks.register<Zip>("buildZip") {
into("$friendlyName/1.5") {
from(project.projectDir.parentFile.resolve("1.5"))
}
into("$friendlyName/1.6") {
from(project.projectDir.parentFile.resolve("1.6"))
}
into("$friendlyName/About") {
from(project.projectDir.parentFile.resolve("About"))
}
@ -177,6 +322,7 @@ tasks.clean {
delete.add(project.projectDir.parentFile.resolve("1.3"))
delete.add(project.projectDir.parentFile.resolve("1.4"))
delete.add(project.projectDir.parentFile.resolve("1.5"))
delete.add(project.projectDir.parentFile.resolve("1.6"))
delete.add(project.projectDir.parentFile.resolve("About"))
}

@ -0,0 +1 @@
Subproject commit eabaf3d8fa247a49610c40557b136581322264fc

@ -0,0 +1 @@
Subproject commit bce98068239f6882dabb8be3933c94b3295c08ea

@ -0,0 +1 @@
Subproject commit ae81f930ff579aa28d69c2a6f4687194fb6b669a

@ -0,0 +1 @@
Subproject commit ae81f930ff579aa28d69c2a6f4687194fb6b669a

@ -0,0 +1 @@
Subproject commit eb57e81800770c31641f3bd92b8f32e42fcfa013

View file

@ -1,6 +1,6 @@
{
"sdk": {
"version": "8.0.0",
"version": "10.0.0",
"rollForward": "latestMajor",
"allowPrerelease": false
}

View file

@ -1,6 +1,6 @@
[versions]
versions = "0.51.0"
msbuild = "4.6"
versions = "0.52.0"
msbuild = "4.7"
[libraries]

Binary file not shown.

View file

@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME

10
Source/gradlew vendored
View file

@ -15,6 +15,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0
#
##############################################################################
#
@ -84,7 +86,7 @@ done
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
@ -112,7 +114,7 @@ case "$( uname )" in #(
NONSTOP* ) nonstop=true ;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
CLASSPATH="\\\"\\\""
# Determine the Java command to use to start the JVM.
@ -203,7 +205,7 @@ fi
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# 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.
# * 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.
@ -211,7 +213,7 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
-classpath "$CLASSPATH" \
org.gradle.wrapper.GradleWrapperMain \
-jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
"$@"
# Stop when "xargs" is not available.

6
Source/gradlew.bat vendored
View file

@ -13,6 +13,8 @@
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@rem SPDX-License-Identifier: Apache-2.0
@rem
@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@ -68,11 +70,11 @@ goto fail
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
set CLASSPATH=
@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
@rem End local scope for the variables with windows NT shell