
This changelog is the canonical source of information for CPMA.
Any document that disagrees with it is wrong.


Known issues (see also the end of this file)

The grapple "grip" has a bad shader. It still looks a lot better
than the old missile+rail combo, so it's going in anyway.  :)


Notes for version 0.99x1 (14 Jun 02)

add: 3W CTFS (mode 12, bitmask 4096)
	thanks to Casey and the 3W team for permission

add: reset timescale to 1.0 on listens after watching demos

add: rench's updated docs

chg: the "low" ammo point for SG is 5 rather than 10

chg: enabled armoursystem vote in CQ3

chg: cg_shadows 2 and 3 removed - too buggy and cheaty
	(both project through walls etc)

chg: stepup events optimized

chg: improved client prediction during djumps
	CPM3 lower rl is easiest place to see the difference

chg: popsicles refreeze over time if abandoned mid-thaw
	same rate as for thawing, i.e. if you thaw for 2 secs
	then leave for 1 sec, there's 2 secs left

chg: unlock cg_gunX/Y/Z and clamp them
	x: -8 to +8, y: -3 to +9, z: -8 to +2
	(y is offset because 0 is the player's right hand
	not the center of their body)

chg: g_doWarmup removed - it's always been pointless
	setting g_warmup to 0 already turns warmup off
	and setting it to anything else turns warmup on

chg: end of match stats format changed to work with VoodooStats

chg: default settings for duels are 10 mins with 2-min OT

fix: model-specific custom sounds using the wrong voice
	(voiding and a couple of others)

fix: time-forced respawns couldn't set a starting weapon reliably


Notes for version 0.99x (20 May 02)
(otherwise known as the "demos" build)

add: Multiview demos!
	just \mvd and the game will take care of everything.
	can only be recorded by spectators, and have the same
	"visibility" rules as normal play, i.e. if teams are
	speclocked you need a specinvite or referee privileges.
	since this is ridiculous abuse of an engine that's
	SO not designed for this sort of thing, you can only
	(heh: only) MVD up to 12 players, and servers need to
	have maxclients <= 16 to make sure it works nicely.
	MVD only works in ProMode ATM - it needs the enhanced
	event handling code. Not sure yet if it's possible to
	get it to work reliably in CQ3.

add: keystrokes and mouse clicks no longer abort demos  :)
	TAB brings up the scoreboard
	PGUP / PGDN adjusts playback speed by +-0.25
	HOME sets playback speed to 1.0
	KP_5 toggles third-person rendering
	KP_UPARROW / KP_DNARROW moves camera to / from player
	KP_LEFT / KP_RIGHT moves camera around player
	KP_HOME resets camera distance and angle
	MVD-controls  :P
	SPACE/MOUSE2 switches to next player
	ALT/MOUSE1 switches to previous player
	note that binds will no longer work in this mode:
	to enable them, you need to hit ESC to turn off the
	crapout protection and return to the id behaviour
	(which means hitting ESC *twice* will exit)

add: cg_followpowerup works during MVD playback as well

add: team overlay works during MVD playback  :P
	it doesn't in normal GTV/ref "single follow" demos

add: cf_Console (default 7x12) - only affects demo playback
	nice bug in the Q3 engine:
	fixing the "exit demo on ANY keypress" problem
	causes the console fail to print to the top left corner
	so we have to mimic it ourselves

add: ch_consoleTime (ms, default 2500)
	how long "console" messages stay on screen during playback

add: ch_consoleTeamChat (0|1, default 1)
	add team chat to console
	note that setting this to 0 removes teamchat COMPLETELY
	from the console, not just from showing up at top left
	so if you miss it in the teamchat window, it's lost

add: ch_recordMessage (0|1, default 1)
	0 gets rid of the sodding "recording blahblah" message

add: ch_selfOnTeamOverlay (0|1, default 1)

add: cg_deadBodyDarken (0|1, default 0)

add: don't show PJ message if timescale is less than 1
	so you can slomo demos without having that flash constantly

add: \followpowerup as a command - same effect as \cg_followpowerup
	maybe bif will actually use it now (*cough* :P)

add: func_plat and func_door can now have custom sounds
	since the standard sounds are so pathetic as to be pointless
	use this rather than chaining them to a target_speaker:
	those get ignored by s_ambient 0 clients (which is everyone)
	done via two new keys for the entities:
	"sound_start" (the "move" sound)
	"sound_end" (the "stop" sound)
	if not specified, the default sounds are used

chg: tweaks to ammo given on weapon pickups
	TDM, weaponstay, and dropped weapons as before.
	other cases, the first pickup ALWAYS gives full weapon
	ammo, so rox+RL is finally 15 rockets, same as RL+rox.
	later pickups "refill" to weapon ammo as before
	(i.e. 3 rox => 10 rox) but do NOT give the stupid
	"one extra round" if you're over the weapon ammo.
	also, backpack capacity has been reduced a bit.

chg: armor default for team games is back to CPMA's "Team" system

chg: server_CPMA_armor removed - now implicit

chg: CPM1.0 armorsystem replaced with Q1 armorsystem
	shards at 2 (cointoss, since Q1 didn't have shards)

chg: re-ordered the armorsystems: Duel, Team, Q1, Q2

chg: use the predicted weapon for muzzle flash animations / sounds
	means +fire 4 when holding LG actually makes a GL noise, etc

chg: tightened up a few aspects of creepcam
	camera never drifts behind walls now
	camera swing accelerated if players make 180s to face a target

chg: backpack messages removed

chg: removed long-unused cvars g_friendlyfire and capturelimit
	(scorelimit is always set by "fraglimit", even for CTF and CA)

chg: removed cg_timescaleFade rubbish

chg: max ammo for BFG is now 25

chg: grenades back to being magically aware of who fired them
	still do 100% damage, but you can't selfnade any more  :(

chg: heh - noticed one of the effects of defaulting entities to
	being unmarshalled  :)
	it completely removes all the lame sound effects on maps
	like WCP15, regardless of the client's s_ambient setting.
	that type (target_speaker ents) are now marshalled again
	for the 0.1% of players who actually use s_ambient 1

chg: #w/#W chat token now shows current weapon and ammo
	the old "best" weapon meaning was pretty useless
	#W is red if you have less than one box of ammo, else white
	#w message doesn't change any colours

chg: #M chat token uses box counts to decide what "low" ammo is
	before it always used 5, which is useless for LG/PG

chg: #U chat token also shows time remaining on powerups

chg: can only see stats for players in the same arena as you

chg: damage and item counts for \stats not available during game
	except to players checking their own stats, and referees

chg: low ammo warning based on current weapon only
	and determined by box counts rather than guesswork

chg: cg_drawAmmoWarning replaced with cg_ammoWarning (default: 1)
	0 - none
	1 - "click" only
	2 - "click" and message

chg: removed everything related to cooldown option
	now fixed at 100ms (old cooldown 0 setting)

fix: callvote restart didn't cancel timeouts

fix: couldn't unpause a 1v1 if opponent dropped during the pause

fix: playerstate events sounding again after external events

fix: bars on HUDs 1 and 2 were opaque

fix: ProMode sound could occasionally "leak" between arenas
	if the arenas were right next to each other


Notes for version 0.99w5 (5 May 02)

chg: "Duel" armorsystem is now the default for team games as well

chg: quad shell is now always blue

chg: testmodel/testgun cruft removed

chg: all HUD variations show flag status in CTF

chg: popsicle effect is now totally white rather than bluish-white
	was a bit too close to the Quad effect with some configs

chg: be really agressive about popsicle trajectory tests
	stops them slipping through seams on maps like DM6

chg: max number of demos on menu increased to a real 240
	rather than an id-math 128, which is about 40  :P

chg: creepcam_smoothfactor renamed to creepcamSmoothRate
	since that's what it actually is

fix: no blood effect when SG'ing popsicles

fix: cg_enemycolors default should be "", not "0"

fix: coaches were being blacked out in speclocked games


Notes for version 0.99w4 (1 May 02)

add: linked/unlinked flag, marshal flag, and counts to \entitylist

add: "you defrosted xyz" and "defrosted by xyz" messages in FT
	(can be disabled with ch_fragMessage 0)

add: thawed popsicles explode into ice cubes
	(many if cg_gibs 1, otherwise just one)

add: crosshairnames for popsicles

add: players given assist reward for thawing teammates

add: cg_noProjectileTrail (0|1, default 0)
	only affects the underwater bubble trails

add: 3D heads on scoreboard and status bar use player colours

add: support "armorsystem"/"armoursystem" in config files
	just for bleader  :P

chg: preserve reward counts for temporary specs, i.e. dead CA/FT players
	means you won't see rewards when following other players
	but your own reward counts will stay correct no matter what

chg: "general" entities default to unmarshalled
	!!! note: I have no idea what problems this might cause.
	it seems to be fine so far, and on some maps it removes
	THOUSANDS of entities from client consideration every second
	so I figure it's well worth trying it for a while.

chg: ProMode voting rules
	can always be voted on
	can be voted off only if vote_allow_promode is 1, or
	server_promode is 0, or
	the player is a "true" referee (i.e. password, not election)

chg: removed the never-used "alternate standard" demo naming format

chg: closing doors bounce off popsicles, crushers thaw them

chg: overhauled a few things in the ProMode sound code
	sound radius is now 1400 units
	s_occfactor has been removed  :(((
	the behaviour is now always as it was with s_occfactor 0
	i REALLY didn't want to do that, but there seem to be some
	pathological cases where the true position of an entity is
	unavailable to us, so any on-entity sounds get messed up

chg: \color defaults to 9779 - tshirt and faded jeans  :)

chg: no time penalty added for \kill in DM/TDM

chg: players get 1 point for each second spent defrosting teammates
	rather than just crediting whoever finished the thaw
	to balance, teamkills cost players <thawtime> points

fix: q3w2 train; dm11 quad room!

fix: arena playercounts unavailable sometimes

fix: GTV can change arenas again

fix: strip filename-illegal chars from player names for demo record

fix: drowning timer was being reset during pauses

fix: could get impressives from shooting teammates

fix: players who died in water (inc lava/slime) gurping on respawn

fix: item pickup sounds not played reliably if you respawn ON an item


Notes for version 0.99w3 (23 Apr 02)

add: say_teamnl - doesn't add your location to the message

add: support "maxplayers" in config files (per-arena)

add: avoid popsicles like real players when choosing a spawnpoint

add: instagib modes to the game settings menu

add: callvote startweapon and vote_allow_startweapon (default 1)
	Freeze-only, sets an additional weapon to give spawnees
	comes with a BOX of ammo rather than stock weapon ammo

add: callvote allcaptain and vote_allow_allcaptain (default 1)
	default set by team_allcaptain (default 1)

add: accept "armour" and "armoursystem" (i.e. English) votes

add: cg_lagometer 2 - colours the netgraph background as well
	lpbs can't notice rate delays otherwise
	because the graph itself is only 2 pixels high

chg: players with Batsuit don't "gasp" when coming out of water

chg: force "fullsize" popsicles rather than using the player bounds

chg: split FTDM (mode 10) into FTEU (mode 10) and FTUS (mode 11)
	FTEU has startrespawn 1, spawn with MG
	FTUS has startrespawn 0, spawn with MG + SG
	both use teammaps.txt for the maplist

chg: uncouple cg_shadows 1 from cg_marks and nomip them

chg: show CPMA players colors on player model screen as well

chg: put all the promode skins first in the model screen

chg: matchmode no longer requires even teams

chg: cool new credits page

chg: no auto MOTD window after connecting
	it's already shown on the connection screen itself

chg: standard demo name format for 1v1
	if a player records, it's "ThisGuy(POV)-vs-ThatGuy"
	if a spec records, it's just "Player1-vs-Player2"

chg: removed many referee commands that also exist as votes

fix: cg_predictitems 1 sound echo

fix: corpses on MA maps couldn't be gibbed sometimes

fix: not spawning only the TDM itemset on some maps (rdogdm4) in freeze

fix: non-MG ammo counts reset to 0 after each round in EU freeze

fix: autothaw timer not halted during pauses

fix: viewpos as a spec after dying in CA/FT was offset by cg_thirdPersonRange


Notes for version 0.99w2 (10 Apr 02)

add: Freeze Tag TDM! as g_gametype 6 (mode 10, bitmask 1024)
	based on Darrell "Doolittle" Bircsak's original (thanks man)
	vote_allow_thaw (default 1)
	callvote thawauto (seconds, default 120)
	callvote thawtime (seconds, default 3)
	callvote startrespawn (0|1, default 1)
	ON (default) = EU rules:
	all players reset to base attributes + loadouts after each point
	OFF = semi-US rules: losing team is thawed; winning team is NOT
	but the living players on the winning team keep their current h/a
	(note that this may well be LESS than the spawn h/a) and weapons

add: CPMA colours can now be used in names, crosshairs, etc
	(everywhere that's under my control, basically, which
	is anything game-related but not the console)
	some of the numeric colours have been changed as a result
	0: was white, now black
	7: was orange, now white
	8: was purple, now orange - T is the closest to the old 8
	id have always had 5 and 6 backwards. since I can't fix the
	console, they're now wrong in CPMA as well, for compatibility
	(note to id: ever heard of constants?)

add: ch_crosshairAlpha (0.0 to 1.0, default 1.0)

add: \kill adds 5 seconds to respawn time

add: Swelt's "Guide To Configuring CPMA" to readme.txt

add: Drex's Q3DM12CPM

add: cg_oldCTFSounds (0|1, default 0)
	no voiceovers on captures, flag pickups, etc
	also controls non-leadchange FTDM end-of-round announcements

chg: cg_crosshairColor renamed yet again to ch_crosshairColor
	default changed to 7 since 0 is now black

chg: cg_crosshairPulse renamed to ch_crosshairPulse

chg: item scaleup time on respawns changed from 1000 to 250
	items also start at half size and scale up from there

chg: BFG shots are now 1200ups (was 2000)
	reload is 800ms (was 200)
	damage is 120 (was 100)
	splash damage is 120 (was 100)
	splash radius is 144 (was 120)
	knockback scale is 120% (144% relative, given the higher dmg)
	rocket running boost is 120% absolute (to match RL)
	warmup/CA ammo 5
	initial/box ammo 5
	enabled by default in all gametypes except CA/DA

chg: cg_errordecay clamped at 0-200

chg: after bouncing, grenades no longer pass through whoever fired them
	so if you spam, you're a threat to yourself too

chg: your own grenades do FULL damage to you, not 1/2

chg: PG splash radius is now 10 units instead of 20

chg: server_availmodes default changed to -1 (all modes)

chg: RG selected automatically when respawning in instagib

chg: remove g_quadfactor - we override it anyway

chg: coaches don't viewcycle to other team even with speclocks off

chg: team damage enabled for CTF mode and default

chg: stats window removed after intermission

chg: CQ3 powerup respawns match ProMode
	this also means that they're now votable

chg: CQ3 ammo box counts for \drop match ProMode

chg: cg_lightningImpact enabled for CQ3

chg: timeout allocations were ridiculous
	new rules are: 2 @ 60s for DM; 3 @ 120s for team games

chg: ITDM/ICTF show Net/O/D stats on the scoreboard rather than Acc

chg: bot AI adjusted for the new BFG

fix: "picked up" stats were counting the killer's current weapon
	not the one that was actually in the backpack

fix: coach chat going to other specs rather than coached team

fix: gauntlet would "fire" on occasion even if it wasn't actually hitting

fix: id bugs and stupidities in the team overlay location code

fix: multiview could make Q3 segfault when a viewed player died

fix: team overlay restored in CA if freefloat after following enemy


Notes for version 0.99w1 (18 Mar 02)

add: total health and armour taken and RA/YA/GA/MH counts to stats

add: "picked up" and "died with" counts to weapon stats
	note: "died with" rather than "died and dropped"
	so it's good for CA as well

add: ch_3waveFont - thanks to the Threewave guys for permission

add: OSP coach functionality
	/coach, /coachinvite, /coachdecline, /coachkick

add: scoreboard shows per-team spectators and coaches

add: "callvote random n" and vote_allow_random
	where n is a number from 2 to 100
	2 is the equivalent of flipping a coin
	6 is like rolling a die
	handy for choosing maps etc

add: "callvote ot" synonym for "callvote overtime"

add: server version shown on loading screen

chg: vstr now enabled in CQ3 as well

chg: CQ3 clocks match ProMode
	(count down, not up; no seconds in 1v1 play)

chg: players spawn with 100 armour during warmup

chg: auto-join if it's an FFA game

chg: auto-join if it's a team game and g_teamAutoJoin is on

chg: mode TDM now enables weapon dropping by default (CPM and CQ3)

chg: shots during the match_windelayCA period don't affect stats
	so you don't "lose accuracy" when gibbing bodies etc

chg: g_weaponRespawnCTF defaults to 5

chg: CTF mode sets weapon respawn to 5

chg: 1v1 mode disables holdables (PT, MK) as well
	never understood why OSP leaves them enabled

chg: "restart arena" item removed from UI menu

chg: timed overtime in 1v1/FFA uses 2-minute rounds

chg: item respawns are absolute
	gameplay rules > map-specified ones
	for ALL items now, not just weapons

chg: s_occlude removed - s_occfactor 0 is equivalent
	(always has been, actually)

chg: s_ambient 0 now more aggressive (fixes T2, WCP15)

chg: s_ambient changes now take effect immediately
	(no longer needs a client restart)

chg: target_speakers don't use the ProMode sound system
	helps cut down on noise even for s_ambient 1 clients
	(and saves small amounts of bandwidth)

chg: updated version of DM12TMP - cheers Drex
	doors still don't behave the way we'd really like,
	but at least it's playable again now

fix: starting a server through "practice" preserves g_spSkill
	(id code resets it to "Bring It On" *cough*)  :)

fix: "minutes played" wasn't getting reset reliably on map changes

fix: couldn't see your damage stats mid-round when dead in CA

fix: several multiview bugs

fix: gauntlet hits weren't shown unless there was a kill as well

fix: players could make multiple gauntlet hits in a single frame
	(yet another id bug, only happened with pmove on)
	Menace gets a cookie for finding it  :)


Notes for version 0.99w (14 Jan 02)

!!! Important - CPMA no longer supports VQ3 !!!

The non-ProMode option in the mod is now "Challenge Q3".
After two years, Q3's newbie population is now essentially non-existent,
and the original justifications for certain design decisions are long
since obsolete. It's time the base game grew up to match the skill level
of the people playing it today rather than the target audience of those
who created it.
Where ProMode redefines all major aspects of the game: player movement;
melee/weapons; and strategy, CQ3 addresses only the strategic elements
and a few things that are very poorly implemented in VQ3 (think of
these as bugfixes on steroids).

The Challenge Q3 changes are as follows:

Strategic:

Hit tones match ProMode
	Four tones, each with a 25-damage range
	Lower pitches indicate higher damage

Player spawns match ProMode
	100 health; 50 bullets for the MG

Player respawn times are reduced
	Minimum limbo time is 1 second
	Maximum limbo time is 10 seconds

Weapon respawns match ProMode
	15 seconds in DM; 30 in TDM; 10 in CTF; weaponstay in FFA

Item respawns match ProMode
	Ammo boxes - 30 seconds
	Health - 30 seconds
	DM MegaHealth - 20 seconds after it "runs out"

Initial powerup spawns match ProMode
	15-30 seconds into the game

Powerup factors match ProMode
	Quad is "true", i.e. 4x damage. Be very afraid.  :)
	Batsuit protects at 75%

Armour system matches ProMode (the "CPMA Duel" system)
	Armour does not "decay" over time
	GA protects 1:1, first pickup 50,  second adds 50
	YA protects 2:1, first pickup 100, second adds 50
	RA protects 3:1, first pickup 150, second adds 50

MG matches ProMode
	5 damage per shot in all games, 25 bullets per ammo box

Railgun ammo boxes match ProMode
	5 slugs

Maximum ammo counts match ProMode
	SG 100; GL 100; RL 100; RG 100

Item sizes match ProMode
	Items can be picked up while strafejumping

Water speeds match ProMode
	Faster wading and swimming

Fixes:

Damage from the "world" matches ProMode
	Lava and slime cause a steady flow of damage

SG matches ProMode
	Max damage now only 96, but aim actually matters

Other enhancements:

Grenade model matches ProMode


Notes for version 0.99v9 - private build

add: update g_gametype on mode changes (non-MA maps only)
	handy for server browsers

add: scorebot helpers to serverinfo
	Score_Time, Score_Red, Score_Blue
	Players_Active, Players_Red, Players_Blue

add: #F chat token - nearest Friendly player, i.e. teammate

add: new meaning for #P chat token - last Pickup

add: com_maxfps is capped at 125 for online play

add: enable a bunch of ProMode-only features in CQ3 as well
	cg_smoke_sg; cg_muzzleFlash; cg_damageDraw; cg_drawGun 2;

add: "Net" column on TDM scoreboard

add: "O/D" column on CTF scoreboard
	O (orange) is runs+caps+assists
	D (yellow) is returns+escortD (NOT base D)

Demos from older versions will show strange numbers in those fields,
as they were used for damage until now.

add: "Dmg" column on CA scoreboard

add: Show "Net" when playing back OSP demos

chg: "Lag" and "Min" replace "Ping" and "Time" on scoreboard
	needed every bit of space I could wrangle  :)

chg: "Score" column for CA now just frags rather than "total impact"
	yes, I know it's lame

chg: new rules for #I
	you must have a clear line of sight to the center of the item
	you must be looking in the appropriate direction
	and it must be within your (potential) fov
	this helps a LOT if you want to say "RG up" but you're nearer YA/PG
	if you run past the item THEN hit your bind, that's your fault

chg: old #P chat token now #U (Utterly Useless powerUps list :P)

chg: remove cg_teamrails - it was unnecessary complexity
	thus, cg_enemycolors is now *always* RHBL

chg: armour class for ProMode CA is now YA

chg: weaponrespawn is absolute again
	we gave map-specified respawn times priority way back when,
	because id "pro" maps would use still 5 secs by default in VQ3.
	of course, that meant you *couldn't* get 5 sec spawns on them.
	Poland > VQ3, so it's back to being mod-controlled

chg: FFA default and mode weapon respawn is weaponstay

chg: ProMode changes do NOT reset ANY other options

chg: elected referees can't disable ProMode on PM 1 servers

chg: remove arenatype vote - people should be using MODE

chg: update the vote UI to use MODE rather than arenatype

chg: remove mapcfg from the vote UI

chg: remove r_reset command

chg: remove reset vote
	this was originally implemented so that people could use a
	single vote to get the server back to default (i.e. match)
	settings. MODE provides a better solution to that problem

chg: remove a bunch of useless cruft from server info
	(doesn't actually make a difference, because as usual
	id have bodgejobbed the damn thing so it doesn't work)

chg: corpse sink time changed from 5000 to 1000 (except CA/DA)

chg: DA implemented as a mode (bitmask 512)
	if used on a non-MA map it will select the CA maplist

fix: MH was using DM rules in FFA as well

fix: weapon pickup sounds not played if weaponstay was on

fix: couldn't pick up dropped weapons in VQ3 if weaponstay was on

fix: weaponstay weapons always give full default ammo

fix: two-pass spawns at "true" game start were confusing Q3
	if you were holding fire at end of warmup
	client and server would disagree on which weapon you had
	which led to some very strange behaviour at times

fix: poweruprespawn added to mode settings

fix: teams are preserved on map changes, as is the queue for 1v1
	only for non-MA maps, obviously


Notes for version 0.99v8

add: use \color2 for rail rings as well as rail spiral

add: demo menu version autodetect updated for Q3 1.31 / dm_67

fix: mode CTF turns off team damage

fix: double item-give on first spawn of game
	(have to spawn items first then players, or you can respawn an item
	under a player who already picked it up on their respawn)


Notes for version 0.99v7

Important! The armor systems have been tweaked in this build for playtesting
	YA now protects at 66% instead of 60%
	Since that moves the breakeven point for RA/YA transitions from 120 to 133,
	the value of a single RA in the Duel system also needed to be increased.
	These changes mean that the Duel armor rules are now:
	GA protects 1:1, first pickup 50,  second adds 50
	YA protects 2:1, first pickup 100, second adds 50
	RA protects 3:1, first pickup 150, second adds 50
	Wow - a clean, consistent set of armor rules  :)
	Let's hope it playtests well...  :)

add: match_maxsuicides (default 0 - disabled)
	players who /kill more than this many times will be auto-banned
	stops them screwing up TDM games and forcing draws in DA

add: map_delay (seconds, default 30)
	no map voting allowed for this long after a map change
	unless everyone's loaded the new map and is ready to play
	stops one lamer with a fast machine forcing changes to a map
	by voting it in before anyone else has managed to reconnect

add: MA maps can be rotated after a timelimit
	either a hard tl, which rotates no matter what's going on
	or a soft one, which waits until the "dominant" arena is ready

add: map_cfgdir (default "cfg-maps")
	sets where the maplists etc are read from
	(for running multiple servers on a single install)

add: cf_Vote (default 10x14)

add: block the bobup cheat

add: nomip blood (128), nomip smoke (256)

add: \topshots (ffs rhea...) as a synonym for \accuracy

add: per-weapon minimum shot counts to be eligible for \accuracy
	MG: 50, SG: 100, GL: 10, RL: 15, LG: 150, RG: 10, PG: 45

add: PureCTF grapple model - thanks to Kilderean

chg: ProMode colours aren't normalised any more
	in English, that means they're ALL really bright now.  :)

chg: remove the vstr vote and cvars - they're always available in ProMode

chg: allow \maplist during intermission

chg: mode changes on MA maps don't load a new maplist
	this kinda sucks for servers that switch between MA and non-MA maps
	AND different gametypes (e.g. a server is on ra3map1 and people want
	to play CPM3) because you have to call the mode, then call a map that's
	on the CURRENT list to get the new list loaded before you can call the
	map that you really want. But that's just the way it goes sometimes.  :(

chg: damage efficiency calc is no longer rounded

chg: removed ch_scoreStyle
	OSP's "total impact" score is always used: (damage given + 100 * frags) / 100

chg: back to the old-style crosshairname fadeout
	the OSP one is too distracting for a lot of people, including me  :)

chg: allow cg_nomip in VQ3

chg: offhand crutch no longer silent

chg: fov clamped to 130, and you're damn lucky i didn't make it 120  :)

fix: per-map configs (e.g. CPM1A) now go in map_cfgdir/ as well
	and this time, I mean it. DOH!  :)

fix: skinned scoreboxes keep team colors when following enemies while dead in CA

fix: "#" (no token) chat bug

fix: "callvote items +" (no item) bug

fix: not always getting the first "spawn weapon to non-spawn weapon" switch
without penalties


Notes for version 0.99v6

Important:
This version contains some experimental netcode+prediction tweaks.
While I'm pretty confident they make for better play, especially
for the common 35-100 ping case, it may take you a couple of games
to get used to them.

add: maplist support!  :)
	added cfg-maps/ subdirectory and standard maplists
	moved cpm1a.cfg to cfg-maps/

add: map_rotate (0|1, default 0)
	if non-zero and a MODE is enabled, server will rotate to
	the next map in the list for that mode when fl/tl/cl/rl is hit
	map_rotate is ignored if the server is in 1v1 mode
	or is running a multiarena map

add: mode_start (default -1 (no mode))
	which mode to start with (or switch to if server is idle)

add: mode_idletime (minutes, default 10)
	how long before idle servers reset to default mode+map

add: \maplist - shows maps available for current mode

add: "callvote map n" where n is a map id from \maplist

add: ch_skinScores (0|1, default 0)
	colors the scoreboxes with the body+legs of your/enemy colors
	also for the "players remaining" boxes in CA

chg: removed the cfg/ dir
	modes should be used instead for those, for all standard play
	per-map configs (e.g. CPM1A) now go in cfg-maps/ as well

chg: removed the "mapcfg" vote - combined with normal map votes now
	just use a ! at the start of the "map" name instead
	e.g. "callvote map !q3dm14tmp"

chg: the penalty for switches from G/MG to non-spawn weapons
	no longer applies on the first switch
	so you can grab a weapon after respawning and use it immediately

chg: pmove_msec has been removed (now always 8)

chg: cg_nomip for weapon effects/marks matches OSP
           1 - Lightning
           2 - Plasma
           4 - Rocket explosions
           8 - Grenade explosions
          16 - Bullets (machinegun and shotgun)
          32 - Railgun
          64 - BFG

chg: the instagib mode bits have been moved down
	so that they're next to the others. the new values are:
	Instagib FFA - 64
	Instagib TDM - 128
	Instagib CTF - 256

chg: respect cg_forcemodel 0 for in-eyes POV in demo playback
	just for you, JL  :)

fix: dropped clients would hang around on the scoreboard sometimes

fix: stats dumps at end of matches

fix: description for chatflood vote


Notes for version 0.99v5

Important:
I've kept compatibility with Q3 1.27 until now because 1.29 was so awful.
Since 1.30 actually works, this build has some changes to exploit some of
the features in it, and may not work reliably on older versions.

Interesting trivia:
the assorted cleanups of the code over time mean that if you use hudstyle 0
(the baseq3 hud) then CPMA timedemos "four" faster than baseq3 does.  :)

add: \statsall, \statsblue, \statsred

add: non-SD overtimes - callvote overtime <0|1|2>
	default set by match_overtime (default 0)
	0 - Sudden Death (first score decides)
	1 - Timed Overtime (additional rounds of 5 mins each until a winner)
	2 - No Overtime (can end in tie)
	for MODES: FFA and DM use 0, TDM uses 1, CTF uses 2

add: #C chat token - where your corpse is
	ProModers tend to respawn instantly - this lets them still use
	"enemy at #c" / "#c lost" binds

add: #I chat token - nearest (potentially) visible item
	including backpacks and dropped weapons  :)

add: new meaning for #L - Q2-style locations (nearest armor/weapon/MH spawn)

add: mode altca (mode value 4) - ra3-style loadout and damage settings

add: if a matchmode is in effect
	automatically record demos and take screenshots at the end of the game
	if it's CA, player stats are reset at start

add: all matchmodes mute specs; all normal modes unmute them

add: better handling of demo playback from broken OSP versions

add: cf_Following (default 24x24)

add: cf_FragMessage (default 16x16)

add: cf_CrosshairNames (default 12x12)
	and that cute little scaling fadeout OSP uses for them  :)

chg: ch_drawFollow now sets the y-position of the message

chg: ch_fragMessage (0|1, default 1)
	used to be: 0 - off, 1 - small font, 2 - normal font

chg: cg_drawCrosshairNames
	used to be: 0 - off, 1 - small font, 2 - normal font
	now: 0 - off, 1 - all players, 2 - teammates only

chg: player icon and armor type no longer shown in crosshairTeamInfo
	(it was wrong before, actually: showed your armortype instead)

chg: the "pickup names" and #L descriptions for armors
	now Red/Yellow/Green rather than Heavy/unqualified/Jacket

chg: \scores doesn't show damage mid-round in CA matchmode

chg: \stats on speclocked players doesn't show damage

chg: cg_autoaction bits match OSP's
	1 - Automatically save stats to a local text file at the end of a match
		Logs are stored in: <cpma_root>/stats/<date>/<logname>.txt
	2 - Automatically take an end-level screenshot
	4 - Automatically record the game (requires warmup to be on)

chg: remove match_overtimelength, match_overtimecount, type 3 overtime (tie-timed)

chg: remove all references to QTV (long since dead)

chg: remove old #L (health and armor) - it's pointless. use #h #a

chg: passworded refs can unref themselves

chg: say_team in CA when dead goes to all specs if the other team is not speclocked
	so dead people can chat with each other in pickup games
	but you can still talk privately to your teammates in matches

chg: predict the grapple trail start point as you move
	looks MUCH better - thanks Kilderean

fix: messages for team/self damage changes were going to all arenas

fix: ignore "save stats" commands etc if just playing back a demo

fix: player counts were updating instantly if someone joined a CA team mid-round


Notes for version 0.99v4

add: the Q3Comp scoreboard. finally!  :)
	when players die in CA, their line is darkblended

add: Khaile's 1337 hack to keep the scoreboard accurate during demo playback
	(players time+ping don't update, but the actual scores do)

add: time+date stamp to intermission screen

add: ch_weaponListSeparator (length, default: 74)
	controls the lines that separate sections on the vertical weaponlist

add: callvote mode <mode_name>
	changes to a configuration that is always the same on any server

add: callvote match <mode_name>
	execs a mode config
	requires even teams to start the game (if it's a team mode)
	100% of players must rup for a game to start (if mode uses warmup)
	locks/speclocks teams when match starts (if mode uses warmup)

add: server_availmodes (bitmask, default 63)
	1 - FFA
	2 - 1v1 / DM
	4 - reserved - currently ignored
	8 - TDM
	16 - CTF
	32 - CA
	256 - Instagib FFA
	512 - Instagib TDM
	1024 - Instagib CTF

add: ch_scoreStyle (0|1, default 0) - only used by the CA scoreboard
	0 - "raw skill" (damage efficiency)
	1 - "total impact" (damage given + 100 * frags: the OSP style)

chg: instagib warmup now only gives players gauntlet and RG

chg: default CA loadouts now match OSP

fix: HUD CTF flag status reset at start of games

fix: wrong message when referees \removed players

fix: rounds played count for DA


Notes for version 0.99v3

add: mimic the behaviour of some of the no-longer-supported A3D functions
	s_occlude and s_occfactor (ProMode only)

add: \accuracy [weapon]
	with no args, shows "best" players with each weapon
	with "RL" etc as arg, shows stats with that weapon for all players
	minimum of 10 shots to qualify for the title (except for SG)

add: in DA, \stats and +wstats will show your stats if you're a freespec

add: OSP Hook control vars
	hook_enable (0|1|2, default 0)  0 - disabled, 1 - offhand, 2 - onhand
	hook_delaytime (ms, default 750)  minimum time between hooks
	hook_holdtime (secs, default 3)  how long you can stay hooked
	hook_sky (0|1, default 0)  sky/noimpactsurf hooking enabled
	hook_speed (ups, default 1200)  rate hook travels
	hook_speedpull (ups, default 950)  rate at which player is pulled
If you want a more Alliance-style hook, the values are hook_speed 1250,
hook_speedpull 650 (thanks fredo) and hook_delaytime 100 (I think).

add: match_dropitems (1-3, bitfields, default 0, TDM and CTF only)
	1 - can drop weapons+ammo
	2 - can drop flags
	\drop - drops the current weapon and all ammo for it (SG to PG only)
	\drop <SG|GL|RL|LG|RG|PG> - drops that weapon and all ammo for it
	\drop <bullets|shells|grenades|rockets|lightning|slugs|cells> - drops a "box" of ammo
	\drop flag
	\drop ammo - drops a "box" of the current weapon's ammo
	note: a "box" IS a box, as determined by the gameplay rules
	in OSP, certain "drop" box ammo counts are wrong (LG, PG)

add: callvote dropitems and vote_allow_dropitems

add: cg_followpowerup

add: a bunch of semi-gimmicky things to the connection screen

add: cg_noTeamchatBeep (0|1, default 0)

add: \addstr <cvar1> <cvar2>
	combines strings - very handy for complex team messages

add: support "selfdamage" in config files and update cfgs
	0 - none
	1 - health only
	2 - armor only
	3 - both

add: callvote selfdamage and vote_allow_selfdamage

chg: callvote teamdamage is now 0 to 3, not 0 or 1
	so that it matches the cfgfile entry and the selfdamage vote

chg: remove armordamageteam and armordamageself votes, and vote_allow_armordamage

chg: all cg_hud_* cvars renamed to ch_*
	e.g. crosshairColor, fragMessage, weaponList, etc
	yes, this means you'll have to edit your config  :)
	but it's long since time we made both mods consistent on these

chg: remove the "demo is from a broken OSP version" button on demos menu
	it auto-senses them now
	there are still a few OSP demos that simply can't be played back
	but there's nothing I can do about that right now

chg: server_chatfloodprotect now controls the max # of msgs per second
	e.g. server_chatfloodprotect 2 means you can talk every 500ms

chg: spectators used to get credit for "time served"
	if they'd been waiting in one arena and changed to another
	it confused RA3 players though (much like almost everything seems to)

chg: speconly now also does a "team s" automatically

chg: weapon respawn delays set by mappers now have priority
	so the id "pro" maps default to 15 sec weapspawns even in VQ3

chg: finally remembered: server_vstr now defaults to 1
	there's still no justification for them, but...

chg: damagekick is now always off, in VQ3 as well as ProMode
	since id bugs make it unreliable on servers w/high uptime
	cg_damagekick cvar removed

chg: g_powerupRespawn replaced by
	g_powerupRespawnFFA (default: 60)
	g_powerupRespawnTDM (default: 60)  (quadruns > VQ3 RA campout lameness)
	g_powerupRespawnCTF (default: 120)
	batsuit still always 120 in all gametypes

chg: listen servers automatically disable some of the OSP protection
	stops the flickering players problem
	listen servers are just BAD though - nothing like real servers  :(

chg: player teams aren't reset on config exec's unless they have to be
	"callvote exec cpm1a" when in DM would rotate players, which was annoying

chg: first-round warmup for CA now 5 if start_respawn is off
	(was 15 before: now matches other rounds)

fix: re-enable OSP windows (+wstats, motd, etc)

fix: GTV clients are automatically speconly
	stops the "next in line" code of 1v1 arenas putting them in the game

fix: force a userinfo update for spectators when they change arenas

fix: oops - "respawns needed" was propogating to all higher-numbered arenas

fix: DM games can vote refs in

fix: certain types of mover (bs plat on dm14) would keep moving during pauses
	made for some very Wile Coyote moments...  :)

fix: the config parser could fail to apply settings on MA maps

fix: dead players wouldn't respawn for pre-match warmup after CA matches

heh: cg_followkiller has been in the code for months - forgot to doc it  :)


Notes for version 0.99v2

Private build


Notes for version 0.99v1

add: auto-detect Q3 version and filter dm_48 or dm_66 demos accordingly

add: "demo is from a broken OSP version" option to demos menu
	need this to get OSP 99v2 and 99v3 demos to show opponents properly

add: instagib_reload (in milliseconds, default 1500, range 100-5000)

add: callvote reload and vote_allow_reload

add: s_ambient (0|1, default 1)
	disable ambient sounds like the gongs on q3wcp2 and the
	void/wind/water background noise on a ton of maps
	requires a client-side restart to take effect if you change it

add: cg_hud_drawWeaponSelect (0|1, default 1)
	this used to be hardcoded based on hudstyle

add: server_chatfloodprotect (0|1, default 0)
	command floodprotect uncoupled from chat floodprotect
	sv_floodprotect has to be 0 or Q3 loses auth responses sometimes
	but that means people can chatspam, which is lame
	the related "callvote flood" and "vote_allow_flood" are unchanged

add: callvote warmup (value, default set by g_dowarmup and g_warmup)
	lets each arena have its own warmup setting
	0 disables, otherwise warmup is enabled and the value sets its length
	also add vote_allow_warmup (0|1, default 1)

chg: ProMode skins now available in VQ3 even in team games
	if you're too stupid to get them to work, don't whine to me about it

chg: instagib changes no longer restart the arena

chg: rail spiral fadeout now Q3 1.29 style (i.e. slower)

chg: no delay when forceswitched from freefloat to follow

chg: splash thru floors no longer an absolute decision: back to 1.17 style

chg: cg_hud_drawWarmup now defaults to 0

chg: warmup panel cleaned up a bit:
	ProMode-only settings (fastrail, cooldown, etc) removed in VQ3 arenas
	Enhanced Sound removed (always on in ProMode, always off in VQ3)
	damage settings for health and armour show as "none/self/team/all"

fix: teamoverlay background off by one line in CA when dead

fix: \vote and \arenavote with no actual vote string in them defaulted to "no"

fix: use the OSP implementation of SpotWouldTelefrag
	Q3 apparently has a bug in trap_EntitiesInBox prior to 1.29h

fix: invalid command times for respawned players

fix: proper lerping for non-default sv_fps values

fix: in vq3, initial powerup spawns are 45+-(0-15), not 45+(0-15)


Notes for version 0.99v rebuild, about 10 minutes after I released it  :(

fix: Don't send tinfo for dead players in CA


Notes for version 0.99v

With the 99v builds of CPMA and OSP, we've decided to enable several
ProMode enhancements in VQ3 as well. This includes ProMode skins,
team rails, colored crosshairs, custom font sizes, and yes, ProMode HUDs!
ProMode skins will stay disabled in team games for now, since the last
time we tried it they were apparently too complicated for some people.  :)


add: server_CPMA_armor (0|1, default 1)
	use the CPMA armorsystems and auto-select duel/team by the arena type

add: onhand grapple (callvote hook 2)
	when used as a weapon does 25 damage per hit

add: support "teamdamage" in config files and update teamgame cfgs
	0 - none (CTF)
	1 - health only
	2 - armor only (CA)
	3 - both (TDM)

add: config file for cpm1a to set weaponrespawn to 5

add: log_default (0|1, default 0) - use baseq3 logging rather than OSP-style

add: log_stat (0|1, default 0) - log health/armor changes and their cause
	very handy for CA servers  :)

add: tell players the h+a of whoever just killed them in CA/DA
	(only if there's no speclock active)

add: match_winDelayCA (default 4000)

add: cg_teamRails 2 - changes the format of cg_enemyColors to RHBL
	should have been like this from day one, TBH. wp Rhea  :)

add: cg_crosshairPulse (0|1, default 1)
	crosshair size changes when picking up items

add: cg_hud_drawFollow (0|1|2, default 1)
	where to put the "Following ..." text when speccing
	0 - off, 1 - top, 2 - bottom

add: enabled the ammo parser for config files
	ammo line HAS to be formatted as "MG SG GL RL LG RG PG BFG"
	even if the weapons line disables some

add: smarter flagrunning by bots on maps with a team_CTF_neutralflag
	thanks to Johnny Law

add: cf_Teamoverlay (WxH, default 6x11) - size of font for team overlay

add: cf_Teamchat (WxH, default 8x12) - size of font for team chat

chg: cg_hud_crosshairColor renamed to cg_crosshairColor
	sorry. needed to make it consistent with OSP

chg: remove a tied vote if everyone has voted

chg: hook voting enabled by default

chg: map config files now reside in cpma/cfg/ NOT cpma/
	if you added cfg files for any maps, you need to move them

chg: LG knockback upped from 1.2 to 1.3

chg: shards are +5 in CPMA armorsystems and +2 in the Q2 one

chg: SUI, TK, TD removed from \scores in CA

chg: lateral self-knockback of RL in ProMode now matches "normal" PM RL knockback
	(vertical self-knockback still same as VQ3 so RJ's behave the same)

chg: redid the way player team info and rounds won/lost are handled in CA
	saves a LOT of ClientUserInfoChanged messages, especially at round start/end

chg: match_startrespawn now defaults to 0

chg: scoreboxes not drawn if the limit is 1 (handy for DA)

chg: frags not reset in DA

fix: occasional dups of other clients' events

fix: couldn't reuse a banned client's slot

fix: high-numbered clients not always getting stats sent+logged at end of match

fix: couldn't unlock teams sometimes

fix: target_gives (YA on spawn on T5)

fix: if all gametype entries on an entity are Q3-invalid, discard it

fix: LG "firing" flag cleared if console is down or player is talking

fix: behaviour of missiles when timeouts expire


Notes for version 0.99u3   !!! SPECIAL CLIENT-ONLY BUILD !!!

With the CotT finals being played on 1.27, the 99u2 menus won't show the demos
This pk3 is just to make life easier for people who want to watch the games

add: creepcam (still pretty rough) for specs and demos
	thanks to Mandrake for his work on this

chg: demos menu back to dm_48 files


Notes for version 0.99u2

add: callvote unreferee

add: OSP messages and logging for CTF events

add: updated player settings menu for CPMA colors

add: can use cg_hud_crosshairTeamInfo even if team overlay is off

add: cg_fallKick (ProMode only)

add: +fire can now chain weapons, but is still atomic
	e.g. "+fire 5 3" fires RL if poss, else SG if poss, else nothing

add: callvote teamdamage and vote_allow_teamdamage

add: cg_drawGun 2 (ProMode only) - disables the weapon "sway"

add: cg_altLightning

add: cg_hud_drawSpeed

chg: if a referee votes yes or no, the vote instantly passes or fails
	(that's how OSP does it)
	(with one exception: an unref vote)  :)

chg: fall damage no longer doubled if crouching (ProMode only)

chg: playback of ProMode demos recorded with OSP is more like for CPMA ones
	(timer counts down, variable rocket smoke radius, etc)

chg: be more tolerant of broken TA/Q3 maps like q3wcp1

chg: minimum warmup for matchplay now 5 (used to be 10)

chg: demos menu now shows dm_66 files (the format used by 1.29f)

chg: ProMode cg_smoke* options for RL and GL now available to VQ3 players too

fix: color2 can now use CPMA colors as well

fix: enemycolors not working properly unless enemy head color was 0-9

fix: Aph's ceiling-hanging trick. sorry bro.  :)


Notes for version 0.99u1
(Technically 99u, but is being called 99u1 because so many people
had the 99u beta cgame already that it would be a real hassle)

add: ramp jumps

add: per-arena weaponrespawns in config files

add: match_WinDelayDA (in milliseconds, default 1000)
	controls how long after the kill a winner is actually declared
	so if you rail someone but then their rocket takes you out right after that,
	the round is ruled a draw

add: cg_railStyle (1-7, bitfields, default 5)
	1 - rail core
	2 - rail spiral (color set by "color2" cvar)
	4 - rail rings
	gg to the Alliance team for making the spiral code public

add: colors 'a' to 'x' for ProMode skins, rails, etc

add: callvote exec for config files (cpma-specific settings ones, not general ones)
	controlled by vote_allow_exec

add: thrufloors and fallingdamage/falldmg supported in config files

add: server_lgcooldown (0|1, default 1) and uncouple it from the fastrail switch
	callvote [lg]cooldown, controlled by vote_allow_lgcooldown (0|1, default 1)
	(it's actually on the MG as well, but no-one seems to care about that)  :)

chg: "callvote items" no longer restarts the arena
	includes weapons/powerups/holdables that a player has

chg: show timer seconds in 1v1 games to specs, demos, and in SD OT

chg: spectators no longer have votes if people are playing

chg: for team games, follow1 is the top scorer on blue and follow2 is the top scorer on red

chg: default CTF weapon respawn now 10 secs (was weaponstay)

chg: faster movement in water, and 4 levels of "depth" instead of q3's 2

fix: pmove weirdness on fast machines - lost events and hitsounds etc
	this was the most significant of the id bugs that pmove 2 fixed
	so they've been consolidated and pmove is back to only 0 or 1

fix: models playing wrong pain noises

fix: most of the EV_STEP stupidity
	should stop it pissing away events, especially when predicting

fix: CTF teamstate properly reset


Notes for version 0.99t

add: w00t! multiview is back  :)

add: "callvote tdm" etc as shorthand for "callvote arenatype tdm"

add: cg_enemyColors [head][body][legs]

add: new ingame UI menu item: "in-game settings"
	lets players call votes without using the console (for RA3 morons)

add: new console command "ui_inGameSettings" will take you straight to that screen
	(a very short comment for a LOT of functionality...
	if you're a referee, all those votes will pass immediately,
	so you essentially have a GUI to control pretty much every server
	setting from)  :)

add: support "instagib 1" in map config files

add: votable powerup times: 60, 90, 120 secs
	set by g_powerupRespawn (default: 90)
	vote controlled by vote_allow_poweruprespawn
	doesn't apply to batsuit, which is always 120
	applies to ALL modes, not just TDM

add: server_ospauth 1 for latest bot-protection

add: "ungrappleable" surfaces (surfaceflags & 0x10000000)

add: "item running" info added to \stats
	number of times you had quad, flag, etc, and how long for

add: lg cooldown @ 200ms, except when fastrail is on

add: q3dm6tmp and q3dm6cpl(1v1) mapcfg files

add: server_record and cg_autoAction for tournaments
	 1 - record demos
	 2 - take screenshots
	 4 - add server name to demo/screenshot filenames
	 8 - add server time when game starts to filenames
	16 - alternate method: server_name-player_name-[count]

add: playback of osp99t demos

add: referee commands, \players, and \scores accepted from console

add: "yell" console-only command: prints in red and sounds klaxon

add: quick fix for q30wnerz

chg: hard armour cap at 200: IOW, no more getting shards when you already have full RA

chg: major optimisation of \stats bw usage

chg: don't dump \scores at end of 1-round DA games

chg: vote_allow_vstr and vote_allow_hook default to 1

chg: players can be telefragged during CA warmup, but will respawn immediately

chg: suicides while flagrunning do NOT return the flag, unlike TA
	I've always thought that was a BS change - it means you can't relay the flag

chg: use the railcore for grapple rather than the LG - MUCH prettier

chg+fix: pickups with cg_predictitems 1 play the pickup sound exactly once,
	but not until the time you REALLY pick up the item
	unfortunately, playing it at the time you APPEAR to have picked up the item
	doesn't work out, because not all pickups are predictable  :(

fix: couldn't ready up/resign/etc in CA while dead

fix: a really HORRIBLE problem with pmove. I think.  :)
	it may actually work properly now. we'll have to see...
	pmove_fixed 1 means use the id code, for compatibility with vq3 weenies
	pmove_fixed 2 means use the new code

fix: demos with spaces in the filename

fix: team chat as a spec in 1v1 games is now spec-only

fix: massive duplication of sounds on item pickup with predictitems 1
	did this ages ago, but the fix got lost at some point

fix: UI client Number now uses the "real" one, not the player that you are following
	(caused problems when ordering bots as a dead CA player)

fix: render the railtrail as close to the xhair as snapping will allow
	for some reason, the baseq3 code does it wrong deliberately. I don't know why.

fix: don't uppercase filenames in the demo menu
	it meant clients with real filesystems couldn't play them back

fix: bots rejoin the game after arena restarts

fix: cg_statScrollTime >0 but <1 still pops up the window

fix: vq3 arenas use the correct dmg beep


Notes for version 0.99s1

add: extended sound radius code for promode. gg HighlandeR.  :)
	modified for "adaptive sound" for better realism:
	sounds are dampened when underwater or behind walls

add: green/jacket armour  :)
	in armorsystem 0 (CPM) - 50 units, 50% protection, 100 unit stack
	in armorsystem 1 (CPMA Duel) - 50 units, 50% protection, 100 unit stack
	in armorsystem 2 (CPMA Team) - 100 units, 50% protection

add: Q2 armour - callvote armorsystem 3 (I had room for one more)
	RA is 100, YA is 50, GA is 25, shards are 5

add: OSP filter_file, for banning/protecting player names and clan tags

add: #d chat macro for "last player to cause damage to me"

add: support "tl" (or "timelimit") tokens in map config files for CPMA maps

add: support "armor" (or "armour") and "health" tokens in map config files for CA/DA only (RA3-style) maps

add: match_mutespecs (0|1, default 0) is used to set the default state

add: cache enemy models at map load time

add: cg_hud_drawWarmup (0|1, default 1) to control display of arena settings before a game starts

add: vote_allow_arenatype (0|1, default 1) - whether players can change an arena from 1v1 to DA to TDM etc

add: setting cg_statScrollTime to 0 stops the window coming up automatically at end of match

chg: remove some of the TA cruft from userinfo updates

chg: stats reset when going spec in a non-CA game

chg: show time in game on scoreboard for ffa and all team games (except ctf when carrying flag)

chg: copy a followed player's score for "true" spectators

chg: larger scoreboard in non-team games

chg: gamename set back to just "cpma" - q3 seems to have been getting confused by the space on some platforms

chg: cg_pmove_fixed now lets clients disable pmove if the server has it enabled, but not vice-versa

chg: warmup info is removed at 5 secs rather than at match start

chg: allow black in names. it's lame, but i'm tired of the whining...  :)

chg: assorted other bits and pieces of warmup made less intrusive

chg: cg_teamrails default is now 0

chg: no klaxons at the end of DA games

fix: on DM7, the grate and button are now gone in TDM
	(likewise, with CPM14 the "secret" tele's destination changes and the MH is accessible)

fix: actually *cough* open the admin log  :)

fix: team selections on arena restarts

fix: accuracy on scoreboard for instagib

fix: accuracy stats fractions at end of matches should be okay on linux servers now

fix: callvote items +all enabled weapons that didnt exist

fix: referees pausing matches during warmup

fix: no respawn sometimes for first round of CA matches if startrespawn was on

fix: doubled pickup sounds when timenudging

fix: second-place score in demo playback

fix: scoreboard in VQ3 demo playback

fix: "players remaining" counts for CA update immediately when players respawn before the start of a round


Notes for version 0.99s (Beta 3)

add: in server menu, demo menu and choose arena menu you can now double click on a list item

add: the latest Abuse TMP maps - q3dm6tmp q3dm7tmp q3dm8tmp q3dm12tmp q3dm14tmp
	use callvote mapcfg to run them

add: CPM skins for ALL standard models  :)


Notes for version 0.309

add: \r_ip for referees (but only those with the ref_password)

chg: W/L in CA replaced with rounds played (yellow) and time (cyan)

chg: remove the unnecessary respawn during warmup before the first round of a match for g_dowarmup 0 games

chg: last attacker and last target only updated when damage is actually caused, not just on a hit

chg: colour the status bar (and highlight the player's team in CA) when following

chg: entertime set only on clientconnect, not clientbegin

fix: sigh. DA rotation got messed up by the follow changes

fix: layout of drawattacker and players remaining stuff on the hud in CA

fix: changing arenas while following meant stats didnt get reset

fix: callvoting to/from promode changes the spawn health, armor decay, and weapon respawn immediately
	for CA and DA, the arena flags and the spawn armor will be reset as well


Notes for version 0.308a

chg: only worry about "our" spawnflags bits

chg: team ALWAYS set to spec on clientconnect


Notes for version 0.308

add: support the "gametype" spawnvar

add: ca/da respawn scheme vote - controlled by "vote_allow_startrespawn"
	note the the cvar name change: different to OSP

add: match_carespawn renamed to match_startrespawn


Notes for version 0.307

add: match_carespawn (0|1, default 1) - controls respawn at "fight!" time
	(set it to 0 for ra3 players who are used to it being wrong)  :)

add: match_carespawn setting to the warmup hud

add: log winner and final score in console too for team games 

add: CA spawn code will now use team team_CTF_redspawn and team_CTF_bluespawn if available
	so well-designed maps can completely avoid the spawn gangrape issue
	it will fall back to info_player_deathmatch spawns if necessary

add: support config files for MA maps to set default arenatypes, limits, weapons, ammo, etc

chg: make warmup hud text 25% larger

chg: infinite ammo during warmup

chg: switching to/from promode no longer requires an arena restart to make sure the client physics are correct

chg: won/lost record is cleared when player changes arenas

chg: bots "ideal fight distance" is now about twice as far away as it used to be

fix: allow dead CA players to call votes

fix: "Team Orders" menu now works on MA maps and in CA

fix: "Add Bots" menu enabled on MA maps, it now adds bots to the current arena

fix: player counts on the join team menu are totals in CA, not just living

fix: cg_damageKick and cg_damageDraw are only available in promode

fix: a couple of annoying little DA things


Notes for version 0.306

add: show inter-arena tele messages in the lobby even as spectator

add: g_weaponRespawnCTF - default is 0, which is weaponstay

chg: g_weaponTeamRespawn renamed to g_weaponRespawnTDM

chg: don't kick followspecs back to freefloat immediately if the player dies

fix: team follow1 clients 999 at intermission


Notes for version 0.305

chg: don't put someone in the game if they're dl'ing files

chg: clean up the clientinfo parser

chg: bots with RJ characteristic aren't so afraid to use them in CA games

chg: vq3 hud shows status bar too when following

fix: doh! holes in the client list would mean players didn't get respawned in CA


Notes for version 0.304

add: feedback when un/locking an arena

add: locked arenas are marked in red in the choose arena menu

add: update players wins and losses after each round in DA and CA

chg: no pain sound on crash landings if fall damage is off

fix: "damage efficiency" calc for DA and CA

fix: clientinfo changes would occasionally not propogate at the start of rounds
	if the client had been following the last player to die

fix: AdjustCAScores was polluting the va() buffer


Notes for version 0.303

Happy Birthday Josephine! sm00ch!  :)

add: server_armordamageself (0|1, default 0) - controls loss of armor on RJ's etc

add: server_armordamageteam (0|1, default 1) - controls loss of teammates armor when you spam

add: server_realping (0|1, default 0) - whether or not ping is copied for specs following other players

add: IP logged on client connect

add: r_lockarena and r_reset for refs

add: r_putblue/r_putred and r_remove for refs

add: update players won/lost records after each round in CA and add to wstats

chg: show teaminfo (includes players remaining, if CA) even when following

chg: add a delay before intermission kicks in so you can pummel that last guy's body in CA  :)

chg: don't clear stats and scores even after matches in CA
	they're still cleared if a player changes arenas or if an arena reset vote passes

chg: don't clear stats in DA, but score is still cleared at end of match

chg: don't show weapon respawn time on warmup hud if DA or CA

fix: speclocks by refs were keying off team locks too

fix: votes for reset and restart don't need an argument

fix: falling damage during warmup

fix: powerup spawns were playing in all arenas


Notes for version 0.302

add: cg_oversampleMouse - VERY experimental

add: d!ablo's "map item editor" (server-side) - only "/callvote mapcfg x" is supported so far

add: the Abuse teamplay versions of dm6/7/12/14, and the 1v1 version of dm6
	these should be consolidated and use notteam/notfree flags

add: join team menu shows # of players on each team if not 0

chg: \ready not used for FFA

chg: intermission delay reset properly on changes to/from DA

chg: don't draw warmupinfo in the lobby

fix: occasional problems finding captains


Notes for version 0.301

add: "team follow1" and "team follow2" now work on a per-arena basis

add: for team games, the auto-follow choice is based on highest scores

add: DA now supports matches of more than one round  :)

add: per-arenatype intermission delays: none for DA, 10 secs for everything else

chg: allow timelimit and scorelimit to both be 0, but disable team locks if they are

chg: can't pick flags up during warmup

chg: disable any skins except red and blue in VQ3 team games

chg: disable CPM skin colors in VQ3 1v1 games

fix: TDM would always use 30 sec weapon respawns (and the warmup hud was wrong)
	now it defaults to whatever g_weaponTeamRespawn is, and can be changed by vote

fix: formatting of \scores in CTF


Notes for version 0.228b

add: stats logged at end of match

fix: speconly is cleared if you join a team

fix: spec invites are cleared on arena restarts
	(stops ppl getting invites in one match and spying with them in a later one)

fix: loads of spec stuff: another fake PJ, cycles under assorted speclocks, etc etc


Notes for version 0.228

add: \ready and \teamready for first round of CA matches

add: allow players to respawn during pre-match warmup in CA

add: \r_allready for refs


Notes for version 0.226b

fix: fake PJ on following players - heh - left some test code in...  :)

fix: don't double-debounce ref commands


Notes for version 0.226

add: server_fallingdamage (0|1, default 1) - using dmflags for it is kinda lame

add: callvote reset to get an arena's settings back to the defaults easily, based on its type

add: FIGHT! sound back in, for real this time  :)

add: bots will now hunt enemies down in CA games

add: the rest of the nomip weapons

chg: specs now spawn at the arena's intermission point rather than any old spawnpoint

chg: scoreboard shows "team wins" instead of "team leads" at end of match

chg: command debounce dropped from 5 secs to 2.5

chg: no absolute ban on spectalk during 1v1 games - too many people got confused by it

chg: cg_teamRails affects marks on walls now too

fix: yay! gibbable bodies (complete with death anims)  :)

fix: scores not lost any more if following a player in CA when dead and he dies too

fix: "non-aggressive" bots would sometimes shoot at long-dead enemies until someone more interesting came along

fix: bots would want to retreat for a stupid reason a lot of the time

fix: the nomip PG hit

fix: VQ3 powerups spawn between 45 and 60


Notes for version 0.223

urgh... a bunch of changes to improve bandwidth usage

chg: new nades - omfg do they rock! especially with nomip. gg 4nT1.  :)

chg: nomip bitfields are now (1 << weapon), i.e. GL 16, LG 64, PG 256

chg: djumps v2.1  :)

chg: whining gits can now pick items up during warmup

fix: sometimes in 1v1, only one player's score was dumped at the end of the game

fix: rankings would be done across arenas sometimes, causing bad lead-change announcements

fix: stop "sudden death" voice on arena restarts


Notes for version 0.222

add: teamkill/teamdmg to wstats

fix: sound bugs. what else?  :)


Notes for version 0.221

fix: allow refs to talk to players in 1v1 games


Notes for version 0.220

add: blenders and biohazards at intermission  :)

chg: play lead changes even if player gets a reward

fix: yay! the nomip trick means colored xhairs are usable again in mip5

fix: unclamped swapskins values did bad things

fix: changing arenas from ffa to tdm sometimes left teammates in the enemymodel skin

fix: occasional auto-captain problems

fix: promode "no seconds" clock only in 1v1, not FFA as well

fix: about 50 things in the bot code. most notably:
	they actually realise when they're playing CTF now
	they don't get confused if you start an arena in CA

?fix: death sound continues to play from respawned players position

fix: powerups tagged SVF_NOCLIENT when not spawned to fix predictitems 1 clients

fix: yet more sound fixes - osp 99s2 - jumppads, mostly

fix: heh - don't use spec scores if player score is negative  :)


Notes for version 0.219

add: server_vstr and vote_allow_vstr for CCC to disable scripts

add: "fire n" to switch to a weapon and fire it immediately

add: show time remaining in \scores

chg: in promode, clocks count down to 0:00 instead of up to timelimit

chg: calling a world vote counts towards your vote_limit

chg: no damage or knockback in the lobby, but RJs are okay  :)

fix: deny ready/teamready if insufficient players

fix: red + blue scores are the right way around in vq3 demos

fix: clock shows the right time in vq3 demos


Notes for version 0.218

add: allow the skin specified in cg_enemymodel to override the server in team games

add: auto wstats at end of round / match

add: osp motd

chg: in promode duels clock only shows minutes until <30 secs left to play

fix: yet more sound bug fixes from OSP (duplicate sounds, this time)

fix: ui_playersettings crashes


Notes for version 0.217

add: # expansions in chat

chg: mondo hud rewrite. hud should actually work fully now in vq3 mode

chg: gone back to cpm1.0 djumps until the stepup problem can be fixed


Notes for version 0.213

add: cg_lightningImpact (0|1, default 1)

add: "gameversion" to serverinfo so pingtool etc can pick it up

chg: honour nobots/nohumans spawnflags

fix: quadded mg/pg sound is just too annoying


Notes for version 0.212

add: offhand crutch on button5

add: don't cycle to the hook on weapnext/weapprev/outofammo

add: cg_noAmmoChange (0|1, default 1) to avoid selecting a weapon that's out of ammo

chg: default weapon in CA and warmup is RL

fix: move the warmup test for item pickup into BG for clients with predictitems 1


Notes for version 0.211

add[MB]: wstats now appear at intermission time. You can use your "-wstats" to make it go away. If left alone it stays until the last 3 sec of the countdown.

add: cg_nomip flags to stop weapon fire looking like crap with picmip 5. rhea owns all.  :)
	1 = LG, 2 = PG, 3 = both

add: wstats from OSP

fix: ctf flag info displayed properly on hud

fix: djump stepup code would stepup mid-rj if you strafed into a horiz plane

fix: server_ratemin works again

fix: lol! got the predictitems sound code BACKWARDS in 210!  *cough* gg me...  :)


Notes for version 0.210

add: server_fastrail, default is *off*

chg: use cpma-1 as gametype: should fix some autodl probs

chg: assorted merges with osp 99s

fix: sounds and promode MH should be okay now no matter what predictitems is. i hope.  :)


Notes for version 0.209

add: speconly command

add: debounce team commands

add: ref commands - restart, mutespecs, pause, kick, lock, speclock

fix: reset arena delta time properly after pauses/timeouts

fix: player miscounts on choosearena menu


Notes for version 0.208

add: callvote armor for CA

chg: rewrote "end of match" code for CA; cleaned up player rotation for DM

fix: double armor-give if first spawn of the game is on top of an armor

fix: global sounds (e.g. klaxons) are now per-arena

fix: "tied" CA rounds never restarted

fix: player miscounts made chasecam unavailable 


Notes for version 0.207

add: fight! sound when match starts

add: players remaining counts in CA

add: cg_damagedraw

add: callvote restart to (duh) restart an arena - this replaces map_restart


Notes for version 0.206

add: server browser now allows CPMA and OSP gametypes

add: can now specify an arena when adding bots

chg: arenainfo msgs throttled to save bandwidth

chg: choosearena menu improvements

chg: g_weaponrespawn now honoured
	-1: default to 15 for CPM and 5 for VQ3
	 0: weaponstay

fix: some messages were being sent to all arenas (ready changes, thrufloors damage changes, captaincy resign, team speclocks)

fix: non-team arenas showed stats from other arenas too in matchinfo

fix: muted spec chat now shows up as spec chat rather than normal
	note: specs can NOT be unmuted in 1v1 arenas


Notes for version 0.204

add: currenttime command

add: per-arena weapon respawn time and weaponstay

add: +/- vstr

fix: rail rings (who the hell uses rings?!) now shaded properly


Notes for version 0.201

add: callvote items reinstated

chg: yet more messing around with RemoveTournamentPlayer calls

fix: display your stats at end of non-1v1 games

fix: truelightning rendering was a little bit off

fix: obits only for players in current arena

fix: "other arenas" part of scoreboard now shown in non-teamgames too - oops  :)


Notes for version 0.131

fix: players kicked to permanent spec in ca if the player they are following dies

fix: reset client frag/time warnings at each intermission


Notes for version 0.130b

add: armordamageself, armordamageteam now votable

chg: g_promode and g_instagib renamed to server_*

chg: tele exit speed upped by 10% in promode

chg: arenasettings menu removed - too gay. it's all done with std votes now


Notes for version 0.128a

fix: players sometimes kicked to spec at end of non-1v1 games


Notes for version 0.128

add: CPM skins

chg: new-style doublejumps

fix: rocketsmoke 0 bug


Notes for version 0.126

add: per-arena intermission

chg: timelimit set by serverop is now used ONLY to set default tl for arena

chg: nextmap now ignored as map changes are only by vote

fix: invite players to team actually allows them to join...  :)

fix: no map_restarts any more. ever. unless callvoted.

fix: "choose arena" menu item working again on MA maps


Notes for version 0.122a

add: callvote fastrail and supporting gameplay code

fix: latest soundcode merged from OSP - should fix duped sounds with predict 0

fix: arena fl and tl checks when trying to set both to 0


Notes for version 0.122

fix: initsession now sets teams by arenatype, not g_gametype

fix: 1v1 matchinfo dump and player stats: now sent to all clients and ordered

fix: check backpack flag when picking up ammoboxes

fix: register all ammobox models in case we need to use one for a backpack


Notes for version 0.121

chg: allow world votes during intermission: handy for map changes etc

fix: cgame draws game clock correctly

fix: check conn state before factoring players into vote counts

fix: nextmap works properly for g_gametype 1 (1v1)

fix: mad serverinfo cess during intermission after 1v1 games

fix: w00t! finally tracked down the "fake pj" problem on map changes/restarts  :)
(this also fixes the bots losing their "i am a bot" flag at random)


Notes for version 0.120

add: all weaps and infinite ammo in warmup

add: "arenatype" now votable

add: "arenavote" command to distinguish from world votes

fix: map and nextmap voting


Notes for version 0.118

add: timeout/timein

add: ready/unready

add: some more referee functions: team lock/speclock, pause match, ready all, etc.

add: loads more OSP voting yumminess - \callvote for help

add: callvote armorsystem (CPM (default), CPMA duel (75Y 100R), CPMA team (150Y 200R))

chg: CPM armour system now back to normal (YA 100 (150 max), RA 200)

fix: CPMA votables and OSP votables are now all one "thing"


Notes for version 0.114

chg: CPM z-knockback is now 36 - this should mean that it's about the same in 127 now as it used to be in 117. it might still need another tweak or two


Notes for version 0.111

add: cg_NoChatBeep (0|1, default 0) and cg_ShowPlayerLean (0|1, default 1)


Notes for version 0.110

chg: CPM SG knockback of 1.35 reinstated


Notes for version 0.109
WARNING!!! this build is basically just a bunch of tweaks to try stuff with:

chg: SSG_DMG dropped from 7 to 6. So max SG dmg per shot is now 96 rather than the 110 of vq3 and 112 of v1

chg: while i was in there, i fixed that bs with client drawing the wrong pattern for sg, which leads to you sometimes seeing blood even if you miss, or not seeing it but hearing the hit tone. this change is for the vq3 code as well, currently, but can be broken again if ppl really want that. since it's a definite bug, i figured it was okay.

chg: just for yuks, i implemented the armour changes i mentioned in the forum (it was only 2 lines) so the deal is:
YA==75 with 150 stack
RA==100 with 200 stack
RA/YA breakpoint and conversion factors stay as is (except that there's now and inverted conv as well if you have some YA when you pick up RA, obviously) since we won't change prot% or YA max, and armour still doesn't count down.
note: since i'm just messing around, these values are the same for tdm too, which they wouldn't be even if we did change the scheme for 1v1. it's just a place to start. the next cpma release will have a bunch of tweak_* cvars added for ppl to test with...


Notes for version 0.108 (note: version numbering scheme changed)  ;)

add: very rough CPM-style warmupinfo

add: support for # expansions in chat, e.g. "say_team i just railed #t" will show up as "i just railed a|rhea". i *don't* have the cpm set (health, armour, low ammo, etc) for tdm in there since i can't find the code...

add: promode smoke control for SG (cg_smoke_sg)

chg: CPM z-knockback of 40 replaced with VQ3 z-knockback of 24
chg: CPM SG knockback of 1.35 replaced with VQ3 SG knockback of 1.0
chg: CPM LG knockback changed from 1.55 to 1.2
(i.e. RL and LG are now 1.2; gauntlet and PG are 0.5; other weaps are 1.0 (same as VQ3))

chg: thrufloors now does 100% dmg instead of 50% - gonna leave it for the design team to worry about  :)

chg: cg_drawtimer 1 now shows arena clock instead of world clock; 2 shows both clocks

fix: when followspec-ing, shaft now drawn and dmg tones played

fix: promode means promode gfx; vq3 means vq3 gfx


Notes for version 1217

add: splash through floors. this is NOT the same as the 1.17 splash bug - it makes an ABSOLUTE decision on splash through thin surfaces, so it's a lot more consistent than the bug version was. also, damage through floors is HALF what it would be for open splash at the same distance.

bug: i've had to force duel arena to roundlimit of 1 - it's too problematic right now otherwise. i'll fix it after the hols. dm is still fine.

fix: fraglimit warnings will play properly each game

fix: team chg msgs only sent to current arena

fix: info for team overlay only sent for current arena

fix: id bug - you can now play 1.27 demos back through the ui  :)

fix: arena votes work again

note: you may get "fake" PJ sometimes as a spec - pressing fire should clear it


Notes for version 1216

chg: \matchinfo cmd renamed to \scores to match osp

fix: w00t! sound-dropping code reintroduced by 1.27 merge replaced AGAIN with osp code. now i can use lg again.  :)

fix: swap quadshell colour too if swapskins set

add: promode smoke control vars for rox+pills

chg: promode hit-tones now disabled for non-promode arenas


Notes for version 1215

?fix: found old code in spec set for arena chg (c+p from wrong dir - gg me) - should fix the false PJ

?fix: zombie winners in 1v1 games left over when next match started

fix: clients showing scores/warmupinfo/scoreboard etc from wrong arena fixed - cgs.clientinfo is an ARRAY, not a pointer - DOH!

fix: speclock not kicking specs from players if they were already following before the lock

add: cg_teamRails flag  :)


Notes for version 1214

first 1.27 release


----


"WONTFIX" issues
These are problems that we've essentially written off.
Hopefully they will never be anything other than few and minor.

The doors in the original Abuse Q3DM12TMP are always closed.
This is basically a problem with the map itself.
The mapcfg version that comes with CPMA (callvote map !q3dm12tmp)
works fine, and also saves clients having to DL the 30MB TMP pak.
