Jump to content

SE Compatibility Tracking (Apr 23)


Recommended Posts

19 hours ago, tasairis said:

Can you send me both the original and resaved versions? I'd like to know how Creation Kit broke the mod.

And to confirm: your conversion process is strictly only opening the .esp in Creation Kit and immediately saving? Absolutely nothing else? Didn't manually change form numbers or anything?

 

As for why the unconverted version works, I believe that's because SSE plugin files are not completely different from Oldrim plugin files. If you imagine a plugin containing an NPC, edited or new it doesn't matter, that information gets stored in the .esp in a compact binary format in what the community calls "records". NPCs are NPC_ records. In Oldrim an NPC_ record will have been in a certain format, like form ID followed by full name followed by race and so on, while in SSE the same NPC_ record may have been changed to be form ID followed by race followed by full name. If SSE tries to load that record from the file it will have significant problems because the name will be where the race was supposed to be, and if the game doesn't crash immediately then the symptoms of that problem may not even be apparent until 100 hours into your save. When it will be too late.

 

However it's quite possible - in fact I'm sure - that not all records changed like that. For example dialogue (primarily DIAL and INFO) may not have changed at all, so if a mod contained only dialogue changes then the Oldrim version could work just fine.

 

The problem is that unless you know the details you cannot be sure what's changed and what has not, which is why it's safest to open the mod in CK and resave. SSE CK is capable of understanding old mod file formats, and when saving it will transition the mod into the new format. But if doing so broke the mod then that's a problem...

I'm out of the city, but I'll send the files when I go back.

And yes, I only saved without touching anything else

Link to comment

I'm having an issue where when I install Creature Framework and MNC where all the wolves turn into red boxes with exclamation points in them.  All other creatures work just fine and dandy as far as I can tell.  As of my understanding this means it is missing a mesh, but I don't know how to fix it in the confines of those two mods.  The issue goes away when I uninstall them, but I would prefer to have them on while playing (a quick test I did after uninstalling them caused the mammoths to be in T poses and I would hate to do another full uninstall/reinstall seeing as I was just doing one).  I've already verified my files through steam and it said everything was okay, load order is managed by LOOT, and mods installed with NMM.

Link to comment
2 hours ago, maxmillean said:

I'm having an issue where when I install Creature Framework and MNC where all the wolves turn into red boxes with exclamation points in them.  All other creatures work just fine and dandy as far as I can tell.  As of my understanding this means it is missing a mesh, but I don't know how to fix it in the confines of those two mods.  The issue goes away when I uninstall them, but I would prefer to have them on while playing (a quick test I did after uninstalling them caused the mammoths to be in T poses and I would hate to do another full uninstall/reinstall seeing as I was just doing one).  I've already verified my files through steam and it said everything was okay, load order is managed by LOOT, and mods installed with NMM.

Are you sure you converted the Nifs?

Link to comment
4 hours ago, scipher99 said:

I did everything you listed but still no progress I'll keep trying and see if I can replicate what you did.

Because the files uploaded here didn't work for others, I tried it to reproduce it myself and got stuck again. That is bad.

But the good news are: We have everything here to make it work. At least I have seem to have it.  

Link to comment
3 hours ago, maxmillean said:

I'm having an issue where when I install Creature Framework and MNC where all the wolves turn into red boxes with exclamation points in them.  All other creatures work just fine and dandy as far as I can tell.  As of my understanding this means it is missing a mesh, but I don't know how to fix it in the confines of those two mods.  The issue goes away when I uninstall them, but I would prefer to have them on while playing (a quick test I did after uninstalling them caused the mammoths to be in T poses and I would hate to do another full uninstall/reinstall seeing as I was just doing one).  I've already verified my files through steam and it said everything was okay, load order is managed by LOOT, and mods installed with NMM.

Did you use any replacement mesh for the wolves?

Link to comment
6 hours ago, Pfiffy said:

Because the files uploaded here didn't work for others, I tried it to reproduce it myself and got stuck again. That is bad.

But the good news are: We have everything here to make it work. At least I have seem to have it.  

I think someone with programming skills should take a look at the CreatureFramework.psc and the registering and/or storing of the info in the .json files. Take for example the draugr in MNC

"skinName": "Draugr 0",
            "normalArmor": null,
            "arousedArmor": "__formData|MoreNastyCritters.esp|0x12cd", - registered under Armor in MNC.esp
            "RaceName": "Draugr", 
            "raceForm": "__formData|Skyrim.esm|0xd53",
            "skinForm": "__formData|Skyrim.esm|0x16ee3"

Of all these line to register in CF, only the normalarmor and the arousedarmor are not registered. everything else is registered in CF. 

 

in the creatureframework.psc -registering of .json files:

Spoiler

int jsonFiles = JValue.ReadFromDirectory("Data/creatures.d", ".json")
    if jsonFiles == 0
        CFDebug.Log("[Framework] Unable to read creatures.d directory")
    elseIf JMap.Count(jsonFiles) == 0
        CFDebug.Log("[Framework] Didn't find any JSON files in creatures.d")
    else
        JValue.Retain(jsonFiles)
        CFDebug.Log("[Framework] Found " + JMap.Count(jsonFiles) + " JSON files in creatures.d")

        string filename = JMap.NextKey(jsonFiles)
        while filename
            if reload || JArray.FindStr(jLoadedFiles, fileName) == -1
                int fileMap = JMap.GetObj(jsonFiles, fileName)
                if fileMap != 0 && JMap.Count(fileMap) > 0
                    CFDebug.Log("[Framework] Reading file " + fileName)
                    string modID = JMap.GetStr(fileMap, "modID")
                    string modName = JMap.GetStr(fileMap, "modName")
                    int modCreatures = JMap.GetObj(fileMap, "creatures")
                    int modCreatureCount = JArray.Count(modCreatures)
                    if modID != "" && modName != "" && modCreatures != 0 && modCreatureCount > 0
                        if !IsModRegistered(modID)
                            RegisterMod(modID, modName)
                        endIf

                        int c = 0
                        while c < modCreatureCount
                            int modCreatureMap = JArray.GetObj(modCreatures, c)
                            Race raceForm = JMap.GetForm(modCreatureMap, "raceForm") as Race
                            string RaceName = JMap.GetStr(modCreatureMap, "RaceName")
                            if raceForm != none && RaceName != ""
                                Armor skinForm = JMap.GetForm(modCreatureMap, "skinForm") as Armor
                                if !IsCreatureRegisteredToMod(modID, raceForm, skinForm)
                                    string skinName = JMap.GetStr(modCreatureMap, "skinName")
                                    Armor normalArmor = JMap.GetForm(modCreatureMap, "normalArmor") as Armor
                                    Armor arousedArmor = JMap.GetForm(modCreatureMap, "arousedArmor") as Armor 
                           
                                    bool stripArmor = JMap.GetInt(modCreatureMap, "stripArmor") as bool
                                    bool stripWeapons = !JMap.HasKey(modCreatureMap, "stripWeapons") || JMap.GetInt(modCreatureMap, "stripWeapons")
                                    Form[] stripFormBlacklist = CreatureFrameworkUtil.FormArrayFromJArray(JMap.GetObj(modCreatureMap, "stripFormBlacklist"))
                                    int[] stripSlotBlacklist = CreatureFrameworkUtil.IntArrayFromJArray(JMap.GetObj(modCreatureMap, "stripSlotBlacklist"))
                                    int[] restrictedSlots = CreatureFrameworkUtil.IntArrayFromJArray(JMap.GetObj(modCreatureMap, "restrictedSlots"))
                                    Armor normalArmorFemale = JMap.GetForm(modCreatureMap, "normalArmorFemale") as Armor
                                    Armor arousedArmorFemale = JMap.GetForm(modCreatureMap, "arousedArmorFemale") as Armor
                                    RegisterCreatureArmorSwapToMod(modID, raceForm, skinForm, RaceName, skinName, normalArmor, arousedArmor, stripArmor, stripWeapons, stripFormBlacklist, stripSlotBlacklist, restrictedSlots)
                                    if normalArmorFemale != none || arousedArmorFemale != none
                                        AddFemaleVariantToCreature(modID, raceForm, skinForm, normalArmorFemale, arousedArmorFemale)
                                    endIf                                
                                endIf
                            else
                                CFDebug.Log("[Framework] File " + filename + " creature " + c + " is missing its race or race name")
                            endIf
                            c += 1
                        endWhile

    JArray.AddStr(jLoadedFiles, fileName)
                    else
                        CFDebug.Log("[Framework] File " + fileName + " is missing a mod ID or name, or has no creatures")
                    endIf
                else
                    CFDebug.Log("[Framework] File " + fileName + " is invalid or empty")
                endIf
            else
                CFDebug.Log("[Framework] Already loaded file " + fileName + "; skipping")
            endIf

            fileName = JMap.NextKey(jsonFiles, fileName)
        endWhile

        JArray.Unique(jLoadedFiles)
        JValue.Release(jsonFiles)
        JValue.ZeroLifetime(jsonFiles)
    endIf

    CFDebug.Log("[Framework] Finished JSON registration")

 

Link to comment
50 minutes ago, Farass said:

I think someone with programming skills should take a look at the CreatureFramework.psc and the registering and/or storing of the info in the .json files. Take for example the draugr in MNC

"skinName": "Draugr 0",
            "normalArmor": null,
            "arousedArmor": "__formData|MoreNastyCritters.esp|0x12cd", - registered under Armor in MNC.esp
            "RaceName": "Draugr", 
            "raceForm": "__formData|Skyrim.esm|0xd53",
            "skinForm": "__formData|Skyrim.esm|0x16ee3"

Of all these line to register in CF, only the normalarmor and the arousedarmor are not registered. everything else is registered in CF. 

 

in the creatureframework.psc -registering of .json files:

  Hide contents

int jsonFiles = JValue.ReadFromDirectory("Data/creatures.d", ".json")
    if jsonFiles == 0
        CFDebug.Log("[Framework] Unable to read creatures.d directory")
    elseIf JMap.Count(jsonFiles) == 0
        CFDebug.Log("[Framework] Didn't find any JSON files in creatures.d")
    else
        JValue.Retain(jsonFiles)
        CFDebug.Log("[Framework] Found " + JMap.Count(jsonFiles) + " JSON files in creatures.d")

        string filename = JMap.NextKey(jsonFiles)
        while filename
            if reload || JArray.FindStr(jLoadedFiles, fileName) == -1
                int fileMap = JMap.GetObj(jsonFiles, fileName)
                if fileMap != 0 && JMap.Count(fileMap) > 0
                    CFDebug.Log("[Framework] Reading file " + fileName)
                    string modID = JMap.GetStr(fileMap, "modID")
                    string modName = JMap.GetStr(fileMap, "modName")
                    int modCreatures = JMap.GetObj(fileMap, "creatures")
                    int modCreatureCount = JArray.Count(modCreatures)
                    if modID != "" && modName != "" && modCreatures != 0 && modCreatureCount > 0
                        if !IsModRegistered(modID)
                            RegisterMod(modID, modName)
                        endIf

                        int c = 0
                        while c < modCreatureCount
                            int modCreatureMap = JArray.GetObj(modCreatures, c)
                            Race raceForm = JMap.GetForm(modCreatureMap, "raceForm") as Race
                            string RaceName = JMap.GetStr(modCreatureMap, "RaceName")
                            if raceForm != none && RaceName != ""
                                Armor skinForm = JMap.GetForm(modCreatureMap, "skinForm") as Armor
                                if !IsCreatureRegisteredToMod(modID, raceForm, skinForm)
                                    string skinName = JMap.GetStr(modCreatureMap, "skinName")
                                    Armor normalArmor = JMap.GetForm(modCreatureMap, "normalArmor") as Armor
                                    Armor arousedArmor = JMap.GetForm(modCreatureMap, "arousedArmor") as Armor 
                           
                                    bool stripArmor = JMap.GetInt(modCreatureMap, "stripArmor") as bool
                                    bool stripWeapons = !JMap.HasKey(modCreatureMap, "stripWeapons") || JMap.GetInt(modCreatureMap, "stripWeapons")
                                    Form[] stripFormBlacklist = CreatureFrameworkUtil.FormArrayFromJArray(JMap.GetObj(modCreatureMap, "stripFormBlacklist"))
                                    int[] stripSlotBlacklist = CreatureFrameworkUtil.IntArrayFromJArray(JMap.GetObj(modCreatureMap, "stripSlotBlacklist"))
                                    int[] restrictedSlots = CreatureFrameworkUtil.IntArrayFromJArray(JMap.GetObj(modCreatureMap, "restrictedSlots"))
                                    Armor normalArmorFemale = JMap.GetForm(modCreatureMap, "normalArmorFemale") as Armor
                                    Armor arousedArmorFemale = JMap.GetForm(modCreatureMap, "arousedArmorFemale") as Armor
                                    RegisterCreatureArmorSwapToMod(modID, raceForm, skinForm, RaceName, skinName, normalArmor, arousedArmor, stripArmor, stripWeapons, stripFormBlacklist, stripSlotBlacklist, restrictedSlots)
                                    if normalArmorFemale != none || arousedArmorFemale != none
                                        AddFemaleVariantToCreature(modID, raceForm, skinForm, normalArmorFemale, arousedArmorFemale)
                                    endIf                                
                                endIf
                            else
                                CFDebug.Log("[Framework] File " + filename + " creature " + c + " is missing its race or race name")
                            endIf
                            c += 1
                        endWhile

    JArray.AddStr(jLoadedFiles, fileName)
                    else
                        CFDebug.Log("[Framework] File " + fileName + " is missing a mod ID or name, or has no creatures")
                    endIf
                else
                    CFDebug.Log("[Framework] File " + fileName + " is invalid or empty")
                endIf
            else
                CFDebug.Log("[Framework] Already loaded file " + fileName + "; skipping")
            endIf

            fileName = JMap.NextKey(jsonFiles, fileName)
        endWhile

        JArray.Unique(jLoadedFiles)
        JValue.Release(jsonFiles)
        JValue.ZeroLifetime(jsonFiles)
    endIf

    CFDebug.Log("[Framework] Finished JSON registration")

 

And the most wonderful thing is: It has been working for me because I had the .esp from converting the .esm enabled. I still have to test a few things, because I'm not at the point, where everything worked as it should. This was why I had 2 MCM's, as it was working. But right now I am back at the point, where most of the creatures switch to the naked armors during sex scenes (not all) and to the aoused mesh when aroused.

 

I need some confimation, if this also works for others... 

 

 

 

 

 

Link to comment
8 hours ago, Mazhen said:

Are you sure you converted the Nifs?

I used the SSE NiF optimizer on the Wolf and Canine folders along with ran the CreatureFramework and MNC in through the creation kit.  Is something else that I missed that I need to use on the Nifs?

 

7 hours ago, Pfiffy said:

Did you use any replacement mesh for the wolves?

As far as I can tell from the mods that I have installed, the only ones that make changes to the wolfs are the XPMSE, FNIS creature pack, and CF and MNC.  The wolves return to normal when I uninstall MNC and CF as I said before so I am led to believe the issue is somewhere in there and possibly something I might not be doing correctly.  I just don't know what it is.

Link to comment
4 minutes ago, maxmillean said:

I used the SSE NiF optimizer on the Wolf and Canine folders along with ran the CreatureFramework and MNC in through the creation kit.  Is something else that I missed that I need to use on the Nifs?

 

As far as I can tell from the mods that I have installed, the only ones that make changes to the wolfs are the XPMSE, FNIS creature pack, and CF and MNC.  The wolves return to normal when I uninstall MNC and CF as I said before so I am led to believe the issue is somewhere in there and possibly something I might not be doing correctly.  I just don't know what it is.

Well, we are messing around with CF for a few days now...You are not the only one with problems...

Which version of MNC do you use?

Link to comment

Huh....well I guess I'll keep poking around trying to figure out what's causing the issue.

 

Update:  So it is something with MNC that is causing wolves to be missing their meshes even though the meshes are where they should be.  Not sure if it is a conflict with something else I have installed (even though I have no other mods that affect wolves), or I'm just not converting the mod correctly, or some other ghost in the machine reason.

Link to comment
1 hour ago, BazsiHUN said:

Anybody who was able to make SD+ to work, can please tell me how? :smile:

 

I have converted the mod, activated it, FNIS etc... but in game the mod not appear at all in MCM.

Only a couple people have reported trying it out, but it has worked for them. Make sure you have everything else it depends on converted as well. Then check your Papyrus log for error messages that might indicate a problem.

 

Also remember that sometimes MCM takes a while to register new menus.

Link to comment

@Notserious80 @Apollo04 and folks who had The Sisterhood of Dibella crashing underground:

 

NifScan identified a couple bad textures that will likely make Skyrim crash if not dealt with. Try out these versions because I haven't, nor do I even know where these textures are referenced from. (besides obviously being about white marble statues)

- textures\azmoscreens\statues\yoa08c_whitemarble.dds and \yoa08h_whitemarble.dds

Link to comment
1 hour ago, tasairis said:

Only a couple people have reported trying it out, but it has worked for them. Make sure you have everything else it depends on converted as well. Then check your Papyrus log for error messages that might indicate a problem.

 

Also remember that sometimes MCM takes a while to register new menus.

if you want to enforce the starting of MCM menus, try mcm kicker...its an oldrim mod, and complains about a missing SkyUI, but it does the job.

Link to comment
5 hours ago, Pfiffy said:

And the most wonderful thing is: It has been working for me because I had the .esp from converting the .esm enabled. I still have to test a few things, because I'm not at the point, where everything worked as it should. This was why I had 2 MCM's, as it was working. But right now I am back at the point, where most of the creatures switch to the naked armors during sex scenes (not all) and to the aoused mesh when aroused.

 

I need some confimation, if this also works for others... 

 

I will test now to see if its the same for me.  I should say something similar happened to another mod I ported a while back, it wouldnt work unless I got rid of the esm and had an esp instead, it didnt like being converted to esp then back to esm.  I forget which mod it was though, but it was something to do with the esm not working in SE.

Link to comment

@p3styk1tten and others testing Blush When Aroused:

 

 

Fixed NiOverride version checks: BWANPC.pex BWANPCRA.pex BWAroused.pex (obviously requires skee64.dll and Oldrim NiOverride.pex)

MfgConsoleFunc version updated from the last one I posted that pretends to support getting information but does not actually: MfgConsoleFunc.pex (requires having opparco's MfgConsole port)

 

All four files are required. These changes are also untested and I don't really expect BWA's manipulation of facial expressions to work properly with them in place because of the missing MfgConsoleFunc features. Without looking at the code because I'm tired and need to go to bed, I suspect BWA could possibly maybe be modified to not care about getting information.

 

edit: About the overlays themselves I have no idea. Remember for this to have any chance of working you may have to set face num overlays thing to some higher value - that's in the SKSE plugin INI, which will now be skee64.ini.

Link to comment
1 hour ago, infiniteone said:

I will test now to see if its the same for me.  I should say something similar happened to another mod I ported a while back, it wouldnt work unless I got rid of the esm and had an esp instead, it didnt like being converted to esp then back to esm.  I forget which mod it was though, but it was something to do with the esm not working in SE.

The main problem that I have is, that i can't reproduce it. When ever I have it running and try to make a pack out of my configuration I'm again where i was before.

 

What I can say for now is, that we have everything together, somewhere in the whole stuff we collected here is the solution. 

Link to comment
3 minutes ago, Pfiffy said:

The main problem that I have is, that i can't reproduce it. When ever I have it running and try to make a pack out of my configuration I'm again where i was before.

 

What I can say for now is, that we have everything together, somewhere in the whole stuff we collected here is the solution. 

Yeah, and we're seemingly mostly all using the same files right?  Admittedly I havnt downgraded jcontainers, but we're using the same CF, and MNC is so simple I dont think its the problem in its conversion.

 

Im doing a clean install now to see if its the same issue.

Link to comment
4 minutes ago, infiniteone said:

Yeah, and we're seemingly mostly all using the same files right?  Admittedly I havnt downgraded jcontainers, but we're using the same CF, and MNC is so simple I dont think its the problem in its conversion.

 

Im doing a clean install now to see if its the same issue.

Right now I'm too tired to do anything useful. what I can say, is that we need th edited .pex files from CF those who add the TAS.

And it seems to work better as .ESP (don't know why)  

Link to comment
39 minutes ago, Pfiffy said:

Right now I'm too tired to do anything useful. what I can say, is that we need th edited .pex files from CF those who add the TAS.

And it seems to work better as .ESP (don't know why)  

I just tried with no esm which was a no go, it never completes registering in CF MCM I left it for 30 min, with both the esp and esm together I got a lot of errors on papyrus and load, and it still didnt grab the aroused armor.    I think im ready to give up, CF needs some refactoring and isnt really portable as of yet.

Link to comment

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
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use