Title    : Ultimate Regular Quake Patch
Filename : urqp102.zip
Version  : 1.02
Date     : 1998-08-16
Author   : Matthias "Maddes" Buecher
Email    : Maddes@bigfoot.com
Homepage : http://www.egoshooters.com/qip/
  or try : http://www.deathsdoor.com/qip/
  or try : http://grc.quake2.com/qip/
  or try : http://qip.home.ml.org

cdrom.com: ftp://ftp.cdrom.com/pub/quake/quakec/compilations/
           This file replaces all previous URQP files

Intention
---------
I wanted to fix all known bugs, have skin support and some other goodies which DO NOT change the regular gameplay.
I read some tutorials on Inside 3D and the QuakeC Reference Manual, then started my patch from scratch to learn QuakeC.
After finishing a working version I looked into the source of GLSkins plus MS Pro and changed or added something more.
The bug reports for my buglist helped me to make URQP nearly a perfect Quake.
If you want to know more about bugs in Quake and QuakeWorld, then check out the buglist on my homepage.

How To Use The Patch
--------------------
Create a subdirectory within your QUAKE directory (e.g. QUAKE/URQP), place the pak file in it and don't forget to start Quake with the "-game" parameter (e.g. "-game URQP") and "-heapsize 12288" for Win/GLQuake or "-winmem 20" for DOSQuake (this necessary as the new data needs some space too).
Or you can rename the pak file to "PAK2.PAK" and put it in your QUAKE/ID1 directory, this is possible because gameplay isn't changed.

Use impulse 200 and 201 to select the next or previous skin.
Use impulse 250 to toggle auto-aiming off or on.

These are the standard impulses for the functions, maybe they were changed, but you will normally see them every time you respawn.

Have fun
Maddes

Features
--------
since Version 1.02
* Improved weapon switching on pickup
* Do not take unnecessary items but fire all targets
* Monsters sometimes do not move fix by Perged
* Improved bubble spawn
* Reduced "Error: No Free Edicts" message by Perged
* Constantly checking all impulses fix by Perged
* Misc_FireBall default speed typo fix by Perged
* Smoother plat movement by Matt Barnett
* Multiple megahealth rots down too fast fix by Maddes/Athos
* Player gulps bubbles when hurt in slime
* Player drops backpack on suicide
* Gibbable fishes by Maddes/Athos
* Dying fishes not immediately non-solid fix by Maddes/Athos
* Door unlock sound fix by Nolan Pflug
* T_RadiusDamage workaround by Patrick Martin, fixes multiple exploding boxes
* Centerprint with multiple strings by Zhenga
* Shub kill count fix
* Teamplay 1 fix, now you can hurt yourself as stated in the manual
* Cheats coop fix, now impulse cheats work in Coop too
* Suicide during intermission fix by Zhenga
* Timelimit/Fraglimit fix, only recognized in deathmatch
* Pentagram telefrag fix by Zoid/Maddes, players don't get stuck anymore
* Wrong obituary messages fix by Zoid/Maddes
* Palette shift when player dies with quad/pentagram fix
* Glowing corpse of players which had quad/pentagram until respawn fix
* Moving after respawn fix by Xian
* Respawning where player died fix by Robert Field
* Noexit SinglePlayer/Coop fix, "noexit" is only recognized in deathmatch
* hurt_touch fix by Robert Field, now every player gets hurt every second in the RL zone of the "end" level
* T_RadiusDamage workaround by Robert Field, this avoids that other players do not get hurt by splash damage, when the attacker dies through it
* incorrect teleport workaround in E4M5 and start map, no more server crashes when jumping at top of the secret exit in E4M5
* Noexit 3/4, acts like 1/2 but without dying
* Rejecting client-side bots

since Version 1.01
* Episode fix, Quake will never remove your weapons and ammo on new episodes in deathmatch, but always in SinglePlayer/Coop

since Version 1.00
* Fish fix, fishes are no more counted twice for the total of monsters in a level
* Thunderbolt fix, Quake will never switch automatically to the thunderbolt underwater when picking it up by weapon or backpack
* Auto-aim toggle, each client can choose if he wants auto-aiming or not
* Skin support, up to 32 skins are supported (32 skins also come within the pak file)
  + Biosuit skin support (player gets this skin temporary as long he wears one, idea taken from MultiSkin Pro)
* Everything works in SinglePlayer, Coop and Deathmatch
* Server-side only patch, clients should have a "player.mdl" with 32 skins, but not necessary

Problems
--------
1)
In SinglePlayer your auto-aim and skin settings will be reset to their values you had when entering the level the first time, because the server is restarted.
There is no workaround for this, just check your settings before you leave any level (even on the start level).
2)
There are some bugs in the Quake executables (DOSQuake 1.08, WinQuake 1.0, GLQuake v0.97, I think MAC and Linux version also).
The function "ftos()" returns a string with leading spaces when the converted float variable is non-integer and also cuts it off after the first decimal (e.g. "  0.9" for 0.93).
The function "cvar_set()" sets the cvar to zero when the string value contains leading spaces.
In conjunction these bugs do not allow to save a cvar, change it for a reason and set it to its previous value afterwards.
Right now "sv_aim" will always be set to 0.93, but if the patch detects that saving/restoring cvars works it will take the value you set.
3)
GLQuake v0.97 has still problems displaying skins correctly.
Dead player bodies loose their colors when the player respawns.
When any client selects a skin which is not present each GLQuake client gets a disturbing message like "Invalid skin #<number>".
When a client's selected skin is not present and this client respawns his dead corpse get a messed up skin.

You can find out more about bugs and QuakeC on my homepage.

Thanks to
---------
* id Software for making such a great game (http://www.idsoftware.com)
* Inside3D <news@inside3d.com> for their great tutorials and news (http://www.inside3d.com)
* Robert "Frog" Field <frog@powerup.com.au> for reporting some bugs I didn't recognized before (http://www.telefragged.com/metro)
* Dennis Noordsij for being the "father" of all skin patches (http://web.inter.NL.net/users/L.J.Noordsij/qc.htm)
* Jason S. for pointing out how to keep skins on level changes (http://www.voicenet.com/~rewt)
* Brian Mair <bmair@direct.ca> for giving me the source of "MultiSkin Pro" and idea for the biosuit skin support
* Toni Wilen <twilen@id4.sci.fi> for pointing out what to do to make skins work in previous GLQuakes
* The QuakeC Reference Manual for pointing out the used functions on respawn, connect and level changes (http://gue-tech.asee.org/quake/qcrm)
* Yun Zheng "Zhenga" Hu <zhenga@zeelandnet.nl> for his bug reports and help on some problems
* Daniel "Athos Kryn" Olsen <nihilsum@ccil.org> for his bug reports and help on some problems
  http://www.geocities.com/SunsetStrip/Amphitheatre/9132
* Nolan "Radix" Pflug <radix@planetquake.com> for his bug reports
  http://www.planetquake.com/qdq/
* Matt "DethWalker" Barnett <mbarnett@dial.pipex.com> for his improved plats movement
* Patrick Martin <cmarti39@icon.net> for his fix with recursive "T_RadiusDamage()" calls (explo box fix)
* Jonathan "Perged" Down <jdown@ns.sympatico.ca> for his bug reports
  http://www.planetquake.com/eliminator/
* Dave "Zoid" Kirsch <zoid@idsoftware.com> for being such a great guy and still providing stuff to the "Classic" Quake community
  http://www.idsoftware.com
* Christian "Disruptor" Antkow ("Xian") <xian@idsoftware.com>
  http://www.idsoftware.com
+ all the guys who did these fine skins
