Jump to content

Recommended Posts

Posted

About your 'F6' problem, are you on Linux ? On Windows, virtual keycodes are used, which are the same for all keyboards, but on Unix the real keycodes from the hardware are used, which are different for each keyboard, you need the correct driver

Posted

for some reason this gives me CTD on startup which is shame because regular slavetats is pretty slow i am using

address library "All in one (all game versions)-32444-11-1770897704"
game version steam 1.6.1170.0
SKSE 0.2.2.6skse64.log
slavetats 1.3.9
slavetatsNG 0.8.9

it loads in SKSE64.log, and then it crashes on "sending message type 8 to plugin 20" with plugin 20 being SlaveTatsNG.dll

Posted
6 hours ago, XDbored said:

for some reason this gives me CTD on startup which is shame because regular slavetats is pretty slow i am using

address library "All in one (all game versions)-32444-11-1770897704"
game version steam 1.6.1170.0
SKSE 0.2.2.6skse64.log
slavetats 1.3.9
slavetatsNG 0.8.9

it loads in SKSE64.log, and then it crashes on "sending message type 8 to plugin 20" with plugin 20 being SlaveTatsNG.dll

 

Hm, I think 8 is 'kDataLoaded', and there happens this:

 

image.png.b56ca2ab116e8cc7648b05185ea94bf2.png

 

The JContainers and NiOverride (RaceMenu) interfaces get initialized. Do you have JContainers and RaceMenu installed ? If yes, what versions, latest from NexusMods ? Maybe redownloading and reinstalling helps, maybe a dll file is corrupt. 

 

 

 

Posted (edited)
1 hour ago, nopse0 said:

 

Hm, I think 8 is 'kDataLoaded', and there happens this:

 

image.png.b56ca2ab116e8cc7648b05185ea94bf2.png

 

The JContainers and NiOverride (RaceMenu) interfaces get initialized. Do you have JContainers and RaceMenu installed ? If yes, what versions, latest from NexusMods ? Maybe redownloading and reinstalling helps, maybe a dll file is corrupt. 

 

 

 

that is definitely it, i couldn't get my 4-2-9 SE version of jcontainers to load without CTD, so i was using the VR version of jcontainers 4-2-11 which caused CTD as soon as some other mod like slavetats NG tried to use it.

somehow i had installed a 8.1.0? renamed to a 4.2.9, probably via misclick in the MO2 name dropdown, new download real jcontainers 4.2.9 fixed the problem.
image.png.4254541b875300c39d54f32ea2d73291.png

Edited by XDbored
typo
Posted

Hey there, sorry to bother you but we just noticed that SlaveTatsNG
takes iNumOverlays only from skee64.ini and ignores skee64_custom.ini
see https://github.com/nopse0/SlaveTatsNG/blob/v0.8.1/src/nioverride_wrapper.cpp
vs SKEE64GetConfigOption https://github.com/expired6978/SKSE64Plugins/blob/master/skee64/main.cpp#L258
workaround is obviously making sure the correct number is also set in skee64.ini. 
just letting you know and putting the info out here in case some people have weird overlay problems, 
like us using the skee64_custom.ini to increase the number of slots and wondering why it didnt work.
Thank you for an awesome mod and all your hard work!

Posted (edited)

Hi, I am using SlaveTats calls in my mod with:


 

JMap.setInt(map, "color", colorTint)

JMap.setFlt(map, "invertedAlpha", 1.0 - alpha)

JMap.setInt(map, "glow", glow)

JMap.setInt(map, "gloss", 1) 

Slavetats.add_tattoo(anActor, map, slot)

 

 

Could you confirm that your SlaveTats NG is just a drop in in this case?

 

Or do I need to do some adjustments?

 

Cheers and thanks for the good work.

 

TAK

 

Edited by TrollAutokill
Posted
9 hours ago, TrollAutokill said:

Hi, I am using SlaveTats calls in my mod with:


 

JMap.setInt(map, "color", colorTint)

JMap.setFlt(map, "invertedAlpha", 1.0 - alpha)

JMap.setInt(map, "glow", glow)

JMap.setInt(map, "gloss", 1) 

Slavetats.add_tattoo(anActor, map, slot)

 

 

Could you confirm that your SlaveTats NG is just a drop in in this case?

 

Or do I need to do some adjustments?

 

Cheers and thanks for the good work.

 

TAK

 

 

Yes, confirmed. SlaveTatsNG overwrites SlaveTats.pex, and 'SlaveTats.add_tattoo' calls the native SlaveTatsNG function. If this works with SlaveTats, it will also work with SlaveTatsNG (but I don't know  how you initialize your 'map', it must also contain a valid 'texture', 'area' and 'section' from an installed SlaveTats tattoo) 

Posted
21 hours ago, nopse0 said:

 

Yes, confirmed. SlaveTatsNG overwrites SlaveTats.pex, and 'SlaveTats.add_tattoo' calls the native SlaveTatsNG function. If this works with SlaveTats, it will also work with SlaveTatsNG (but I don't know  how you initialize your 'map', it must also contain a valid 'texture', 'area' and 'section' from an installed SlaveTats tattoo) 

Thanks for the prompt reply.

 

The map is initialized, with


 

Int map = JMap.object()
JValue.retain(map)

JMap.setStr(map, key1, value1)

...

 

And that is used by SlaveTats to get the correct file and settings from the JSON file.

 

Said JSON file you can only update through the SlaveTats MCM.

 

 

  • 4 weeks later...
Posted

Hi, so I found this version of slavetats while going through a new install of Skyrim.

I read this in the description.

Disadvantages:
No ModEvents are send
 
So it seems this Slavetats NG is great because it has much better performance, but what does this 1 disadvantage mean in terms of the mods functionality? Am I correct in assuming certain mods will not work with this version then?
 
Posted (edited)
5 hours ago, ahsdg said:

Hi, so I found this version of slavetats while going through a new install of Skyrim.

I read this in the description.

Disadvantages:
No ModEvents are send
 
So it seems this Slavetats NG is great because it has much better performance, but what does this 1 disadvantage mean in terms of the mods functionality? Am I correct in assuming certain mods will not work with this version then?
 

This was asked often. I think there are no mods which use the SlaveTats mod events (or only very old LE ones). 1-2 years ago I was thinking about implementing this, and tested a bit, but imo the existing SlaveTats code creates far too many mod events, especially if you have a lot of overlay slots, each 'synchronize_tattoos' call causes lots of events

Edited by nopse0
Posted
10 hours ago, nopse0 said:

This was asked often. I think there are no mods which use the SlaveTats mod events (or only very old LE ones). 1-2 years ago I was thinking about implementing this, and tested a bit, but imo the existing SlaveTats code creates far too many mod events, especially if you have a lot of overlay slots, each 'synchronize_tattoos' call causes lots of events

To clarify for myself then, seems this is a good thing to use this mod. Few if any mods use the mod event code, and even then they bloat the game by spamming that function.

 

Posted (edited)

I was using SlaveTatsNG 0.8.1 with GUI 0.2.0, and got this weird problem... whenever a slavetat is updated on an npc (such as when applying DOM branding, or when applying tats directly via GUI), the NPC skin will turn purple (transparent slavetat over purple texture instead of over skin texture).

disable-enable the affected NPC, or save-load will fix this. But its very annoying.

...so I reverted to 0.5.1 where this problem does not occur. Weird...

Edited by lk74
add GUI error case
Posted (edited)
2 hours ago, lk74 said:

I was using SlaveTatsNG 0.8.1 with GUI 0.2.0, and got this weird problem... whenever a slavetat is updated on an npc (such as when applying DOM branding, or when applying tats directly via GUI), the NPC skin will turn purple (transparent slavetat over purple texture instead of over skin texture).

disable-enable the affected NPC, or save-load will fix this. But its very annoying.

...so I reverted to 0.5.1 where this problem does not occur. Weird...

Good description, I understand. Yes, strange. The first thing, which comes into my mind, is, that 0.5.1 was before I was executing 'synchronize_tattoos' via an SKSE task (before, in 0.5.1, this was done directly in the Papyrus threads, but this sometimes gave CTD's), so the timing, when the overrides are applied, has changed since then (now they are applied later, at the next vsync). Do you have any mods installed, which are doing skin overrides ? 

Edited by nopse0
Posted (edited)
Spoiler
1 hour ago, nopse0 said:

Do you have any mods installed, which are doing skin overrides ? 

Can this also be bacause of for example Bathing in Skyrim and wetfunction redux (it actually works fine, I guess)

 

How to fix already purple skin? Removing all tatoos and racemenu overlays HELPS but the mistake I noticed for example if I apply some overlay to slot_0 mods like Bathing in Skyrim puts overlay over it via racemenu and creates purple skin.

 

Edit. My bad, it must be Bathing is Skyrim bug. Still, sometimes this bug was prior to installing bathing. Apologies :D

 

Edited by REALnomad
Posted
15 hours ago, nopse0 said:

Good description, I understand. Yes, strange. The first thing, which comes into my mind, is, that 0.5.1 was before I was executing 'synchronize_tattoos' via an SKSE task (before, in 0.5.1, this was done directly in the Papyrus threads, but this sometimes gave CTD's), so the timing, when the overrides are applied, has changed since then (now they are applied later, at the next vsync). Do you have any mods installed, which are doing skin overrides ? 

 

that would be difficult to pinpoint, my modlist is very long...

 

though, if you could point me to a specific mod (or skse output log) I could dig a bit further, cuz I have no idea how textures or overlays work...

Posted
10 hours ago, lk74 said:

though, if you could point me to a specific mod (or skse output log) I could dig a bit further, cuz I have no idea how textures or overlays work...

 

I am only guessing, too, don't really know how this all works. From what I read, I gather, an actor has a skin. That's a set of textures, which is applied to the naked parts of the body. Then there are armors. A special case is the armor worn in the body slot, slot 32. It contains the mesh of the armor itself plus a mesh of the naked body. The textures from the skin are then applied to the naked body mesh. But the naked body mesh/armor can have "Armor Addons", which are applied on top of the naked body armor. This is what SlaveTats is using to apply its tattoos.

 

NiOverride (RaceMenu) has two kinds of functions, node override functions and skin override functions. The node override functions are what SlaveTats is using to add ArmorAddons to the naked body mesh/armor. But there are also mods, which are using the skin override functions to replace the skin with different textures (diffuse, normals, etc.). This is not the same as replacing the naked skin textures in the textures folder, because this is done dynamically at runtime and can be done on a per actor basis (I think).

 

An example for a skin override mod is https://www.nexusmods.com/skyrimspecialedition/mods/177893 (has links to other skin override mods: Wet Function Redux, Racial Skin Variance, Pregnancy mods).

 

I just had the idea, that maybe there are concurrency problems, when node and skin overrides are applied at the same moment in time, that's why I asked, if you have skin override mods. 

      

Posted

 

I had this problem too. I was using immersive hair growth, a tattoo to simulate body hair growth. The wet function was also enabled.

 

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...