Remove all references to state files from the format. Some still
leaks in in the GmSt chunk, but those are ignored or overwritten
by later loading phases.
Rationalized statefile chunks are now written out alongside the
original statefile chunks. The loader still relies on the latter
for now. This will make correctness cross-checking a bit easier.
This is preparation work so that when the state files are removed
from the savegame format (or possibly removed entirely) it will
not be a savegame compatibility-breaking change.
Legacy support has been modified so that the GameState bits are
reordered as part of load, so loading legacy saves still works.
This accomplishes what I set out to do, but doesn't actually
solve the problem well enough given what I learned while doing it.
Documentation forthcoming in future commit.
Legacy files are handled by load_legacy.c, but this now should be
the only part of the code that still uses the custom decompression
library.
These save formats are very much interim and held for testing
purposes! Do not use these commits for actual play, or your saves
will be lost.
Savefile is built of chunks that include their length. The only
two right now are Summ (the summary, must be first) and OmnZ
(the omnibus compressed data).
Padding that was originally used for alignment purposes has been
removed from the format, unless is it is part of the compressed
data.
Coalesce it out of three header files into one (save.h).
This also includes references to NextActivity, which may
be the wrong place to do it. Time will tell.
This code is loosely adapted from JMS's code in UQM-HD,
but very little remains beyond the text input loop internals.
Fully backwards compatible, but this format shouldn't
survive to the final merge.
* Some atexit() callbacks removed, to be called in order during clean exit (Abort key bypasses these)
The only things called atexit() are now removeTempDir, SDL_Quit() and log messageboxes
* gfxlib cleans up remaining SDL_Surfaces
* Other cleanup improvements: the goal is to allow library cleanup funcs to be called more than once w/o crashing,
and then decide which should and can be called atexit() safely.
git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@3776 8092fc87-c524-0410-9efc-e669fe64eaf9
* comm/trackplayer Callbacks are now queued instead of asynchronously called on the stream decoder thread
* libs/callback now guards the list with a mutex (called from different threads)
* only one thread (Starcon2Main) is allowed to queue draw commands right now; a sanity check is in place (define DEBUG_DCQ_THREADS)
Fixes: Alarms and Callbacks are used for more than just Netplay, reflect this.
git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@3761 8092fc87-c524-0410-9efc-e669fe64eaf9