demfix0r - Version 1.1

Author Brian Young aka Nessus{GUN} (bayoung@acm.org)
Feb 26, 1998


Purpose
-------

This program fixes netquake demos.

Problems that it will fix include:
	- middemo level changes 
	
Problems that it will probably fix include:
	- max_msglen error
	- the demo doesn't even start
	- quake crashes when you play the demo
	
Problems that it definately won't fix:
	- illegible server message
	
The program can also extract single level sections of a demo, and it can
also be used to extract a log from the demo, similar to -condebug in
quake.


Files
-----

demfix0r.txt
	This file.
demfix0r.exe
	Win32 console mode app.
demfix0r
	Linux ELF executable.
	(actually not in 1.1, too lazy to build it, lemme know if you want it)


Syntax
------

Usage: demfix0r [options] <infile> [<outfile>]
Options:
 Output
 -b         output binary
 -t         output text
 -log       generate print log
 Fixes
 -f1        fix first block
 -fa        fix all blocks
 -fixlevel  fix level transitions
 -extract # extract level section # to output file

Invoke with no options on a demo file to get demo information.

Select only one of -b -t or -log.
You probably want -b when fixing demos.  
-t outputs text in a format almost identical to that generated by lmpc 
(Uwe Girlich, the man, at http://www.physik.uni-leipzig.de/~girlich at the 
time of this writing).  If you really want to use this, I suggest actually
using lmpc instead.  I cooked this up because lmpc was crashing on me in a
certain bizarre way.
-log generates a log of all the print messages in the demo, probably
suitable to use as input to a log parser (I believe it's the same output
as -condebug in quake, but I could be wrong).

Don't use -f1 or -fa unless the demo actually won't run at all.  Try -f1 
first, if it fails, try -fa.
-fixlevel fixes the demo so that level transitions work properly on
playback.
-extract simply extracts the level section corresponding to the number
given.  Use demfix0r with no options on the demo first to find out what
levels are in the demo, the number given to -extract starts from 0.

Examples:

To fix a problem demo use
	demfix0r -f1 -b source.dem dest.dem
	
To fix a multilevel demo use
    demfix0r -fixlevel -b source.dem dest.dem
	
To extract the 2nd level of a multilevel demo use
    demfix0r -extract 1 -b source.dem dest.dem
	
To generate a log use
    demfix0r -log source.dem dest.log


I think that's it.  If you have any problems, feel free to e-mail me at
the address given above.  I'm particularly interested at this time in demos
that this program can't fix, *except* for illegible server message
problems.  And *don't* mail me demos, please give me an url if you have 
something for me.

