Jump to content

NetImmerse Override Cleaner (SKSE Co-Save Cleaner Utility)


Recommended Posts

View File

A lightweight utility capable of deleting NetImmerse Override data from SKSE co-save files, thus decreasing both the sizes of those files and Skyrim save and load times.

 

Description. What kind of NIOverride data is stored in SKSE co-save file

 

Any NetImmerse Override modifications are saved directly to the SKSE co-save file every time one saves their game. Of course, NIOverride does nothing on its own and the amount and kind of data stored in SKSE save file is closely linked to the mods using NetImmerse Override.

 

RaceMenu is the most popular mod which utilizes NIOverride. In fact, NIOverride was designed by expired6978 specifically for RaceMenu to extend its capabilities. RaceMenu uses SKSE co-save files to store the overlays, expression definitions and all non-vanilla sliders settings and colours of your character or any NPCs edited directly by other mods.

 

XP32 Maximum Skeleton Extended (XPMSE) is yet another known mod which uses NIOverride to store all weapon styles, positions, rotations and scales in SKSE save file.

 

The NIOverride modifications mentioned above can be applied not only to your character, but also to any other NPC in game. Some of RaceMenu and most of XPMSE sliders can by accessed by Tattoo menu provided by Extensible Follower Framework (EFF). SlaveTats also allows you to manually apply overlays on NPCs.

 

All right, so why can SKSE co-save grow to such a tremendous size since any NIOverride modifications seem to be controlled by the user?

 

Firstly, it's because not all data stored in a save comes directly from the user. XPMSE itself needs to keep the skeletons data of the NPCs encountered during play through, from "at least 15 to 25 cells" (according to Groovtama, the creator of XPMSE; see this post). That data, however, is very lightweight and, although it may significantly increase the size of the save in the end, it should not be considered a bloat.

 

Secondly, it's due to the fact that the data may actually come from user when they decide to use entirely optional features of some popular mods, for example, XPMSE's weapon style randomiser. This feature does greatly improve Skyrim's immersion but it takes a toll on the final size of SKSE co-save because it needs to store the styles of all the NPCs you have encountered. Of course, the more NPCs you add to your game, the more data will be produced.

 

Moreover, the more mods that can alter NPC's appearance without your supervision you have (for example, Blush When Aroused with enabled NPCs option), then again, the more data will have to be kept in the SKSE save.

 

Side effects of too large SKSE co-save file

 

As far as my game and experience are concerned, a large SKSE co-save has the the significant influence on duration of Skyrim saving and loading process (about 2 seconds longer with 1 MB SKSE save file than with 20 KB file, on SSD). It neither destabilises Skyrim nor it causes it to crash more often. More data in SKSE save file simply means any IO operations will last longer.

 

The remedy

 

NetImmerse Override Cleaner will help you to reduce the size of your SKSE co-save files by deleting either all of the NIOverride data or the data of characters you do not wish to keep (see Excluded Actors for more info).
Keep in mind that data you delete will eventually come back and your save's size will grow once more after you play long enough and re-encounter some of the NPCs.
That is why it is recommended to clean your SKSE co-save files on regular basis, for example, when you begin to feel that it takes more and more time to save the game.

 

Using the tool

 

It's very straightforward. There are only two buttons, which is shown in the screenshots. The one button is for loading a desired SKSE co-save file and the second one is for cleaning and saving the file. A backup of original file is created automatically (with .bak extension).

 

Excluded actors list

 

You may enter here the reference IDs (refID) of all characters whose data you wish to preserve. Any characters who are not included in this list will have their NetImmerse Override data erased. See Description for more info about data that is stored by NIOverride in saves.
If this list is empty, the entire NetImmerse Override section will be deleted from SKSE co-save file.

 

Therefore, it is always recommended to keep at least your character's RefID (00000014). Otherwise the only way to preserve your character's data is by saving preset in RaceMenu BEFORE cleaning process and loading it AFTERWARDS.
This feature might be useful if you have a fixed number of NPCs manually edited by mods like EFF, SlaveTats, etc. and you really don't want to lose these NPCs' appearances.
IDs may be separated by a comma, space or new line. Actors whose IDs were not found in the SKSE save file will be omitted.

 

Ignoring mods load order

 

ID of every Skyrim object is strictly connected to the position of that object's parent plugin (ESP/ESM) in the mod load order. While the inner ID (the second, third and fourth byte) is always the same and unique within one plugin, its very first byte (the first two digits) indicates what is the position of the mod in the load order. So, for example, if you have a NPC defined by a mod which is sixth in the order and that NPC's ID is 010203, its in-game ID will be 06010203. If you move the mod to the tenth position, the next time you load the game the object's ID will be 0A010203.

 

This may be problematic if you, let's assume, want to create a rich list of excluded NPCs but you play different characters with different mods or have just sorted the mods with LOOT and some of the mods positions have changed. In order to make sure than the one particular actor is always preserved during cleaning, you would have to change their ID accordingly to the new position of the actor's parent plugin.

 

However, if you check the Ignore mods load order checkbox, the first byte of every excluded actor will be omitted. Therefore, there is a theoretical chance of more than one actor being excluded, but it's very unlikely to happen.
Note that you still must enter a valid 4 bytes long (8 digits) number. The first byte can be any, though (ex: 00).

 

Forewarned is forearmed

 

VirusTotal scan VirusTotal scan as a proof of my heart being in the right place:

 

Permissions

  • You are allowed to upload this tool to the other sites (except for Nexus mods), as long as you mention me as the author AND provide the users of those sites with a link to the most up-to-date version of the tool and its description (which, for the time being, shall be here on LoversLab).


  • Submitter
  • Submitted
    02/21/2017
  • Category
  • Requires
    .NET Framework 4.5.2 (99% chance you already have it, otherwise your computer wouldn't work properly)
  • Special Edition Compatible

 

Link to comment

Sorry if this is a stupid question but....

 

Is there a future performance improvement to using/doing this? Since the actual size of the skse co-save is always quite small for me (i.e. if i have a 12MB ESS file i have a 1.4 MB SKSE co save) so i've never found the space used itself to be an issue

Link to comment

If you are not bothered by load/save times, then no. The only benefit from cleaning NIOverride section from SKSE save file is faster process of loading or saving the game (especially saving).

The tool might be useful if have a great number of NIOverride dependant mods which tend to increase the size rapidly. In my case, my SKSE co-save file grows about 1 MB per 10 hours of play. Before I took the trouble to write this tool, I had had to manually delete SKSE section from my saves using hex editors (and I got bored of this).

Link to comment

If you are not bothered by load/save times, then no. The only benefit from cleaning NIOverride section from SKSE save file is faster process of loading or saving the game (especially saving).

The tool might be useful if have a great number of NIOverride dependant mods which tend to increase the size rapidly. In my case, my SKSE co-save file grows about 1 MB per 10 hours of play. Before I took the trouble to write this tool, I had had to manually delete SKSE section from my saves using hex editors (and I got bored of this).

 

Cheers for the explaintion

 

Link to comment

 

a large SKSE co-save has the the significant influence on duration of Skyrim saving and loading process

Interesting.

I'm experiencing problems with data of my follower that I changed using the "tattoo" racemenu: whenever I change something about my load order, like add or remove a plug-in, the body scales that I changed through "tattoos" get reset to default.

I thought this might be because my save is getting too large (28.7 + 4.7 MB after about 1700h on the same save) but according to what you wrote, there must be another reason for this issue that I need to find.

 

Thanks for the mod btw. I probably won't be using it right now because I'm not terribly concerned with load/save times. I'm a patient man, lol.

Link to comment

 

I'm experiencing problems with data of my follower that I changed using the "tattoo" racemenu: whenever I change something about my load order, like add or remove a plug-in, the body scales that I changed through "tattoos" get reset to default.

 

Now that is a curious observation. I've decided to see for myself.

I modified a particular character from 3DNPC using Tattoo menu and then changed the load order of 3DNPC. The next time I loaded my game, all of my edits to the character were gone. It implies that NIOverride doesn't know how to handle the change of load order. It treats the very same character as entirely new actor because it can't load his data from SKSE co-save, which was confirmed when I analysed a new SKSE save in a hex editor - there were two records for the "same" character. The old record was associated with the character's old refID and contained all of the modifications I applied to that character. The new record belonged to the character's new refID.

 

The reason why I haven't noticed it while writing this tool is because most of the time my load order is as solid as Snake himself.

If you are interested, I may think of a feature that will refactor old IDs in SKSE save according to the new load order. I don't make any promises, though. This would require the tool to search for the actor's ID inside of the plugins (ESP/ESM) to locate that particular ID and then change its first byte so that it matches the plugin's position in the load order.

Of course, the other possibility is to ask the user for actor's parent plugin's position in the load order during refactoring. But that would take away the joy of using the tool, wouldn't it?

Link to comment

Thank you for this tool IronBrother8800. Lately I've been having looooong saving issues with two of my profiles (30 +- 5 seconds on an SSD) and the only (Unfortunate) remedy was to delete the co-save file.

 

The next time this happens I shall try this tool for sure.

 

The saves are located in this directory:

C:\Users\[Your user name]\Documents\My Games\Skyrim\Saves

The quickest way to get there is from Start Menu (Windows 7). Just click the Documents under your avatar.

 

Or if you use MO it will be under:

 

[MO's location]\profiles\[profile's name]\saves

Link to comment

Thank you for this tool IronBrother8800. Lately I've been having looooong saving issues with two of my profiles (30 +- 5 seconds on an SSD) and the only (Unfortunate) remedy was to delete the co-save file.

 

The next time this happens I shall try this tool for sure.

 

The saves are located in this directory:

C:\Users\[Your user name]\Documents\My Games\Skyrim\Saves

The quickest way to get there is from Start Menu (Windows 7). Just click the Documents under your avatar.

 

Or if you use MO it will be under:

 

[MO's location]\profiles\[profile's name Perfect - Again, thank you!!!

Link to comment

 

 

I'm experiencing problems with data of my follower that I changed using the "tattoo" racemenu: whenever I change something about my load order, like add or remove a plug-in, the body scales that I changed through "tattoos" get reset to default.

 

Now that is a curious observation. I've decided to see for myself.

 

Thank you very much for your time and your research. It's always reassuring to know that a particular issue is not a problem on my side.

Seeing as there are plenty of bugs in NetImmersiveOverride (related to high heels) but ousnius seems uninterested in fixing them, as evidenced in the commentary box of his NiO Fixes mod on Nexus (#70581), this would be a good time for someone else to take the reins. Will it be you? ;)

 

Link to comment

Thank you so much. I don't know why Nioverride is taking up so much space in my skse co save and slowly bloating it as the game goes on. I still to this day cannot find out why, but this was the tool I was waiting for. Cleared my Skse cosave from 2000 kb to 300 kb back to normal. Forever indebted to you! THANK YOUUUUUUUU~!

Link to comment

My skse file was 2233 KB, this tool reduced it to 219 KB. Quicksave time reduced from 5+ sek til 1 sek. Most importantly the ctd's I often experienced both when loading from startup and also passing through city gates is reduced to a minimum. Thank you.

Link to comment

 

Thank you for this tool IronBrother8800. Lately I've been having looooong saving issues with two of my profiles (30 +- 5 seconds on an SSD) and the only (Unfortunate) remedy was to delete the co-save file.

 

The next time this happens I shall try this tool for sure.

 

The saves are located in this directory:

C:\Users\[Your user name]\Documents\My Games\Skyrim\Saves

The quickest way to get there is from Start Menu (Windows 7). Just click the Documents under your avatar.

 

Or if you use MO it will be under:

 

[MO's location]\profiles\[profile's name Perfect - Again, thank you!!!

 

Thank you for your response - works like a charm.  Again, your efforts are appreciated!

Link to comment

 

 

Thank you for this tool IronBrother8800. Lately I've been having looooong saving issues with two of my profiles (30 +- 5 seconds on an SSD) and the only (Unfortunate) remedy was to delete the co-save file.

 

The next time this happens I shall try this tool for sure.

 

The saves are located in this directory:

C:\Users\[Your user name]\Documents\My Games\Skyrim\Saves

The quickest way to get there is from Start Menu (Windows 7). Just click the Documents under your avatar.

 

Or if you use MO it will be under:

 

[MO's location]\profiles\[profile's name Perfect - Again, thank you!!!

 

Thank you for your response - works like a charm.  Again, your efforts are appreciated!

 

 

You are welcome.

Link to comment
  • 2 weeks later...
  • 1 month later...

Any chance of adding an option for clearing only specified NPCs?

 

Well, there is currently an option to not clear specified NPCs, so from a mathematical point of view you can achieve what you want by finding a complement of the excluded actors set. However, this would be a very tedious and almost impossible process, since one does not know what NPCs might be kept in the SKSE save file. At least not in the current version of the tool.

I've been developing a new enhanced version of the program for quite some time. It displays a list of all NPCs (along with their names) whose data is present in the NetImmerse Override section of SKSE co-save. I guess I could add an option to change the way the program perceives the excluded NPCs. If the option was enabled, the excluded NPCs would become the NPCs who are supposed to be cleared rather than preserved.

I do not know, however, when the update will be released. There is a lot of testing and debugging that needs to be done.

Link to comment
  • 1 month later...

Can someone please help me. Whenever I use this and load a save I get an error saying

"The NetImmerse Override section seems to be damaged. Aborting loading." 

No matter what save I load this always occurs. What am I doing wrong?

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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • 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