COOLMP v1.00a     (c) John Ripley 1995
-------------------------------------

Use of this program:
--------------------
This program MUST be distributed with the files:

COOLMP.EXE <- the executable
COOLMP.TXT <- this text file

Feel free to distribute in any format as long as both these files are not in
any way changed.

Disclaimer:
-----------
The author takes no responsability for anything in any way related to the use
of this program, directly or indirectly. In other words, use this program at
your own risk.

Capabilites:
------------
- Show what parameters were in effect for record.
- Scan through LMPs to see whether data is valid.
- Analyse data to show:
	  - Use of keyboard or mouse.
	  - Player movement statistics.
	  - Use of TURBO, PAUSE, or SAVE.
- Find when the END SWITCH is pressed!
	  - Assumes that the LMP does not have an interrupted score counter.
	  - Assumes it doesn't go to the next level after the score counter.
- Change the player's view to another player's.

--- NEW FOR VERSION 1.00a: ---

- Bug fixes! Good thing not too many people got hold of 0.99 :)
  - Actually implimented -scan.
  - Some numbers overflowing, some being truncated.
  - Sometimes keyboard not being detected.
- REMOVE ALL PAUSES -COMPLETELY-! Note - this appears unreliable when the LMP
  has a 'SAVE' command inside it.
- Cut (remove) sections of an LMP.
- Copy a section of an LMP to another LMP.
- Append an LMP with another. This can possibly link LMPs together if they are
  recorded properly.
- Statistics a little more accurate.
- Auto ops in #doom!

Usage:
------
Running COOLMP.EXE gives you brief details on how to run... so if you can't
be bothered to read on... run it.

Options:
--------
-scan
-----
Sees whether the LMP is OK. Checks for proper file termination (128 at end).

-stats
------
Implies -scan. Gives the following extra information:

  - Shows whether the LMP was PAUSED or contains a SAVE command - if so it
	 will show which slot it will use. Note - saves inside LMPs give
	 unreliable playback sometimes, and an LMP with a save in it cannot have
	 the pauses stripped out of it. The reason for this behavior is unknown
	 to the author... so far :)

  - Shows player movement activity! Mostly self-explanitory. Results for the
	 first stats are mostly in the form XX%>YY which means that the movement
	 or action was perform XX% of the time, with a maximum rate of doing it
	 of YY. For instance, if TurnLeft shows 75%>100 this means you turned
	 left 75% of the time, your maximum turn rate being 100. A *XX means that
	 the action was done XX times.

  - Player analysis. Usage of keyboard or mouse. Joystick may turn out as
	 keyboard. A mouse or keyboard 'flicker/spinner' TSR will turn out as
	 mouse, and the statistics will show FlickFactor 9 or 10.
	 How much someone uses Forward and how fast is measured - this turns out
	 Turbo for people using -turbo. Some people don't use run... it'll show
	 this. The amount of strafing a person does is measured. A lot of strafe
	 indicates a fast mover (strafe+run+turn 45 degrees moves you 1.41 times
	 faster than normal!). Wall-running (don't ask!) is not detected however.

	 The numbers here are arbitrary - they are calculated from the first set
	 of statistics. The 'Factors' are:

	 BackFactor : How much a player uses Backwards.
	 FlickFactor: How fast a player flicks/spins - 0 for keyboarders!
	 ArnieFactor: How much a player uses fire.
	 LurkFactor : Shows how long a player does absolutely nothing =]

-lastuse
--------
Checks for last 'USE' action in the LMP. This is useful for finding the
gametic/second the level exit was pressed, especially for Co-op LMPs where
the level end doesn't show the time it took for the level. If the last
'USE' is in a group, the program will assume the switch was activated by
the first in the group - if you hold use down, you can't activate switches!
It is also assumed that the player does not go on to the next level, or
skips the count up of the scores.

Note: for some unknown reason (so far), some LMPs (1 actually!) appear not
to give the correct result. A scan through the LMP shows that there is
another USE where the scores are being counted, but playback says otherwise.
These are easy to find though - the result will be way higher than expected,
and if necessary you can look through the LMP by hand. To do this, find the
last '02' in the file before loads of '00's. Take 16 from the position,
divide by 4, divide by number of players and divide by 35. That's the number
of seconds.

-view X
-------
Changes the player status view to 'X' (range 1-4). Normally, if a player takes
any damage or ammo is collected etc., the status bar and screen 'reddening'
only applies to the player selected as the view for the LMP. This changes the
player view.

-copy X Y <Z.lmp>
-----------------
Copies a section of LMP from gametic X to gametic Y into <Z.lmp>.
Z.LMP will contain the same header as the original (same parameters).

-append <x.lmp>
---------------
Appends <lmpfile.lmp> with <x.lmp>. NOTE THE ORDER OF THIS. In other words,
if you type

COOLMP -APPEND A.LMP HELLO.LMP

You will end up with HELLO.LMP with A.LMP added on the end of it.
It is possible to put level demos together... good luck if you want to try :)

-cut X Y
--------
Cuts out a section from gametic X to gametic Y. If there is a huge amount of
time when nothing is happening, and you can identify this in the file, you
might be able to cut it out without loss of sync. If there's monsters on the
level then it probably won't work. Lava might also be a problem.

-unpause
--------
Removes pauses COMPLETELY. Note - unreliable when LMP uses save.
You won't even see a PAUSE flash by on the screen.

-autoop
-------
Will auto-op you in #doom. The password, when prompted, is LAMER. (Note this
is case-sensitive).

Note:
-----
If you're going to use -stats, -lastuse or -scan, try running with '|MORE' so
that the information doesn't scroll off screen and get lost.

Contact information:
--------------------
You can contact the author at -

  FidoNet Netmail address 2:254/33.14, John Ripley.
  -NO EMAIL- so far!
  IRC #doom, nick PsLAM.

Bugs -

  BUGS??!! Ahem. I've only seen ONE LMP where the exit switch info doesn't
  quite match with Doom's counter (doom rounds down btw).
  Just for your info - turning left on the keyboard is faster than right.
  This is NOT A BUG.
  Strafe values being 40 and not 50 means you don't use strafe on its OWN.

------------------------------------------------------

By the way! - Doom is a trademark of id software, inc.

------------------------------------------------------

For people who:

1) Don't know how to stop this text file scrolling by.
2) Don't know what DOOM is.
3) Can't figure out COOLMP.
4) Can't figure out how to record or playback LMPs.
5) Don't even know what an LMP is.
6) Can't complete E1M1 or MAP01 on Skill 1.

Don't even THINK of going to irc:#doom! :)
