Closed ghost closed 1 year ago
I'll think about how to address this in a future update. To me, even though "Force Vanilla Body Mesh Paths" lives in the TexMesh menu, it shouldn't be blocked by the Assets box because it's not a distributed asset. I'd want to have a separate blocking box for it instead. However, it's not as straightforward as it appears at first glance. If Hadvar and Ralof both get assigned the same torso record, but only Ralof is block from vanilla assets, the patcher would have to realize that and selectively duplicate the record for Hadvar. It's not impossible - I'd just have to keep an inventory of which records get assigned to which NPCs - but it'll take a bit of time to test and validate.
I implemented the requested functionality in 0.9.9. Since it was just one feature I did more extensive validation than I have been recently, but let me know if you see any issues.
Thanks, I'll test it later today or tomorrow asap. Just to clarify, what's the actual difference between "block body shape" and "block vanilla body mesh path forcing"?
Body shape is for Obody/AutoBody/BodyGen assignments. Vanilla Mesh Path is for setting the torso/hands/feet armature .nif files to the vanilla paths so that default bodyslide output applies to them, without needing mods like this one. It's basically a convenience function so you can build zeroe'd sliders and be done rather than making sure all of your custom skin NPCs have associated bodyslides.
Did try now on 0.9.9, still not working :(
Here's how it's set up on Plugin Block List and TexMesh tab:
Some NPCs:
I also tried blocking on the NPC block section (instead of the plugin block), but nothing changed... I also have no specific NPC assignments for any of the Mod's NPCs...
I think I might know what’s going on - if you block an NPC from vanilla body path, but not from assets, does it work? I have a bit of a hectic day today but I’ll see if I can dig in tonight or tomorrow.
Sure, no problem!
I've tested again, and got same behaviour... ran patcher again with same options as before, but with assets distribution unblocked. There are also some mismatches between the log information and the actual entries in sseedit 🤔
For Lorsara, verbose log looks okay, with textures being distributed, and body shape/height blocked. However, at the end, it assigns a height value despite the message at the beginning saying height was blocked. SSEedit shows a new height being assigned, and I couldn't find any patched texture entries... 😮
Isolde's verbose log is also similar, with textures being distributed and body shape/height blocked. Checking SSEedit, her height was patched, along with some Armor/Armor Addon entries, but I also couldn't find any patched textures:
Are you using daughters of bal original or 3.0? I just tested with the 3.0 version - if that's what you're using, you can't find patched texture entries for lorsara because the author didn't set her to use her own torso, so SynthEBD missed it and made a new one for her: Edit: Just checked the original daughters of bal and it does the same thing. There's a torso record, and a Worn Armor referencing it, but it's never assigned to the NPC. I saw that Better Vampires is a dependency - maybe it's supposed to assign that armor via script or something? I don't really know how that mod works.
I also can't repro the height blocking issue for her - if I block height assignment for her in the block list, I see in the verbose log that her height is blocked, and the output .esp doesn't have a height assigned to her. Is it possible you may have closed the patcher before writing the output file? I'm going to tweak it so that it no longer says "finished patching" before writing the output.
I'm using this one (https://www.nexusmods.com/skyrimspecialedition/mods/72836?tab=files&file_id=308819), mod page says it's 2.0. I'm on that version since I don't want to bother installing better vampires...
The strange issue with the height blocking, is that I get this message on verbose log:
<Report>Patching NPC Lorsara | 000Lorsara | 01517F:Daughters Of Bal.esp
Assets race: HighElfRaceVampire
Body Shape race: HighElfRaceVampire
Height race: HighElfRaceVampire
Head Parts race: HighElfRaceVampire
Current NPC is blocked from body shape assignment via the Plugin block list
Current NPC is blocked from height assignment via the Plugin block list
<MixInAssets>Assigning Assets for Mix In
<CombinationAssignment>Assigning a new asset combination
<ConfigFiltering>
<RulesEvaluation>
<ConfigDistributionRules>
...
And near the end of the file, there's another one confirming the height assignment:
...
Successfully generated combination: Diamond Skin 2.2 CBBE:HD|HN|HS.Def|HSP.Def|HDE.BDM|BD.Flat.PPT|BN.Smo.PV.RS|BS.Def|BSP|HAD|HAN|HAS.Def|HASP
Applied descriptor rules:
BN.Smo.PV.RS: Allowed Descriptors: Chest: [Small, Medium] | Build: [Average, Slim, Curvy]
</Seed-BN_Smo_PV_RS>
</CombinationGeneration>
Current combination is accepted.
</CombinationAssignment>
</Assets>
<MixInAssets>Assigning Assets for Mix In
Mix In CBBE 3BA Custom Normal Maps was chosen at random to NOT be assigned.
</MixInAssets>
<MixInAssets>Assigning Assets for Mix In
Mix In Mild Complexions (Female) was chosen at random to NOT be assigned.
</MixInAssets>
<Height>Assigning NPC height
Height set to: 1,0288854
</Height>
</Report>
Might be just a logging issue, since the resulting .esp is patched with the intended behaviour, which is height patching enabled:
Now regarding the textures... Yeah I haven't noticed before, but It seems the mod author missed the WNAN for Lorsara! However, the other NPCs do have a WNAM assigned, and they aren't being patched with the distributed textures 🤔 Here's Ludmila for example, she has a WNAM record, but it's not being touched by the patcher:
I also made sure to check the timestamp of synthebd output .esp, and it's the new one. And yeah, the 'finished patching' message before writing output can be misleading! I remember another user being confused by it too...
It's getting a bit late here, but tomorrow I'll try wiping out my synthebd output folder (I usually don't do that in between patcher runs, maybe MO2 is trolling me...) and run the patcher again, just to be sure.
Edit: Ah sorry, just noticed that on my last post I said height was blocked. That was not true, I always run the patcher with 'block height' disabled!
Check out the actual NPC record - none of the existing WNAMs will be edited. Any NPC with an existing WNAM will get a "_Patched" version that lives only in SynthEBD.esp
This has been standard SynthEBD behavior from the beginning, to ensure that if multiple NPCs start out by sharing the same worn armor but get different texture assignments, one won't overwrite the other.
I did however find the issue with the verbose logs - I copied over the logging text from the height blocking function to the head part blocking function and forgot to change "height" to "headparts". It's supposed to be notifying you that the NPC is blocked for headparts. I'll update that in the next release; thanks for leading me to this.
Yep, I understand. The problem here is that I'm not even getting the _patched record, despite texture distribution happening as stated on the verbose logs...
By the way, I've just noticed that I ran the patcher with consistency enabled! 😞 Could this be the problem?
I'll disable it now, leave the patcher running overnight and check tomorrow morning...
Huh. I have to admit I'm stumped. I just installed your Diamond config file (the one your verbose log screenshot says is being assigned to Isolde), disabled all other configs, set my block list to look exactly like yours, left consistency on, and everyone in Daughters of Bal shows new textures in SSEedit as per the screenshot in my previous post. I might need to see all of your patcher settings json files to diagnose, or maybe move them to a backup folder and see if it still happens with a regenerated "clean" install? Sorry I can't repro the issue; hopefully it's something straightforward...
Edit: Just occurred to me - any chance you might have accidentally unchecked either "Apply textures and meshes" in the general settings, or "allow config files to change NPC textures" in the TexMesh menu?
Nope, just checked "Apply textures and meshes" and "allow config files to change NPC textures", they are enabled.
I've got some good news however, it worked now :)
I unchecked "enable consistency", cleared the consistency file, and wiped the synthebd output folder prior to running the patcher again... who knows what could be happening... my money's on MO2 trolling me or consistency somehow keeping the previous patcher run confs...
Anyway, checking records again, I'm trying to understand if this is intended behaviour. Here's the patched NPC WNAN:
It points to this ARMA:
Shouldn't the model filename point to the mod's custom .nif path, since I've checked the "block vanilla body mesh path"?
This is the mod's original ARMA:
And this is the block options:
Ah - I was testing the block function using blocked NPCs rather than blocked plugins - there's an extra step for blocked plugins that I forgot to implement for vanilla mesh paths. I'll have that fixed in the next release. By the way, if you want to always have the latest fixes you can migrate to installation via Synthesis - since it always pulls the latest version from GitHub, even pre-release, it'll already have this change.
Fixed in 0.9.9.2.
Just tested, blocking by plugin is fine now :) Thanks again.
Piranha, I've found these records while checking things on SSEedit:
I have 'force vanilla body mesh paths' enabled on textures and meshes tab, and I also have the daughters of bal plugin as a blocked plugin on block list tab, and every toggle there enabled for blocking. Shouldn't the block list take priority?