Files in this release:

lox_1_12_readme.txt - This file
gamei386.so - Library file game extension for Linux OS's.
gamex86.1_12_3.dll - Dynamic Library for Windows OS's.

Prerequisites:

I strongly recommend you install and test the LOX 1.10 package before updating to
this package.  This package includes the LOX 1.12 library extension only and does
NOT include the other files you need to properly run the mod.

You MUST download and install or have previously installed the LOX 1.11 UPDATE
that included the 1.11 or 1.10 DLL or Library file and all the PAK files associated
with the LOX modification.  

If you already have these and any previous 1.12.x updates
then you don't need to do anything except install this patch.

Instructions for Lox 1.12 DLL Download and Installation

Before you replace the DLL, make sure Quake2 is not running.

Command line instructions:

1 - Change directory to your Quake2\lox directory

2 - Rename your old lox game dll to gamex86.dll.1_11
    For example: prompt> ren gamex86.dll gamex86.dll.1_11

3 - Copy the new LOX dll to the proper name.
    prompt> copy gamex86_1_12.dll gamex86.dll
    From Winzip, simply drag the DLL from the Winzip window
    to your quake2\lox folder and rename it.
	In Linux the file is gamei386.so and is already properly 
	named in this archive.
	
4 - If you need to return to lox 1.11 later, simply reverse 
    the process by copying your 1.11 file back.
    prompt> copy gamex86.dll.1_11 gamex86.dll

Using Winzip

1 - Browse with Explorer to the Quake2\lox folder.
2 - Rename game86.dll you find there to something like gamex86.lox.1.11.dll
    Yes, multiple dots are ok in Windows file names.
3 - Drag the gamex86_1_12_3.dll in this ZIP file to the quake2\lox folder
    and rename it to gamex86.dll
    
    
Fixes in the LOX 1.12 release dated March 13, 2004:

12/12/2003 - P_client.c(731) changed "reaped" to "ripped" and took out extra spaces in the text.

12/21/2003 - Fixed decoy bug causing homer rockets, trackers and skippers to crash server.

12/30/2003 - Fixed decoy bug.  Skin of decoy was always skin of client 0, the first client to
             connect to the server.  Modified g_monster.c, monster_start().  The the decoy spawn
			 code was setting the proper self->skinnum, but monster_start() was setting it to 0.
			 Decoys now have skin of their owners.
			              
12/31/2003 - Fixed hook bug.  Grapple and chain lingered if player disconnected with hook engaged.

01/10/2004 - Limit number of deployable lasertrips to 3. (Now a variable, see 1/17/04 below.)
             Added lasertrip member to gclient_s in g_local.h.  

01/10/2004 - Floating mines (g_weapon.c), limit is 7.  TODO: Test mines, check for bugs.
             Essentially no code change so far.  Oops, no floating mine launcher object?
			 FML works in cheat mode (give all) but how to pick up launcher in normal game?

01/15/2004 - Debugged lasertrip limiting.  Tested OK with downlevel client (1.11) and mod-less
             MAC client, no bugs.

01/15/2004 - New cvar, debugmodels. Set it to 1 in server.cfg if you want console output of
             model information.  Now this can be turned off or on at runtime.

01/17/2004 - New cvars, max_trackers and max_lasertrips.  This allows server.cfg to set the
             maximum allowable trackers or laser tripwires a user can deploy.  New commands for
			 config: set maxtrackers n and set maxlasertrips n.

01/18/2004 - Revisited debug model checking.  Do the check always in deathmatch dedicated maplist
             mode as before but only print the messages if debugmodels is set.

01/20/2004 - Enabled BFG weapon in unlimited ammo mode.  See dmflags parsing in g_items.c.  Was
             a hack to disable them long time ago.  Need to make sure weapon banning will work.
			 This might take some work since banning BFG and FBFG will also affect the vortex
			 and other weps that depend on the BFG objects. This complication is probably
			 the reason for the original hack in the dmflags.  
			 Note: Need to check wep select code and do selection based on weapban and keep the 
			 bfg object, just don't allow its selection.

01/21/2004 - Deadman reports shortening gamename fixes nagging Info string length exceeded message.
             This is coming from Info_SetValueForKey() in q_shared.c when the server has to send
			 the server information to a client like Gamespy. This message is caused by the server 
			 detecting that it needs to send a big frame to a client.  Threshold is 512 bytes. 
			 Max key/value size is 64 but LOX sends a lot of extra server keys that other mods don't.
			 Lay one or two proxy DLL's on top of it and you get lots of status info.

02/14/2004 - Added server configuration varable kami_frozen to allow clients
             to go kamikaze even if frozen.  Use "set kamifrozen 1" to allow.

03/07/2004 - Re-invented guided grenades.  Added g_weapon.h for interface into calling
			 the g_weapon.c functions from within l_rockets.c. Added server configuration
			 variable disruptor_trackers to allow trackers to be launched if you are carrying
			 disruptor.  Use set disruptortrackers 1 to allow them.

03/09/2004	 Added time and timeleft/timeremaining commands.  Command "time" tells you what time
			 it is using _strtime().  Command "timeremaining" tells you how many minutes are left
			 in the match.

03/10/2004 - Changed gamename to shorter text. Removed revengereward, highfraggerreward and 
			 sv_bestplayer from the CVAR_SERVERINFO class of variables.  This keeps the status
			 frame under 512 bytes and gets rid of annoying "Info string length exceeded" messages.
			 I don't think these needed to be serverinfo vars anyway.

			 Fixed Cmd_Time_f function.  Originally commented out, I blindly recovered it for use.
			 I must confess I didn't do the homework right away.  _strtime is non-portable. Fixed
			 the glaring error with ANSI C time() and ctime() calls instead. Now it even prints the
			 day, date and time real purty-like.

03/11/2004 - Fixed bugs in time functions. They used gi.bprintf() and this broadcasts too all
             users... oops.  Use gi.cprintf() instead.  It's not a bug, it's a feature.  I might consider
             creating a broadcast version of the time commands later.  Maybe something like "It's <timedate>
             at the <servername> server, but it's <clienttime> at <playername>'s and there's only <minutes> left
             in this match".  With appropriate spam limiting, of course.

03/13/2004 - Replaced some player obituary texts.  Fixed some spelling and tried to add a little humor.

03/17/2004 - Set a hard coded floor of 1 and ceiling of 10 trackers in the tracker limiter. It was possible
             to set huge tracker limits on rcon and lag the server.
			 
			 Reset tracker initial damage to zero.  Setting it to 10 caused lag when a bunch of them
			 died all at once.
			 
			 Fixed up some more text formatting in obituary texts.

03/20/2004 - Increased damage radius of vacuum maker by 20% (1000 -> 1200) and increased damage to 250.
             Doubled Kamikaze damage from 300 to 600.

			 Released as Version 1.12.1.

03/20/2004 - Version 1.12.2 commences.
			 Decreased damage from 1000 to 500 on homer rockets.
             More messing with obituary texts.

03/23/2004 - Released 1.12.2

03/27/2004 - Spell-checked help (man) text.
             Reorganized Cmd_Help function.

04/03/2004 - Split guided, homing and guided nuke rockets into separate files.

04/22/2004 - Added code for addition of floating mine launcher to inventory when player
             picks up a grenade launcher.

05/29/2004 - Fixup nuke, guided nuke, guided rocket classnames.  Enabled angel of mercy
             to catch nukes.  Still working on guided grabs. When angelom catches an eligible
			 projectile it calls G_FreeEdict on that entity and this blows the logic of the
			 guided rockets and guided nukes leaving the player who fired the guided rocket
			 in the floor or somewhere in limbo. The only way to unlock it is to command kill.
			 Keeping the class names distict for each weapon takes care of a lot of interaction
			 issues with angels and trackers and whatnot.

			 Fixed Floating Mine Launcher select. Users need to change bind in bindings.cfg 
			 for grenade launcher to read:
			 alias grenadelauncher5 "use double impact;wait;bind 6 grenadelauncher6"
			 alias grenadelauncher6 "use floating mine launcher;wait;bind 6 grenadelauncher1"

05/31/2004 - Released 1.12.3 for Windows and Linux.

06/13/2004 - Re-release of rebuilt LOX 1.12.3 for Windows and Linux.