Entry
-
Continuing the small guide for how to fix your ancient config, or how to build a new one, with a twist. Here are some settings that I claim will help you play better. This is of course a controversial subject in the quake 3 community, and personally I do not believe there are a lot of config cvars that will actively help here, so I will only do the most logical ones that really could be of help. These are all along the lines of turning down information you do not want, and showcasing better the information you really want.
[break]

cpm20 with my TDM hud.[break]
Things to tune up
It is of the utmost importance that you find an cg_enemymodel that is:
1. Visible, and has roughly the same size as the hitbox. TankJR annoys a lot of people with his size, and consequent rails that look like they hit. In general, I think it makes you less accurate to have a bigger target, but that's just me (note that the hitbox is the same for all models). Also, make him a really bright colour, like phosphorescent green.
2. Audible, and has distinguishable sounds relating to their health levels. This is where most models fail as a decent enemy model, as all models give of a different damage response sound depending on how low on health they are. The three levels are sup50, between 25 and 50, and sub25.
Sarge's sub25 health scream, his distinctive jump sounds, and his good shape is why he is probably the most popular enemymodel.
Now, your team model should be one that you can easily distinguish with the same two senses. However, you are also going to be hearing his jump sound constantly, so pick something light. Xaero, Mynx or Bones are good choices, but I found bones to be a bit too surprising as a team model in team games. Note that not forcing team mates to have the same model sucks if they are using sarge, so you should go for one of the above.
Now, you also want to know exactly when your enemy dies. By this I mean without having to hear .5 seconds of his death sound or recognize that his death sound animation has started; because he sometimes looks alive for a while depending on how fast and where he is heading. cg_deadBodyDarken takes care of this. Models will instantly turn black when dead. Very useful.
For similar reasons, having a response in addition to the hit sound to how much damage you've done could also be useful. I have com_blood on as it gives me another way to gauge how much damage my lightning gun does mid combat when there's a lot of noise.
Set cg_railtrailtime to at least 1 sec (1000), I use 1200. For while 400 might look better and be less distracting to you, the higher value can better help you better pinpoint the direction you are being railed from, you should be able to know most of the time from audio anyway. You could make the same argument for rocket and grende trails of course, but these are not weapons you just sneakily hit someone with without fully revealing your location, so these are disabled later.
This combined gives the following set of good settings:
model xaero/pm cg_enemymodel sarge/pm cg_forcecolors 1 cg_forcemodel 1 cg_enemyColors iiiiii //neon green color zzzzz //fully white cg_deadBodyDarken 1 com_blood 1 cg_railTrailTime 1200 //longer rail trail time cg_ammoWarning 1 //play a click sound when you are out of ammo on all weapons
Note these also force same rail colours for same teams, which is useful.
Things to tune down
I would claim cg_simpleitems is the most important thing to enable simply because your eyes likes to focus on things that move. It's just a physiological fact, when standing completely still, you will notice changes to your surroundings rather than things that do not change. For instance, if you camp an area with an item, then without simpleitems there are potential ammo boxes all bouncing around all potentially distracting you, while with simpleitems on, you would only notice them spawning, and have more brain power to focus on a potential threat.
For very similar reasons, s_ambient should be set to zero to turn off buzzing and gongs on tons of different maps.
Whether or not to use cg_drawgun isn't that relevant anymore as you can squish the size of the thing right down with cg_gunOffset and make it immovable to stop a bit of the distracting motion. There are equally valid arguments for and against having it on now: By having it on, you get an arguably better response to out of ammo by seeing the gun fail. By having it off, you don't take up any unnecessary space.
These points combined with a lot of single line explanation cvars, gives the following set of recommended downtuning settings that you are allowed to disagree with; I do, howeer, consider everything on this list to be useful.
cg_brasstime 0 //no shells ejected from mg cg_muzzleFlash 0 //no flash from mg on fire cg_noProjectileTrail 1 //no underwater ammo trail cg_damageDraw 0 //no blood across screen when damaged cg_noTaunt 1 //disable model taunts cg_fallKick 0 //disables smooth landing animation cg_gibs 0 //blood is enough cg_marks 0 //no marks on walls cg_shadows 0 //no player shadows cg_viewAdjustments 0 //no bobbing or rolling cg_autoswitch 0 //no automatic weapon switchings cg_simpleitems 1 cg_smoke_SG 0 //no smoke from sg on fire cg_smokeRadius_GL 0 //no smoke from grenades cg_smokeRadius_RL 0 //no smoke from rockets cg_drawgun 2 //static gun. 0 turns it off (probably better) cg_gunOffset 10,-4,-10 //low static gun model ch_selfonteamoverlay 0 //no need to view your own stats twice in TDM ch_recordMessage 0 //dont display massive demo recording message com_maxfps 125 //set this to monitor refresh rate s_ambient 0

cpm20 with my 1v1 hud
SuperHUD
The new way to control your hudstyle in CPMA: FULLY. In fact, your hud has a separate config. Since these are mostly preference, I will give a few points on what I think you should modify to get what an awesome hud. A hud with just the necessary elements, and one configured for better fonts and sizes for this new high res quake 3 decade that uses anti-aliasing and anisotropic filtering. For a detailed documentation of the superhud consult cpma/docs/hud.txt.
The most important things to do, is to make threewave the default font. It looks better on frag messages and a ton of other messages, but for high font sizes it might end up looking to blotchy and so you would have to manually define these to have the id. In particular, these turned out to be (working from hud2) the following: ScoreOWN, ScoreNMY, ScoreLimit, Team1-8 and the four PowerUpK_Time settings.
Also, remove the player character icon as it does not tell you anything (in fact it is hardcoded) and instead just put the armor icon in the middle (this gives you useful information in cpma). Additionally quote out itemPickup,itemPickupIcon,FPS and chat1-7 if not in TDM. The information these provides are simply not needed.
Move GameTime to the top right by setting its second coordinate to 0, and hence we replace (remove) the FPS counter.
!DEFAULT { color 1 1 1 1 fontsize 8 12 font threewave textstyle 1 } StatusBar_ArmorIcon { rect 310 448 24 24 } Score_OWN { rect 0 440 32 20; textalign C; fontsize 16 20; font id; bgcolor 1 1 1 0.5; fill; } Score_NME { rect 0 460 32 20; textalign C; fontsize 16 20; font id; bgcolor 0 1 0 0.5; fill; }
That is just a short snippet of some of the mentioned modifications. Look at the file, and you get the rest. If you just want to do this then download what I have done from here, or work with the closest approximation to a great OSP hud, namely hud2.
HardCore
There are a few more things to tune down that most quakers still do. This is by no means a necessity, and if you do not like how it looks, better stick with the above settings (and the ones from the r_ visual guide), as they actually look good and are useful. Anyway, continuing in the style of the downtuning section:
r_picmip blurs your textures. This is good by sort of the same argument as simple items, except in reverse. It is just easier to look for complex model skins and rockets (possibly without smoke trails) against a more constant background like a blurred out wall, but to be honest a lot of people play with 1, and you should be ok with that. There is certainly no need to go beyond 5 or probably even 3. Zero, on the other hand is just way too detailed.
Now to make picmip work in your favour, you need to define what you do not want to picmip out via cg_nomip. I prefer certain things mipped, and some not, and my value is 192 vs the default 1023 which says everthing but walls are nomipped (for more info on this check cpma/docs/client.txt). Additionally, I like a weird mix of picmip 3 and no bilinear or trilinear filtering (basically no opengl, so pixels) that I picked up from ic-BELTH on a LAN years and years back.
This pixel hell I found looks best with only cg_nomip on certain things, and with different r_mapover-/brightbits, r_gamma and r_vertexlight settings (192,7,1,1.4 respectively).
Behold, the horrible result:

cpm20, same place, 1v1 hud, but with the hardcore nogl script excecuted.
If you do find this intriguing, then you still might want to keep nice settings. Thus I will include a script from my new config that changes my play modes, and if accepting a second request, also changes to my hardcore settings (or back from) with 2 key presses.
set nogl "r_texturemode GL_NEAREST; r_picmip 3; r_vertexlight 1; r_mapoverbrightbits 7;r_overbrightbits 1; r_gamma 1.4;cg_railstyle 4;vstr unbindz; vid_restart" set startgl "r_texturemode GL_LINEAR_MIPMAP_LINEAR; r_picmip 1; r_vertexlight 0; r_mapoverbrightbits 2; r_overbrightbits 4; r_gamma 1;cg_railstyle 2;vstr unbindz;vid_restart" set unbindz "echo ^7Do not want.;unbind k; unbind l" set tdm "cg_drawcrosshairnames 1;cg_noteamchatbeep 0;cg_nochatbeep 1; cg_drawgun 0;ch_file cluxTDM;wait 5; reloadHUD; echo ^7TDM settings (K to additionally exec nogl, L to ignore);bind k vstr nogl; wait 5; bind l vstr unbindz;set clientmode vstr 1v1" set 1v1 "cg_drawcrosshairnames 0;cg_noteamchatbeep 0;cg_nochatbeep 0; cg_drawgun 0;ch_file clux1v1;wait 5;reloadHUD; echo ^71v1 settings (K to additionally exec nogl, L to ignore);bind k vstr nogl; wait 5; bind l vstr unbindz;set clientmode vstr demo" set demo "cg_drawcrosshairnames 0;cg_noteamchatbeep 1;cg_nochatbeep 1; cg_drawgun 2;ch_file cluxNICE; wait 5;reloadHUD; echo ^7NICE settings (K to additionally exec startgl, L to ignore);bind k vstr startgl; wait 5;bind l vstr unbindz;set clientmode vstr tdm"
I will quickly walk you through it. Each block in there is supposed to be one line in your config unwrapped. unbindz is the token script for removing binds to K and L (which are my response buttons). nogl simply starts hardcore mode, whereas startgl fixes it back to normal again. Both these scripts can only be called (unless manually) by the K button when it is appropriate, and if you chose to execute them, then you will unbind both the response keys at the end.
Now 1v1, demo, and tdm are my scripts for which mode I want to play in. They all execute different superhuds (some slight differences in team chats and stuff to display for the nice mode), and do some slight mode specific changes. If you would also like to start the hardcore nogl or to revert from it (depending on which case you are in), press K, otherwise press L and both response keys will be unbound so you don't accidentally hit this key in a match.
Anyway, to avoid changing anything at all, you may work from my config found here.
clux.cfg goes in /baseq3 whereas clux1v1, cluxTDM and cluxNICE all go in /cpma/hud just to be absolutely clear.
This, combined with the other visual guide really should provide the fundamentals for a good quake config - covering most of the questions that I get asked most often. Hope this has been helpful to some.
As this writeup took me a lot longer than expected... Though still, feel free to correct any erroneous statements or grammar
