The K3 QuakeWorld Client v3.0.0
Official documentation/help file
 
Installation:
Extract the files in the archive to your quake directory with folder unpacking enabled. This should create a quake/k3 folder containing the engine, the mini-openGL library, and gfx.pak which contains the tga format graphics used by the engine.
 
About K3:
K3 no longer loads .wad or .lmp files - All necessary graphics are stored in gfx.pak in the quake/k3 folder. The engine no longer runs from within the quake folder, it must be run in the quake/k3 folder. This is because it was designed to work with the MiniGL library that comes with GLQuake, for maximum compatibility, and this way you can have whatever drivers you like in the quake folder. Also note that K3 configuration is altered slightly (see 'Save Configuration') - you can use this to call your prefered config file for whatever mod you're playing. Another thing worth mentioning here is that the engine has been hard-coded for mouse use, and some keyboard controls have been removed.
 
Troubleshooting:
Try putting different versions of opengl32.dll into your quake/k3 folder until it works properly. If it still doesn't work, you may need to upgrade your card to a Voodoo-2 . This will guarantee compatibility with the engine.
 
Configuration:
The options menu in K3 allows you to change pretty much all of the important options:
 
Customize controls
This lets you set key bindings for the commonly used controls in QuakeWorld, as well as some TeamFortress and Mega-TF aliases. Note that K3 is specifically coded for mouse and keyboard control, although you can still use a joystick if you have one.
 
Go to Console
This will take you to the console if no other key is bound to toggleconsole.
 
Save Configuration
This will save your current configuration to k3set.cfg. K3 has slightly different and separate configuration to an ordinary QuakeWorld client. When K3 starts up, it runs k3init.cfg. In this file there should always be the line "exec k3set.cfg", so that the saved configuration will be restored. In addition to this, K3 executes k3map.cfg at the start of every map.
 
Mouse Speed
This will alter the sensitivity cvar which controls overall sensitivity. The cvars m_pitch and m_yaw also affect mouse movement. Note that K3 will use direct input by default, unless you use the commandline
-nodinput.
 
Sound Volume
This alters the volume of all sound effects in the game.
 
Field of View
This will alter your field of view.
 
Shirt / Pants Colour
These change the colour of your pants and shirt. Don't change pants colour in teamfortress - the game will kick you.
 
Light Effects
Chooses between None, for no dynamic lighting effects except for light styles, No-Rockets for all effects except rocket glows, and All, for all effects.
 
Overbright Mode
Chooses the mode by which overbright lighting is rendered. Faster looks pretty bad in 16-bpp display mode, but runs pretty fast, while Better looks pretty nice, but runs a little slower.
 
Invert Mouse
Inverts the vertical mouse axis
 
Draw Glows
Toggle the drawing of the nice glow effects round torches, and other models
 
Draw Particles
Toggle drawing of particles
 
Console:
The console command line has been improved to allow doskey style editing. I havent changed tab completion, however i have added cvarlist and cmdlist commands, which take parameters. eg. "cvarlist gl_" will list all the opengl specific cvars.
 
K3 also executes doif else endif statements just like kzqwcl 2.2, however, the structutre is different:
"doif parm1 <>= parm2"
Only = will do a string comparison, the others will assume that values are specified.
This may seem pretty useless, but in conjunction with another feature, they are pretty powerful. This feature is from zquake, and basically replaces $cvarname in a command with the contents of that cvar. Thus you can do stuff like "doif $fov < 80".
 
Not only that, but K3 also features console access to 'stats'. After using the command stat_update you can now refer to the cvars stat_items, stat_activeweapon, stat_cells, stat_rockets, stat_nails, stat_shells, stat_armor, stat_ammo, stat_weapon, and stat_health.
So "stat_update ; echo $stat_health" will print your current health to the console.
 
Display:
All graphics are now in TGA format and there is no need for wads or lmps. In addition to this, you can customize the crosshair ("k3/graphics/crosshair.tga"). crosshair 2 uses the tga image for crosshair.
Note also that K3 will also accept tgas with the extension ".k3t". I did this so quark would put the images into a pak file without complaining.
In addition, the cvar statcross toggles the health and armour being displayed as little bars either side of the crosshair.