Title    : FragReport
Filename : freport.zip
Version  : 1.20
Date     : 96/09/21
Author   : Ray Li
Email    : ryl@crl.com
Credits  : id Software, for making Quake! :)


Type of Mod
-----------
Quake C  : yes
Sound    : no
MDL      : no


Format of QuakeC
----------------
unified diff  : no
context diff  : no
.qc files     : yes
progs.dat     : yes


Description of the Modification
-------------------------------

This modification will keep track of frag statistics; namely, who killed
whom how many times.  Good for finding out how you're doing against
specific opponents:  whom to hunt down, and whom to avoid. :)  This
modification is built off Quake v1.01


How to Install the Modification
-------------------------------

I've included two versions of this mod:  one is the modified
progs.dat file, for users who want a quick look at how it
operates, the other is the source code of the modified
(defs.qc, client.qc, progs.src, weapons.qc) and new 
(freport.qc) code for users to layer into their own versions 
and/or extend.  Create a directory in the Quake directory and 
unzip the file freport.zip into that directory.  You should
have the following files in that directory

 FREPORT.TXT - this file
 EDITING.TXT - directions on how to modify DEFS.QC, CLIENT.QC,
               PROGS.SRC, and WEAPONS.QC if you want to build
               FragReport into an already-modified code base
               (or you could just use some sort of diff program).
 PROGS.DAT   - the compiled QuakeC code containing the FragReport
               mod

 CLIENT.QC   -
 DEFS.QC     -
 PROGS.SRC   - Modified QuakeC files
 WEAPONS.QC  -

 FREPORT.QC  - New QuakeC file

The functionality and data for this mod reside almost entirely in
FREPORT.QC.  The CLIENT.QC and WEAPONS.QC files contain interface
function calls to FragReport, DEFS.QC has an added field member
to the entity structure, for entity identification purposes.
PROGS.SRC has been modified to include FREPORT.QC in compilation.

For patching Quake C, see the document "howpatch.txt", available
from ftp.cdrom.com:/pub/idgames2/quakec


Technical Details
-----------------

256 floats are used to maintain the 16 by 16 matrix of frags
(wasteful, but it was easier that way), with the subscripting buried
within the variable name.  It's been tested in LAN play with four
players, with no noticeable problems.  I have absolutely no idea how
(or IF) it runs with more people, or how it fares on an Internet
server, so be forewarned!  Please let me know if you find any
bugs.

By default, FragReport is called by IMPULSE 222; this can be
changed for your own setup by changing the impulse number
check in weapons.qc.  When invoked, FragReport will print
information to the screen (going to the console is almost
always required, as the print out is almost always >4 lines in
length).  The following shows an example of a print-out after
an IMPULSE 222 command:

 GotHim|GotYou|Name
 ------------------
    21 |    5 | AGGIE
     3 |   31 | LONGHORN
     5 |    0 | LEFT AT  55.6
 --------------------------
    29 |   36 | Suicides: 5

where "AGGIE" and "LONGHORN" are example opponents currently
still in the game, and "LEFT AT  55.6" indicates someone who
disconnected from the server at time=55.6 seconds.


Author Information
------------------

This is my first QuakeC mod; I hope some of you find it useful.  It
certainly has made our local network games more interesting, giving us
another measuring stick to judge our performances against one another
aside from just gross frag counts.  I'd love to hear from anyone who
gets this running on a full-out 16-player NetQuake server!


Copyright and Distribution Permissions
--------------------------------------

Authors may use these modifications as a basis for other publically
available work (but please give credit where credit is due).

You may distribute this Quake modification in any electronic
format as long as this description file remains intact and unmodified
and is retained along with all of the files in the archive.


Availability
------------

This modification is available from the following places:

FTP   : ftp.cdrom.com in the pub/quake/quakec directory
