Mirror of 1.4.7 from Lovers Lab

This commit is contained in:
ghostclinic3YTB 2023-04-03 21:47:48 -04:00
parent 161133e4e1
commit 9a3d9f4185
607 changed files with 11263 additions and 1309 deletions

View file

@ -16,7 +16,7 @@ namespace SizedApparel
{
public string raceName = null;
public bool overrideDef = false;
public bool asHumanlike = false;
public bool asHumanlike = true;
public float drawMinAge = -1; //pawn's Biological age. -1 to ignore.
public AlienRaceSetting(string raceName)
@ -32,7 +32,7 @@ namespace SizedApparel
{
Scribe_Values.Look(ref raceName, "raceName", null);
Scribe_Values.Look(ref overrideDef, "overrideDef", false);
Scribe_Values.Look(ref asHumanlike, "asHumanlike", false);
Scribe_Values.Look(ref asHumanlike, "asHumanlike", true);
Scribe_Values.Look(ref drawMinAge, "drawMinAge", -1);
}
@ -47,8 +47,12 @@ namespace SizedApparel
public static bool DetailLog = false;
public static bool autoClearCacheOnWriteSetting = true;
public static bool PreCacheOnLoad = true;
public static float PreCacheRandomFactor = 0.5f;
public static bool useBodyTexture = true;//for user who not use rimnudeworld
public static bool useGenderSpecificTexture = true;
public static bool matchBodyTextureToMinimumApparelSize = true;//for avoiding breasts cliping
@ -59,6 +63,23 @@ namespace SizedApparel
//Apply Target Pawn Category
public static bool ApplyHumanlikes = true; //Always true.
public static bool ApplyAnimals = false;
public static bool ApplyAnimalsPlayerFactionOnly = true; //TODO
public static bool ApplyMechanoid = false;
public static bool ApplyApparelPatchForMale = false; //only ApparelServerityWork.
public static bool ApplyColonists = true;
public static bool ApplySlaves = true;
public static bool ApplyPrisoner = true;
public static bool ApplyNeutralAndAlly = true;
public static bool ApplyHostile = false;
public static bool AnimationPatch = true;
//TODO: Standalone render bodyparts.
public static bool drawBodyParts = true;//for user who not use rimnudeworld
public static bool drawBreasts = true;
@ -76,7 +97,7 @@ namespace SizedApparel
public static bool useBodyPartsVariation = true;
public static bool showBodyPartsVariation = true;
public static bool autoJiggleBreasts = true;
public static bool breastsPhysics = false;
//RimNudeWorld
public static bool drawSizedApparelBreastsOnlyWorn = false;
@ -170,7 +191,16 @@ namespace SizedApparel
//force to use it. this is important thing.
//Scribe_Values.Look(ref useBreastSizeCapForApparels, "useBreastSizeCapForApparels", true);
//Apply Categories.
Scribe_Values.Look(ref ApplyAnimals, "ApplyAnimals", false);
Scribe_Values.Look(ref ApplyHumanlikes, "ApplyHumanlikes", true);
Scribe_Values.Look(ref ApplyMechanoid, "ApplyMechanoid", false);
Scribe_Values.Look(ref AnimationPatch, "AnimationPatch", true);
Scribe_Values.Look(ref useBodyTexture, "useBodyTexture", true);
Scribe_Values.Look(ref useGenderSpecificTexture, "useGenderSpecificTexture", true);
Scribe_Values.Look(ref matchBodyTextureToMinimumApparelSize, "matchBodyTextureToMinimumApparelSize", true);
Scribe_Values.Look(ref matchBreastToSupportedApparelSize, "matchBreastToSupportedApparelSize", true);
@ -238,6 +268,10 @@ namespace SizedApparel
//TODO: Humanlike Setting Per Race
//Scribe_Values.Look(ref alienRacesAllowHumanlikTextures, "alienRacesAllowHumanlikTextures");
//BreastsPhysics
//Scribe_Values.Look(ref breastsPhysics, "breastsPhysics", false);
base.ExposeData();
}
@ -283,7 +317,7 @@ namespace SizedApparel
{
if (pawn == null)
continue;
var comp = pawn.TryGetComp<ApparelRecorderComp>();
var comp = pawn.GetComp<ApparelRecorderComp>();
if (comp != null)
comp.SetDirty(clearPawnGraphicSet);
}
@ -311,7 +345,7 @@ namespace SizedApparel
rightRect = rightRect.ContractedBy(10f);
Rect scrollRect = new Rect(0, 0, leftRect.width - 30f, Math.Max(leftRect.height + (float)alienDefList.Count* alienRaceSettingHeight, 1f));
Widgets.BeginScrollView(leftRect, ref ScrollPos, scrollRect, true);
leftRect = new Rect(leftRect.x, leftRect.x, leftRect.width - 30f, leftRect.height + Math.Max((float)alienDefList.Count * alienRaceSettingHeight, 1f));
leftRect = new Rect(leftRect.x, leftRect.x, leftRect.width - 30f, leftRect.height + Math.Max((float)alienDefList.Count * alienRaceSettingHeight, 1f) + 250f);
listingStandard.Begin(leftRect);
listingStandard.maxOneColumn = true;
@ -330,13 +364,21 @@ namespace SizedApparel
{
ClearCache();
}
if (listingStandard.ButtonTextLabeled("RandomPreCache", "15 sec ~ 2 min"))
{
SizedApparelsDatabase.RandomPreCacheForApparels();
SizedApparelsDatabase.RandomPreCacheForBodyParts();
}
}
listingStandard.Gap();
listingStandard.Gap(8);
listingStandard.GapLine(5f);
listingStandard.Gap();
listingStandard.GapLine();
/*
listingStandard.Label("Optimization",-1,"");
//listingStandard.CheckboxLabeled("Debug Log", ref SizedApparelSettings.Debug, "Debug logs.\nDefault: false");
@ -358,10 +400,8 @@ namespace SizedApparel
//}
listingStandard.Gap(8);
listingStandard.Label("Other Mod Compatibility");
listingStandard.Gap(8);
listingStandard.GapLine(5f);
listingStandard.CheckboxLabeled(" Forced compatibility of unsupported apparel", ref SizedApparelSettings.ForcedSupportApparel, "It may have clipping issue.\nDefault: false");
listingStandard.CheckboxLabeled(" Force ignore unsupported apparel", ref SizedApparelSettings.ForcedSupportApparel, "It may have clipping issue from unsupported parts.\nDefault: false");
/*
@ -402,7 +442,7 @@ namespace SizedApparel
{
listingStandard.Label(" RimJobWorld is Actived ", -1, "");
}
listingStandard.GapLine(1);
listingStandard.Gap(12);
listingStandard.Label("AlienRace Compatibility (wip)", -1, "");
@ -443,26 +483,6 @@ namespace SizedApparel
listingStandard.Label(" AlienRace is not Actived ", -1, "");
}
//Rect outRect = new Rect(0f, 35f, rect.width, rect.height - 35f);
/*
const float alienSettingHeight = 80;
Rect outRect = listingStandard.GetRect(listingStandard.CurHeight);
outRect = new Rect(outRect.x, outRect.y, outRect.width, alienSettingHeight);
Rect viewRect = new Rect(0, 0, outRect.width - 16f, 100 );//alienDefList.Count * 30f
Widgets.BeginScrollView(outRect, ref ScrollPos, viewRect, true);
Widgets.Label(new Rect(0f, 0f, 30f, 10f), "hello");
Widgets.Label(new Rect(0f, 0f, 30f, 10f), "world");
*/
//Log.Message(alienDefList.Count.ToString());
//float h = alienDefList.Count <= 1 ? alienRaceSettingHeight : alienRaceSettingHeight * 1.8f;
//Rect rect = Race_ListingStandard.GetRect(h);
//rect.x = 0;
//rect.y = 0;
//Rect ScrollViewRect = new Rect(0, 0, rect.width - 16f, alienDefList.Count * alienRaceSettingHeight);
//Widgets.BeginScrollView(rect, ref ScrollPos, ScrollViewRect, true);
float h = alienDefList.Count * alienRaceSettingHeight;
Listing_Standard Race_ListingStandard = listingStandard.BeginSection(h);
foreach (var raceName in alienDefList)
@ -488,17 +508,17 @@ namespace SizedApparel
}
Race_ListingStandard.CheckboxLabeled("If Unsupported, Use Humanlike", ref raceSetting.asHumanlike, "This Race will use Humanlike if it doesn't have own textures. useful for race that Unsupported but simillar to human");
Race_ListingStandard.Label((raceSetting.drawMinAge <= 100 ? "" : "[overdrive]") + "SA BodyPart Draw Min Age: " + raceSetting.drawMinAge.ToString(), -1, "Lower than this age will not use Sized Apparel. Useful for BnC. -1 for disable");
raceSetting.drawMinAge = Race_ListingStandard.Slider(raceSetting.drawMinAge, raceSetting.drawMinAge <= 100 ? -1: 100, raceSetting.drawMinAge >= 100 ? 1000 : 100);
raceSetting.drawMinAge = Mathf.Round(Race_ListingStandard.Slider(raceSetting.drawMinAge, raceSetting.drawMinAge <= 100 ? -1: 100, raceSetting.drawMinAge >= 100 ? 1000 : 100));
Race_ListingStandard.Gap();
}
listingStandard.EndSection(Race_ListingStandard);
Widgets.EndScrollView();
//listingStandard.Gap(alienSettingHeight);
listingStandard.Gap(8);
listingStandard.GapLine(4f);
listingStandard.Gap(16);
listingStandard.Gap(8);
listingStandard.Label("RimNudeWorld Compatibility (WIP)", -1, "");
//listingStandard.CheckboxLabeled(" Don't Replace Body Texture On Nude", ref SizedApparelSettings.DontReplaceBodyTextureOnNude, "Only Replace BodyTexture On Not Nude. Trigers are Torso And Chests.\nDefault: False");
@ -547,18 +567,51 @@ namespace SizedApparel
SizedApparelSettings.drawBelly = true;
}
}
listingStandard.Gap(8);
listingStandard.GapLine(5f);
if (SizedApparelPatch.RimworldAnimationActive)
{
listingStandard.Label("RimworldAnimation (rjwAnimation) is Actived ", -1, "");
listingStandard.CheckboxLabeled(" Animated SizedApparel BodyParts (wip)", ref SizedApparelSettings.AnimationPatch, "this option may animated breasts jiggle during animation.\n but not copatable with rimnudeworld.\ndefault: true");
}
else
{
listingStandard.Label("RimworldAnimation (rjwAnimation) is not Actived ", -1, "");
}
listingStandard.End();
listingStandard.Begin(rightRect);
listingStandard.Label("SizedApparel System Apply (apparel and body parts)");
listingStandard.CheckboxLabeled(" Apply Humanlikes", ref SizedApparelSettings.ApplyHumanlikes, "Try to Apply SizedApparel to Humanlikes if The textures are valid.\nDefault: true");
listingStandard.CheckboxLabeled(" Apply Animals", ref SizedApparelSettings.ApplyAnimals, "Try to Apply SizedApparel to Animals if The textures are valid.\nDefault: false");
//TODO
/*
if (SizedApparelSettings.ApplyAnimals)
listingStandard.CheckboxLabeled(" Apply Player Faction Animals Only", ref SizedApparelSettings.ApplyAnimalsPlayerFactionOnly, "Default: true");
*/
listingStandard.CheckboxLabeled(" Apply Mechanoid", ref SizedApparelSettings.ApplyMechanoid, "Try to Apply SizedApparel to Mech if The textures are valid.\nDefault: true");
listingStandard.GapLine(5f);
listingStandard.Label("Apparel Patch (Breasts Sized Apparel)");
listingStandard.CheckboxLabeled(" Apply Apparel Patch for Male", ref SizedApparelSettings.ApplyApparelPatchForMale, "It Skips breasts size test for male. Do you need man with breasts...? may be not.\nDefault: false");
listingStandard.GapLine(5f);
listingStandard.Label("If you changed the option, try change apparels or reload save", -1);
listingStandard.Label("Body Part Render Option (wip)",-1,"standalone BodyPart Render System from this mod. It's for user who don't use RimNudeWorld\nIf you use RimNudeWorld, you should turn off this.");
listingStandard.CheckboxLabeled("Use Gender Specific Textures.", ref SizedApparelSettings.useGenderSpecificTexture,"Use Gender Specific texture for body and apparel if it's valid. \nDefault: true");
listingStandard.GapLine(1);
listingStandard.CheckboxLabeled("Draw Body Parts", ref SizedApparelSettings.drawBodyParts, "Draw Breasts..etc. when the pawn is wearing supported apparels. \nDefault: true");
if (SizedApparelSettings.drawBodyParts)
{
listingStandard.CheckboxLabeled(" Use (Sized Apparel) Body Texture", ref SizedApparelSettings.useBodyTexture, "change pawn's body texture when the pawn is wearing supported apparels. Recommanded\nDefault: true");
listingStandard.CheckboxLabeled(" Draw Muscle Overlay (wip)", ref SizedApparelSettings.drawMuscleOverlay, "\nDisable this option when you use RimNudeWorld");
listingStandard.CheckboxLabeled(" Draw Breasts", ref SizedApparelSettings.drawBreasts, "this option is why this mod exist.\nDefault: true");
@ -566,6 +619,7 @@ namespace SizedApparel
{
listingStandard.CheckboxLabeled(" Match Breasts size to supported apparels",ref SizedApparelSettings.matchBreastToSupportedApparelSize, "to avoid breasts clipping(when breasts are bigger), you need this option.\nDefault: true");
listingStandard.CheckboxLabeled(" draw Breasts on worn pawn only (RimNudeWorld)", ref SizedApparelSettings.drawSizedApparelBreastsOnlyWorn, "when the pawn is nude, the breasts graphic for sized apparel will be hidden. \nDefault: false" );
//listingStandard.CheckboxLabeled(" (Wip) Breasts Physics", ref SizedApparelSettings.breastsPhysics, "Breasts can be jiggled from animations. It may be heavy for performance. \ndefault = false");
}
listingStandard.CheckboxLabeled(" Draw Penis", ref SizedApparelSettings.drawPenis,"Disable this option when you use RimNudeWorld");
listingStandard.CheckboxLabeled(" Draw Vagina", ref SizedApparelSettings.drawVagina, "Disable this option when you use RimNudeWorld");