There doesn't happen to be an autosaver for morrowind, is there? I always forget to periodically save and it's irritating to find out that my last autosave won't load. Is quicksave itself screwed up or could be just a little tool that will hit it every 10 mins or so but delete the last one when its going to save again.
Quicksave is bad. It tends to be corrupted quite a bit more than a regular save.
If you turn Auto Save When Rest on, it will auto save when you sleep.


Also: I had no idea quicksaves corrupted more, I just never used them because it was hard to remember to load a quicksave rather than a normal save.
QUOTE(Harlequin @ Jul 20 2008, 07:13 PM) *
Quicksave is bad. It tends to be corrupted quite a bit more than a regular save.

Is it a bad way to save just once or just the fact that it constantly gets overwritten that it gets corrupted?
QUOTE(Penguin Hunter @ Jul 20 2008, 07:17 PM) *
If you turn Auto Save When Rest on, it will auto save when you sleep.


Also: I had no idea quicksaves corrupted more, I just never used them because it was hard to remember to load a quicksave rather than a normal save.

I know about autosave when rest, it's just irritating when it won't load.
ask fligg next time he is on to make one. he probably could with all his scripting knowledge.
Some reasons, taken from many scattered posts by many different authors:

QUOTE
And don't use the quicksave function. With mods with complex scripts, that can take time to complete, the quicksave function can save the game state mid-script, as it were, busting stuff.

This doesn't surprise me. There is a school of thought that thinks this produces corrupt games. Since I stopped doing 'I got killed, let's reload' I've had a lot fewer issues.
It's a bit of a pain, but if you need to reload, quit Morrowind, and then load the save.


This was discussed a few months ago.
My findings:-
Never load a save game into a running game. Always load from a fresh game start. The engine does NOT seem to clear down all the data structures.
This includes quick/save load of course, which is why these are bad.


But regarding quicksave and autosave, it has been said that both of them save right away without taking care about running scripts (and whatnot) and that can cause corrupted saves.


I used to rotate all of my saves between 10 files, never using autosave and quicksave. However, during this game, I save to a new file every time. It doesn't take much more than a week before I hit 100 saves (then I delete them 50 at a time, backing up all of them that is a multiple of 10.) I believe it has definitely made a difference.
So I think it's starting to look like it's safe to say these things are known to cause corruption:
*Using Quick/Autosave
*Loading a game without quitting to desktop
*Using COC in exterior cells


Etc....


I think quicksave has a tendency to break running scripts, which is really bad with companion mods. That and it can become corrupted very easily by being overwritten.
Thanks for filling me in on the mid-script saving issues. I usually start saving periodically but then I get lazy or forget.

Jac, you lose tongue.gif
QUOTE(Pjstaab @ Jul 20 2008, 08:33 PM) *
Jac, you lose tongue.gif

unsure.gif I didn't know this was a competition. meh.gif
How odd. I don't think I've ever had a problem with a corrupted save, whether normal, quicksave or (sleep/wait) autosave.
QUOTE(Valandar @ Jul 20 2008, 10:54 PM) *
How odd. I don't think I've ever had a problem with a corrupted save, whether normal, quicksave or (sleep/wait) autosave.


Corrupted saves are like getting a woman pregnant, you may not know until months later, and by then you can't do anything about it.
QUOTE(Harlequin @ Jul 20 2008, 10:57 PM) *
Corrupted saves are like getting a woman pregnant, you may not know until months later, and by then you can't do anything about it.

24.gif
QUOTE(Celestina @ Jul 20 2008, 10:00 PM) *
24.gif


Indeed

thlmfao.gif


QUOTE(Harlequin @ Jul 20 2008, 09:57 PM) *
Corrupted saves are like getting a woman pregnant, you may not know until months later, and by then you can't do anything about it.


Well, since I don't have a sig this will now be it.
QUOTE(Harlequin @ Jul 20 2008, 07:29 PM) *
Some reasons, taken from many scattered posts by many different authors:
Etc....

I always use quicksaves. I had never had any problem with it, except when I make a mistake (in-game).
This would be extremely easy to do with something like MGE.

MGE may even have a function to do this somewhere shrug.gif
QUOTE(Yacoby @ Jul 21 2008, 10:23 AM) *
This would be extremely easy to do with something like MGE.

MGE may even have a function to do this somewhere shrug.gif

Create a timer, and set it to tap f5 once every 5 mins or so. smile.gif

I did actually write something to do this, before MGE existed. You can still grab it from here.
OMG!!!!!! Its Timeslip!!!!!!!!!!
QUOTE(fashayshay @ Jul 21 2008, 08:49 AM) *
OMG!!!!!! Its Timeslip!!!!!!!!!!


You recognized that masked avatar, did you? foodndrink.gif

sieboldii
QUOTE(Timeslip @ Jul 21 2008, 08:44 AM) *
Create a timer, and set it to tap f5 once every 5 mins or so. smile.gif

I did actually write something to do this, before MGE existed. You can still grab it from here.


disapprove.gif Not F5, the evil quicksave key.

Yacoby, could you go about doing this extremely easy thing in MGE?
QUOTE(Harlequin @ Jul 20 2008, 09:57 PM) *
Corrupted saves are like getting a woman pregnant, you may not know until months later, and by then you can't do anything about it.

haha thats going in my sig!!! tongue.gif only fair sine you have me in yours heee.gif
QUOTE(Pjstaab @ Jul 21 2008, 03:48 PM) *
disapprove.gif Not F5, the evil quicksave key.

Yacoby, could you go about doing this extremely easy thing in MGE?

Unfortunately, that really easy thing was setting up a timer to hit f5, unless Yacoby knows something about mge that I don't. tongue.gif

You can also set it up to delete the old quicksave file before making a new one, but that doesn't really help the saving mid script problem.
QUOTE(Timeslip @ Jul 21 2008, 04:59 PM) *
unless Yacoby knows something about mge that I don't. tongue.gif

Apart from MGE becoming self aware, no.

QUOTE
You can also set it up to delete the old quicksave file before making a new one, but that doesn't really help the saving mid script problem.

I am confused about this saving mid script thing, as to my mind it doesn't make any sense. Why, when the scripting engine runs in the same thread as the main game engine would the developers even write in the ability to stop processing a script, unless of course they were so eager to save they couldn't wait 1/60th of a second...
QUOTE(sieboldii @ Jul 21 2008, 10:48 AM) *
You recognized that masked avatar, did you? foodndrink.gif

sieboldii

No I saw the name. tongue.gif
QUOTE(Yacoby @ Jul 21 2008, 05:06 PM) *
Apart from MGE becoming self aware, no.
<snip>
Damn. I've been running a Skynet node?
QUOTE(Yacoby @ Jul 21 2008, 05:06 PM) *
<snip>
I am confused about this saving mid script thing, as to my mind it doesn't make any sense. Why, when the scripting engine runs in the same thread as the main game engine would the developers even write in the ability to stop processing a script, unless of course they were so eager to save they couldn't wait 1/60th of a second...
Empirical evidence seems to suggest they were, but hey...

I guess they never thought that mods would be quite as extensive as they are now. I seem to remember hearing that the idea of someone running as many as :gasp: 10 mods was not considered either...
congrats harlequin, you have successfully been quoted by 3 other board members.
i did a bit of research.
and i think that normal saving is no different that quicksaving.
both methods of saving use the same functions in Morrowind.
that means that quicksaving shouldn't produce more faulty savegames than normal saving would.
that also means, that i can call the save routine myself.
QUOTE(Harlequin @ Jul 21 2008, 02:57 AM) *
Corrupted saves are like getting a woman pregnant, you may not know until months later, and by then you can't do anything about it.

OMG biggrin.gif biggrin.gif 24.gif 24.gif 24.gif i reeally fell off my chair biggrin.gif
QUOTE(Tp21 @ Jul 22 2008, 01:44 PM) *
that also means, that i can call the save routine myself.

Which also means, I assume, you can work out if the game has been saved, and what name

This would be useful for saving data in MWSE...
QUOTE(Yacoby @ Jul 22 2008, 03:17 PM) *
Which also means, I assume, you can work out if the game has been saved, and what name

This would be useful for saving data in MWSE...


in theory, yes
but that would mean i have to hook the function, and isn't as easy as it sounds.
so that would be for later.

but saving a game from script IS a good possebility
Maybe and MAYBE you can make a simple programm (.exe) to tap Autosave key after well say each 10 minutes... wink.gif
EDIT: Sorry somehow and accidently made Doublepost
QUOTE(Fenyx The Gamer @ Jul 22 2008, 11:42 AM) *
Maybe and MAYBE you can make a simple programm (.exe) to tap Autosave key after well say each 10 minutes... wink.gif

thats what thy have been talking about. that is what timeslip recomended and what was Yacobys easy thing.
QUOTE(fashayshay @ Jul 22 2008, 03:48 PM) *
thats what thy have been talking about. that is what timeslip recomended and what was Yacobys easy thing.


WOW i thought their'e talking bout mod biggrin.gif:D:D thanks for pointing me right way o.O
Your welcome.
QUOTE(Tp21 @ Jul 22 2008, 08:44 AM) *
i did a bit of research.
and i think that normal saving is no different that quicksaving.
both methods of saving use the same functions in Morrowind.
that means that quicksaving shouldn't produce more faulty savegames than normal saving would.
that also means, that i can call the save routine myself.


Bear in mind with this reply that I understand the subject matter only about as well as I understand particle physics, so I say this as a layman who thinks he's being reasonable, but may in fact just be ignorant.

But, isn't the difference between a quicksave and a normal save simply the fact that you have to open the menu first? Presuming the game waits for scripts to end before opening the game option menu, this could be the only saving grace of a standard save game, and thus scripted saving that doesn't open the menu may be doomed to the same problems as a quicksave?

The only other thing that would seem to make sense is that 'normal' saves are saving all scripted variables and the point where each running script stopped processing, which seems unlikely.
Actually I don't think the issues is with saves, it's with loads.
Note that Cyrano has a reproducible case (with journal) that shows that 'load' contaminates at least some data from a previously running game.

It explains loads and fits with my personal observations. No currupt saves since January and this is with over 200 mods.

Hence the advice 'always quit to desktop to reload'.

Symon69:

So you're saying the primary cause of corrupt savegames is reloading (in the same gaming session) followed by saving? I had to think about this for a moment since, obviously, loading a save won't alter that same save directly. Therefore you believe corrupt savegames are a function of first getting corrupt data in your running game (by reloading), and any new saves from that point become bad?

I'm trying to get a handle on what the different theories are about savegame corruption, just for the sake of knowing.
QUOTE(Tyrthyllanos @ Jul 22 2008, 05:23 PM) *
But, isn't the difference between a quicksave and a normal save simply the fact that you have to open the menu first? Presuming the game waits for scripts to end before opening the game option menu, this could be the only saving grace of a standard save game, and thus scripted saving that doesn't open the menu may be doomed to the same problems as a quicksave?

The only other thing that would seem to make sense is that 'normal' saves are saving all scripted variables and the point where each running script stopped processing, which seems unlikely.

Assuming input isn't run on a seperate thread, everything is processed in a linear fashion. (Apart from backgound loading).

This means, for example, that every frame, first scripts are processed, then collision, then input etc, you can't process scripts and input at the same time from the same thread.
Even if input is processed in another thread, you would just set a flag to save the game at the next appropriate point in the main thread. Saving the game from another thread would have to freeze execution of the main thread, which would be totally stupid, as you don't know if it is doing something where data shouldn't be written to the disk. It would lead to bugs everywhere

example:
CODE
void moveSomeObject(float angle1, float angle2, Entity* obj){
obj->yaw(angle1);
//saving the game here would cause the next instruction not to be executed,
// so even though the save may think this has been done, it hasn't
obj->pitch(angle2);
}


Even if it the script state is paused mid script, scripters would notice, trust me. Hell, the guys who developed the game would notice. You would get random bugs everywhere.
For example, this script:
CODE
begin xyz
    
     short doOnce
    
     if ( doOnce == 0 )
         set doOnce to 1
         doLots of complex things here
     endif
end


If the execution of the script stopped after the doOnce is set to 1, all the stuff would fail to happen. Very noticeable




Of course, I may be totally wrong shrug.gif

Someone clever like Timeslip, Tp21 ect could probably explain it better, as they know the MW game engine better than me. That is just my experience from writing games.

QUOTE
in theory, yes
but that would mean i have to hook the function, and isn't as easy as it sounds.

Yeah, I know, when I hacked arround with d2, I just stole other peoples code for hooking functions tongue.gif I really should learn asm.

QUOTE
so that would be for later.

It would be useful, even more useful would be to know what save is loaded, I never managed to find if its name was stored anywhere. If needed I could probably find if a game is saved using the Win32 directory watcher or whatever it is called. It has some callback thing for that IIRC
Okay, I understood the basic concept of what you're saying there Yacoby - or I think I did. I at least know enough about scripting to understand your example scripts.

But as I read it, that's an argument against savegame corruption due to 'bad timing' of saves. What you said boils down to, 'The game would be much buggier if it actually interrupted scripts to quicksave instead of processing in a linear fashion'.

And what Tp21 said above about quicksaves indicates that a quicksave is, in fact, saving everything that a non-quicksave does.

So, to the point, what is the consensus of the coders concerning quicksaves? Safe? Not safe? Is the anti-quicksave advice I've seen on multiple Morrowind messageboards an uninformed reflection of what Symon69 said above, that it's consistent reloading and saving in the same gaming session that creates corrupt saves?
QUOTE(Yacoby @ Jul 22 2008, 02:31 PM) *
Even if it the script state is paused mid script, scripters would notice, trust me. Hell, the guys who developed the game would notice. You would get random bugs everywhere.
For example, this script:
CODE
begin xyz
    
     short doOnce
    
     if ( doOnce == 0 )
         set doOnce to 1
         doLots of complex things here
     endif
end


If the execution of the script stopped after the doOnce is set to 1, all the stuff would fail to happen. Very noticeable


Umm...you have scripted for Morrowind, right? You've seen those random things that suddenly don't work...? wink.gif lol

I've put a lot of effort into corrupting save games. I've spent a lot of time saving identical loaded games under slightly different circumstances and then comparing the save files line by line. Granted, I don't understand half of what I'm looking at when I do that, but I am able to pick out certain patterns that seem to constitute a corrupted save.

This is my list of behaviors that in my experience are more than likely to cause corruption:

Loading more than once in the same game session.
Lets say I have a save file called Adventure1. I am battling a massive Orc, and get killed. Since Adventure1 was my most recent save, I load it immediately. There is a pretty good chance that the game will then CTD while loading, either at Initializing Data or Loading Area. If this happens, Adventure1 will most likely be corrupted and not ever be able to load. If it does successfully load after death, there is a high likelihood that any subsequent save in that same session will be corrupted, and probably CTD or hard freeze at Loading Area.

Using Quicksave or Autosave.
I completely agree with what has said before (I believe it was first suggested by Wrye) about MenuMode checks being the main difference between Quicksave and normal saves. The biggest argument for this is that unmodded games don't suffer from corruption as much as those that are modded with many script heavy mods. Since most capable modders make constant use of MenuMode checks to hold of execution of the script while the player is in a menu, it makes sense that at the time of saving there is less load on the CPU...if that makes any difference. TP21 said that both save methods use the same routines. And I know from my own experience that if I use Quicksave, it WILL get corrupted. So it only stands to reason that if MenuMode is the biggest difference between the two, it is most likely to be the culprit.

Using the incorrect teleportation function, ie using COC rather than COE to go to an exterior cell.
I found that if I use COC to go to a specific cell, say Caldera, there is a good chance that I will get a CTD when Loading Area in that cell any time afterwards. I have found that loading the save in Enchanted Editor and saving it again seems to fix this.

Now most of my tests involved heavily modded games, as that seems to be when corruption happens.
flig you are not a modder you are a scientist.
ok, here goes...
yes i checked again (just to be sure) there is only one function that creates saves.
so we can logically asume that all saving methods should be the same.
the only difference i can think of is menumode.

about hooks. it's not that i can't create them. it's that i want to keep the number of hooks to a minimum, less interference with morrowind, means less crashing wink.gif

EDIT: hmm, it appears that you can change the names for quicksave and autosaves apparantly.
the keys just aren't used in the INI.

[SaveNames]
restore=Restore ;when generating warnings apparently
quicksave=Quicksave ;quicksave (obviously)
autosave=autosave ;autosave (when sleeping)

are the extra keys that i have found
A save fix that often works:

Sometimes the save file gets corrupted during the save and leaves the temporary file name in your Saved Games folder instead - happens more often with Quiksave and Autosave but can also happen with a new or reused save. This will occur the previous time you saved prior to getting the error and the error doesn't show up until the next time you try to save (looking to delete the old file with the .ess name and can't find it). Look at the filenames for your autosave, quiksave and last regular saved files - they should be autosave.ess and quiksave.ess and [something resembling your savename].ess. If instead of those filenames you see autosave.tes or quiksave.tes or any .tes file you may be able to fix these files by changing the file extension from "tes" to "ess" and then reloading Morrowind and doing a Save again.

- Rougetet
QUOTE(Fliggerty @ Jul 23 2008, 01:09 AM) *
Using the incorrect teleportation function, ie using COC rather than COE to go to an exterior cell.

It wouldn't surprise me if recall isn't as innocent as it looks either...
Submit a Thread