Jump to content

Recommended Posts

Posted
On 2024/5/27 at AM2点17分, Inferno_inmate said:

Nothing of the above fixed this bug for me. But this one did the thing:

"data" : "textures\\actors\\character\\overlays\\default.dds"

It's the default overlay texture, shipped with RaceMenu in its BSA.

I just reloaded that preset from RM and the bug is gone. For now, at least...

 

IT JUST WORKS!

  • 2 months later...
Posted
1 hour ago, Strager said:

Just what exactly should I do to fix that bug? I kinda don't get it

 

IFF you use a Racemenu preset to modify/define your character, check the associated preset file that you use for an entry called "skin" in that jslot file, (located in /Data/SKSE/Plugins/CharGen/Presets/),  and IFF that entry is blank (which is normally why the skin coloration goes wonky), populate the blank "data" hash entry with the default body preset, which for player usually defined by "textures\\actors\\character\\overlays\\default.dds".

 

Racemenu seems to occasionally (and incorrectly) overwrite that entry with a blank entry.

This is the entry you're looking for

 

   "skinOverrides" : [
      {
         "firstPerson" : false,
         "slotMask" : 4,
         "values" : [
            {
               "data" : "",
               "index" : 7,
               "key" : 9,
               "type" : 2
            }
         ]
      }
   ],

 

If that entry does not exist, then your problem lies elsewhere.

  • 3 weeks later...
Posted
On 8/18/2024 at 2:55 AM, anjenthedog said:

 

IFF you use a Racemenu preset to modify/define your character, check the associated preset file that you use for an entry called "skin" in that jslot file, (located in /Data/SKSE/Plugins/CharGen/Presets/),  and IFF that entry is blank (which is normally why the skin coloration goes wonky), populate the blank "data" hash entry with the default body preset, which for player usually defined by "textures\\actors\\character\\overlays\\default.dds".

 

Racemenu seems to occasionally (and incorrectly) overwrite that entry with a blank entry.

This is the entry you're looking for

 

   "skinOverrides" : [
      {
         "firstPerson" : false,
         "slotMask" : 4,
         "values" : [
            {
               "data" : "",
               "index" : 7,
               "key" : 9,
               "type" : 2
            }
         ]
      }
   ],

 

If that entry does not exist, then your problem lies elsewhere.

It helps to load fixed preset. But for some reason every time I reload the game that bug appears again. It's easy to fix it by loading the preset, but still quite annoying. What can be the cause of that?

  • 1 month later...
Posted

I have had the glossy body issue ( male characters only) for a while. In my case, it turned out to be the original preset problem posted back in 2020. I created my own character profile and found the incorrect "skin override" entry in it, referring to the female texturepath  "\female\\femalebody_1_s.dds." I'm hesitant to delete the entire entry, so I simply corrected the texture path to "\male\\malebody_1_s.dds". I then entered racemenu again and applied the "new" prest onto my charactersave which fixed the issue for me. In case somebody does not know how to change that.

 

 

  • 3 weeks later...
Posted (edited)

Running in the same issue, and nothing seems to solve the problem.

Tried running script, didn't work (if I actually ran it correctly).
Tried adding "data" : "textures\\actors\\character\\female\\femalebody_1_s.dd" to the preset .jslot, didn't work.
Tried keeping it blank, didn't work.
Tried adding "data" : "textures\\actors\\character\\overlays\\default.dds", didn't work.

Nothing alarming seems to be overwriting the body or skin mods.

my mod list for the body:
- Caliente's Beautiful Bodies Enhancer -CBBE-
- Diamond Skin
- 3BA

I'm kind of lost and ran out of ideas. I could try to go through my full mod list for any pex files to see if it includes "AddSkinOverrideString" but it's extremely time consuming so I want to try any other options.

Can someone help me?
(this is done on a new game with a fresh mod list).

p.s. when I first launch a playthrough, it seems to work fine at first. However, when I equip a piece of armor - the body bugs out. After removing the armor, it doesn't revert and stays bugged.
Program used; NotePad++ & Mod Organizer 2 (Skyrim SE 1.5.97)

Edited by Straze
  • 2 weeks later...
Posted
On 10/27/2024 at 2:02 AM, Straze said:

Tried adding "data" : "textures\\actors\\character\\female\\femalebody_1_s.dd" to the preset .jslot, didn't work.

 

It should work, you need to save broken preset ingame first, only after that add this data to .jslot. Then reload this preset in game.

But it's temporary solution till next repeat of the bug, sadly. 
We need somebody to create a script to restore default skin path in .jslot file...

Posted
2 hours ago, Barry W. said:

We need somebody to create a script to restore default skin path in .jslot file...

 

That's a race condition, and it will never work. What you need is to fix the source of the problem which is either:

  1. The script that applies the override.
  2. The bug in RaceMenu.

One of these is far easier than the other.

Posted
21 hours ago, traison said:

 

That's a race condition, and it will never work. What you need is to fix the source of the problem which is either:

  1. The script that applies the override.
  2. The bug in RaceMenu.

One of these is far easier than the other.

 

1. I can't fix script because I can't code, and several mods are suspected in this bug. Even some clothing modes, as i suspect, can cause this bug.

2. RaceMenu can be fixed by its creators, I guess.

 

This problem will never be solved.
Unless you'll do a simple script to add "data" : "textures\\actors\\character\\female\\femalebody_1_s.dds" in .json. And in game f.e. we will run script by typing "bat..." in console.
For me personally it would be acceptable solution.

 

 

  • 2 weeks later...
Posted (edited)
On 11/5/2024 at 8:00 PM, Barry W. said:

 

It should work, you need to save broken preset ingame first, only after that add this data to .jslot. Then reload this preset in game.

But it's temporary solution till next repeat of the bug, sadly. 
We need somebody to create a script to restore default skin path in .jslot file...

Sorry for the late reply, been working on a big modlist.
As for the problem I am experiencing, it seems to be a problem with the RaceMenu version I am using.

I still play on Skyrim SE 1.5.97 and Racemenu v0.4.16 seems to have a problem where skin just bugs out when loading my own presets or exiting racemenu after making changes. For example, the face colour reverts back to the Preset skin colours if I made changes to the skin colour.

Apparently it is solved with the Racemenu Anniversary Edition v0.4.19.11 (and later), so I will need to update my Skyrim version - which I rather not do.

I'll just avoid presets and mods using them (Children of Lilith).

Edited by Straze
Posted (edited)
47 minutes ago, Straze said:

I still play on Skyrim SE 1.5.97 and Racemenu v0.4.16 seems to have a problem where skin just bugs out when loading my own presets or exiting racemenu after making changes.

 

When it comes to overrides and overlays, this is not an issue I've heard of; nor is it the same issue as is discussed in this thread. Most like what you're seeing is a corrupted entry in the preset you're loading. Fixing the jslot file would suffice for this. It could for instance be that you had a problematic mod (like the ones discussed in this thread) when you made the preset, as this kind of problem will transfer in RM presets regardless of whether the mod that created the issue is present or not. You can also create this issue yourself by removing a mod which was set as a skin override in a preset - with the mod removed, the texture the preset used will not be available either. RM may have checks for missing mods, but personally I wouldn't count on it.

 

47 minutes ago, Straze said:

For example, the face colour reverts back to the Preset skin colours if I made changes to the skin colour.

 

Not seen this either on 0.4.16 on 1.5.97.

 

47 minutes ago, Straze said:

Apparently it is solved with the Racemenu Anniversary Edition v0.4.19.11 (and later), so I will need to update my Skyrim version - which I rather not do.

 

There's a backported build of RaceMenu AE in UBE. It's the only of its kind that I'm aware of. Whether it fixes these specific issues (discussed in this thread) or not I do not know. I personally removed this build because of the following (new) issues:

 

* Skin overrides are unreliable: not restoring from previous session; removing does not update the texture.

* Skin overlays disappear after loading, or revert to the default color.

 

So basically the color issue you've been seeing is potentially going to get worse.

Edited by traison
Posted
On 11/16/2024 at 3:49 PM, traison said:

Most like what you're seeing is a corrupted entry in the preset you're loading.


Hmmm, an update on this situation.
I had indeed 2 preset mods that I wasn't using as I had my own preset, but deleting those did solve the issue. One of those 2 did include some extra .nifs files, perhaps the preset I made was conflicting with that.

Not sure entirely, but at least it seems to be fixed.

Posted
11 hours ago, Straze said:

extra .nifs files

 

In this case you should be looking for missing dds files, or empty entries in the jslot preset.

  • 1 month later...
Posted (edited)

I got the same skin glitch when I downloaded and installed a RaceMenu Preset, then I found it has the same paragraph in the .jslot:

 

 "skinOverrides" : [
      {
         "firstPerson" : false,
         "slotMask" : 4,
         "values" : [
            {
               "data" : "textures\\actors\\character\\female\\estrusfemalebody_1_s.dds",
               "index" : 7,
               "key" : 9,
               "type" : 2
            }
         ]
      }
   ],

None of my previous .jslots have these lines, but somehow all of them acquired this oil skin glitch (changing torso armor, or weight in RaceMenu) when I load them or load another character with different preset (jslot). Deleting the problematic .jslot and the character and all of it associated saves( I make a new one quite frequently so I don't care much) resolved the issue.

Edited by laleh
  • 1 month later...
Posted
On 2/14/2020 at 9:47 AM, mitchdickmin said:

I'm pretty sure it doesn't fix existing saves. But you can always try to open Racemenu and reload your preset (not sure if that works) or use the simple (but somehow dirty) fix and just install whatever mod is missing. If it's the estrus body specular map, you could also try to copy your normal female body specular to textures\actors\character\female\estrusfemalebody_1_s.dds. That should work.

 

Same should apply to any other missing overlay from a preset.

 

Replacing the estrus file did the trick for me at least. I'll take that as a reminder to try the simple stuff first next time.

  • 2 months later...
  • 2 weeks later...
Posted (edited)

Okay so after debugging this more, I can safely agreed that it does indeed has something to do with RaceMenu. So let's start at the top. If you download a Preset that contain a Skin overrides line in the the Jslot then chance is your save is corrupt. Starting a new game, deleting that line, using a new preset without the line, neither will solve it as it carry over to the new preset and or new game and this bug is tied to the skee64 in RaceMenu or RaceMenu itself you could say. If you must save your current playthrough, this is usually not recommended but as a last resort, replace the skee64 in your current Racemenu with a newer or older version then load your save, ignore the warning about missing mods, now this is a big if, if you can load and save your game afterward then you might be good to go and if you crash then you gonna have to look at your own mod list for RaceMenu dependency or something else is preventing you from saving or loading. First step is to open your preset Jslot file and delete the skin overrides line. Next is to re-grab your working version of skee64 and put it back into Racemenu. Last is to load your save file then go into showracemenu and apply the Preset that you edit. Test afterward by taking off your armor/clothing and wearing it again. If no glossy skin is present then you are good to go. Next time when downloading a Preset somewhere you might want to double check your Jslot for the skin overrides line because that could screw your whole playthrough or even a new one.

Edited by 666dragonborn666
Posted (edited)

The skin override is (afaik) meant to act as a fallback or "cleanup" position for housekeeping (in case the player texture is directly altered during game play)

 

One way or another, some tertiary mod, or the 'RaceMenuPresetSaveOperation'  ?script? ?function? they all seem to use, or maybe even USSEP, is overwriting the intended "hash" value with a text blank, and that is what is squarely at fault. Why is it deleting or overwriting with a blank? What is the intention of doing so?

 

Can't render what has no source address...so the _s file isn't represented, and we get that gold/copper hue

 

Has anyone asked why this particular layer is represented in the skin overrides and no other? (at least generally speaking... and at least speaking for all the presets I have... it's always that one texture layer and no others)

 

PS> "RaceMenuPresetSaveOperation" is just a madeup term I'm using to name the otherwise unknown savefile routine(s) going on in the background for *my eyes

Edited by anjenthedog
Posted (edited)
11 hours ago, 666dragonborn666 said:

If you download a Preset that contain a Skin overrides line in the the Jslot then chance is your save is corrupt.

 

Highly unlikely. The versions of RaceMenu I've tested have all been able to reset skin overrides when a jslot is loaded, as in, there was never any residual overrides from previous presets:

0-4-13

0-4-14

0-4-15

0-4-16 (1.5.97.0)

0-4-19-16 (1.6.1170.0)

3.4.5.0 (1.5.97.0, different fork, rare)

 

If you fix the problem as per the instructions in this thread (find my posts), and reapply the jslot file, the problem goes away for good. If you only fix a part of it, chances are the problem won't go away either:

  • Fixing only the jslot file will have it break again when the mod that's causing the problem reapplies its override.
  • Fixing only the mod that's causing the problem will not fix your character, as RM will remember the overriedes it has been given. You need something to edit overrides to get rid of the invalid entries. I personally just use notepad for this, as the json format is very human-readable.

 

11 hours ago, 666dragonborn666 said:

this bug is tied to the skee64 in RaceMenu

 

Depends on how you look at it. If it's other mods feeding RM invalid data, the problem is elsewhere. You could perhaps make the argument that if a textrure is missing, or has an empty value, RM should just ignore it. But since it doesn't, the responsibility falls on you as the modder to make sure that doesn't happen. In cases where a mod adds a valid override, and RM somehow loses that information and replaces it with an empty data value, that does very much smell like a RM or SKSE bug. Since I haven't seen this problem myself, I can't really comment on which one of these is occuring:

  • Some people report the issue happening with NPCs all over Tamriel. This could indicate some kind of limitation in how many NPCs can be stored in RM and it simply drops data for the overflow; or it has some other bug in it preventing it from successfully reading data for certain NPCs.
  • Others report the problem returning almost immediately after cleaning the jslot file, and they're seeing this on their player character. This to me is more a problem with the mod adding the override, as it doesn't seem likely that RM would fumble the value so quickly.

 

11 hours ago, 666dragonborn666 said:

First step is to open your preset Jslot file and delete the skin overrides line.

 

It is not a line, it's an array of objects. One of these objects has a key with an invalid value assigned to it. Look up the json file format if you want to learn more about this.

 

11 hours ago, 666dragonborn666 said:

replace the skee64 in your current Racemenu with a newer or older version then load your save.... Next is to re-grab your working version of skee64 and put it back into Racemenu.

 

Maybe this works because older RM versions can't read data stored by a newer version? Still, changing versions is not always an option when many game versions only have one compatible version to choose from.

 

11 hours ago, 666dragonborn666 said:

Next time when downloading a Preset somewhere you might want to double check your Jslot for the skin overrides line...

 

While not essential, it would at least allow you to see and make sure you have all the dependencies. While reading through the overrides array, you can also check the tintInfo array for any potentially missing makeup and warpaints.

Edited by traison
Posted (edited)
23 minutes ago, anjenthedog said:

The skin override is (afaik) meant to act as a fallback or "cleanup" position for housekeeping

 

Its literally what it says on the tin: overrides. You can use it to override any of the 9 (?) textures associated with a mesh. For instance, if you want your character to have a unique skin you can use this to give it a unique diffuse texture. I personally use it from my own version of FHU to apply pregnancy normal map overrides in stages as inflation is applied.

 

23 minutes ago, anjenthedog said:

One way or another, some tertiary mod, or the RaceMenuPresetSaveOpeeration  ?script? ?function? they all seem to use, or maybe even USSEP, is overwriting the intended "hash" value with a text blank, and that is what is squarely at fault.

 

The data key is supposed to have a texture path in it. But at some point this becomes an empty string. See my previous post for a couple of theories as to why this might happen. USSEP is not involved. These issues typically come from pregnancy normal map swappers, or mods that apply muscle normal maps based on some condition.

 

23 minutes ago, anjenthedog said:

Can't render what has no source address...so the _s file isn't represented, and we get that gold/copper hue

 

Yup, and whether this could be considered a bug or not I have no opinion on. From a lazy convenience and security point of view I'd obviously want to be able to feed a function whatever junk I can think of, but since RM is not a bank I'd say what its doing is ok. Who knows, maybe there's even some limitations imposed by the game engine or SKSE here.

 

23 minutes ago, anjenthedog said:

Has anyone asked why this particular layer is represented in the skin overrides and no other?

 

What others are you refering to? The overrides have keys and indexes assigned to them. Key 9 index 1 is the msn texture for instance. I have the indexes documented somewhere, but I can't find that now.

 

Edit: Here it is:

Spoiler

; List of known nodes:
; NOTE AddNodeOverride* does not work unless key 9 index 0 has been set first.
; This is mainly an issue on the Ovl* layers.
;
;  3BA
;  Body [Ovl0]
;  Body [Ovl1]
;  Body [Ovl2]
;  Body [Ovl3]
;  Body [Ovl4]
;  Body [Ovl5]
;  Feet [Ovl0]
;  Feet [Ovl1]
;  Feet [Ovl2]
;  Head [Ovl0]
;  Head [Ovl1]
;  Head [Ovl2]
;
; Actual index list:
; NOTE Only used by key 9.
;
;  Index    Texture
;  0        Diffuse
;  1        Normal
;  2        Environment mask / Subsurface tint
;  3        Glow / detail
;  4        Height
;  5        Environment
;  6        Multilayer
;  7        Backlight mask / specular
;  8        ???
;
; SlotMask list:
; NOTE Used by SkinOverride functions.
;
;  0x00000001        HEAD
;  0x00000002        Hair
;  0x00000004        BODY
;  0x00000008        Hands
;  0x00000010        Forearms
;  0x00000020        Amulet
;  0x00000040        Ring
;  0x00000080        Feet
;  0x00000100        Calves
;  0x00000200        SHIELD
;  0x00000400        TAIL
;  0x00000800        LongHair
;  0x00001000        Circlet
;  0x00002000        Ears
;  0x00004000        Unnamed
;  0x00008000        Unnamed
;  0x00010000        Unnamed
;  0x00020000        Unnamed
;  0x00040000        Unnamed
;  0x00080000        Unnamed
;  0x00100000        DecapitateHead
;  0x00200000        Decapitate
;  0x00400000        Unnamed
;  0x00800000        Unnamed
;  0x01000000        Unnamed
;  0x02000000        Unnamed
;  0x04000000        Unnamed
;  0x08000000        Unnamed
;  0x10000000        Unnamed
;  0x20000000        Unnamed
;  0x40000000        Unnamed
;  0x80000000        FX01

 

Edited by traison
Posted (edited)
18 minutes ago, traison said:

Its literally what it says on the tin: overrides. You can use it to override any of the 9 (?) textures associated with a mesh. For instance, if you want your character to have a unique skin you can use this to give it a unique diffuse texture. I personally use it from my own version of FHU to apply pregnancy normal map overrides in stages as inflation is applied.

 

 

Yep. I meant wrt to how it (specifically the "skinoverrides" array) appears to be used ?almost? exclusively in Racemenu jslots. Just one texture hash ... for the specular map femalebody_1_s.dds

 

BTW, I noticed your comment about having a list of slotMask/index/key/type values... nice... if/when you ever do run across it... I've wanted to experiment with the skinoverrides (since it's already there) but have no idea how to address anything but the specular layer.

lol.. missed your last note cool!

 

PS> what does this mean?

; NOTE AddNodeOverride* does not work unless key 9 index 0 has been set first.
; This is mainly an issue on the Ovl* layers.

 

Edited by anjenthedog
Posted
5 minutes ago, anjenthedog said:

I've wanted to experiment with the skinoverrides

 

When you do, use AddNodeOverrideString and related functions and you'll avoid the pizza hands problem. As far as I know, this isn't documented anywhere. I found it by just poking around.

Posted

Hi ive read through the thread and so far ive tried replacing the estrus file, and searching for the override (which doesn't seem to be there), and lastly the new save<load old save.

Is there anything else I can do? Im really lost..

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...