How to CLEAN your SAVEGAMES from BROKEN SCRIPTS - Tutorial - Solving C
Posted 27 March 2013 - 08:47 PM
I've used the instructions from the First Revision, several times over the past month, and I've NOT faced any significant issues so far.
The PDF is extremely detailed and has excellent screenshots to explain each step, with proper documentation on the risks involves, and what is to be expected before and after this script-cleaning exercise.
It is understandable that some script-based variable settings will be lost during the cleaning, but if the savegame is broken and Wrye Smash and other mod tools cannot help, then this kind of cleanups are the way to go.
I'll definitely try the new version in a couple of weeks, as my current savegame is working very stably and smoothly, thanks to this mod and the new nVidia 314.22 WHQL drivers.
Thanks and endorsed!
Posted 27 March 2013 - 10:18 PM
> some script-based variable settings will be lost during the cleaning
Actually, you will loose several thousands variable states. For example, in my case it is 6197 values. And please note that some differences I'm still fail to recognize. The tool won't restore the object references and arrays (that's why some people have problems with the black books).
It is not obvious that you can loose so much data, because (as you said) most variables are insignificant to the core gameplay and walkthrough. But it definitely breaks the immersion.
This is still work in progress and I'm trying to find a way to make this process much more safe. No promises.
Posted 28 March 2013 - 03:49 PM
Posted 28 March 2013 - 06:52 PM
my game save still has 2 invalid property references, a whole lot of missing classes and types....
How did you detect that? By Papyrus log? Or by the log of the tool?
Posted 29 March 2013 - 01:15 AM
Edited by sa547, 29 March 2013 - 01:16 AM.
Posted 30 March 2013 - 11:22 AM
So despite not having any CTD or broken games, i do know that i had tons of scripts running that are just not needed.
Followed the instructions to the letter. Did not loose anything, runs super smoother and better.
Thank you, endorsed.
PS: Everyone should take their time when doing this, do it once and do it right.
Posted 30 March 2013 - 11:51 AM
Edited by Tossapon, 30 March 2013 - 12:24 PM.
Posted 30 March 2013 - 01:03 PM
Actually, there are also two tables before and after the ScriptData (with the same record count). They are not mentioned in my description.
The format of the second table is the same as the records in ScriptData, script instances are located IN THE SAME ORDER as in the first table. I don't know their purpose and... they have no type 0.o
Did you work with bytecode already? Right now I'm working with script bodies, I was able to remove one particular script body from the section manually. I'm trying to discover more about the structure.
The author of TES V ESS Editor is also working on improving his tool
Posted 30 March 2013 - 01:30 PM
Edited by flexcreator, 06 April 2013 - 12:33 PM.
Posted 30 March 2013 - 02:52 PM
Actually I found 3 tables between ScriptInstance and ScriptData which is..
UnknownTable1[nCount1] <== First Table (6 bytes per record)
ArrayInfoTable[nArrayCount] <== Second table, Array ID, type and length.
UnknownTable2[nCount] <== Third table (5 bytes per record)
ScriptData[nInstanceCount + nCount1] <== This one got more records than total script instances and its relation with UnknownTable1 is still unknown to me.