fix(?) invisible TF lowerbody #19

Merged
BorderOfExtacy merged 1 commit from tidgp/BOEPassion:fix/missing_tf_bottom into mergehell_2 2026-09-24 02:31:39 +00:00
Collaborator

teen female nude lowerbody is consistently invisible, with either jvsmith's latest meshes or those distributed with latest boepassion.
i have only guesses at what's going on and what the right fix is.

females get lowerbody from GetNaked -> Player.SimJunkBaseCASP -> ErectPeen -> junk.
SimJunkBaseCASP is supposed to be set in DoLoop during the loop through coolbodyshop (from xml).
this works if the part has a preset, but fails when the part is present with no preset.

if (simDescription.GetOutfit(OutfitCategories.Naked, 0).GetPartPreset(ResourceKey.FromString(PartBase)) != null)

as far as i can tell, the adult and elder parts have a preset, but the teen part does not (for both female & male). i don't know why that is, or why we care about the preset rather than the simple presence of the part (the way the upperbody part handling works).

i could have changed the DoLoop code to check for the part's presence in the outfit rather than for its preset, but because i don't understand that, i take a different route, with the code modified in more recent commits.
i change PenisInspection.OutfitParseLoop2 so that the player is assigned a lowerbody key (SimJunkBaseCASP) earlier in the same way it gets upperbody (nudeTopRK) and shoes (NudeFeetRK) keys. the DoLoop coolbodyshop code will overwrite these values with identical values for adult and elder females. males ignore SimJunkBaseCASP.

males get lowerbody from duplicated code in SwitchToPeener referencing Player.SimErectSIMO, which is set both by the same DoLoop coolbodyshop loop, and also by the earlier DoLoop if (Actor.IsMale) block that sets fallback values from tuning. as far as i can tell, adult and elder male lowers have presets, but teen male lower doesn't, so i think it's relying on this fallback block to function.

i don't know whether this is tied to which default replacement meshes are installed. this is untested with any others besides jvsmith latest and jvsmith boepassion.

this is untested with strap-ons, condoms, alternate lowerbodys, etc.

teen female nude lowerbody is consistently invisible, with either jvsmith's latest meshes or those distributed with latest boepassion. i have only guesses at what's going on and what the right fix is. females get lowerbody from `GetNaked` -> `Player.SimJunkBaseCASP` -> `ErectPeen` -> `junk`. `SimJunkBaseCASP` is supposed to be set in `DoLoop` during the loop through `coolbodyshop` (from xml). this works if the part has a preset, but fails when the part is present with no preset. https://gitgoon.dev/tidgp/BOEPassion/src/commit/b1f25f166b11a9dcc6edd9995438f7219cf70b0d/S3_Passion/BOE_Lovemaking/Player.cs#L2138 as far as i can tell, the adult and elder parts have a preset, but the teen part does not (for both female & male). i don't know why that is, or why we care about the preset rather than the simple presence of the part (the way the upperbody part handling works). i could have changed the DoLoop code to check for the part's presence in the outfit rather than for its preset, but because i don't understand that, i take a different route, with the code modified in more recent commits. i change `PenisInspection.OutfitParseLoop2` so that the player is assigned a lowerbody key (`SimJunkBaseCASP`) earlier in the same way it gets upperbody (`nudeTopRK`) and shoes (`NudeFeetRK`) keys. the DoLoop coolbodyshop code will overwrite these values with identical values for adult and elder females. males ignore `SimJunkBaseCASP`. males get lowerbody from duplicated code in `SwitchToPeener` referencing `Player.SimErectSIMO`, which is set both by the same DoLoop coolbodyshop loop, and also by the earlier DoLoop `if (Actor.IsMale)` block that sets fallback values from tuning. as far as i can tell, adult and elder male lowers have presets, but teen male lower doesn't, so i think it's relying on this fallback block to function. i don't know whether this is tied to which default replacement meshes are installed. this is untested with any others besides jvsmith latest and jvsmith boepassion. this is untested with strap-ons, condoms, alternate lowerbodys, etc.
tidgp force-pushed fix/missing_tf_bottom from b1f25f166b to a120513b9e 2026-09-22 21:33:35 +00:00 Compare
BorderOfExtacy merged commit e2d5661e75 into mergehell_2 2026-09-24 02:31:39 +00:00
Sign in to join this conversation.
No description provided.