Jump to content

Recommended Posts

Posted
11 hours ago, sidfu1 said:

@nopse0 wasnt this fixed? i updated from slave tats 1.3.7 to .9  on a new game and instaled the slavetats gui mcp and  i get this old spam now that was fixed before.

 

wait scratch that looks like i disabled slavetatsng lol  probaly when i wast testing. let me see if that fixes it
image.png.686bf806644131c4cfe820dd193f64f1.png

 

 

but with this tought isnt about maybe roll everything into 1 now. 

 

Took me a while, until I had the context again, but now I know what you mean. Yes, we got this error a lot, when using FastTats together with Papyrus SlaveTats, because FastTats messed up the SlaveTats JContainer book-keeping. But slavetats gui mcp is written in C++ and uses  C++ SlaveTatsNG functions, it doesn't work at all with the old Papyrus SlaveTats.  And this error is from Papyrus SlaveTats, errors in SlaveTatsNG look different, and are logged in SlaveTatsNG.log, not in the console. So you are right, you must have had Papyrus SlaveTats active, not NG. But still, that you get this errors, shows that something is wrong with your SlaveTats JContainers data, that's not good.

I think, I will add a "Clear all SlavetTats data" to the next version, so you can reset everything, without having to start a new game.  If you are in Papyrus programming, you even could do it yourself, just calling "JDB.setObj(".slavetats", 0) should do the thing (and afterwards you would have to remove the orphaned RaceMenu overlays, the easiest way for this, would also be to simply remove all (I made a mod for this, on Nexus, "NiOverrideClean")

Posted

I have to apologize, I didn't know (did you?), that you can change in "SKSE Menu Framework" (MCP) the font size and also choose a classic, ImGui like, style. I still think, the font and style used by CatMenu looks a bit better (more crispy), but that's only minor differences, the MCP version is perfectly usable

Posted

Hi! I'm using the latest version of your mod on 1.5.97 and the overlays applied via RaceMenu are removed when I load a save. The mod doesn't seem to detect them because they're not showing up in the SKSE Menu. 

Posted
15 hours ago, ShadeStrikes said:

Hi! I'm using the latest version of your mod on 1.5.97 and the overlays applied via RaceMenu are removed when I load a save. The mod doesn't seem to detect them because they're not showing up in the SKSE Menu. 

You mean, you apply overlays with RaceMenu, but SlaveTats doesn't detect that the slots are used, and clears the overrides for these slots, because it thinks they are unused ? Yes, if you don't see them in the NiOverride display of the SlaveTats Gui, then SlaveTats really doesn't detect them. What might have to do with this, is RaceMenu, in fact, has two different arrays with overlay slots, one for each gender (because textures may be different for females and males, e.g. hairy or not hairy). Did you do a gender change recently :) ?

Posted
1 hour ago, ShadeStrikes said:

No, and I also tested it on a brand new character, and the issue persists...

 

No idea what this can be. Sounds more like a RaceMenu issue to me, that the overrides are not persisted in the savegame. Does 'skee64.log' show something ?

 

The Gui determines, if the actor is female with "actor->GetActorBase()->IsFemale()", and then reads all overrides the actor has with this flag, and displays them.

 

And SlaveTatsNG checks in 'synchronize_tattoos' the sex of the actor with "actor->GetActorBase()->GetSex() == 1" (principally the same), and calls the NiOverride functions for adding and removing nodes with this flag. Don't see what can go wrong with this.

 

And most important, SlaveTatsNG doesn't automatically calls 'synchronize_tattoos' when the game is loaded (but maybe other mods do this), so I guess the actor doesn't have the overrides right from the beginning.   

Posted (edited)

There is nothing diagnostic in skee64.log. I don't have much time to look into the code, so I'm taking a heuristic approach. Your mod is incompatible with ShowRaceMenu - NG. When either is disabled, the RaceMenu-applied overlays persist through saved game loading. Don't really know what the specific issue is though...

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

There is nothing diagnostic in skee64.log. I don't have much time to look into the code, so I'm taking a heuristic approach. Your mod is incompatible with ShowRaceMenu - NG. When either is disabled, the RaceMenu-applied overlays persist through saved game loading. Don't really know what the specific issue is though...

 

Ah, ok, this sounds like a good hint, will have a look at what ShowRaceMenu - NG is doing, how this collides.

Only problem, this seems to be closed source, at least I see no source link, and Google search Git + ShowRaceMenu - NG also shows nothing. So no chance to find out, what the problem is.

 

Maybe he is re-registering the NiOverride Papyrus functions at the VM to different addresses (and has his own management of overlays), so the address tables used by SlaveTatsNG for skee64.dll's before 1.6.640 (since this version, the function addresses can be queried with a SKSE function, and no tables are needed) are wrong. Can't you update to latest Skyrim/RaceMenu ? If not, you should check if the address offsets for 1.5.97 skee64.dll are still correct, when ShowRaceMenu-NG is also loaded (I documented in this thread, how the address offsets can be calculated).  Or, at least, when enabling the VM hook, you would see in the log, if the NiOverride Papyrus functions are registered twice at the VM, once when skee64.dll is loaded, and once when ShowRaceMenuNG.dll is loaded.

Edited by nopse0
Posted

the pink body bug started happening to me only on slavetats NG 0.8.2 ... downgrading to slavetats NG 0.8.1 fixed it. 

It is a bug in this specific version I believe 

Posted
5 hours ago, ShadeStrikes said:

Okay, so the source of the incompatibility and the reason SlaveTatsNG can't detect overlays is the skee64.dll supplied by UBE.

 

Strange, SlaveTatsNG has an address table for "Skyrim 1.5.97, UBE 2.0 U.0.7" in skee_addresses.json, so I don't understand, how this makes a difference. But glad, you found the problem.

Posted
36 minutes ago, Amrovich said:

the pink body bug started happening to me only on slavetats NG 0.8.2 ... downgrading to slavetats NG 0.8.1 fixed it. 

It is a bug in this specific version I believe 

 

No, I don't think, this is a bug (at least not from SlaveTatsNG). It simply doesn't set the diffuse texture property of the shaders of unused overlay slots to "blank.dds" anymore, but to "default.dds" (the same texture you see in RaceMenu for unused slots). This default.dds is a placeholder, I think, and not intended for being rendered. If setting alpha > 0 for a slot with "default.dds", you get pink body. One of your mods is using empty slots, but sets no texture.

Posted

Is there a reason why you put your papyrus source scripts in two different locations, even though both are typically valid?

 

I personally just like to keep them in one spot as that's the expected behavior for most mod setups. I would suggest moving all source scripts to /Source/Scripts.

Posted
56 minutes ago, Nuascura said:

Is there a reason why you put your papyrus source scripts in two different locations, even though both are typically valid?

 

I personally just like to keep them in one spot as that's the expected behavior for most mod setups. I would suggest moving all source scripts to /Source/Scripts.

 

When I patch something, I put the sources into the same folder as the originals, so it's guaranteed they overwrite the originals (if I remember it right, I once tried to change something in DDNG, but I edited the wrong sources, the DD ones, because they keep their sources in different folders, since then I have a horror about this confusion). While, for my own stuff, I used for a long time scripts/source, because I thought this is standard. But nowadays I use source/scripts, because CK uses this convention, then you can directly edit script fragments in it (without changing the CK configuration).

Posted

Ah gotcha. Yeah, on my end, I manually organize all my installed mods to put the source files into /Source/Scripts, which is why I saw your bisection in the first place. I’m just sick under ‘OCD’ lol

Posted (edited)
11 hours ago, Nuascura said:

Ah gotcha. Yeah, on my end, I manually organize all my installed mods to put the source files into /Source/Scripts, which is why I saw your bisection in the first place. I’m just sick under ‘OCD’ lol

Yes, manually putting everything into the same source folder is of course the best solution (because having two different source folders is a pain in CK, luckily there is 'pyro' for VS Code), but I am too unorganized, undisciplined and lazy to do this :) . Would be nice to have a Powershell/Bash script for this, i.e. iterate over the 'mods' folder from MO2, and move all 'scripts/source' folders to 'source/scripts'. Maybe someone already made such a script ? Ps: If not, => Claude

 

Opencode with LMStudio produced this:

 

Script written to MoveScriptSources.ps1. It will:
- Find every mod with scripts/source
- Skip mods that already have source/scripts
- Move scripts/source → source/scripts, creating the source parent if needed
- Clean up empty scripts folders after the move
- Report a summary of what was moved/skipped

 

(LL doesn't allow to copy scripts into messages, so I added the extender ".txt" to the script)

 

 

MoveScriptSources.ps1.txt

Edited by nopse0
Posted (edited)
7 hours ago, coyanimefreak said:

catmenu is deprecated? can you add support for skse menu framework?

I have, see files, SlaveTatsGUI-MCP. "MCP" is skse menu framework, "Mod Control Panel". You have to change font size, see second screenshot from description.

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

Getting an error on new game that says "slavetats requires nioverride or racemenu"

Is it literally saying this ? Because I don't find this message in the sources. Probably you don't have SlaveTatsNG installed, or something overwrites SlaveTats.pex from SlaveTatsNG.

 

If NIOverride/RaceMenu is not found, when SlaveTatsNG.dll is loaded, Skyrim won't start at all, because I call 'abort', if I don't find it. So, I guess it isn't loaded at all.

 

					std::string dll_name = config->skee_dll_name;
					if (dll_name.empty()) {
						std::string default_dll_name;
						if (GetModuleHandleA("skee64.dll") != NULL)
							default_dll_name = "skee64.dll";
						else if (GetModuleHandleA("skeevr.dll") != NULL)
							default_dll_name = "skeevr.dll";
						else {
							logger::info("skee dll name undefined");
							abort();
						}
						dll_name = default_dll_name;
					}

					HMODULE base_module = GetModuleHandleA(dll_name.c_str());
					if (!base_module) {
						logger::info("Module {} is not loaded", dll_name);
						abort();
					}
					logger::info("NIOverride base address: GetModuleHandleA({}) = {}", dll_name, (uintptr_t)base_module);
					char* base_addr = (char*)base_module;

					auto hash = slavetats_ng::utility::System::md5_hash("data/skse/plugins/" + dll_name);
					logger::info("{} md5 hash = {}", dll_name, hash);
					if (hash.empty()) {
						logger::info("Unable to calculate hash for dll {}", dll_name);
						abort();
					}

					auto table_it = offset_tables.find(hash);
					if (table_it == offset_tables.end()) {
						logger::info("Found no skee offset table for dll with hash {}", hash);
						abort();
					}

 

Edited by nopse0
  • 2 weeks later...
Posted

Do you still have to maually add more layers like in the non NG version to get more than 6 tattoo slots? If yes, can somone provide me with a link to a guide or explain it?

Posted

Skyrim just updated to 1.7.104 so SKSE also got updated so this mod needs to be updated for the latest SKSE or the game won't open with it installed

 

Posted (edited)
40 minutes ago, overlord115 said:

Skyrim just updated to 1.7.104 so SKSE also got updated so this mod needs to be updated for the latest SKSE or the game won't open with it installed

 

 

That's a problem, I am using the vcpkg 'commonlibsse-ng' from the vcpkg-colorglass repository, this hasn't been updated since 2-3 years. Don't want to use a newer commonlibsse version from Git, because those have compatibility problems on Windows8.1/Linux. I am waiting what the Devious Devices NG/Unforgiving Devices people will do, they use same commonlibsse vcpk, as I. Also RaceMenu and JContainers need an update, did they release a new version yet ?

 

{
  "default-registry": {
    "kind": "git",
    "repository": "https://github.com/microsoft/vcpkg",
    "baseline": "1de2026f28ead93ff1773e6e680387643e914ea1"
  },
  "registries": [
    {
      "kind": "git",
      "repository": "https://gitlab.com/colorglass/vcpkg-colorglass",
      "baseline": "6309841a1ce770409708a67a9ba5c26c537d2937",
      "packages": [
        "commonlibsse-ng"
      ]
    }
  ]
}

 

Edited by nopse0
Posted (edited)
7 hours ago, Spacehaven said:

Do you still have to maually add more layers like in the non NG version to get more than 6 tattoo slots? If yes, can somone provide me with a link to a guide or explain it?

 

Yes, of course, this is a major setting of RaceMenu, I wouldn't change this in a running game, this gives problems (at least decreasing the number of slots is catastrophal, raising, don't know, maybe).

 

Data/SKSE/Plugins/skee64.ini

Edited by nopse0
Posted
52 minutes ago, nopse0 said:

 

Yes, of course, this is a major setting of RaceMenu, I wouldn't change this in a running game, this gives problems (at least decreasing the number of slots is catastrophal, raising, don't know, maybe).

 

Data/SKSE/Plugins/skee64.ini

And what exsactly do I add there?
I found several settings but they were intended for nioverride

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