This commit is contained in:
q3aql 2021-03-13 13:10:51 +01:00
parent 965a03bb3e
commit 80dce8b21d
124 changed files with 12670 additions and 0 deletions

28
cpma/cfg-maps/1v1maps.txt Normal file
View File

@ -0,0 +1,28 @@
cpm24
cpm29
cpm28
cpm25
cpm23
cpm22
cpm3a
cpm19
cpm17
cpm16
cpm15
cpm12
cpm11a
cpm10
cpm8
cpm7
cpm6
cpm5
cpm2
cpm1a
cpm1 -1
cpm3 99
cpm11 99
pro-q3tourney2 -1
pro-q3tourney4 99
pro-q3tourney7 -1
pro-q3dm13 -1

10
cpma/cfg-maps/2v2maps.txt Normal file
View File

@ -0,0 +1,10 @@
cpm29
cpm28
cpm25
cpm20
ospdm6
cpm16
cpm15
cpm14
cpm11
pro-q3dm6

12
cpma/cfg-maps/camaps.txt Normal file
View File

@ -0,0 +1,12 @@
# the first map will be the one rotated to if the server is idle
# entries are "mapname [minplayers] [maxplayers] [roundlimit] [timelimit [arena]]"
# the arena field is for simple MA maps (like the RA3 ones)
# if an MA map has a timelimit but there is a match in progress in that arena
# the server will hold off rotating to the next map until that match is over
# if there is no "dominant" arena, the map will just rotate at the timelimit
pro-q3dm6 0 12
cpm4 0 12
cpm6 0 12
cpm18 4 16

1
cpma/cfg-maps/cpm10a.cfg Normal file
View File

@ -0,0 +1 @@
weaponrespawn 5

1
cpma/cfg-maps/cpm1a.cfg Normal file
View File

@ -0,0 +1 @@
weaponrespawn 5

1
cpma/cfg-maps/cpm1b.cfg Normal file
View File

@ -0,0 +1 @@
weaponrespawn 5

1
cpma/cfg-maps/cpm22.cfg Normal file
View File

@ -0,0 +1 @@
weaponrespawn 5

1
cpma/cfg-maps/cpm24.cfg Normal file
View File

@ -0,0 +1 @@
weaponrespawn 5

18
cpma/cfg-maps/ctfmaps.txt Normal file
View File

@ -0,0 +1,18 @@
# the first map will be the one rotated to if the server is idle
# entries are "mapname [minplayers] [maxplayers] [caplimit] [timelimit]"
cpmctf3 00 12
cpmctf4 00 12
cpmctf5 00 12
cpmctf1 00 12
cpmctf2 00 12
# entries with minplayers -1 are "banned"
# and can't be voted in even with map_restrict 0
# use this for really awful maps that are bundled into a pk3 with others
# or if you don't want to delete their pk3's for some reason
# or a map incorrectly claims to support a mode that it doesn't
# (e.g. specifies CTF but doesn't actually have flags)
q3wcp20 -1

32
cpma/cfg-maps/ffamaps.txt Normal file
View File

@ -0,0 +1,32 @@
# the first map will be the one rotated to if the server is idle
# entries are "mapname [minplayers] [maxplayers] [fraglimit] [timelimit]"
!cpm16ffa 2 8
!cpm18ffa 4 16
cpm4 4 14
cpm6 4 14
cpm9 4 14
cpm13 4 14
cpm14 4 99
cpm15 2 8
q3dm2 00 04 25 20
q3dm3 00 04 25 20
q3dm4 00 04 25 15
!q3dm5ffa 00 06 25 15
!q3dm6ffa 00 14 25 20
q3dm7 04 99 30 20
!q3dm8ffa 02 14
!q3dm9ffa 02 14
q3dm10 03 14
q3dm11 03 14
q3dm12 04 99 25 20
q3dm13 04 10 30 20
!q3dm14ffa 04 14
q3dm15 04 14
q3dm16 99 99
q3dm17 99 99
q3dm18 99 99 20 20
q3dm19 99 99 20 20
q3tourney2 00 04 20 10
q3tourney4 00 04 20 10

26
cpma/cfg-maps/mamaps.txt Normal file
View File

@ -0,0 +1,26 @@
# the first map will be the one rotated to if the server is idle
# format: "mapname [minplayers] [maxplayers] [roundlimit] [timelimit] [arena]"
# the roundlimit field is essentially just for consistency with the
# normal maplist format: MA maps MUST set their arenas roundlimits in the
# "mapname.cfg" file
# the arena field is for simple MA maps (like the RA3 ones)
# if an MA map has a timelimit but there is a match in progress in that arena
# the server will hold off rotating to the next map until that match is over
# if there is no "dominant" arena, the map will just rotate at the timelimit
ra3map1 0 99 0 20 4
ra3map2 0 99 0 20 4
ra3map3 0 99 0 20 5
ra3map4 0 99 0 20 4
ra3map5 0 99 0 20 4
ra3map6 0 99 0 20 1
ra3map7 0 99 0 20 4
ra3map8 0 99 0 20 5
ra3map9 0 99 0 20 1
ra3map10 0 99 0 20 4
ra3map11 0 99 0 20 4
ra3map12 0 99 0 20 4
ra3map13 0 99 0 20 5

19
cpma/cfg-maps/ra3map1.cfg Normal file
View File

@ -0,0 +1,19 @@
# make sure that browsers know the server is CA
showas 5
# Evolution
arena 1
mode DA
# Thunderstruck
arena 2
mode DA
# Canned Heat
arena 3
mode DA
# Theatre Of Pain
arena 4
mode CA
warmup 0

View File

@ -0,0 +1,21 @@
# Europa Rendezvous
# make sure that browsers know the server is CA
showas 5
# Arrival
arena 1
mode DA
# Doomed
arena 2
mode DA
# N.N.Y
arena 3
mode DA
# Jupiter Rising
arena 4
mode CA
warmup 0

View File

@ -0,0 +1,21 @@
# All The Aces
# make sure that browsers know the server is CA
showas 5
# Death Or Glory - by SgtGhost
arena 1
mode DA
# Dead and Gone - by SgtGhost
arena 2
mode DA
# Eat The Gun - by Wiebo de Wit
arena 3
mode DA
# Overkill - by Wiebo de Wit
arena 4
mode CA
warmup 0

View File

@ -0,0 +1,21 @@
# Frag Like An Egytian
# make sure that browsers know the server is CA
showas 5
# Smash
arena 1
mode DA
# Drunken Mummy
arena 2
mode DA
# Midlife Crisis
arena 3
mode DA
# Hen House
arena 4
mode CA
warmup 0

View File

@ -0,0 +1,32 @@
# Home Base Of The Assassins
# make sure that browsers know the server is CA
showas 5
# The Railing Box
arena 1
mode DA
ammo 0,0,0,0,0,-1,0
items -MG
items -SG
items -GL
items -RL
items -LG
items -PG
# The Stadium
arena 2
mode DA
# The Chromatic Death
arena 3
mode DA
The Try-Out
arena 4
mode DA
# The Assassins Hide Out
arena 5
mode CA
warmup 0

21
cpma/cfg-maps/ra3map2.cfg Normal file
View File

@ -0,0 +1,21 @@
# Liquid Blue by Senn
# make sure that browsers know the server is CA
showas 5
# Electric Head
arena 1
mode DA
# Somewhat Damaged
arena 2
mode DA
# Window Pain
arena 3
mode DA
# Shaken Not Stirred
arena 4
mode CA
warmup 0

25
cpma/cfg-maps/ra3map3.cfg Normal file
View File

@ -0,0 +1,25 @@
# Tranquility Arena
# make sure that browsers know the server is CA
showas 5
# Electrodome
arena 1
mode DA
# The Divide
arena 2
mode DA
# The Generator
arena 3
mode DA
# Industrial Buttress
arena 4
mode DA
# AC's Temple
arena 5
mode CA
warmup 0

21
cpma/cfg-maps/ra3map4.cfg Normal file
View File

@ -0,0 +1,21 @@
# The Citadels
# make sure that browsers know the server is CA
showas 5
# Caer Mael
arena 1
mode DA
# Mars' Bastion
arena 2
mode DA
# Knight's Keep
arena 3
mode DA
# Castle Deathstalker
arena 4
mode CA
warmup 0

21
cpma/cfg-maps/ra3map5.cfg Normal file
View File

@ -0,0 +1,21 @@
# Suicide20's Lost Faith
# make sure that browsers know the server is CA
showas 5
# The Traps of Fate
arena 1
mode DA
# Faith in Death
arena 2
mode DA
# The Last Gift
arena 3
mode DA
# Abbey of Temptation
arena 4
mode CA
warmup 0

21
cpma/cfg-maps/ra3map6.cfg Normal file
View File

@ -0,0 +1,21 @@
# Manic
# make sure that browsers know the server is CA
showas 5
# Sanity Slipped
arena 1
mode CA
warmup 0
# Slightly Schizo
arena 2
mode DA
# Brain Broke
arena 3
mode DA
# Moon Man
arena 4
mode DA

21
cpma/cfg-maps/ra3map7.cfg Normal file
View File

@ -0,0 +1,21 @@
# The Houses Of Infliction
# make sure that browsers know the server is CA
showas 5
# House Of The Desolate
arena 1
mode DA
# House Of Decay
arena 2
mode DA
# House Of Blood
arena 3
mode DA
# House Of Infliction
arena 4
mode CA
warmup 0

28
cpma/cfg-maps/ra3map8.cfg Normal file
View File

@ -0,0 +1,28 @@
# Hal's base arena
# make sure that browsers know the server is CA
showas 5
# Gleam
arena 1
mode DA
# Grit
arena 2
mode DA
# Grunge
arena 3
mode DA
# Gutteral
arena 4
mode FTAG
warmup 0
limit 5
timelimit 0
# Gaudy (otherware)
arena 5
mode CA
warmup 0

21
cpma/cfg-maps/ra3map9.cfg Normal file
View File

@ -0,0 +1,21 @@
# G1zbang2
# make sure that browsers know the server is CA
showas 5
# Cannery
arena 1
mode CA
warmup 0
# Story
arena 2
mode DA
# Q3Terrain
arena 3
mode DA
# Megan's Place
arena 4
mode DA

View File

@ -0,0 +1,40 @@
# the first map will be the one rotated to if the server is idle
# entries are "mapname [minplayers] [maxplayers] [fraglimit] [timelimit]"
# since CPMA can run the TMP maps *without* anyone needing the pk3 for them,
# those are used here in preference to the normal id ones
# (the ! at the start of a map name means the map uses a custom .map)
cpm21
cpm4a
cpm18r
cpm26
cpm27
!cpm13b
!q3dm12cpm
!q3dm14tmp
cpm14
cpm20
cpm9
cpm6 0 4
cpm11 0 4
cpm16 0 4
cpm19 0 4
cpm25 0 4
cpm28 0 4
cpm29 0 4
cpm4 99
cpm13 99
cpm18 99
pro-q3tourney2 -1
pro-q3tourney4 -1
pro-q3tourney7 -1
pro-q3dm13 -1
pro-q3dm6 99
q3dm9 -1
q3dm11 -1
q3dm15 -1

42
cpma/cfg/cpl-server.cfg Normal file
View File

@ -0,0 +1,42 @@
// almost everything is set to sensible defaults in CPMA
// the only exceptions are cvars that are "poisoned" by baseq3
seta sv_hostname "CPL Server"
// change these :)
seta ref_password abc
seta rconpassword xyz
// server autoactions bitmask: demo 1, screenshot 2, timestamp 8
seta server_record 11
// on LAN, this is unnecessary provided sv_LANforcrerate is left at 1, but...
seta sv_maxrate 50000
seta server_ratemin 50000
seta server_maxpacketsmin 125
seta server_maxpacketsmax 125
seta server_optimiseBW 0
seta sv_fps 30
seta sv_pure 1
seta sv_allowdownload 0
seta g_log ""
seta admin_log ""
seta filter_file ""
seta vote_limit 0
// gameplay settings
seta server_gameplay VQ3
seta mode_start VQ3DM
seta mode_idletime 0
seta server_availmodes VQ3DM
seta map_delay 0
seta map_restrict 0
seta map_rotate 0
map pro-q3dm6

4707
cpma/changelog.txt Normal file

File diff suppressed because it is too large Load Diff

10
cpma/classes/fighter.cfg Normal file
View File

@ -0,0 +1,10 @@
n Fighter
m sarge
s 280
h 100
a 100
ac 1
jd 1
w3 10,25,5,10
w5 5,25,5,10
w8 50,100,25,50

11
cpma/classes/scout.cfg Normal file
View File

@ -0,0 +1,11 @@
n Scout
m slash
s 320
h 100
a 50
ac 0
jd 1
jr 1
w3 15,25,5,10
w4 3,6,1,3
sw 3

10
cpma/classes/sniper.cfg Normal file
View File

@ -0,0 +1,10 @@
n Sniper
m visor
s 280
h 100
a 50
ac 1
jd 1
jr 0
w2 100,100,25,50
w7 10,25,5,10

9
cpma/classes/tank.cfg Normal file
View File

@ -0,0 +1,9 @@
n Tank
m keel
s 240
h 100
a 150
ac 2
w3 10,25,5,10
w5 10,25,5,10
w6 50,150,25,50

BIN
cpma/cpma-trans.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
cpma/cpma.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

80
cpma/default.cfg Normal file
View File

@ -0,0 +1,80 @@
// key bindings
unbindall
bind ` toggleconsole
bind ~ toggleconsole
bind TAB +scores
bind PAUSE screenshotJPEG
bind F1 "vote yes"
bind F2 "vote no"
bind F3 "ready"
bind F4 "notready"
bind F5 "arenavote yes"
bind F6 "arenavote no"
bind ENTER messagemode
bind \ messagemode2
bind d +back
bind e +forward
bind f +moveright
bind s +moveleft
bind ALT +movedown
bind c "weapon 1"
bind 5 "weapon 9"
bind a "weapon 2"
bind v "weapon 8"
bind r "weapon 6"
bind g "weapon 7"
bind q "weapon 4"
bind w "weapon 5"
bind t "weapon 3"
bind MOUSE1 +attack
bind MOUSE3 +zoom
// cvars
// core engine behavior
seta com_hunkmegs 128
seta com_maxfps 125
seta scr_conspeed 999
seta vm_game 2
seta vm_cgame 2
seta vm_ui 2
// graphics
seta r_fullscreen 1
seta r_mode 0
seta r_roundImagesDown 0
// network
seta rate 25000
seta cl_allowDownload 0
seta cl_maxpackets 125
seta cg_laghax -1
// server
seta sv_fps 30
// CPMA already sets all cgame and game vars correctly
// but some are hacked into the engine so our defaults are ignored
seta model "mynx/pm"
seta color nnyny

1
cpma/description.txt Normal file
View File

@ -0,0 +1 @@
CPMA/OSP 1.48 (27 Jul 10)

146
cpma/docs/Bots.txt Normal file
View File

@ -0,0 +1,146 @@
Challenge ProMode Arena: Enhanced Bots
--------------------------------------
Date: 28 Apr 03
Well, go figure...
Thanks to Qrealka and Diamant, I've put some effort into the bots.
None of this would have happened if they hadn't been willing to help
out, because it would have taken more time than I have to spare.
Pretty much all the DM AI has been improved over CPMA1.1 with new
decision-making code. The bots are quite a bit smarter than before,
and at times you can even "see" what they're thinking if you watch
them. They're still completely ignorant of many things though, and
unfortunately are still dependent on AAS files, which are invariably
flat out wrong about level connectivity. Swelt or I may write a guide
to how mappers can fix some of the worst problems if we ever get time.
I've ONLY focused on DM, so I expect they're still absolutely awful
at TDM/CTF/etc.
Fixes are generally for the new bots only, but some have been applied
to the standard bots as well if the bug is too pathetic to tolerate.
Those are marked with an 'I' (e.g. the 1.1 RL aim bug was a "fixI")
and are implicitly id bugs, obviously.
The skill thresholds are:
79- has pretty sucky aim
81+ enables evil RL
86+ tries to avoid "bad" RG shots **
bot_challenge 1
enables evil hitscan at skill 91+ after you're open for 0.5-0.25s
doesn't degrade accuracy at close ranges
aims faster after using a tele
does NOT otherwise affect aim skill
uses the "alternate" weapon choices (more hitscan)
** At 86+, you'll see a noticeable jump in hitscan accuracies.
This DOESN'T mean that they've suddenly become all-aim bots. They
actually still only hit as many shots as they do at 85, but since
they FIRE far less often when they know the shot is a "bad" one,
the percentages become much higher.
Skill level also affects movement speed to some extent.
There are some new bots as well, with slightly better strategic
play and some "personal" properties. They can only be used at
skill 6 and above (CPMA AI).
Apheleon
faster than all other bots
has improved RL
uses the "alternate" weapon choices
arQon
only slightly faster than normal bots
has godlike RL
uses RL a LOT
rat (the LPB version)
faster than normal bots
has godlike RL
uses RL a LOT
add: strafejumping, yay!
Qrealka and Diamant get all the credit for this one
add: tanked bots will hunt you down and spawnrape you >:)
add: evil RL prediction (quite ratlike at times :P)
add: a bit of dodging and ducking for cover
chg: skill 6-100 uses the new AI (1-5 are the id bots)
chg: rewrote item choice management (esp wrt health and armour)
chg: weapon selection now biased towards killshots
chg: removed bot_boost
fixI: bots completely ignoring enemies 3ft away from them
fixI: bots unable to hit enemies at very narrow angles
Date: 20 Mar 03
CPMA's bots have undergone several dozen bugfixes and tweaks over the past
few years, especially wrt melee, but have continued to use the id code for
the bulk of their "decision" making, which is essentially "wander around
at random collecting items until we blunder into someone."
I've generally been reluctant to work on the AI as I don't consider it a
particularly challenging or interesting area, since the vast majority of
its problems are buried deep within the engine itself and the BSPC/AAS
process, improvements generally have to be made by fighting against Q3
every step of the way.
However, the continually decreasing "quality" of my ISP, the staggeringly
inept Charter Communications, has forced my hand. You can thank their sheer
incompetence and near-total inability to run a network that functions at
all, let alone at an acceptable level, for these improvements. :/
With 1.1, the "strategic" gameplay behaviour of the AI has undergone some
fairly drastic changes, which is to say it actually exists now. :P
Bots are aware of armour and health, and will time them to a reasonable
degree. They also have a basic understanding of the relative value of
items, i.e. given the choice between an RL and a box of MG ammo they'll
usually go for the RL; and they will no longer walk within inches of a YA
and ignore it completely to collect a shard 20ft away instead.
How well this approach works is however strongly dependent on the map.
Since bots still use the id code for their movement, they will still play
fairly poorly on the vast majority of maps, including id's own. In many
cases, the combination of defective AAS files and limitations of the
movement code will result in them performing WORSE than before as they
continually try and fail to reach certain items.
The CPM maps have always been designed for the most highly-skilled human
players, and as such are usually something of a "worst case" environment
for the Q3 bots. CPM3a however (Swelt's remix of jude's classic CPM3) has
undergone extensive tweaking to make it as bot-friendly as possible,
while retaining the exact same human-gameplay as the original.
The other key bot-related change in 1.1 is a fix to some defective math in
their use of projectile weapons. While it's historically been true that
there is nothing LESS dangerous than a bot with an RL, this is no longer
the case. While still very much inferior to a good human player, they can
now be quite a threat.
Bot skill as used by g_spSkill and the addbot command now ranges from 1-15.
1-5 is "vaguely-id" AI, which is to say that it uses the id melee code but
otherwise doesn't really have much in common with baseq3. I'm not going to
back out 3 years of bugfixes.
6-10 is "standard" CPMA AI, i.e. what 1-5 was in 1.0
11-15 is "enhanced" CPMA AI, as outlined in this file. Since I've barely
spent a day on this, it's really only DM-aware so far. When I get time
I'll teach them about TDM and CTF: splitting the map into zones of
responsibility; sharing weapons with teammates; etc etc.
Regardless, skill 100 bots will absolutely thrash normal "Nightmare" bots,
and when combined with friendly maps and bot_boost 1.5 can actually be
decent opponents rather than mindless cannon fodder. They're fun. :)

502
cpma/docs/Client.txt Normal file
View File

@ -0,0 +1,502 @@
Challenge ProMode Arena: Client Settings
-----------------------------------------
Date: 22-Apr-2009
This document explains some of the clientside support for CPMA. It will
never be as current as the changelog, so you should always check that
with each new release.
http://www.promode.org/wiki/index.php/Client_Settings will almost
certainly be more up to date.
Network Settings
----------------
cg_lagHax <-1|0> (default = -1)
A combination of adaptive prediction and an updated version of the
famous "50ms hack" we introduced way back in 99v6 that also does small
amounts of lag compensation. Capped at 100ms no matter what: this is
intended solely to make European / EastUS v WestUS / etc games a bit
less of a hassle, not to hack dialup players into aimgods at the expense
of everyone else. 0 disables it, -1 means "as much as I'm allowed": it's
naturally adaptive. You'll lose some of your "feel" for lag, which
messes up your RL aim, etc. This doesn't suffer from the CS/etc problems
of "total BS" shots that piss everyone off; it's not trying to be some
panacea for modemers; and I'm honest enough to call it the hack that it
is instead of pretending that it magically makes lag suddenly not exist,
but all in all it's a pretty nice end result. If you use this, any form
of nudging will generally make you LESS accurate if your ping's under
100ms, because it'll screw up the adaptive calculations.
cg_nudge <value> (default = 0)
An updated and much improved version of
id's crippled cl_timenudge. Allows you to use nudges beyond -25, and
automatically adjusts them to your ping: if you use -50 with a 20 ping,
you get -20. If you spike to 40ms for a few seconds, you get -40 during
the spike. This give you a "consistent worldview" that cl_timenudge
can't, and generally helps regardless of your connection.
cg_optimiseBW <bitmask> (default = 0)
1 - Significantly reduces the amount of non-critical data sent to you.
Regrettably, this also makes you unable to see players through portals,
thanks to a bug in the Q3 engine. Small price to pay though for the HUGE
difference it makes to team games. Servers can, and by default do, force
this on for all clients. It's probably worth setting it to 1 anyway
though, just in case you end up on a server that's changed it to 0.
2 - Use this if your connection is UTTERLY starved for upstream bandwidth
(i.e. from you TO the server). Essentially, if you're on dialup or one
of those Belgian Warp connections. Understand that if you're warpy and
you choose to NOT set this because you like the advantage you get from
warping, you're screwing YOURSELF. Your shots will end up with
potentially huge random delays on them, so even if you're LPB the server
may not see that you fired until up to 100ms after the fact, effectively
making your weapons act like you have an unstable and much laggier
connection, and without cg_nudge's ability to smooth it out.
cg_predict <0|1|2> (default = 1)
Replaces cg_nopredict.
0 - off
1 - normal
2 - optimised
The normal prediction path is extremely slow at times (notably around
curves) and can cost you 100fps on a GHz machine. This new scheme is
MUCH faster, but slightly more prone to errors. Oddly enough, it's still
more accurate than the original id prediction code (i.e. before the CPMA
fixes). If you have a slow machine, it's definitely worth trying. Note
that cg_predict 2 was introduced 9 Sep 2002, the definition of a "slow
machine" has changed since then. Today's computers will not notice any
difference at all.
Note: Do not use cg_predictItems 1 with cg_predict 2.
cg_predictItems <0|1> (default = 1)
Toggle client-side item prediction. 0 option to not do local prediction
of item pickup. If you get many false pickups (due to lag, packetloss or
high ping) you should definitely use 0. It's annoying when the client
predicts that you picked up RL, only to notice a bit later that you did
not pick up anything.
Note: Do not use cg_predictItems 1 with cg_predict 2.
cg_smoothClients
Does not exist in CPMA - see cg_xerpClients instead.
cg_xerpClients <-1|0|1> (default = 0)
A replacement for id's cg_smoothclients that does something useful. :)
1 - Hacked extrapolation: intended for HPBs
This smooths players out when you use high timenudges, at the cost of
some accuracy. It's typically easier to hit a smooth target that's a few
pixels misplaced than it is to hit one that looks like it's teleporting
all over the map, so this combined with cg_nudge is the best option for
HPBs.
0 - No extrapolation. Fine you're LPB.
1 - id's smoothclients: fine if you have cg_nudge 0, worthless otherwise.
Note that prediction errors, such as players in walls, are likely to
occur. Tends to increase how much other players warp to you.
Use at your own risk.
cl_maxpackets <30-125> (default = 63)
The higher value, the more correct info you send to the server and the
more you will hit and the less you will warp - set as high as your
connection allows.
cl_packetdup <value> (default = 1)
Set to 0 if your connection is fine.
Set higher if you experience much packet loss.
cl_timenudge <value> (default = 0)
This still exists in CPMA, but should always be 0 unless you're so used
to "normal" Q3 netcode that you've become dependent on it. All it really
does now is mess up the automatic adaptive nudges.
snaps
snaps should NOT be set in your config. CPMA adjusts snaps value
according to the server's sv_fps value. If you join a sv_fps 20 server
your snaps get set to 20, if you join a sv_fps 30 server your snaps get
set to 30 etc...
cl_allowDownload <0|1> (default = 0)
Toggle downloading of pk3 files from servers. Should be left at 0 as you
rarely reach high download speeds.
CPMA Colors
-----------
CPMA uses a-y to display colors, with a-x being an HSV table and y being
white. Colors can be used in \name, \nick, \ch_crosshairText, \say_team,
\say_teamnl \ch_crosshairColor and several others.
Note these colors do NOT apply to the SuperHud which uses rgba
Chat Tokens
-----------
You can use any number of chat tokens in binds. Would recommend adding
[#H/#A] #U to all binds where team mates need to know your current
condition - for instance "say_team ^3Need Weapon! ^5[#H/#A] #U".
But do NOT overdo it as excessive use of tokens can easily cause
information overload. For instance, CTF high/low binds should be as
simple as possible. The location of EFC is of must importance and your
own health/armor/weapon/pu/etc nearly irrelevant.
#A - Armor Current Armor level.
#a (lower case) does not change color according to Armor level.
say_team "Hurting bad - #H/#A"
#C - Corpse The location where you last died.
say_team "Overrun at #C"
#D - Damaged by The last player to score a hit on you.
say_team "#D is heavily armed! RUN AWAY! RUN AWAY!"
#E - Enemy presence Detailed information on all enemies in your FOV.
"2 enemies", "EFC", "Enemy QUAD plus 1", etc
#F - nearest Friendly player's \name
Not the same as #N which uses \nicks when available.
It's recommended to use #N instead of #F.
bind ? "say_team drop; Dropped weapon for #F"
#H - Health Current Health level.
#h (lower case) does not change color according to Health level.
say_team "Hurting bad - #H/#A"
#I - nearest Item
Shows the nearest "significant" (weapon, armor, powerup, or MH)
available item, including dropped items.
say_team "#I available"
#L - Location
Many maps have terrible target_location entities e.g. PG on PRO-Q3DM6
shows as YA. This shows the nearest "significant" item spawn (weapon,
armor, powerup, flag or MH), whether the item is there or not.
say_team "Took/waiting for #L"
#M - aMMo wanted
Lists all types of ammo for weapons you have that are empty or nearly so.
say_team "Need #M"
#N - nearest team mate's \nick
Uses your nearest team mate's \name should he not have set his \nick.
It's recommended to use #N instead of #F.
bind ? "say_team drop; Dropped weapon for #N"
#P - last Pickup
say_team "Took #P"
#S - item in Sights
Item that you are aiming at directly. Distance to the item is irrelevant.
#T - Target The last player you hit.
say_team "#T is weak - finish him!"
#U - powerUps Powerups you carry - Includes flags.
#W - Weapon
#w (lower case) does not change color according to Ammo level.
Lists the current weapon and ammo you have.
say_team "Need weapon! I only have #W"
Player Model & Color Cvars
--------------------------
color <string> (default = nnyny)
Colour string characters 0-9 and a-z.
First # is your Railcore color.
Second # is your Helmet/Visor color.
Third # is your Shirt Color.
Fourth # is your Legs Color.
Fifth # is your Rail Spiral Color.
This also affects your team mates' color if you use cg_forceColors 1.
cg_deadBodyDarken <0|1> (default = 1)
Darkens players as soon as they become corpses.
cg_enemyColors <string> (default = "iiiiii")
Formatted as RHBLX, same as \color.
Requires a PM cg_enemymodel - eg cg_enemyModel sarge/pm.
cg_enemyModel <modelname> (default = "sarge/pm" )
Setting this will force all players on the enemy team to appear to
have this model.
PM model highly recommended.
cg_forceColors <0|1> (default = 0)
Force your team to use the same color as you.
PM model and cg_forceModel 1 recommended.
cg_forceModel <0|1> (default = 0)
Force your team to use the same model as you.
PM model and cg_forceColors 1 recommended.
cg_showPlayerLean <0|1> (default = 1)
Allows the disabling of viewed model leaning that was introduced in
the 1.27x patches. 0 is more accurate in regards to hitboxes.
model <modelname> (default = "mynx/pm" )
Your model. It is highly recommended that you choose a pm model.
This also affects your team mates' models if you use cg_forceModel 1.
Audio Cvars
-----------
cg_ammoWarning <0|1> (default = 1)
Toggles the "click" sound.
The visual effect can be changed in your HUD config. (see HUD.txt)
cg_nochatbeep <0|1> (default = 0)
Allows client to suppress "beeps" heard during normal chat messages.
Especially convenient when connected to spam-riddled GTV servers.
cg_nohitbeep <0|1> (default = 0)
Disable hit beep. Some like it for LG.
cg_noTaunt <0|1> (default = 1)
Disable all taunts, not just voicechat ones.
cg_noteamchatbeep <0|1> (default = 0)
Allows client to suppress "beeps" heard during team chat messages.
cg_oldCTFSounds <0|1|2> (default = 2)
0 - TA sounds, with voiceovers on captures, flag pickups, ete
1 - Near-worthless Q3 1.17 sounds, same for both teams
2 - Team-specific sounds, no voiceovers
Also controls non-leadchange FTDM end-of-round announcements.
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.
s_announcer <string> (default = feedback)
Set to hellchick for alternative game feedback sounds - requires
\snd_restart. If using Challenge Q3 executable you can set s_announcer 0
to remove all announcer sounds. Not recommended for original quake3.exe
which plays sound/feedback/hit.wav.
General Cvars
-------------
cg_altLightning <string> (default = 0)
0 - Original (pre-TA) id LG beam
1 - CPMA lightning
2 - Thin lightning
3 - Lightning using 1.44 render
Switch between various LG shaft visuals. Example: cg_altLightning 032.
First character is player lightning.
Second character is enemy lightning.
Third character is team lightning.
First character is default for enemy and team mate lightning if not
specified.
cg_altPlasma <0|1|> (default = 0)
0 - Original id plasma
1 - CPMA plasma
cg_autoAction <bitmask> (default = 0)
Perform game actions such as demo recording and screenshots.
1 - save stats to a local text file at the end of a match.
logs are stored in: <cpma_root>/stats/<date>/<logname>.txt.
2 - take an end-of-game screenshot.
4 - record a demo of the game. Requires warmup to be on, i.e. \ready.
It will NOT trigger if you join a game that has already started
(or you got disconnected). In those cases you should use \autorecord.
8 - multiview the game. This also works for GTV even if left unattended!
PLEASE use it GTV admins. If put in gtv.cfg the gtv just has to be
connected to the q3server, there is NO need for a camera guy as the
MV will start once players ready up!
16 - only do these things if you're actually playing in the game.
32 - follow power up.
64 - follow killer.
cg_brasstime <value> (default = 2500)
Controls the time shell casings being discharged from MG+SG are visible.
cg_damageDraw <0|1> (default = 1)
Obscure player's vision with blood effect when they are hit.
cg_drawGun <0|1|2> (default = 2)
Toggles the gun being drawn.
0 - gun off
1 - gun on
2 - gun on, no sway
cg_fallKick <0|1> (default = 1)
Toggles the screen bouncing when player falls.
cg_fov <0-130> (default = 102)
Field of view. Higher values give better peripheral vision while lower
values give better frontal vision.
cg_gibs <0|1> (default = 1)
Gibs and blood splatter effect.
cg_gunOffset [x,y,z] (default = "")
Moves gun along x,y,z axis. Valid x,y,z values are -9 to 9, for instance
cg_gunOffset 5,-9,9.
cg_itemFX <bitmask> (default = 7)
Control the cutesy gimmicks on cg_simpleitems 0 items.
With cg_simpleitems 1 the only difference is flags as they have no
simple model.
1 - bob up and down
2 - rotate (asymmetric items will always rotate)
4 - scale up on respawn
cg_lightningImpact <0|1> (default = 0)
Draw the "glowing ball" at the end of the shaft.
cg_marks <value> (default = 2500)
Milliseconds marks after explosions are visible.
cg_muzzleFlash <0|1> (default = 1)
Specifies if there is a muzzle flash when gun is fired.
cg_noAmmoChange <0|1> (default = 1)
Disables the ability to switch to a weapon that doesn't have any ammo.
Useful for multiple-weapon binds.
cg_nomip <#bitmask> (default = 1023 - all r_picmip 0)
Allows changing graphics to picmip 0 setting, regardless of current
r_picmip setting. Changes require vid_restart.
1 - Lightning
2 - Plasma
4 - Rocket and Grenade explosions
8 - Grenades (the grenade ITSELF, not the same as 4)
16 - Bullets (machinegun and shotgun)
32 - Railgun
64 - BFG
128 - Blood
256 - Smoke
512 - Rockets (the projectile, not the same as 4)
cg_noProjectileTrail <0|1> (default = 0)
Removes underwater bubble trails from weapon fire.
cg_railstyle <0 to 7> (default = 5)
Changes the style of the rail trail.
0 - no trail
1 - straight core (line) only
2 - spiral only, no core
3 - spiral with straight core
4 - dotted core only
5 - original id style
6 - spiral with dotted core
7 - everything
cg_railCoreWidth (default = 2)
Width of the Core. BaseQ3 r_rail* cvars are now obsoleted.
cg_railRingWidth (default = 8)
Width of the Rings. BaseQ3 r_rail* cvars are now obsoleted.
cg_railRingStep (default = 32)
Distance between Rings. BaseQ3 r_rail* cvars are now obsoleted.
cg_railTrailTime (default = 400)
Rail time in milliseconds. BaseQ3 r_rail* cvars are now obsoleted.
cg_shadows <0|1> (default = 1)
Player shadows.
cg_simpleitems <0|1> (default = 0)
Simple 2d items.
cg_smoke_SG <0|1> (default = 1)
Controls the smoke on the shotgun blast.
cg_smokeRadius_GL <value> (default = 4)
Controls the size of the smoke trail for grenades.
cg_smokeRadius_RL <value> (default = 6)
Controls the size of the smoke trail for rockets.
cg_trueLightning <0.0 to 1.0 and negative> (default = 0.75)
0 - Default LG feedback as seen in baseq3.
1 - Pure client side rendering of LG graphic.
Fractional values - Mix between server and client rendering of LG.
Negative values - No LG graphic.
cg_useScreenShotJPEG <0|1> (default = 1)
Whether cg_autoaction 2 uses tga or jpg format.
cg_viewAdjustments <0|1> (default = 0)
Replaces and unifies cg_run* and cg_bob* which are all deleted.
ch_playerNames <0|1> (default = 0)
Display player names above model heads. Only works during demo playback.
com_blood <0|1> (default = 1)
Show blood when players are hit.
com_hunkmegs <value> (default = 64)
Amount of RAM allocated to q3. Generally set to 2/3 of your available
memory but anything above 256 is plenty.
com_maxfps <value> (default = 85)
Fps cap. Unlike BaseQ3, movement in CPMA is not dependant on FPS. You
will jump just as high/far with 30fps as with a million fps. Set to 125
or your monitor's maximum display refresh.
r_mode <value> (default = 4, 800x600)
Controls game resolution.
Type \modelist in console to see exactly what mode each number means.
r_mode -1 enables custom resolution.
r_customHeight <value>
Game resolution Height when r_mode -1 is used.
For instance r_customWidth 1680, r_customHeight 1050.
r_customWidth <value>
Game resolution Width when r_mode -1 is used.
For instance r_customWidth 1680, r_customHeight 1050.
r_displayRefresh <value> (default = 0)
Display refresh rate. Set as high as your monitor supports.
r_ext_max_anisotropy <value> (default = 16)
Anisotropic filtering - Challenge Q3 executable only
r_ext_multisample <value 2^n> (default = 4)
Anti-aliasing - Challenge Q3 executable only
r_fastsky <0|1> (default = 0)
Toggle fast sky.
r_gamma <0.5 to 3> (default = 1)
Brightness.
r_intensity <1.0 to infinity> (default = 1.0)
Intensity of texture colors.
r_mapoverbrightbits <value> (default = 2)
Brightens or darkens the map. Players use values from 1 to 5 depending
on the look they want.
r_picmip <0-16> (default = 1)
Texture detail. Lower value equals higher detail.
r_swapInterval <0|1>
Vertical Synchronisation.
r_textureMode <value> (default = GL_LINEAR_MIPMAP_NEAREST)
Texture Filter.
GL_LINEAR_MIPMAP_LINEAR - Trilinear
GL_LINEAR_MIPMAP_NEAREST - Bilinear
GL_NEAREST - None
r_vertexlight <0|1|2> (default = 0)
0 - Don't use vertexlight
1 - Use vertexlight
2 - Use vertexlight and enable dlights on various objects
like flag carriers (in vq3, has no effect in cpm)
requires r_dynamiclight 1.

276
cpma/docs/Commands.txt Normal file
View File

@ -0,0 +1,276 @@
Challenge ProMode Arena: Commands
---------------------------------
Date: 22 Jun 03
This document gives information on all available commands (and their
options) for CPMA, for both clients and at the server console.
All commands that require a parameter can be issued without the
parameter to gain additional information on the command's current
setting even if the command itself is disabled.
The notation used in the commands described herein uses the common
Unix semantics in specifying if a parameter is optional or required:
- Any parameter description enclosed with < ... > is required.
- Any parameter description enclosed with [ ... ] is optional.
Some of the commands given below also specify "player_id" as an optional
or required parameter. This "player_id" information is the numeric ID
number assigned to a player when connecting to the server. To find
the associated player_id of a player, issue the "\players" command to
view a listing of all playernames and their associated "player_id".
Note: all of the commands listed below are in addition to the commands
that are shipped with the default Quake3 game.
====================================
General commands (all modes of play)
====================================
accuracy Shows best player for each weapon. Adding
<weapon_id> shows all player stats for that
specific weapon. (Alias: topshots)
autorecord Creates demo with consistant naming scheme
+button5 Use the offhand hook/grapple, if the server allows it.
callvote <params> Calls a vote. The list of available <parameters>
is given later in this document.
currenttime/time Displays current local time.
help List of available commands for the particular
mode of play on the server (Alias: commands).
maplist Display available maps for current mode
motd Views server's current MOTD.
mvd Create a multiview demo (all players POVs).
players Lists all active players and their server ID
(This ID is needed for other commands, as shown
below). Additional info on client is also given.
ref <password> Become a referee (admin access).
scores Shows match stats
speconly Toggles client's involvement in the 1v1 queue.
If enabled, then clients will never join a 1v1
game. They will remain spectators the entire
time they are connected. Disabling "speconly"
will put the client back to the end of the queue
to begin playing again.
stats [player_ID] Shows weapon accuracy stats for a player. If no
ID is given, shows stats for the current player
(or if following a player, shows the stats of
the player being followed).
statsall Shows weapon accuracy stats for all players.
statsblue Shows weapon accuracy stats for the blue team.
statsred Shows weapon accuracy stats for the red team.
viewall Multiviews all active players.
viewnone Removes all active views.
+wstats Displays current stats while playing or of the
player being followed (if a spectator). In
multiview, the stats of the player of the
highlighted window will be displayed.
===========================================
Competition commands (warmup-enabled modes)
===========================================
ready Sets player's status to "ready" to start a match.
notready Sets player's status to "not ready" to start a match.
pause/timeout/timein Call or cancel a timeout.
==========================
Teamplay-specific commands
==========================
coach Switches to "coach" specator mode (after being
invited to the team), or reinitializes coach's
multi-player view of the coached team. Coaches
can teamchat, issue timeouts, teamready, etc.
with or for the team just as if they were a
playing member of the team, but they can only
spectate the coached team.
coachdecline Declines a "coach" invitation, or resigns
coach status for a team if already a coach.
coachinvite <player_id> Invites a player to "coach" the team.
coachkick <player_id> Removes a previously invited coach from a team.
drop <item> Drops available weapon/ammo (TDM/CTF only) or
a carried flag (CTF). Type "\drop" by itself to
drop the current weapon.
team <r|b|s|none> Chooses a team (r=red, b=blue, s=spectator) or
shows current team (if no param is given).
lock Locks a player's team
unlock Unlocks a player's team
captains Shows the names of both team captains.
viewred/viewblue Adds views of the entire red/blue team. As
new players join or leave the team, your screen
will be updated.
say_teamnl Removes the (location) part of a teamchat.
==========================================
Teamplay-specific commands [captains only]
==========================================
speclock Toggles locking team from spectators.
specinvite <player_id> Invites a player to spectate locked team.
teamready Readies all members on the team to start a match.
(Alias: readyteam)
invite <player_id> Invites a player to join the captain's team.
(Alias: pickplayer)
remove <player_id> Removes a player from the captain's team.
(Alias: kickplayer)
resign [player_ID] Resigns team captaincy. You can optionally
assign captaincy to another teammate by
supplying the teammate's ID.
teamname <name> Sets a team name for the scoreboard etc to use.
========================
Referee (admin) commands
========================
ref <password> Become a referee/admin.
ref <vote> <param> Works just like callvote settings and info.
abort Aborts a match that is underway.
allready Forces all players to start match.
ban <player_id> Temporarily bans selected player from server.
help List referee commands.
ip Shows players' names and IP addresses.
kick <player_id> Kicks selected player from server.
lock Locks both teams from more players joining.
lockblue Locks the blue team
lockred Locks the red team
promote <player_id> Promotes a player to captain status.
putblue <player_id> Puts specified player on the BLUE team.
putred <player_id> Puts specified player on the RED team.
remove <player_id> Removes selected player from team.
speclock Enables spectator locking for both teams.
speclockblue Enables spectator locking for the blue team.
speclockred Enables spectator locking for the red team.
unlock Unlocks both teams to allow more players to join.
unlockblue Unlocks the blue team.
unlockred Unlocks the red team.
specunlock Disables spectator locking for both teams.
specunlockblue Disables spectator locking for the blue team.
specunlockred Disables spectator locking for the red team.
*NOTE*: All vote options are also available, as any vote a referee calls
will ALWAYS pass immediately. This allows the referee to modify
all server settings shown in the \callvote list.
The "ref" command can be used to achieve the same effect.
==========================
Voting Commands/Parameters
==========================
The following options are available under the "callvote" facility of CPMA.
Most options are called with a parameter of "0" or "1" to signal "OFF" or
"ON" (0=OFF/DISABLE, 1=ON/ENABLE).
You can get a list of all votable options in the game by typing:
\callvote ?
by itself with no option name. This will list all available server
options to vote upon, based upon the current gametype being played on
the server.
You can also get the usage, description and current setting info of
most server variables by simply typing:
\callvote <option_name> ?
without any parameter. For example, you can get the server's current
settings to see which items and weapons are enabled or disabled by typing:
\callvote items ?
See the docs/Server.txt file for details of all the votes.
===============
Server Commands
===============
The following command-list describes the commands available on the
server console. Note, all console commands that shipped with the
default Quake3 game are available.
addbot If issued with a non-default quake3 bot name, CPMA
will deterministically load a bot definition with
a determined skill level. This selection is based
on the bot's numeric representation of its name.
Thus, the same bot will be selected when its name
is given, every time.
filterlist Lists all current filters enabled on the server.
(Alias: banlist)
filterload Loads filter/ban list specified in the
filter_file and player_file server variables.
(Aliases: playernames, banload)
ban <player_id> Bans a player from the server.

52
cpma/docs/Demoplay.txt Normal file
View File

@ -0,0 +1,52 @@
Challenge ProMode Arena: Demo Playing
-------------------------------------
Date: 25 Jun 03
This document explains some of the Demo Playback features of CPMA.
It will never be as current as the changelog, so you should always
check that with each new release.
Key Operations
==============
Keystrokes and mouse clicks no longer abort demos. If you have binds
that you wish to use, press ESC once. However there are a standard
set of keys for most common demo functions:
.:Standard Demo
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
F11 takes a screenshot
.:MultiViewDemo only
SPACE/MOUSE2 switches to next player
ALT switches to previous player
MOUSE1 in a coachview zooms in to that player
MOUSE1 in a main view switches to coachview
MOUSE1 on a subview switches to that player
B - Blue Flag, i.e. *red* FC (CTF duh!)
R - Red Flag, i.e. *blue* FC
F - either FC
I - Invis player
Q - Quad player
S - Batsuit player
P - any player with a real PU (i.e. not Regen/Flight/Speed)
for F and P, if there's more than one PU/flag in play
each keypress will cycle to the next one
Note that cg_followpowerup and team overlay work during MVD playback
Demo Browser
============
CPMA supports directory trees of demos. Hitting ESC in a demo menu
tree pops you up one level rather than straight back to the main menu
- that annoys me. "Back" still jumps all the way out just in case you
like it. Once you find the demo you desire, you can hit ENTER to
launch it or select Play.

449
cpma/docs/HUD.txt Normal file
View File

@ -0,0 +1,449 @@
Challenge ProMode Arena: Client HUD Settings
--------------------------------------------
Date: 22-Apr-2009
This is a snapshot of http://www.promode.org/wiki/index.php/Custom_HUDs
The wiki will almost certainly be more up to date than this document.
Since the release of CPMA 1.34 we have had extremely configurable HUDs.
This document explains some of the Client HUD settings for CPMA.
It will never be as current as the changelog, so you should always
check that with each new release.
Note: cvars such as cg_drawfps, cg_drawtimer plus many others have been
removed and their functions moved to the custom hud.
Creating a HUD .cfg
-------------------
* ALL hud configs go in Quake3/cpma/hud. CPMA's sample HUDs 1-7 are
also in that directory.
* You can select a config using \ch_file hud where 'hud' is the file
you would like to use (without .cfg). You do NOT \exec hud.
* Use \reloadHUD to reload your HUD if you have changed it. Must
also be used after \ch_file change.
* The default HUD is in the PK3: if you want to customise it, pull it
out of there with the unzip utility of your choice, RENAME it, and
put the copy in cpma/hud/. Remember to point ch_file at the new version.
* The default HUD references (nearly) everything that can be drawn.
Hud7 has nice examples of decoration use.
Syntax
------
The syntax for CPMA's SuperHud is fairly easy to comprehend, and supports
both multi-line and single-line arguments.
ELEMENT
{
ELEMENT_COMMAND VALUE
ELEMENT_COMMAND VALUE
}
ELEMENT { ELEMENT_COMMAND VALUE; ELEMENT_COMMAND VALUE; }
You can comment using #. // cannot be used.
Some Element Commands have optional "," separators.
Elements
--------
Each piece of the HUD is called an ELEMENT. Elements are sorted
z-layer-wise alphabetically.
!DEFAULT
The first element in the hudfile MUST be "!DEFAULT", and every other
element inherits from that default: this gives you an easy way to change
fonts/colors/etc for a whole bunch of elements at once. !DEFAULT can be
reused later in the document affecting every following element but it
will not overwrite the parameters set by previous !DEFAULT(s). It is
advisable to place Team1-8 and Chat1-8 at the bottom of your hud config
so that !DEFAULTs can be used without interfering with other elements.
PreDecorate and PostDecorate
Empty elements that can be used to draw separator bars etc. Limit 64 total.
AmmoMessage
Low ammo/Out of ammo. The audio feedback "click" can be toggled using
cg_ammoWarning.
AttackerIcon
Who attacked you last
AttackerName
Who attacked you last
Chat1-8
Chat area - if you want the order of the messages reversed then reverse
the Y coordinates.
Console
Replacement for ID's console. Use with con_notifyTime -1.
FlagStatus_NME
Status of enemy flag. To get old RED/BLUE use color T and color E, plus
bgcolor. Check hud/old.cfg.
FlagStatus_OWN
Status of your flag. To get old RED/BLUE use color T and color E, plus
bgcolor. Check hud/old.cfg.
FollowMessage
Following <Player>
FPS
Frames Per Second
FragMessage
You fragged <Player>
GameTime
Game Clock
GameType
Game Type - warmup only. Cannot be omitted. To hide place at off-screen
x,y coordinates or set alpha 0.
ItemPickup
Text string of whatever item you pick up
ItemPickupIcon
Icon of whatever item you pick up
NetGraph
Lagometer
NetGraphPing
Ping
PlayerSpeed
Units Per Second
PowerUp1_Icon to PowerUp4_Icon
Powerup Icons. PowerUp1_Icon is also used for the O/D indicator in CTFS
- and also for FLAG
PowerUp1_Time to PowerUp4_Time
Powerup Time remaining
RankMessage
Placed 1st with 30 frags
Score_Limit
Frag/Cap/Round limit - if set. Cannot be omitted.
To hide place at off-screen x,y coordinates or set alpha 0.
Score_NME
Enemy score. Cannot be omitted. To hide place at off-screen x,y
coordinates or set alpha 0. To get old RED/BLUE use color T and
color E, plus bgcolor. Check hud/old.cfg.
Score_OWN
Your score. Cannot be omitted. To hide place at off-screen x,y
coordinates or set alpha 0. To get old RED/BLUE use color T and
color E, plus bgcolor. Check hud/old.cfg.
SpecMessage
SPECTATOR, FRAGGED (in CA/CTFS/FT)
StatusBar_ArmorBar
Armor level in bar form
StatusBar_ArmorCount
Armor level in number form
StatusBar_ArmorIcon
Type of armor - essential in CPM but irrelevant in VQ3
StatusBar_AmmoBar
Ammo level in bar form
StatusBar_AmmoCount
Ammo level in number form
StatusBar_AmmoIcon
Current weapon ammo icon
StatusBar_HealthBar
Health level in bar form
StatusBar_HealthCount
Health level in number form
StatusBar_HealthIcon
Defaults to Mynx icon but can be any model, image or shader found in
pk3s (provided that the pk3 is on the pure server you join)
TargetName
Current target's playername - requires cg_drawCrosshairNames above 0
TargetStatus
Current friendly target's health/armor level - requires
cg_drawCrosshairNames above 0
TeamCount_NME
Players alive on enemy team (CA/CTFS/FT)
TeamCount_OWN
Players alive on your team (CA/CTFS/FT)
TeamIcon_NME
Defaults to Sarge icon but can be any model, image or shader found in
pk3s (provided that the pk3 is on the pure server you join)
TeamIcon_OWN
Defaults to Mynx icon but can be any model, image or shader found in
pk3s (provided that the pk3 is on the pure server you join)
Team1-8
Teamoverlay
VoteMessageArena
Multiarena, ra3maps
VoteMessageWorld
Normal votes
WarmupInfo
10sec countdown, Waiting for players, etc. Cannot be omitted. To hide
place at off-screen x,y coordinates or set alpha 0.
WeaponList
The WeaponList has to get a little funky to be able to handle all the
legacyhud tricks: W and H are the size of EACH weapon, not the total.
For the horizontal weaponlist (textalign C) X is the point to center
around.
Use FILL to show ammo for weapons you do not have, useful for TDM.
Weaponlist wraps at the bottom of the screen so you can sneak a
multi-column one in.
Colors
------
CPMA HUD uses r g b a, which is red green blue alpha. Each channel can have
values from 0-1.
Color 1 1 1 1 is white, full alpha
Color 0 0 0 0.5 is black, half transparent
Color 0.25 0.25 1 0.75 is blue, somewhat transparent
Note that colors set in SuperHud do not override colors set elsewhere. For
example if your \nick or \name is ^3hello it will be yellow regardless.
Special Colors
--------------
Color T and color E for elements to use red/blue according to your current
team. Useful for flag modes, but not necessesary for tdm/1v1. Set
bgcolor for these, even for images - see hud/old.cfg
Element Commands
----------------
The commands you can use within an element are:
ANGLES <pitch> <yaw> <roll> [+pan | -rotate]
Alters the display of MODEL.
Note that most Q3 models do not work properly if r_vertexlight is on.
BGCOLOR r g b a
Sets the background color for the element
The element must have a width and height
COLOR r g b a
Sets the foreground color for the element
DOUBLEBAR
Makes bars two lines. Obviously only works on BAR elements
(StatusBar_ArmorBar etc). Check out hud7 for examples.
Note: Gets a little funky if RECT Height is set below 6 as the space
between the two bars is 4 pixels and each bar requires 1 pixel
(4+1+1=6)
FADE r g b a
If the element has a TIME, its text will fade from COLOR to this
linearly over TIME millisecons.
FILL
If the element has a background color, this fills the area it
occupies with that color.
The element must have a width and height
FONT name
Selects one of three standard fonts:
CPMA - Bitstream Vera Bold, which is a high-resolution font best suited
to 1024x768 and up - or large font-size on low-resolution
ID - which is the standard Q3 font - good for small font-size and/or
low-resolution
IDBLOCK - only supports numbers, NOT letters
THREEWAVE - which is an outlined copy of the id font
SANSMAN - Digital Graphics Labs "Enter Sansman"
FONTSIZE pointsize | xsize ysize
The CPMA font is correctly aspect-adjusted already, and generally looks
best if you just specify a pointsize.
The other two fonts are square, and generally look much better if you
specify distinct x and y sizes, with y being 25-50% larger than x.
Element texts can be mirrored using negative x y. Note this is an
unintended and unsupported "hack", so might be a bit buggy.
IMAGE pathname
Display the image specified. You can use ANY image or shader found in
pk3s. Mostly useful for displaying team/enemy model icons in CA/CTFS/FT.
MODEL
Can be any model in the game.
Note that most Q3 models do not work properly if r_vertexlight is on.
MONOSPACE
By default, all HUD fonts are proportionally spaced, meaning that an
"i" takes up less room than an "m". Monospacing forces every character
to take up the same amount of space. It's very useful for the team
overlay, as it keeps everyone's health and armor in the same columns,
but generally looks worse than proportional spacing on everything else,
especially chat. It also takes up more room overall.
OFFSET x y z
Offset MODEL along x y z axis.
RECT x y w h
Sets the position and size of the element. Note that text is NOT
"clipped" to this rectangle.
Elements can be mirrored using negative w h. Note this is an
unintended and unsupported "hack", so might be a bit buggy.
TEXT string
Mostly useful for decorations. Requires RECT.
TEXTALIGN l | c | r
Justify the text either Left, Centered, or Right within RECT
TEXTSTYLE flags
Currently, only one flag is supported: "1", for dropshadowed text
TIME
How long the element will be displayed for if it doesn't update again.
Generally used for item pickups, frag messages, chat, etc.
HUD Related Cvars
-----------------
These cvars do not directly influence the SuperHud but are still related
to the HUD in some way.
cg_customLoc <0|1> (default = 1)
Use custom locations for a map if possible.
Loc files are locs/map.cfg, and must have a "v2" header
Can only replace existing locations
cg_drawRewards <0|1> (default = 1)
Toggle display of reward icons and the accompanying sounds
cg_teamChatsOnly <0|1> (default = 0)
controls what text reaches the HUD Chat elements if set, non-team
text still shows up in the console area
ch_3waveFont <0|1> (default = 1)
Toggle use of the Threewave font (does not affect SuperHud settings)
ch_drawWarmup (<0|1> (default = 0)
Toggle display of arena settings before a game starts
ch_drawWeaponSelect <0|1> (default = 0)
Toggle id standard weapon selection
ch_recordMessage <0|1> (default = 1)
0 gets rid of the sodding "recording blahblah" message.
Must be set before demo record start
ch_selfOnTeamOverlay <0|1> (default = 1)
Toggle your own information showing in the team overlay
ch_shortNames <0|1> (default = 0)
Toggle use of \nick - set a short name to use for team chat/overlay
Limited to 5 visible characters, but allows colors
Useful to have your \nick shown instead of [longclantag] in
team chat/overlay
Note: \nick is only used for team chat/overlay. \name is still
used for anything else.
ch_wstatsTime <seconds> (default = 10)
How long the auto-wstats window stays up at the end of a game
con_notifyTime <seconds> (default = 3)
-1 uses the CPMA "Console" hud element instead of id's.
Doesn't affect the console *buffer*, just the text in the top left.
mvw_DM (default "464 48 160 120")
x, y, width, height of Picture in Picture window for DM games.
mvw_TDM<1-9>
Controls teamplay Multi View layout.
Format is the same as mvw_DM, default no child windows. Example:
seta mvw_TDM1 "480 65 160 120"
seta mvw_TDM2 "480 190 160 120"
seta mvw_TDM3 "480 315 160 120"
Crosshair Cvars
---------------
cg_crosshairHealth <0|1> (default = 0)
Red crosshair when low on health - must be 0 or ch_crosshairColor
will not work
cg_crosshairsize <value> (default = 24)
Size of crosshair
cg_drawcrosshair <0-9> (default = 8)
Switch between different crosshairs
ch_crosshairAlpha <0.0 to 1.0> (default = 0.8)
Controls the transparency of the crosshair
cg_drawCrosshairNames 0-2 (default = 1)
Toggles TargetName and TargetStatus.
0 - Off
1 - On
2 - Off in 1v1
ch_crosshairColor <color> (default = y)
CPMA_Colors
Important note: cg_crosshairHealth overrides this function,
turn it off to use colored crosshairs
ch_crosshairPulse <0|1> (default = 0)
Controls crosshair size changes when picking up items
ch_crosshairText <string> (default = "" disabled)
Use any text string as crosshair
Known Issues
------------
Limitation: Color fails on elements with color codes embedded in their
strings (StatusBar_HealthCount, StatusBar_ArmorCount, NetGraphPing, etc)
Limitation: Alpha fails on some elements containing images
(StatusBar_AmmoIcon, StatusBar_ArmorIcon, etc)
Limitation: Fade fails on some elements containing images without alpha
channels (ItemPickupIcon etc)
Limitation: If a !DEFAULT sets MONOSPACE, FILL or DOUBLEBAR there is no
method to remove it again (so don't do it, unless it's at the end of the
document)
Limitation: Color T and E act funny when in non-teamplay modes such as
1v1 (like the #ch_teamBackground hack)
Limitation: FILL plus bgcolor when used on elements that disappear
without having TIME makes bgcolor remain indefinately
Not implemented: cg_drawRewards element not included in SuperHud

43
cpma/docs/HoonyMode.txt Normal file
View File

@ -0,0 +1,43 @@
Challenge ProMode Arena: Hoonymode
----------------------------------
Date: 7 Nov 03
Hoonymode is a novel form of 1v1 play, loosely based on tennis rules.
All in-game behaviour (weapons, physics, items, etc) remains the same
as standard DM: the change is in how the game progresses from one frag
to the next.
During warmup, two spawnpoints are chosen by the players. One will
typically be a "stronger" spawn and the other "weaker". When the game
begins, these are where the players will spawn, with the strong spawn
considered the equivalent of having the "serve".
Each player death (regardless of source, i.e. a suicide is considered
a kill for the opponent) is treated as a distinct point. After a point
is scored, play does not continue as in DM: instead, the players and
the arena are reset, and a new point is contested for. Players switch
spawnpoints at this time, so the player who had the weak spawn for the
previous point now has the strong one, effecting a change of serve.
Players are given a few seconds between points to reconsider strategies
etc.
Games are played to a point limit, with the clock not being a factor.
A player must reach that limit and be at least two points clear of
his opponent to win, i.e. in a 5-point game, 5-4 is a lead not a win:
the player still needs another point to clinch it.
Implementation Specifics:
Players claim a spawnpoint by moving near it and using the \spawn
command (via console/bind/etc).
Referees can choose spawnpoints for players by using "\spawn <pid>"
(Players can also use this when playing bots).
Players are not FORCED to choose a spawnpoint: in the early testing
stages I discovered that it's a lot of fun even if you just have
random spawns, but still using the "point" scheme and full resets.
I certainly wouldn't recommend it for serious play though.

93
cpma/docs/Maplists.txt Normal file
View File

@ -0,0 +1,93 @@
Challenge ProMode Arena: Maplists
---------------------------------
Date: 12 May 04
Below is a quick description of how to use maplists.
The example here is for an FFA server.
ffamaps.txt
-----------
# Example of the format of the text file used for specifying maps under
# Challenge ProMode Arena for Quake3.
#
# Format:
#
# <mapname> <min_players> <max_players> <scorelimit> <timelimit>
#
# Note: a missing or < 0 value for either of the limit fields
# means use current server settings
pro-q3dm6 0 14 25 20
cpm9 4 14
cpm14 4 99
q3dm1 0 4 20 20
q3dm17 99 99 20 20
# etc
The map queue will only load a map if its min/max active player counts on
the current level are within its bounds. Otherwise, the map will NOT be loaded.
There's a useful trick to the min_players field shown in the dm17 entry:
since you can't have 99 people on a server, the map will NEVER be rotated to
automatically, but it stays in the maplist and IS available for voting.
Maps that are in the rotation are shown in green in the maplist.
Maps that are NOT in the rotation but can be voted in are shown in yellow.
If the min_players field is set to -1 the map is "banned" and can't be
loaded by anything short of an RCON, even if map restrictions are off.
This is very handy for some of the more atrocious 3W maps, where you can't
just delete them because they're bundled into a single PK3 with other maps
that you might actually want to play.
If map_restrict is 0 (the default), any "suitable" maps for the current
mode will automatically be added to the maplist, but excluded from the
rotation (i.e. they're added as if specified as "min_players 99").
There's no need for a map_autoload cvar: it's implicit in map_restrict 0.
Note that "suitable" is determined by the presence of a correctly-specified
"arena" script for the map. Ironically, none of the original id maps actually
qualify :P, though the later "pro" maps are fine. See the notes at the end
of this file for more information.
If a server is empty for mode_idletime minutes, the first map in the list
will be rotated to automatically. It should be a popular/common map for
quick pickup games when people connect initially.
Also, if a [mapname.cfg] file exists, the settings in it will be applied
automatically when the map is loaded AFTER the mode settings take place:
this is how we set CPM1A to default to 5-second weapon respawns.
Appendix A - Fixing Broken Maps
If you want to sort out the original id maps, create a "scripts"
subdirectory in baseq3, containing a file called idmaps.arena. The contents
of that file should look something like this:
{
map "q3ctf1"
type "ffa team ctf"
}
{
map "q3ctf2"
type "ffa team ctf"
}
etc. Yes, the id CTF maps really do have FFA and TDM items. :)
You can also use this file to fix up pro-q3dm6 if your server allows CA:
{
map "pro-q3dm6"
type "tourney ffa team arena"
}
(Most RA3 maps are similarly lacking, which shouldn't surprise anyone :P
and can be fixed the same way).
Alternatively, you can just add the maps to the appropriate maplist
explicitly, which will also let you select them for auto-rotation etc.
Up to you. :)

240
cpma/docs/Modes.txt Normal file
View File

@ -0,0 +1,240 @@
Challenge ProMode Arena - Custom Modes
--------------------------------------
Date: 31 Dec 03
Audience: Server admins
Abstract:
An explanation of custom modes, which are "groups" of settings that persist
across map changes. Modes are an extremely powerful mechanism and actually
very easy to use, but they do have rules that must be followed.
Motivation:
Servers are generally configured through extensive use of CVARS. Aside from
issues with bloated server.cfg files, this scheme is simply not suitable for
advanced mods like CPMA that support multiple gametypes, each of which has
fundamentally different behaviour and thus REQUIRES fundamentally different
settings for optimum gameplay.
"Casual" gametypes such as Clan Arena are generally meant to provide newbies
with a gentle introduction to FPS play and simplify the game to just one or
two elements; more advanced gametypes such as DM are intended to tax every
possible aspect of a player's ability, and demand a wider range of "overall"
skill from them.
Modes provide a simple way for server admins to address these different
audiences by localising the rules of each gametype rather than attempting
to come up with a "best mix" in a global config instead.
CPMA ships with several standard modes to facilitate competition play.
Hopefully, an explanation of how these work will clarify the concept and
behaviour before getting into how admins can define modes of their own.
Despite the need for variances in settings, there are certain elements of
gameplay that are common across a large number of gametypes. These form the
"base" configuration for all modes, and are as follows:
Spawn Health: 100
Spawn Armour: 0
Armour Decay: Off in games with items, On in "arena" games
Self Damage: Full
Team Damage: Full
Falling Damage: On
Maximum Damage: No Limit
Armour Types: Standard ProMode
Starting Weapons: Gauntlet and MG
Weapon Respawn: 15 seconds
Megahealth Respawn: Wearoff-based
Weapon Dropping: Off
Flag Dropping: Off
Instagib: Off
Instagib Reload: 1500
Thaw Time: 3 seconds
Autothaw Time: 120 seconds
Cessrail: Off
Overtime: Sudden Death
Powerups: On
Powerup Respawn: 90 seconds
Holdables: Medkit On, Teleporter Off
Warmup: Competition (require \ready)
Player Respawn: At end of warmup
Fraglimit and Timelimit are set to 0 as well, since derived modes generally
only want one or the other.
Note that although things like Instagib Reload and Thaw times are not really
"common" in terms of the number of games that they apply to, they are still
set here as they don't create a CONFLICT with "normal" play.
To this base configuration, the standard modes apply any changed or
additional rules needed to acheive optimum gameplay within the context of
their specific gametype.
As an example, for Deathmatch play those rules are:
Timelimit: 10 minutes
Overtime: 2-minute periods
Weapon Respawn: 15 seconds
Megahealth Respawn: Wearoff-based
Powerups: Off
Holdables: Off
For FFA games, the base rules and especially the DM variants are a
little more brutal and complex than we'd really like. FFA is more of a
friendly game for fun than a competitive one, so we simplify the
gameplay by changing a few more of the rules:
Fraglimit: 30
Overtime: Sudden death
Weapon Respawn: Use weaponstay
Powerup Respawn: 60 seconds
Megahealth Respawn: Fixed interval
Warmup: None
Custom modes are on equal footing with the built-in modes.
You start with the same "base" settings, and add or change from there.
You MAY NOT use the "mode" vote inside a custom mode: while it might be
trivially easier to derive modes from each other, it's too prone to
people becoming confused and creating cyclical modes.
You can't try and replace a standard mode with one of your own: the
system will always try the built-ins first. Hence STANDARD modes. :)
There are 3 config/mode only "votes": these can never be callvoted by
players, but still exist as a way to manipulate settings that would
otherwise be unchangeable: "ammo", "type", "locked".
TYPE is the "true" underlying gametype for the mode, and MUST be specified
in your mode config. Accepted values are:
-1: HM, 0: FFA, 1: 1v1, 2: DA, 3: TDM, 4: CTF, 5: CA, 6: FTAG, 7: CTFS
This underlying type is what determines the maplist used by the mode:
0: ffamaps.txt
-1 and 1: 1v1maps.txt
2 and 5: camaps.txt
3 and 6: teammaps.txt
4 and 7: ctfmaps.txt
LOCKED is for MA maps only and allows you to make an arena unavailable
(e.g. you want people to only use the CA arena). It requires an argument
just for consistency's sake, but the only sensible argument is "1". :)
Locked arenas must still be VALID, i.e. have a TYPE entry.
Power comes at a price. The settings in your custom mode are subject to
only the most minimal validation: if you try to do something stupid in them
it's quite likely that the system will allow it. Be careful. :)
CPMA ships with a few custom modes of its own in the modes/ directory.
They can be quite useful as a reference for how to acheive a particular
style of gameplay. The "base" settings are always applied first, then
the customisation defined by the mode is added in.
Modes are matched case-INsensitive to avoid problems on *nix filesystems.
As an example: the RA3 mod uses a form of Clan Arena tailored towards
spam and rail-whoring even more than standard CA is. :P
To mimic that behaviour in CPMA, create a modes/RA3.cfg like this:
type 5 # Clan Arena derivative
limit 5 # first team to 5 rounds wins
ammo 200,100,20,50,150,50,100,0 # lots of GL/PG/RG ammo
armor 100 # 2 rails = YUO AR TEH WINNAR!
items -BFG
fallingdamage 1
startrespawn 0
selfdamage 2
teamdamage 0 # no team damage in spamfests
Note the format of the "ammo" line: it MUST NOT contain spaces, since the
voting system can only support single tokens as arguments.
US-style Freeze Tag play is another somewhat unusual ruleset: since the
penalties for being frozen are quite severe, spawnees are outfitted with
extra weapons and a small amount of armour to help avoid simply being
spawnfragged and thus refrozen immediately. While Freeze is a team game,
certain level control elements are also reduced to make lockdowns less
common and harder to maintain.
type 6 # Freeze Tag derivative
armor 25 # avoid one-shot spawnrapes
dropitems 1 # share weapons/ammo with teammates
overtime 1
simplemega 0
startweapon 268 # start with MG, SG, and PG
startrespawn 0 # don't thaw winning team after score
timelimit 20
weaponrespawn 15 # make weapons more available
IMPORTANT: How modes interact with Multi-Arena maps
---------------------------------------------------
MA maps REQUIRE each arena's settings to be specified in a config file,
which is always <mapname>.cfg and is automatically applied when the map
is loaded. The file is read from the directory that map_cfgdir points to.
The format of MA config files is the same as for custom modes, and arenas
are initialised to the same "base" configuration that modes use.
Each group of settings MUST be preceded by an "arena n" line so that the
system knows where to apply them.
Config files CAN use "mode XX" lines, and this is HIGHLY recommended.
As an example: to configure an arena for 1v1 DA play, you CAN just use:
# Thunderstruck
arena 2
type 2
armor 100
limit 1
startrespawn 0
and you'll actually get a rather fun game (ironically, one that's more
interesting and skillful than PingSpam Arena). :P
It's probably not what you were after though - to get THAT you need to use
something more like this:
# Thunderstruck
arena 2
type 2
ammo 200,100,20,50,150,50,100,0
armor 100
limit 1
items -BFG
startrespawn 0
After a few of those, the config starts to get rather heavy-looking.
So instead, you can simply do this:
# Thunderstruck
arena 2
mode DA
Quite a bit cleaner and more concise. :)
However, since custom modes are just as valid as standard modes are,
you can go even further and create exactly the behaviour that you want
in a single place, then apply it easily to multiple arenas and multiple
maps. For example, to cut down on spam create a modes/MyDA.cfg like this:
type 2
ammo 200,100,0,50,150,50,0,0
armor 100
limit 1
items -BFG
items -GL
items -PG
startrespawn 0
Then in ra3map1.cfg just use:
# Evolution
arena 1
mode MyDA
# Thunderstruck
arena 2
mode MyDA
etc.
Once you've done that, you can change the settings for any arenas and
any maps that use your custom mode by just changing the definition of
that mode itself, rather than copying and pasting the settings into
every individual map's config file.

78
cpma/docs/NTF.txt Normal file
View File

@ -0,0 +1,78 @@
Challenge ProMode Arena: NTF
----------------------------
Date: 3 Dec 06
NTF is a class-based form of CTF, somewhat reminiscent of Team Fortress
but really having very little in common with it.
Flags, Powerups, and Ammo are all present just as in CTF, but maps have
no Armour, no Health except for the MegaHealth, and no Weapons.
Players spawn with no armour, and an initial health and weapon loadout
determined by the class.
Health and armour both regenerate at 5 points per second: health up to
100, and armour up to the class's maximum.
Backpacks from corpses give one box of ammo for all your weapons and an
armour shard.
Classes are defined by the files in cpma/classes and like modes can be
customised extensively. The options for class definitions are:
n - name ("Scout", "Fighter", etc)
m - model ("slash", sarge", etc)
NTF models always use ProMode skins
s - base speed
320 is standard CPM speed, i.e. VERY fast if the player is skilled enough
h - spawn health
a - maximum armour
ac - armour class
One of the CPMA armour types: 0 - Green, 1 - Yellow, 2 - Red
ht - hook type (0 - None, 1 - Offhand, 2 - Onhand)
hp - hook pull
How fast a grappling player moves
hs - hook speed
How fast the grapple hook itself moves
jd 1 - can double jump
jr 1 - can ramp jump
wX s,m,b,g - weapon loadout and ammo
w2 is MG, w3 SG, and so on. The four arguments set the ammo counts for
initial spawn, max, "box" pickup (i.e. a dropped pack), and "gun" pickup
(i.e. an item pack). They MUST all be specified, and MUST be comma-separated
with no spaces between them (just like "ammo" lines in mode configs).
Whether a class has a weapon or not is determined by the presence of a wX
line, not the spawn ammo, so it's possible to give a class a certain weapon
but have it be unusable until the player acquires ammo for it from a pack.
sw - starting weapon
Must be one of the numbers from a wX line (or 1 for gauntlet). Handy for
classes like Scout that spawn with SG and GL to prevent GL being selected
just because it's the "higher" weapon
There is basically no checking done on any part of the class definitions.
If you're not capable of getting them right, you probably shouldn't be messing
with them in the first place. :)
Although we don't currently enforce it, realistically NTF requires CPM
settings. PMC lets Fighters and Tanks move faster than Scouts; CQ3 nerfs
advanced movement so badly that classes which depend on it become almost
unplayable; and VQ3 simply doesn't work.
Still, it's the admin's choice to make so...
In case you hadn't worked it out yet, NTF stands for "Not Team Fortress". :)

142
cpma/docs/PlayerFilters.txt Normal file
View File

@ -0,0 +1,142 @@
Challenge ProMode Arena: Player Filtering
-----------------------------------------
Date: 26 Mar 01
The "Player Filtering" capabilities under CPMA allow for more than
just simple IP address banning. Below is a description of the
features in the current version of CPMA for Quake3.
All filtering commands are of the form:
<ban_command> <TAB> <player_name> <TAB> <address_prefix> <TAB> <password>
<ban_command>:
banplayer
bantag
banaddr
banpass
<player_name>
Name (or partial) of a player to ban/allow.
<address_prefix>
Beginning portion of a client's address to ban/allow.
Note that the current version does NOT support specifying
subnet masks, so this method is really a "traditional"
Class C filter at best (although you COULD get away with
smaller subnets if you know what you are doing).
<password>
Specifies what a client's public "password" must be set
for pass/fail of the current filter.
----> Note: Specifying "none" in a field will disable that field for
the current filter.
Name Filtering
--------------
Traditional name filtering. This specifies an exact match (barring
capitalization and color escape codes) of a playername to allow/deny.
A player will ALWAYS be denied access to the server (or changing their
name after connect) with the name specified in the filter.
The client CAN still connect even if his/her name matches the name
specified in the filter if they can match either of the two criteria:
- They satisfy the <address_prefix> rule (if specified)
- They satisfy the <password> rule (if specifed) in their
"password" client userinfo.
----> This is an old method of banning. It is recommended that
the "bantag" filter (below) is used in nearly all cases.
Usage:
banplayer Rhea none none
---> (Nobody with the name "Rhea" can ever connect, or change
their name in game to "Rhea" after connecting with a
valid name)
banplayer Johnny 129.237. my_bad
---> (Nobody with the name "Johnny" can ever connect (or change
their name to "Johnny") unless they are connecting from
an address that begins with "129.237." or if they have
their public "password" variable set to "my_bad").
Name "Tag" Filtering
--------------------
Pattern-match name filtering. This specifies a pattern-matching filter
(barring capitalization and color escape codes) of a playername to
allow/deny. The main difference between this type of filter and the
straight name filter (above) is that such things as clan "tags" can be
protected from name smurfs (people fakin the fraud, dissers, someone
who aint on the down low, posers, imposters... git it??). It is also
useful for keeping people from changing their name slightly to achieve
the same effect.
A player will ALWAYS be denied access to the server (or changing their
name after connect) with the name specified in the filter.
The client CAN still connect even if his/her name contains the specified
tag pattern in their name if they can match either of the two criteria:
- They satisfy the <address_prefix> rule (if specified)
- They satisfy the <password> rule (if specified) in their
"password" client userinfo.
----> It is recommended that this form of name banning be used in
nearly all cases. In fact, I can't thing of a reason not to
use it in place of "banplayer" =)
Usage:
bantag a| none w3rd
---> (Nobody can connect with the pattern "a|" in their name unless
they have their public "password" set to "w3rd").
IP Address Filtering
--------------------
Connecting client address filtering. This allows admins to deny
clients based solely on their connecting IP address. A player will
ALWAYS be denied access to the server based on their connecting
address that matches the filter <address_prefeix> unless they can
match either of the two criteria:
- They satisfy the <player_name> rule (if specified)
- They satisfy the <password> rule (if specified) in their
"password" client userinfo.
----> This is probably the primary method to use for player
banning capabilities.
Usage:
banaddr none 129.237. none
---> (Nobody can connect from an address that begins with
"129.237.", period)
banaddr none 129.237. imc00l
---> (Nobody can connect from an address that begins with
"129.237." unless they have their public "password"
set to "imc00l").
Password Filtering
--------------------
Connecting client password filtering. This allows admins to specify
multiple server passwords for connecting clients. Clients must have
the password specified in either their public variable. Players
may bypass the password if either:
- They satisfy the <player_name> rule (if specified)
- They satisfy the <address_prefix> rule (if specified)
----> Players will not be banned unless they fail ALL "banpass"
filters (if any are specified at all). Hence, you can
have temporary passwords while using default passwords that
persist for longer periods.
Usage:
banpass none 129.237. onthedownlow
---> (A player will fail the filter if their public "password"
is not set to "onthedownlow" unless they are
connecting from an address that begins with "129.237.").

394
cpma/docs/Server.txt Normal file
View File

@ -0,0 +1,394 @@
Challenge ProMode Arena: Server Settings
----------------------------------------
Date: 11 Jun 08
Recommended dedicated server command-line:
quake3 +set dedicated 2 +set fs_game cpma +set vm_game 2 +exec <config>
mode_start <string>
Specify the game type to start the server with.
* 1v1 - Duel / "Classic" Deathmatch
FFA - Free For All
TDM - Team Deathmatch
CTF - Capture The Flag
CA - Clan Arena
FTAG - FreezeTag (European rules)
CTFS - Capture Strike
Or a custom mode: see docs/Modes.txt for details.
mode_idletime <minutes>
how long before idle servers reset to default mode+map (default: 10)
server_gameplay <CPM|PMC|CQ3|VQ3>
Sets the level (speed and strategic depth) of gameplay to use.
* CPM - Challenge ProMode II (Modern CPM, 2004+)
PMC - ProMode Classic (2000-2003)
CQ3 - Challenge Quake3
VQ3 - Vanilla Quake3 (OSP)
server_maxpacketsmin <value>
Specifies minimum client cl_maxpackets setting (Default = 30,
0 = no lower limit on client cl_maxpackets).
server_maxpacketsmax <value>
Specifies maximum client cl_maxpackets setting (Default = 125,
0 = no upper limit on client cl_maxpackets).
server_motdfile <filename>
Defines an external file from which to read MOTD message to
display to a client. This file will override
any server_motdX variable setting (defined below).
(Default = "none" - No MOTD file defined).
server_motdX <string> (X = 1 through 8)
Sets the server MOTD. Each var is used to display a line in the
MOTD. The message is terminated when the first NULL ("") line is
encountered.
server_optimiseBW <0|1>
Force the optimiseBW algorithm on for all clients, which greatly
reduces the amount of unnecessary data sent out.
Regrettably, this also makes you unable to see players through
portals, thanks to a bug in the Q3 engine. Regardless, this really
should NEVER be set to 0 except when on LAN - the difference is
just staggering.
0 - Waste huge amounts of bandwidth for no good reason.
* 1 - Don't. :)
server_timenudgemin <value>
Specifies minimum client cl_timenudge setting (Default = 0,
no lower limit on client cl_timenudge).
server_timenudgemax <value>
Specifies maximum client cl_timenudge setting (Default = 0,
no upper limit on client cl_timenudge).
server_ratemin <value>
Specifies minimum client rate setting (Default = 0,
no lower limit on client rate).
server_record <value>
1 - record demos
2 - take screenshots
4 - add server name to demo/screenshot filenames
8 - add server time when game starts to filenames
server_availmodes <string>
Restrict the server to a subset of supported game types
(Default: "" - all modes available)
server_chatfloodprotect <value>
Controls max # of msgs per second (Default = 0)
e.g. server_chatfloodprotect 2 means you can talk every 500ms
ref_password <string>
Sets the password for in-game "referee" (admin) access.
Setting this password to "none" disables the referee feature
(default = "none").
========================
GENERAL Q3 OPTIONS
========================
g_inactivity <seconds>
Specifies how long a player can idle before being kicked
from the server. A value of "0" disables this feature
(default = 0).
g_log <logfilename>
Specifies the name of the file to save all in-game
information. Setting this to "" disables logging
(default = "games.log").
It's worth pointing out that logfiles can get very large,
and for public servers there's really not much point in
using them. Anything truly important will be written to
the admin log instead, which is a separate file.
==============================
MATCH-RELATED PARAMETERS
==============================
match_mutespecs <0|1>
Enables/disables spectator chat being displayed to active
players in the game when a match is in progress (default = 0).
match_readypercent <percentage from 1-100>
Specifies the percentage of in-game players who must be
"ready" to start a match. This can also be used to get
a match going on an otherwise long "warmup" period
(default = 51).
match_maxsuicides <value>
players who /kill more than this many times will be auto-banned
stops them screwing up TDM games and forcing draws in DA
(default = 0).
match_WinDelayDA (in milliseconds, default 2000)
controls how long after the kill a winner is actually declared
so if you rail someone but then their rocket takes you out,
the round is ruled a draw
match_winDelayCA (in milliseconds, default 4000)
same as match_WinDelayDA, but for Clan Arena games
==============
TEAMPLAY
==============
team_allcaptain <0|1>
0 - Traditional captaincy assignments (1 per team).
* 1 - All players on a team have the ability to invite
spectators or to call a time-out. There is still
a single "true" captain.
g_teamAutoJoin <0|1>
* 0 - Places connecting players in spectator mode once they
have fully connected to the game.
1 - Automatically places a player on the team with the
lowest number of players (or score if equal player
counts) after fully connecting to the game.
g_teamForceBalance <0|1>
* 0 - Allows players to join any team, regardless of player counts.
1 - Forces players to join the team that has fewer players
and if equal, then the team with the lower score.
============
VOTING
============
g_allowVote <0|1>
0 - Disables all client voting on the server.
* 1 - Allows clients to vote on server settings.
vote_limit <value>
Maximum # of votes allowed during a map for a non-referee
(default = 5).
vote_percent <1-100>
Specifies the percentage of accepting clients needed for a
vote to pass. Note that a player who does not vote is assumed to
be opposed to the change. This saves players being forced to break
off actual play simply to "defend" against an unwanted vote.
vote_allow_<setting>
All but a few votes have a corresponding vote_allow_<setting> cvar,
which enables fine control of players' ability to call votes.
Note that a referee may change ANY votable setting, regardless
of its vote_allow control, so you should use vote_allow_referee 0
as well if you choose to disable any votes.
0 - Disables a particular vote item.
* 1 - Allows clients to vote on the item.
allcaptain <0|1>
See team_allcaptain.
armor <0-200>
Specify amount of armor to give players on spawn.
armorsystem <0-3>
Allows different ProMode armor systems to be used.
0 - Standard (S:5 GA:50 YA:100 RA:150)
1 - Obsolete (S:5 GA:50 YA:100 RA:200)
2 - Quake1-ish (S:2 GA:100 YA:150 RA:200)
3 - Quake2-ish (S:2 GA:25 YA:50 RA:100)
dropitems <0-3>
Ability to drop weapons/ammo/flags
0 - None
1 - Weapons and ammo
2 - Flags
3 - All
fallingdamage <0|1>
Enables/disables falling damage (duh)
flood <value>
Sets maximum number of chat messages per client per second
Clients can use this vote to loosen or disable (0) flood control,
usually in teamplay games where free communication is crucial.
footsteps <0|1> *CQ3 only*
Enables/disables footstep sounds
hook <0|1|2>
Sets hook availability and type
0 - Disabled
1 - Offhand (the "newbie" grapple, or "crutch")
2 - Onhand (the "skill" grapple)
instagib <0|1>
Enables/disables Instagib gameplay
items +/-<item>
Enables/disables items (weapons, powerups, etc)
MG Machine Gun SG Shotgun GL Grenade Launcher
RL Rocket Launcher LG Lightning Gun RG Railgun
PG Plasma Gun BFG Big Effin Gun AMMO Ammunition
5H Health Sphere 25H Yellow Health 50H Gold Health
MH Megahealth 5A Armor Shard GA Green Armor
YA Yellow Armor RA Red Armor
QUAD Quad Damage SUIT Battle Suit HASTE Haste
INVIS Invisibility REGEN Regeneration FLIGHT Flight
MEDKIT Medkit TELE Personal Tele
Grouped items:
HEALTH All Health ARMOR All Armor RUNES All Powerups
ITEMS All Holdables ALL Everything
kick <player_id>
Forces a player to disconnect from the server
map <mapid|mapname|!mapcfg>
Changes to a new map and/or itemset
maxdamage <value>
Sets the maximum damage shots can do to "friendly" players
(yourself and your teammates)
0 = no limit: use selfdamage and teamdamage to disable completely
maxpackets_max / maxpackets_min <value>
Both controlled by vote_allow_maxpackets
See server_maxpacketsmin / server_maxpacketsmax
mode <mode_name>
Loads a standard server configuration.
Normally used to change game types.
Note that there is no vote_allow_mode cvar:
server_availmodes is used instead to give admins more control
mutespecs <0|1>
See match_mutespecs
overtime <0|1|2>
Sets overtime behaviour
0 - Sudden Death (first score decides)
1 - Timed Periods (2 or 5 minutes each)
2 - No Overtime (matches can end in a tie)
poweruprespawn <30-120>
Sets power respawn delay in seconds
gameplay <name>
See server_gameplay
prosound <0|1> *CQ3 only*
Enables/disables ProMode's enhanced sound system
random <value>
Picks a number from 1 to <value>
referee <player_id>
Gives a player additional admin abilities
These can be removed by an unreferee vote
reload <value>
Sets RG reload time for Instagib games (in ms, normally 1500)
scorelimit / limit <value>
Changes the fraglimit/caplimit/roundlimit/pointlimit
selfdamage <0-3>
Controls your ability to hurt yourself
0 - None
1 - Health only
2 - Armor only
3 - Health and armor
simplemega <0|1>
Controlled by vote_allow_mhstyle
Toggles wearoff/periodic MH respawn behaviour
startrespawn <0|1>
For CA/DA, toggles players respawning on round start
For Freeze Tag, toggles winning team thawing on round start
startweapon <value>
Sets players initial armament on respawn
Add values together to give multiple weapons
MG 4, SG 8, GL 16, RL 32, LG 64, RG 128, PG 256, BFG 512
teamdamage <0-3>
Controls your ability to hurt teammates
Values are as for selfdamage
thawauto <30-300>
Controlled by vote_allow_thaw
Sets how long players stay frozen if not defrosted by a teammate
thawtime <1-10>
Controlled by vote_allow_thaw
Sets how long it takes to defrost teammates (in seconds)
thrufloors <0|1>
Toggles splash damage transferring through thin surfaces
timelimit <value>
Changes the game's timelimit
timenudge_max / timenudge_min <value>
Both controlled by vote_allow_timenudge
See server_timenudgemin / server_timenudgemax
warmup <value>
Sets the duration of the pre-match warmup
weaponrespawn <value>
Sets weapon respawn delay in seconds (0 means weaponstay)
==========
HOOK
==========
hook_delaytime <milliseconds>
Specifies the minimum number of MILLISECONDS that a player
can redeploy a hook after use (default = 750).
hook_holdtime <seconds>
Specifies the maximum number of seconds that a player's
hook will remain attached (default = 3).
hook_range <units>
Specifies the maximum length of the hook cable (default = 1800)
hook_sky <0|1>
* 0 - Players cannot hook the "sky" surface.
1 - Players can hook onto any surface (except other players).
hook_speed <value>
The speed at which the hook leaves from the player's position
and makes contact with a surface on the map (default = 1200).
hook_speedpull <value>
The speed at which a player is pulled along the hook's path
after it has landed on a valid map surface (default = 700).
==================
MAP SETTINGS
==================
map_cfgdir <value>
sets where the maplists etc are read from (default: "cfg-maps")
map_delay <value>
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
(default: 30)
map_rotate <0|1>
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 mapnd of each match (default: 0)

176
cpma/docs/arQmode.txt Normal file
View File

@ -0,0 +1,176 @@
Challenge ProMode Arena: arQmode
--------------------------------
Date: 28 Nov 03
There is no "arQmode" any more. It's been tweaked and is now the official
ruleset of Challenge ProMode. This document exists solely for "historical"
purposes.
Date: 18 Feb 03
arQmode is an unofficial version of Challenge ProMode that incorporates some
of the changes we've discussed over the years but opted NOT to include in
ProMode itself for one reason or another. It's really just a place for me to
experiment with gameplay, and unlike ProMode the settings for arQmode can
(and most likely will) change on a whim without any Design review.
I'll refer to it as APM from now on to save typing. :)
The strategic elements of modern ProMode (armour specifics, weaponspawns,
MH behaviour, sound system, etc) are so close to perfect after the last few
years of CPMA refinements that changes in that area would provide at best
miniscule improvement in return for gratuitous differencing from CPM, so
APM (like CQ3) generally leaves them untouched. Instead it focuses on melee,
and especially on the behaviour of the "top tier" weapons.
The APM changes are:
Biased RL Damage
Motivation: Reward use of high-skill weaponry.
Splash damage from the RL now follows a Q1/Q2-like scheme (though nothing
like as ubernoobed) where ANY hit does a minimum of 15 damage, and the
damage/distance relationship is biased accordingly, i.e. a shot that does
50 damage in CPM will do ~60 damage in APM. Note that although the base
knockback factor remains the same as in CPM, knockback on splash hits
will also be higher since the base factor is scaled by damage. RL speed,
base damage, splash radius, and max splash damage remain unchanged.
Decreased Splash Vertical Knockback
Motivation: Ameliorate the higher RL knockback.
CPM's vertical knockback base is 150% of CQ3's. APM's is 133% of CQ3's,
or 89% of CPM's. Since an "average" RL hit in APM is ~20% stronger than
in CPM, players were thrown around too much. While this change reduces
the "lift" from a perfect RL shot by a small amount, when coupled with
the previous change it increases lift on an overall basis for the vast
majority of shots, and you can still juggle people very nicely. :P
Increased PG Damage and Knockback, Reduced Speed
Motivation: Reward use of high-skill weaponry.
The PG's *direct hit* damage has been raised from 15 to 20. The splash
damage remains unchanged, and the splash radius is slightly reduced.
These changes promote the PG to "top tier" / "power trio" weapon status.
Knockback has been increased implicity along with damage, but only
slightly: it's now roughly that of the CPM LG.
The projectile's speed has been reduced from 2000 to 1800.
This keeps the weapon extremely dangerous at close range (where it's still
effectively a hitscan weapon) but reduces its utility as a mid-range spam
weapon since good players will be able to dodge it to some extent as was
possible in Doom; and greatly reduces its value for "pure spam" cases on
CTF and other large maps. Speaking of which...
The one significant issue with a strong PG lies not so much with the
weapon itself but with the behaviour of a certain class of player: the
tendency for newbies to simply spam it until they run out of ammo. While
not really a problem in skill games, it becomes a very obvious one in CA
and CTFS, as those gametypes not only have 99% of the newbie population
but also provide the weapon and ammo for free. Fortunately, such people
are far more likely to play RA3 or Threewave than CPMA. :P
Regardless, the ammo limit for the PG has been reduced to 100, which is
more than enough for DM or even TDM play.
The size of the plasma graphic has been reduced too, since I REALLY HATE
the way Q3 does them; and the shots themselves are in reality infinitely
small, contrary to their appearance (especially in VQ3).
Decreased LG Damage and Knockback
Motivation: Penalise use of low-skill weaponry.
The LG is 90% ping and 10% ability. Terrifying in the hands of even the
most newbie SLPB yet near-useless to HPBs regardless of their skill, it
has no place as a top tier weapon. The interesting impact of damage
changes to the LG is how that damage is distributed across health and
armour. In CPM, the LG damage is always split 2H 6A whether the enemy has
RA or YA: despite the lower protection percentage of YA, the rounding
applied to the factors involved makes both armours equivalent. Dropping
the damage to either 6 or 7 makes the armours distinct again, but the
health loss is the same whether the LG is 6 or 7: damage is applied as
1H xA against RA and 2H xA against YA for both.
I flipped a coin and chose 6.
To look at that another way: against a YA player, all 3 "total damage"
factors reduce health at the same rate: the only difference is how fast
they go through armour. Against an RA player though, either reduction in
LG damage makes it virtually worthless for actually killing people until
such time as the enemy's armour has been eroded. As such, the LG's role
is now very much restricted to that of a finishing weapon and a way to
"test" the enemy's health and then combo from.
Knockback has been reduced implicity along with damage, but increased
explicitly to compensate somewhat. CPM's LG has a knockback of 10 (units
per hit) and I originally set APM's to 8, which is JUST enough to hold
someone in the air, but it requires exceptional aim to do so. In the end
I upped it to 9 simply because it's just so much more fun at that when
people take jumppads. :)
9 Mar 03: The only thing I DON'T like about 6 is that it means LG now
has the same hit tone with Quad as without, which is a bit of a shame.
So I got sneaky and increased it to 6.5 instead. Since you can't do
fractional damage, that means it stays at 6 normally, but with Quad it
jumps from 24 to 26.
Decreased Rail Damage and Knockback
Motivation: Penalise passive play.
Now half of its CPM value, enabling fast players to break through "standy
railer" defenses. It's extremely tempting to leave the knockback factor
at 1 but change the actual damage of the RG instead. Reducing it to 75
for example removes the ability to use it for skill-less spawnrapes but
leaves it strong enough to be used for "balance of power" shifts or to
finish an opponent with. It would however diminish the overall power of
the RG to a level that removes it from the top tier, thus leaving no
hitscan weapon in that class, which I think would be a mistake. The only
way to compensate for that would be to reduce the reload penalty or
reinstate cessrail: of the two, a consistent but faster reload is
probably still the more desirable option, but with the LG also modified
the classic cessrail combo is really a non-issue for APM already.
9 Mar 03: Okay, tempting enough that I'm going to try it. :)
Damage is reduced to 80; overall knockback stays at half of CPM/VQ3.
I found it impossible to decide between a constant faster reload and
just re-enabling cessrail by default: there are pros and cons to both.
In the end I went with this: if you enable fastrail, you get the standard
FR timings of 1000 and 1500; whereas if you leave it disabled (default)
then the reload is dropped to 1250.
APM was already strongly RL-dominated, and I think that's even more the
case after this change. The RG still clearly has an effective role even in
DM though: it remains the weapon of choice for a couple of key situations,
so I'm willing to run with this for a while and see how it plays out.
Assorted BFG Tweakage
Motivation: Avoid Superweapons.
When I originally set the BFG to be a "120% RL", the plan was that we use
that as a starting point and then refine it from there. That never happened
in CPM, and the weapon remains +20% over the RL in all these aspects:
speed; damage; splash damage; splash radius; and implicitly, knockback.
(The knockback scale is the same as the RL's, but since the damage is +20%
the knockback automatically is also).
APM shrinks the blast radius down to 20% *less* than the RL. Interestingly,
because of the new bias on the APM RL the two weapons now cause roughly the
same damage for "average" shots, but the BFG causes more on "good" shots
and less on "bad" shots.
Biased Spawns (the only strategic change)
Motivation: Minimise streaks of "cheap luck".
Biased player respawns mean that a player CAN respawn at any spawnpoint,
but is more likely to respawn some distance from where he died. While
clearly still superior to baseq3's utterly predictable respawns, and
significantly less likely (note: NOT impossible) to result in unpleasant
"get spawnfragged in the same place 3 times in a row" than the "true
random" scheme that CPM uses, there are still elements to it that I'm
not really comfortable with. My personal opinion is that that there IS no
"best" way to handle respawns, because of the variance in map layouts etc
and in the events that lead up to the frag in the first place. Still, to
paraphrase the ELM docs: "All respawn schemes suck. This one just sucks
less than the others". :)
Changes that STILL didn't make it:
Increased Ground Friction
Motivation: Improve player agility when on the ground.
Something that was supposed to be in *pre-CPMA* CPM even, but in reality
was never changed. Friction is 25% higher, allowing for faster stops and
increased dodging ability. It has the interesting side-effect of reducing
"launch speed" (i.e. the speed of the initial CSJ when starting a run) by
about 30-50ups, which makes certain now-common tricks like stairs->MH on
CPM3 significantly harder.
Final Verdict: Had we done this years ago, it arguably would have been
the better call, but at this stage it just seems limiting.
Moreover it forces players to relearn the initial CSJ and thus introduces
a conflict between CPM and APM movement, and a barrier to being able to
play both. Those factors more than outweigh the slight improvement that it
makes to the ground game.

242
cpma/hud/arqon.cfg Normal file
View File

@ -0,0 +1,242 @@
!DEFAULT
{
color 1 1 1 1
fontsize 8 12
#font id; textstyle 1
font threewave
}
Console
{
rect 0 0 640 48
#monospace
time 3000
}
NetGraph
{
rect 592 432 48 48
bgcolor 0.25 0.25 0.25 0.25
fill
}
NetGraphPing
{
rect 592 432 48 12
textalign R
}
# the WeaponList has to get a little funky to be able to handle all the legacyhud tricks:
# W and H are the size of EACH weapon, not the total
# and for the horizontal weaponlist (textalign C) X is the point to center around
# setting "fill" on the weaponlist draws any weapon that you have OR have ammo for: very handy in TDM
WeaponList
{
rect 0 80 48 16
color 0.25 0.25 1 0.75
bgcolor 0.25 0.25 0.25 0.75
fontsize 12 16
}
StatusBar_HealthIcon
{
rect 260 420 24 24
model "models/players/mynx/head.md3"
image "models/players/mynx/head_pm.skin"
angles 0 180 0 0
offset -12 -0.5 -3
color 0.25 0.75 1 1
}
StatusBar_HealthCount
{
rect 240 448 48 24
font idblock
fontsize 16 24
textalign R
textstyle 1
}
StatusBar_AmmoIcon
{
rect 312 428 16 16
}
StatusBar_AmmoCount
{
rect 302 448 36 16
font idblock
fontsize 12 16
textalign C
textstyle 1
}
StatusBar_ArmorIcon
{
rect 352 420 24 24
#angles 0 180 0 0
#Draw3D
}
StatusBar_ArmorCount
{
rect 352 448 48 32
font idblock
fontsize 16 24
textstyle 1
}
FPS
{
rect 0 0 640 12
color 1 1 1 0.5
textalign R
}
GameTime
{
rect 0 24 640 16
fontsize 12 16
textalign R
monospace
}
GameType
{
rect 0 32 640 24
fontsize 16 24
textalign C
color 1 1 0.5 1
}
WarmupInfo
{
rect 0 64 640 16
fontsize 12 16
textalign C
}
SpecMessage
{
rect 0 80 640 16
fontsize 12 16
textalign C
}
FollowMessage
{
rect 0 16 640 12
textalign C
}
PlayerSpeed
{
rect 0 12 640 12
color 1 1 1 0.5
textalign R
}
TargetName
{
rect 0 256 640 12
textalign C
time 500
}
TargetStatus
{
rect 0 268 640 12
textalign C
time 500
color 0.5 1 1 1
}
VoteMessageArena
{
rect 0 60 640 16
fontsize 12 16
textalign C
}
VoteMessageWorld
{
rect 0 76 640 16
fontsize 12 16
textalign C
color 1 1 0 1
}
!DEFAULT { textalign R; fontsize 16 20; }
Score_Limit { rect 0 420 32 20; bgcolor 0.5 0.5 0.5 0.5; fill; }
Score_OWN { rect 0 440 32 20; bgcolor 1 1 1 0.5; fill; }
Score_NME { rect 0 460 32 20; bgcolor 0 1 0 0.5; fill; }
!DEFAULT { textalign L; fontsize 8 12; }
Chat1 { rect 0 396 640 12; time 3000; }
Chat2 { rect 0 384 640 12; time 3000; }
Chat3 { rect 0 372 640 12; time 3000; }
Chat4 { rect 0 360 640 12; time 3000; }
Chat5 { rect 0 348 640 12; time 3000; }
Chat6 { rect 0 336 640 12; time 3000; }
Chat7 { rect 0 324 640 12; time 3000; }
Chat8 { rect 0 312 640 12; time 3000; }
# that's all the DM stuff
!DEFAULT { bgcolor 0.5 0.5 0.5 0.5; textalign R; fontsize 8 12; }
Team1 { rect 0 396 640 12; monospace; }
Team2 { rect 0 384 640 12; monospace; }
Team3 { rect 0 372 640 12; monospace; }
Team4 { rect 0 360 640 12; monospace; }
Team5 { rect 0 348 640 12; monospace; }
Team6 { rect 0 336 640 12; monospace; }
Team7 { rect 0 324 640 12; monospace; }
Team8 { rect 0 312 640 12; monospace; }
!DEFAULT { bgcolor 0 0 0 0; textalign R; font idblock; fontsize 24 32; }
PowerUp1_Icon { rect 608 264 32 32; } # also used for the O/D indicator in CTFS
PowerUp1_Time { rect 544 264 64 32; }
PowerUp2_Icon { rect 608 232 32 32; }
PowerUp2_Time { rect 544 232 64 32; }
PowerUp3_Icon { rect 608 200 32 32; }
PowerUp3_Time { rect 544 200 64 32; }
PowerUp4_Icon { rect 608 168 32 32; }
PowerUp4_Time { rect 544 168 64 32; }
FlagStatus_OWN { rect 40 440 20 20; color 1 1 1 1; }
FlagStatus_NME { rect 40 460 20 20; color 0 1 0 1; }
!DEFAULT { bgcolor 0.5 0.5 0.5 0.5; textalign L; font threewave; fontsize 12 16; }
TeamCount_OWN { rect 620 48 20 20; fill; }
TeamIcon_OWN { rect 600 48 20 20; fill; image "models/players/mynx/icon_pm.tga"; }
TeamCount_NME { rect 620 72 20 20; fill; }
TeamIcon_NME { rect 600 72 20 20; fill; image "models/players/sarge/icon_pm.tga"; }

237
cpma/hud/hud1.cfg Normal file
View File

@ -0,0 +1,237 @@
!DEFAULT
{
color 1 1 1 1
fontsize 8 12
font cpma
textstyle 1
}
Console
{
rect 0 0 640 48
#monospace
time 3000
font threewave
}
WeaponList
{
rect 0 64 48 16
color 0.2 0.2 0.7 0.75
font id
fontsize 12 16
}
StatusBar_HealthIcon
{
rect 200 448 24 24
image "models/players/mynx/icon_pm.tga"
}
StatusBar_HealthCount
{
rect 240 448 48 24
font idblock
fontsize 16 24
textalign R
}
StatusBar_ArmorIcon
{
rect 420 448 24 24
}
StatusBar_ArmorCount
{
rect 352 448 32 32
font idblock
fontsize 16 24
}
FPS
{
rect 0 0 640 12
color 1 1 1 0.5
textalign R
}
GameTime
{
rect 0 16 640 16
font id
fontsize 12 16
textalign R
monospace
}
GameType
{
rect 0 16 640 24
fontsize 20
textalign C
color 1 1 0.5 1
}
WarmupInfo
{
rect 0 40 640 24
fontsize 16
textalign C
}
FollowMessage
{
rect 0 466 640 12
textalign C
}
SpecMessage
{
rect 0 80 640 16
fontsize 12 16
textalign C
}
FragMessage
{
rect 0 80 640 16
fontsize 12 16
textalign C
time 1500
fade 1 1 1 0.5
}
RankMessage
{
rect 0 96 640 12
textalign C
time 1500
fade 1 1 1 0.5
}
#PlayerSpeed
#{
# rect 0 386 640 12
# color 1 1 1 0.5
# textalign R
#}
ItemPickup
{
rect 24 384 640 16
fontsize 12 16
time 1500
#fade 1 1 1 0.5
}
ItemPickupIcon
{
rect 0 384 16 16
time 1500
# fading an image requires an alpha channel which the icons don't have >:(
#fade 1 1 1 0.5
}
TargetName
{
rect 0 256 640 12
textalign C
time 500
}
TargetStatus
{
rect 0 268 640 12
textalign C
time 500
color 0.5 1 1 1
}
Chat1 { rect 0 372 640 12; time 3000; }
Chat2 { rect 0 360 640 12; time 3000; }
Chat3 { rect 0 348 640 12; time 3000; }
Chat4 { rect 0 336 640 12; time 3000; }
Chat5 { rect 0 324 640 12; time 3000; }
Chat6 { rect 0 312 640 12; time 3000; }
Chat7 { rect 0 300 640 12; time 3000; }
Chat8 { rect 0 288 640 12; time 3000; }
VoteMessageArena
{
rect 0 60 640 16
fontsize 12 16
textalign C
}
VoteMessageWorld
{
rect 0 76 640 16
fontsize 12 16
textalign C
color 1 1 0 1
}
Score_Limit { rect 0 420 32 20; textalign R; fontsize 16 20; bgcolor 0.5 0.5 0.5 0.5; fill; }
Score_OWN { rect 0 440 32 20; textalign R; fontsize 16 20; bgcolor 1 1 1 0.5; fill; }
Score_NME { rect 0 460 32 20; textalign R; fontsize 16 20; bgcolor 0 1 0 0.5; fill; }
# that's all the DM stuff
!DEFAULT { bgcolor 0.5 0.5 0.5 0.5; textalign R; }
Team1 { rect 0 372 640 12; monospace; }
Team2 { rect 0 360 640 12; monospace; }
Team3 { rect 0 348 640 12; monospace; }
Team4 { rect 0 336 640 12; monospace; }
Team5 { rect 0 324 640 12; monospace; }
Team6 { rect 0 312 640 12; monospace; }
Team7 { rect 0 300 640 12; monospace; }
Team8 { rect 0 288 640 12; monospace; }
!DEFAULT { bgcolor 0 0 0 0; textalign L; }
# PowerUp1_Icon is also used for the O/D indicator in CTFS
PowerUp1_Icon { rect 608 264 32 32; }
PowerUp1_Time { rect 544 264 64 32; textalign R; fontsize 24 32; }
PowerUp2_Icon { rect 608 232 32 32; }
PowerUp2_Time { rect 544 232 64 32; textalign R; fontsize 24 32; }
PowerUp3_Icon { rect 608 200 32 32; }
PowerUp3_Time { rect 544 200 64 32; textalign R; fontsize 24 32; }
PowerUp4_Icon { rect 608 168 32 32; }
PowerUp4_Time { rect 544 168 64 32; textalign R; fontsize 24 32; }
FlagStatus_OWN { rect 608 400 32 32; color 1 1 1 1; }
FlagStatus_NME { rect 568 400 32 32; color 0 1 0 1; }
TeamCount_OWN { rect 620 40 20 20; bgcolor 0.5 0.5 0.5 0.5; fill; fontsize 12 16; }
TeamIcon_OWN { rect 600 40 20 20; bgcolor 0.5 0.5 0.5 0.5; fill; image "models/players/mynx/icon_pm.tga"; }
TeamCount_NME { rect 620 64 20 20; bgcolor 0.5 0.5 0.5 0.5; fill; fontsize 12 16; }
TeamIcon_NME { rect 600 64 20 20; bgcolor 0.5 0.5 0.5 0.5; fill; image "models/players/sarge/icon_pm.tga"; }

238
cpma/hud/hud2.cfg Normal file
View File

@ -0,0 +1,238 @@
!DEFAULT
{
color 1 1 1 1
fontsize 8 12
font cpma
textstyle 1
}
Console
{
rect 0 0 640 48
#monospace
time 3000
font threewave
}
WeaponList
{
rect 320 420 48 16
color 0.2 0.2 0.7 0.75
font id
textalign C
fontsize 12 16
}
StatusBar_HealthIcon
{
rect 200 448 24 24
image "models/players/mynx/icon_pm.tga"
}
StatusBar_HealthCount
{
rect 240 448 48 24
font idblock
fontsize 16 24
textalign R
}
StatusBar_ArmorIcon
{
rect 420 448 24 24
}
StatusBar_ArmorCount
{
rect 352 448 32 32
font idblock
fontsize 16 24
}
FPS
{
rect 0 0 640 12
color 1 1 1 0.5
textalign R
}
GameTime
{
rect 0 16 640 16
font id
fontsize 12 16
textalign R
monospace
}
GameType
{
rect 0 16 640 24
fontsize 20
textalign C
color 1 1 0.5 1
}
WarmupInfo
{
rect 0 40 640 24
fontsize 16
textalign C
}
FollowMessage
{
rect 0 466 640 12
textalign C
}
SpecMessage
{
rect 0 80 640 16
fontsize 12 16
textalign C
}
FragMessage
{
rect 0 80 640 16
fontsize 12 16
textalign C
time 1500
fade 1 1 1 0.5
}
RankMessage
{
rect 0 96 640 12
textalign C
time 1500
fade 1 1 1 0.5
}
#PlayerSpeed
#{
# rect 0 386 640 12
# color 1 1 1 0.5
# textalign R
#}
ItemPickup
{
rect 24 384 640 16
fontsize 12 16
time 1500
#fade 1 1 1 0.5
}
ItemPickupIcon
{
rect 0 384 16 16
time 1500
# fading an image requires an alpha channel which the icons don't have >:(
#fade 1 1 1 0.5
}
TargetName
{
rect 0 256 640 12
textalign C
time 500
}
TargetStatus
{
rect 0 268 640 12
textalign C
time 500
color 0.5 1 1 1
}
Chat1 { rect 0 372 640 12; time 3000; }
Chat2 { rect 0 360 640 12; time 3000; }
Chat3 { rect 0 348 640 12; time 3000; }
Chat4 { rect 0 336 640 12; time 3000; }
Chat5 { rect 0 324 640 12; time 3000; }
Chat6 { rect 0 312 640 12; time 3000; }
Chat7 { rect 0 300 640 12; time 3000; }
Chat8 { rect 0 288 640 12; time 3000; }
VoteMessageArena
{
rect 0 60 640 16
fontsize 12 16
textalign C
}
VoteMessageWorld
{
rect 0 76 640 16
fontsize 12 16
textalign C
color 1 1 0 1
}
Score_Limit { rect 0 420 32 20; textalign R; fontsize 16 20; bgcolor 0.5 0.5 0.5 0.5; fill; }
Score_OWN { rect 0 440 32 20; textalign R; fontsize 16 20; bgcolor 1 1 1 0.5; fill; }
Score_NME { rect 0 460 32 20; textalign R; fontsize 16 20; bgcolor 0 1 0 0.5; fill; }
# that's all the DM stuff
!DEFAULT { bgcolor 0.5 0.5 0.5 0.5; textalign R; }
Team1 { rect 0 372 640 12; monospace; }
Team2 { rect 0 360 640 12; monospace; }
Team3 { rect 0 348 640 12; monospace; }
Team4 { rect 0 336 640 12; monospace; }
Team5 { rect 0 324 640 12; monospace; }
Team6 { rect 0 312 640 12; monospace; }
Team7 { rect 0 300 640 12; monospace; }
Team8 { rect 0 288 640 12; monospace; }
!DEFAULT { bgcolor 0 0 0 0; textalign L; }
# PowerUp1_Icon is also used for the O/D indicator in CTFS
PowerUp1_Icon { rect 608 264 32 32; }
PowerUp1_Time { rect 544 264 64 32; textalign R; fontsize 24 32; }
PowerUp2_Icon { rect 608 232 32 32; }
PowerUp2_Time { rect 544 232 64 32; textalign R; fontsize 24 32; }
PowerUp3_Icon { rect 608 200 32 32; }
PowerUp3_Time { rect 544 200 64 32; textalign R; fontsize 24 32; }
PowerUp4_Icon { rect 608 168 32 32; }
PowerUp4_Time { rect 544 168 64 32; textalign R; fontsize 24 32; }
FlagStatus_OWN { rect 608 400 32 32; color 1 1 1 1; }
FlagStatus_NME { rect 568 400 32 32; color 0 1 0 1; }
TeamCount_OWN { rect 620 40 20 20; bgcolor 0.5 0.5 0.5 0.5; fill; fontsize 12 16; }
TeamIcon_OWN { rect 600 40 20 20; bgcolor 0.5 0.5 0.5 0.5; fill; image "models/players/mynx/icon_pm.tga"; }
TeamCount_NME { rect 620 64 20 20; bgcolor 0.5 0.5 0.5 0.5; fill; fontsize 12 16; }
TeamIcon_NME { rect 600 64 20 20; bgcolor 0.5 0.5 0.5 0.5; fill; image "models/players/sarge/icon_pm.tga"; }

250
cpma/hud/hud3.cfg Normal file
View File

@ -0,0 +1,250 @@
!DEFAULT
{
color 1 1 1 1
fontsize 8 12
font cpma
textstyle 1
}
Console
{
rect 0 0 640 48
#monospace
time 3000
font threewave
}
WeaponList
{
rect 592 64 48 16
color 0.2 0.2 0.7 0.75
font id
fontsize 12 16
textalign r
}
StatusBar_HealthIcon
{
rect 150 448 24 24
image "models/players/mynx/icon_pm.tga"
}
StatusBar_HealthCount
{
rect 190 448 48 24
font idblock
fontsize 16 24
textalign R
}
StatusBar_ArmorIcon
{
rect 470 448 24 24
}
StatusBar_ArmorCount
{
rect 400 448 32 32
font idblock
fontsize 16 24
}
StatusBar_AmmoIcon
{
rect 312 428 16 16
}
StatusBar_AmmoCount
{
rect 302 448 36 16
font idblock
fontsize 12 16
textalign C
}
FPS
{
rect 0 0 640 12
color 1 1 1 0.5
textalign R
}
GameTime
{
rect 0 16 640 16
font id
fontsize 12 16
textalign R
monospace
}
GameType
{
rect 0 16 640 24
fontsize 20
textalign C
color 1 1 0.5 1
}
WarmupInfo
{
rect 0 40 640 24
fontsize 16
textalign C
}
FollowMessage
{
rect 0 466 640 12
textalign C
}
SpecMessage
{
rect 0 80 640 16
fontsize 12 16
textalign C
}
FragMessage
{
rect 0 80 640 16
fontsize 12 16
textalign C
time 1500
fade 1 1 1 0.5
}
RankMessage
{
rect 0 96 640 12
textalign C
time 1500
fade 1 1 1 0.5
}
#PlayerSpeed
#{
# rect 0 386 640 12
# color 1 1 1 0.5
# textalign R
#}
ItemPickup
{
rect 24 384 640 16
fontsize 12 16
time 1500
#fade 1 1 1 0.5
}
ItemPickupIcon
{
rect 0 384 16 16
time 1500
# fading an image requires an alpha channel which the icons don't have >:(
#fade 1 1 1 0.5
}
TargetName
{
rect 0 256 640 12
textalign C
time 500
}
TargetStatus
{
rect 0 268 640 12
textalign C
time 500
color 0.5 1 1 1
}
Chat1 { rect 0 372 640 12; time 3000; }
Chat2 { rect 0 360 640 12; time 3000; }
Chat3 { rect 0 348 640 12; time 3000; }
Chat4 { rect 0 336 640 12; time 3000; }
Chat5 { rect 0 324 640 12; time 3000; }
Chat6 { rect 0 312 640 12; time 3000; }
Chat7 { rect 0 300 640 12; time 3000; }
Chat8 { rect 0 288 640 12; time 3000; }
VoteMessageArena
{
rect 0 60 640 16
fontsize 12 16
textalign C
}
VoteMessageWorld
{
rect 0 76 640 16
fontsize 12 16
textalign C
color 1 1 0 1
}
Score_Limit { rect 0 420 32 20; textalign R; fontsize 16 20; bgcolor 0.5 0.5 0.5 0.5; fill; }
Score_OWN { rect 0 440 32 20; textalign R; fontsize 16 20; bgcolor 1 1 1 0.5; fill; }
Score_NME { rect 0 460 32 20; textalign R; fontsize 16 20; bgcolor 0 1 0 0.5; fill; }
# that's all the DM stuff
!DEFAULT { bgcolor 0.5 0.5 0.5 0.5; textalign R; }
Team1 { rect 0 372 640 12; monospace; }
Team2 { rect 0 360 640 12; monospace; }
Team3 { rect 0 348 640 12; monospace; }
Team4 { rect 0 336 640 12; monospace; }
Team5 { rect 0 324 640 12; monospace; }
Team6 { rect 0 312 640 12; monospace; }
Team7 { rect 0 300 640 12; monospace; }
Team8 { rect 0 288 640 12; monospace; }
!DEFAULT { bgcolor 0 0 0 0; textalign L; }
# PowerUp1_Icon is also used for the O/D indicator in CTFS
PowerUp1_Icon { rect 608 264 32 32; }
PowerUp1_Time { rect 544 264 64 32; textalign R; fontsize 24 32; }
PowerUp2_Icon { rect 608 232 32 32; }
PowerUp2_Time { rect 544 232 64 32; textalign R; fontsize 24 32; }
PowerUp3_Icon { rect 608 200 32 32; }
PowerUp3_Time { rect 544 200 64 32; textalign R; fontsize 24 32; }
PowerUp4_Icon { rect 608 168 32 32; }
PowerUp4_Time { rect 544 168 64 32; textalign R; fontsize 24 32; }
FlagStatus_OWN { rect 608 400 32 32; color 1 1 1 1; }
FlagStatus_NME { rect 568 400 32 32; color 0 1 0 1; }
TeamCount_OWN { rect 620 40 20 20; bgcolor 0.5 0.5 0.5 0.5; fill; fontsize 12 16; }
TeamIcon_OWN { rect 600 40 20 20; bgcolor 0.5 0.5 0.5 0.5; fill; image "models/players/mynx/icon_pm.tga"; }
TeamCount_NME { rect 620 64 20 20; bgcolor 0.5 0.5 0.5 0.5; fill; fontsize 12 16; }
TeamIcon_NME { rect 600 64 20 20; bgcolor 0.5 0.5 0.5 0.5; fill; image "models/players/sarge/icon_pm.tga"; }

239
cpma/hud/hud4.cfg Normal file
View File

@ -0,0 +1,239 @@
!DEFAULT
{
color 1 1 1 1
fontsize 8 12
font cpma
textstyle 1
}
Console
{
rect 0 0 640 48
#monospace
time 3000
font threewave
}
WeaponList
{
rect 320 464 30 11
color 0.2 0.2 0.7 0.75
font cpma
textalign C
fontsize 11
bgcolor 0 0 0 0.5
fill
}
StatusBar_HealthCount
{
rect 285 260 32 32
font cpma
color 1 1 1 0.8
fontsize 11
textalign C
}
StatusBar_ArmorIcon
{
rect 313 260 11 11
textalign R
color 0, 0, 0, 0.5
}
StatusBar_ArmorCount
{
rect 320 260 32 32
font cpma
fontsize 11
color 1 1 1 0.8
textalign C
}
FPS
{
rect 0 0 640 12
color 1 1 1 0.5
textalign R
}
GameTime
{
rect 0 16 640 16
font id
fontsize 12 16
textalign R
monospace
}
GameType
{
rect 0 16 640 24
fontsize 20
textalign C
color 1 1 0.5 1
}
WarmupInfo
{
rect 0 40 640 24
fontsize 16
textalign C
}
FollowMessage
{
rect 0 466 640 12
textalign C
}
SpecMessage
{
rect 0 80 640 16
fontsize 12 16
textalign C
}
FragMessage
{
rect 0 80 640 16
fontsize 12 16
textalign C
time 1500
fade 1 1 1 0.5
}
RankMessage
{
rect 0 96 640 12
textalign C
time 1500
fade 1 1 1 0.5
}
#PlayerSpeed
#{
# rect 0 386 640 12
# color 1 1 1 0.5
# textalign R
#}
ItemPickup
{
rect 24 384 640 16
fontsize 12 16
time 1500
#fade 1 1 1 0.5
}
ItemPickupIcon
{
rect 0 384 16 16
time 1500
# fading an image requires an alpha channel which the icons don't have >:(
#fade 1 1 1 0.5
}
TargetName
{
rect 0 256 640 12
textalign C
time 500
}
TargetStatus
{
rect 0 268 640 12
textalign C
time 500
color 0.5 1 1 1
}
Chat1 { rect 0 372 640 12; time 3000; }
Chat2 { rect 0 360 640 12; time 3000; }
Chat3 { rect 0 348 640 12; time 3000; }
Chat4 { rect 0 336 640 12; time 3000; }
Chat5 { rect 0 324 640 12; time 3000; }
Chat6 { rect 0 312 640 12; time 3000; }
Chat7 { rect 0 300 640 12; time 3000; }
Chat8 { rect 0 288 640 12; time 3000; }
VoteMessageArena
{
rect 0 60 640 16
fontsize 12 16
textalign C
}
VoteMessageWorld
{
rect 0 76 640 16
fontsize 12 16
textalign C
color 1 1 0 1
}
Score_Limit { rect 0 420 32 20; textalign R; fontsize 16 20; bgcolor 0.5 0.5 0.5 0.5; fill; }
Score_OWN { rect 0 440 32 20; textalign R; fontsize 16 20; bgcolor 1 1 1 0.5; fill; }
Score_NME { rect 0 460 32 20; textalign R; fontsize 16 20; bgcolor 0 1 0 0.5; fill; }
# that's all the DM stuff
!DEFAULT { bgcolor 0.5 0.5 0.5 0.5; textalign R; }
Team1 { rect 0 372 640 12; monospace; }
Team2 { rect 0 360 640 12; monospace; }
Team3 { rect 0 348 640 12; monospace; }
Team4 { rect 0 336 640 12; monospace; }
Team5 { rect 0 324 640 12; monospace; }
Team6 { rect 0 312 640 12; monospace; }
Team7 { rect 0 300 640 12; monospace; }
Team8 { rect 0 288 640 12; monospace; }
!DEFAULT { bgcolor 0 0 0 0; textalign L; }
# PowerUp1_Icon is also used for the O/D indicator in CTFS
PowerUp1_Icon { rect 608 264 32 32; }
PowerUp1_Time { rect 544 264 64 32; textalign R; fontsize 24 32; }
PowerUp2_Icon { rect 608 232 32 32; }
PowerUp2_Time { rect 544 232 64 32; textalign R; fontsize 24 32; }
PowerUp3_Icon { rect 608 200 32 32; }
PowerUp3_Time { rect 544 200 64 32; textalign R; fontsize 24 32; }
PowerUp4_Icon { rect 608 168 32 32; }
PowerUp4_Time { rect 544 168 64 32; textalign R; fontsize 24 32; }
FlagStatus_OWN { rect 608 400 32 32; color 1 1 1 1; }
FlagStatus_NME { rect 568 400 32 32; color 0 1 0 1; }
TeamCount_OWN { rect 620 40 20 20; bgcolor 0.5 0.5 0.5 0.5; fill; fontsize 12 16; }
TeamIcon_OWN { rect 600 40 20 20; bgcolor 0.5 0.5 0.5 0.5; fill; image "models/players/mynx/icon_pm.tga"; }
TeamCount_NME { rect 620 64 20 20; bgcolor 0.5 0.5 0.5 0.5; fill; fontsize 12 16; }
TeamIcon_NME { rect 600 64 20 20; bgcolor 0.5 0.5 0.5 0.5; fill; image "models/players/sarge/icon_pm.tga"; }

236
cpma/hud/hud5.cfg Normal file
View File

@ -0,0 +1,236 @@
#this comment is purely for a versioning test
!DEFAULT
{
color 1 1 1 1
fontsize 8 12
font cpma
textstyle 1
}
Console
{
rect 0 0 640 48
#monospace
time 3000
font threewave
}
WeaponList
{
rect 0 80 48 16
color 0.2 0.2 0.7 0.75
font id
fontsize 12 16
}
StatusBar_HealthIcon
{
rect 0 260 24 24
image "models/players/doom/icon_pm.tga"
}
StatusBar_HealthCount
{
rect 30 260 48 24
font idblock
fontsize 16 24
textalign L
}
StatusBar_ArmorIcon
{
rect 0 290 24 24
}
StatusBar_ArmorCount
{
rect 30 290 32 32
font idblock
fontsize 16 24
}
FPS
{
rect 0 0 640 12
color 1 1 1 0.5
textalign R
}
GameTime
{
rect 0 16 640 16
font id
fontsize 12 16
textalign R
monospace
}
GameType
{
rect 0 16 640 24
fontsize 20
textalign C
color 1 1 0.5 1
}
WarmupInfo
{
rect 0 40 640 24
fontsize 16
textalign C
}
FollowMessage
{
rect 0 466 640 12
textalign C
}
SpecMessage
{
rect 0 80 640 16
fontsize 12 16
textalign C
}
FragMessage
{
rect 0 80 640 16
fontsize 12 16
textalign C
time 1500
fade 1 1 1 0.5
}
RankMessage
{
rect 0 96 640 12
textalign C
time 1500
fade 1 1 1 0.5
}
#PlayerSpeed
#{
# rect 0 386 640 12
# color 1 1 1 0.5
# textalign R
#}
ItemPickup
{
rect 24 384 640 16
fontsize 12 16
time 1500
#fade 1 1 1 0.5
}
ItemPickupIcon
{
rect 0 384 16 16
time 1500
# fading an image requires an alpha channel which the icons don't have >:(
#fade 1 1 1 0.5
}
TargetName
{
rect 0 256 640 12
textalign C
time 500
}
TargetStatus
{
rect 0 268 640 12
textalign C
time 500
color 0.5 1 1 1
}
Chat1 { rect 0 372 640 12; time 3000; }
Chat2 { rect 0 360 640 12; time 3000; }
Chat3 { rect 0 348 640 12; time 3000; }
Chat4 { rect 0 336 640 12; time 3000; }
Chat5 { rect 0 324 640 12; time 3000; }
Chat6 { rect 0 312 640 12; time 3000; }
Chat7 { rect 0 300 640 12; time 3000; }
Chat8 { rect 0 288 640 12; time 3000; }
VoteMessageArena
{
rect 0 60 640 16
fontsize 12 16
textalign C
}
VoteMessageWorld
{
rect 0 76 640 16
fontsize 12 16
textalign C
color 1 1 0 1
}
Score_Limit { rect 0 420 32 20; textalign R; fontsize 16 20; bgcolor 0.5 0.5 0.5 0.5; fill; }
Score_OWN { rect 0 440 32 20; textalign R; fontsize 16 20; bgcolor 1 1 1 0.5; fill; }
Score_NME { rect 0 460 32 20; textalign R; fontsize 16 20; bgcolor 0 1 0 0.5; fill; }
# that's all the DM stuff
!DEFAULT { bgcolor 0.5 0.5 0.5 0.5; textalign R; }
Team1 { rect 0 372 640 12; monospace; }
Team2 { rect 0 360 640 12; monospace; }
Team3 { rect 0 348 640 12; monospace; }
Team4 { rect 0 336 640 12; monospace; }
Team5 { rect 0 324 640 12; monospace; }
Team6 { rect 0 312 640 12; monospace; }
Team7 { rect 0 300 640 12; monospace; }
Team8 { rect 0 288 640 12; monospace; }
!DEFAULT { bgcolor 0 0 0 0; textalign L; }
# PowerUp1_Icon is also used for the O/D indicator in CTFS
PowerUp1_Icon { rect 608 264 32 32; }
PowerUp1_Time { rect 544 264 64 32; textalign R; fontsize 24 32; }
PowerUp2_Icon { rect 608 232 32 32; }
PowerUp2_Time { rect 544 232 64 32; textalign R; fontsize 24 32; }
PowerUp3_Icon { rect 608 200 32 32; }
PowerUp3_Time { rect 544 200 64 32; textalign R; fontsize 24 32; }
PowerUp4_Icon { rect 608 168 32 32; }
PowerUp4_Time { rect 544 168 64 32; textalign R; fontsize 24 32; }
FlagStatus_OWN { rect 608 400 32 32; color 1 1 1 1; }
FlagStatus_NME { rect 568 400 32 32; color 0 1 0 1; }
TeamCount_OWN { rect 620 40 20 20; bgcolor 0.5 0.5 0.5 0.5; fill; fontsize 12 16; }
TeamIcon_OWN { rect 600 40 20 20; bgcolor 0.5 0.5 0.5 0.5; fill; image "models/players/mynx/icon_pm.tga"; }
TeamCount_NME { rect 620 64 20 20; bgcolor 0.5 0.5 0.5 0.5; fill; fontsize 12 16; }
TeamIcon_NME { rect 600 64 20 20; bgcolor 0.5 0.5 0.5 0.5; fill; image "models/players/sarge/icon_pm.tga"; }

262
cpma/hud/hud7.cfg Normal file
View File

@ -0,0 +1,262 @@
!DEFAULT
{
color 1 1 1 1
fontsize 8 12
#font id; textstyle 1
font threewave
}
Console
{
rect 0 0 640 48
#monospace
time 3000
font threewave
}
NetGraph
{
rect 592 432 48 48
bgcolor 0.25 0.25 0.25 0.25
fill
}
NetGraphPing
{
rect 592 432 48 12
textalign R
}
# the WeaponList has to get a little funky to be able to handle all the legacyhud tricks:
# W and H are the size of EACH weapon, not the total
# and for the horizontal weaponlist (textalign C) X is the point to center around
# setting "fill" on the weaponlist draws any weapon that you have OR have ammo for: very handy in TDM
WeaponList
{
rect 0 80 48 16
color 0.25 0.25 1 0.75
bgcolor 0.25 0.25 0.25 0.75
fontsize 12 16
}
StatusBar_HealthIcon
{
rect 64 440 16 16
image "models/players/mynx/icon_pm.tga"
}
StatusBar_HealthBar
{
rect 64 440 100 36
color 0 0 0 0
textalign R
doublebar
}
PreDecorate { rect 64 457 100 2; bgcolor 1 1 1 1; fill; }
StatusBar_HealthCount
{
rect 168 448 48 24
font idblock
fontsize 16 24
}
PreDecorate { rect 220 440 2 36; bgcolor 1 1 1 1; fill; }
StatusBar_ArmorIcon
{
rect 228 440 16 16
}
StatusBar_ArmorBar
{
rect 228 440 100 36
color 0 0 0 0
textalign R
doublebar
}
PreDecorate { rect 228 457 100 2; bgcolor 1 1 1 1; fill; }
StatusBar_ArmorCount
{
rect 332 448 48 24
font idblock
fontsize 16 24
}
PreDecorate { rect 384 440 2 36; bgcolor 1 1 1 1; fill; }
StatusBar_AmmoIcon
{
rect 392 440 16 16
}
StatusBar_AmmoBar
{
rect 392 440 100 36
color 0 0 0 0
textalign R
doublebar
}
PreDecorate { rect 392 457 100 2; bgcolor 1 1 1 1; fill; }
StatusBar_AmmoCount
{
rect 496 448 48 24
font idblock
fontsize 16 24
}
FPS
{
rect 0 0 640 12
color 1 1 1 0.5
textalign R
}
GameTime
{
rect 0 24 640 16
fontsize 12 16
textalign R
monospace
}
GameType
{
rect 0 32 640 24
fontsize 16 24
textalign C
color 1 1 0.5 1
}
WarmupInfo
{
rect 0 64 640 16
fontsize 12 16
textalign C
}
SpecMessage
{
rect 0 80 640 16
fontsize 12 16
textalign C
}
FollowMessage
{
rect 0 16 640 12
textalign C
}
PlayerSpeed
{
rect 0 12 640 12
color 1 1 1 0.5
textalign R
}
TargetName
{
rect 0 256 640 12
textalign C
time 500
}
TargetStatus
{
rect 0 268 640 12
textalign C
time 500
color 0.5 1 1 1
}
VoteMessageArena
{
rect 0 60 640 16
fontsize 12 16
textalign C
}
VoteMessageWorld
{
rect 0 76 640 16
fontsize 12 16
textalign C
color 1 1 0 1
}
!DEFAULT { textalign R; fontsize 16 20; }
Score_Limit { rect 0 420 32 20; bgcolor 0.5 0.5 0.5 0.5; fill; }
Score_OWN { rect 0 440 32 20; bgcolor 1 1 1 0.5; fill; }
Score_NME { rect 0 460 32 20; bgcolor 0 1 0 0.5; fill; }
!DEFAULT { textalign L; fontsize 8 12; }
Chat1 { rect 0 396 640 12; time 3000; }
Chat2 { rect 0 384 640 12; time 3000; }
Chat3 { rect 0 372 640 12; time 3000; }
Chat4 { rect 0 360 640 12; time 3000; }
Chat5 { rect 0 348 640 12; time 3000; }
Chat6 { rect 0 336 640 12; time 3000; }
Chat7 { rect 0 324 640 12; time 3000; }
Chat8 { rect 0 312 640 12; time 3000; }
# that's all the DM stuff
!DEFAULT { bgcolor 0.5 0.5 0.5 0.5; textalign R; fontsize 8 12; }
Team1 { rect 0 396 640 12; monospace; }
Team2 { rect 0 384 640 12; monospace; }
Team3 { rect 0 372 640 12; monospace; }
Team4 { rect 0 360 640 12; monospace; }
Team5 { rect 0 348 640 12; monospace; }
Team6 { rect 0 336 640 12; monospace; }
Team7 { rect 0 324 640 12; monospace; }
Team8 { rect 0 312 640 12; monospace; }
!DEFAULT { bgcolor 0 0 0 0; textalign R; font idblock; fontsize 24 32; }
PowerUp1_Icon { rect 608 264 32 32; } # also used for the O/D indicator in CTFS
PowerUp1_Time { rect 544 264 64 32; }
PowerUp2_Icon { rect 608 232 32 32; }
PowerUp2_Time { rect 544 232 64 32; }
PowerUp3_Icon { rect 608 200 32 32; }
PowerUp3_Time { rect 544 200 64 32; }
PowerUp4_Icon { rect 608 168 32 32; }
PowerUp4_Time { rect 544 168 64 32; }
FlagStatus_OWN { rect 40 440 20 20; color 1 1 1 1; }
FlagStatus_NME { rect 40 460 20 20; color 0 1 0 1; }
!DEFAULT { bgcolor 0.5 0.5 0.5 0.5; textalign L; font threewave; fontsize 12 16; }
TeamCount_OWN { rect 620 48 20 20; fill; }
TeamIcon_OWN { rect 600 48 20 20; fill; image "models/players/mynx/icon_pm.tga"; }
TeamCount_NME { rect 620 72 20 20; fill; }
TeamIcon_NME { rect 600 72 20 20; fill; image "models/players/sarge/icon_pm.tga"; }

242
cpma/hud/installer.cfg Normal file
View File

@ -0,0 +1,242 @@
!DEFAULT
{
color 1 1 1 1
fontsize 8 12
#font id; textstyle 1
font threewave
}
Console
{
rect 0 0 640 48
#monospace
time 3000
}
NetGraph
{
rect 592 432 48 48
bgcolor 0.25 0.25 0.25 0.25
fill
}
NetGraphPing
{
rect 592 432 48 12
textalign R
}
# the WeaponList has to get a little funky to be able to handle all the legacyhud tricks:
# W and H are the size of EACH weapon, not the total
# and for the horizontal weaponlist (textalign C) X is the point to center around
# setting "fill" on the weaponlist draws any weapon that you have OR have ammo for: very handy in TDM
WeaponList
{
rect 0 80 48 16
color 0.25 0.25 1 0.75
bgcolor 0.25 0.25 0.25 0.75
fontsize 12 16
}
StatusBar_HealthIcon
{
rect 260 420 24 24
model "models/players/doom/head.md3"
image "models/players/doom/head_pm.skin"
angles 0 180 0 0
offset 0 0 0
color 0.25 0.75 1 1
}
StatusBar_HealthCount
{
rect 240 448 48 24
font idblock
fontsize 16 24
textalign R
textstyle 1
}
StatusBar_AmmoIcon
{
rect 312 428 16 16
}
StatusBar_AmmoCount
{
rect 302 448 36 16
font idblock
fontsize 12 16
textalign C
textstyle 1
}
StatusBar_ArmorIcon
{
rect 352 420 24 24
#angles 0 180 0 0
#Draw3D
}
StatusBar_ArmorCount
{
rect 352 448 48 32
font idblock
fontsize 16 24
textstyle 1
}
FPS
{
rect 0 0 640 12
color 1 1 1 0.5
textalign R
}
GameTime
{
rect 0 24 640 16
fontsize 12 16
textalign R
monospace
}
GameType
{
rect 0 32 640 24
fontsize 16 24
textalign C
color 1 1 0.5 1
}
WarmupInfo
{
rect 0 64 640 16
fontsize 12 16
textalign C
}
SpecMessage
{
rect 0 80 640 16
fontsize 12 16
textalign C
}
FollowMessage
{
rect 0 16 640 12
textalign C
}
PlayerSpeed
{
rect 0 12 640 12
color 1 1 1 0.5
textalign R
}
TargetName
{
rect 0 256 640 12
textalign C
time 500
}
TargetStatus
{
rect 0 268 640 12
textalign C
time 500
color 0.5 1 1 1
}
VoteMessageArena
{
rect 0 60 640 16
fontsize 12 16
textalign C
}
VoteMessageWorld
{
rect 0 76 640 16
fontsize 12 16
textalign C
color 1 1 0 1
}
!DEFAULT { textalign R; fontsize 16 20; }
Score_Limit { rect 0 420 32 20; bgcolor 0.5 0.5 0.5 0.5; fill; }
Score_OWN { rect 0 440 32 20; bgcolor 1 1 1 0.5; fill; }
Score_NME { rect 0 460 32 20; bgcolor 0 1 0 0.5; fill; }
#!DEFAULT { textalign L; fontsize 8 12; }
#Chat1 { rect 0 396 640 12; time 3000; }
#Chat2 { rect 0 384 640 12; time 3000; }
#Chat3 { rect 0 372 640 12; time 3000; }
#Chat4 { rect 0 360 640 12; time 3000; }
#Chat5 { rect 0 348 640 12; time 3000; }
#Chat6 { rect 0 336 640 12; time 3000; }
#Chat7 { rect 0 324 640 12; time 3000; }
#Chat8 { rect 0 312 640 12; time 3000; }
# that's all the DM stuff
!DEFAULT { bgcolor 0.5 0.5 0.5 0.5; textalign R; fontsize 8 12; }
Team1 { rect 0 396 640 12; monospace; }
Team2 { rect 0 384 640 12; monospace; }
Team3 { rect 0 372 640 12; monospace; }
Team4 { rect 0 360 640 12; monospace; }
Team5 { rect 0 348 640 12; monospace; }
Team6 { rect 0 336 640 12; monospace; }
Team7 { rect 0 324 640 12; monospace; }
Team8 { rect 0 312 640 12; monospace; }
!DEFAULT { bgcolor 0 0 0 0; textalign R; font idblock; fontsize 24 32; }
PowerUp1_Icon { rect 608 264 32 32; } # also used for the O/D indicator in CTFS
PowerUp1_Time { rect 544 264 64 32; }
PowerUp2_Icon { rect 608 232 32 32; }
PowerUp2_Time { rect 544 232 64 32; }
PowerUp3_Icon { rect 608 200 32 32; }
PowerUp3_Time { rect 544 200 64 32; }
PowerUp4_Icon { rect 608 168 32 32; }
PowerUp4_Time { rect 544 168 64 32; }
FlagStatus_OWN { rect 40 440 20 20; color 1 1 1 1; }
FlagStatus_NME { rect 40 460 20 20; color 0 1 0 1; }
!DEFAULT { bgcolor 0.5 0.5 0.5 0.5; textalign L; font threewave; fontsize 12 16; }
TeamCount_OWN { rect 620 48 20 20; fill; }
TeamIcon_OWN { rect 600 48 20 20; fill; image "models/players/mynx/icon_pm.tga"; }
TeamCount_NME { rect 620 72 20 20; fill; }
TeamIcon_NME { rect 600 72 20 20; fill; image "models/players/sarge/icon_pm.tga"; }

247
cpma/hud/old.cfg Normal file
View File

@ -0,0 +1,247 @@
!DEFAULT
{
fontsize 6 10
font id
textstyle 1
monospace
}
NetGraph
{
rect 592 432 48 48
bgcolor 0.25 0.25 0.25 0.25
fill
}
NetGraphPing
{
rect 592 432 48 12
textalign C
}
WeaponList
{
rect 0 80 60 16
color 0.25 0.25 1 0.75
fontsize 12 16
}
StatusBar_HealthIcon
{
rect 280 440 40 40
image "models/players/mynx/icon_pm.tga"
}
StatusBar_HealthCount
{
rect 320 440 40 40
font idblock
fontsize 32 40
textstyle 0
}
StatusBar_ArmorIcon
{
rect 440 440 40 40
}
StatusBar_ArmorCount
{
rect 480 440 40 40
font idblock
fontsize 32 40
textstyle 0
}
StatusBar_AmmoIcon
{
rect 80 440 40 40
}
StatusBar_AmmoCount
{
rect 120 440 40 40
font idblock
fontsize 32 40
textstyle 0
}
FPS
{
rect 0, 20, 640, 12
color 1, 1, 1, 1
fontsize 12 16
textalign R
color 0, 0, 0, 0 # disabled
}
GameTime
{
rect 0, 0, 640, 16
fontsize 12 16
textalign R
monospace
}
GameType
{
rect 0, 16, 640, 24
fontsize 20
textalign C
color 1, 1, 0, 1
}
WarmupInfo
{
rect 0, 40, 640, 24
fontsize 14
textalign C
color 1, 0, 0, 1
}
FollowMessage
{
rect 0, 64, 640, 12
textalign C
}
SpecMessage
{
rect 0, 80, 640, 16
fontsize 16
textalign C
}
FragMessage
{
rect 0, 80, 640, 16
fontsize 16
textalign C
time 1500
fade 1, 1, 1, 0.5
}
RankMessage
{
rect 0, 96, 640, 12
textalign C
time 1500
fade 1, 1, 1, 0.5
}
PlayerSpeed
{
color 0, 0, 0, 0 # disabled
}
ItemPickup
{
color 0, 0, 0, 0 # disabled
}
ItemPickupIcon
{
color 0, 0, 0, 0 # disabled
}
TargetName
{
color 0, 0, 0, 0 # disabled
}
TargetStatus
{
color 0, 0, 0, 0 # disabled
}
Chat1 { rect 0, 372, 640, 12; time 3000; }
Chat2 { rect 0, 360, 640, 12; time 3000; }
Chat3 { rect 0, 348, 640, 12; time 3000; }
Chat4 { rect 0, 336, 640, 12; time 3000; }
# disabled Chat5 { }
# disabled Chat6 { }
# disabled Chat7 { }
# disabled Chat8 { }
VoteMessageArena
{
rect 0, 60, 640, 16
fontsize 6
textalign C
}
VoteMessageWorld
{
rect 0, 76, 640, 16
fontsize 6
textalign C
color 1, 1, 0, 1
}
Score_Limit { rect 0, 420, 32, 20; textalign R; fontsize 16 20; bgcolor 0.5 0.5 0.5 0.5; fill; }
Score_OWN { rect 0, 440, 32, 20; textalign R; fontsize 16 20; bgcolor 1 1 1 0.5; fill; color T; }
Score_NME { rect 0, 460, 32, 20; textalign R; fontsize 16 20; bgcolor 0 1 0 0.5; fill; color E; }
# that's all the DM stuff
!DEFAULT { bgcolor 0.5 0.5 0.5 0.25; textalign R; fontsize 8 12; }
Team1 { rect 0, 372, 640, 12; color T; }
Team2 { rect 0, 360, 640, 12; color T; }
Team3 { rect 0, 348, 640, 12; color T; }
Team4 { rect 0, 336, 640, 12; color T; }
Team5 { rect 0, 324, 640, 12; color T; }
Team6 { rect 0, 312, 640, 12; color T; }
Team7 { rect 0, 300, 640, 12; color T; }
Team8 { rect 0, 288, 640, 12; color T; }
!DEFAULT { bgcolor 0 0 0 0; textalign R; font idblock; fontsize 24 32; }
PowerUp1_Icon { rect 608, 264, 32, 32; } # also used for the O/D indicator in CTFS
PowerUp1_Time { rect 544, 264, 64, 32; }
PowerUp2_Icon { rect 608, 232, 32, 32; }
PowerUp2_Time { rect 544, 232, 64, 32; }
PowerUp3_Icon { rect 608, 200, 32, 32; }
PowerUp3_Time { rect 544, 200, 64, 32; }
PowerUp4_Icon { rect 608, 168, 32, 32; }
PowerUp4_Time { rect 544, 168, 64, 32; }
# note: team coloring for images needs BGCOLOR alpha to be non-zero
FlagStatus_OWN { rect 608 400 32 32; bgcolor 1 1 1 1; color T; }
FlagStatus_NME { rect 568 400 32 32; bgcolor 1 1 1 1; color E; }
!DEFAULT { bgcolor 0.5 0.5 0.5 0.5; textalign L; font id; fontsize 12 16; }
TeamCount_OWN { rect 620, 40, 20, 20; color T; fill; }
TeamIcon_OWN { rect 600, 40, 20, 20; image "models/players/mynx/icon_pm.tga"; }
TeamCount_NME { rect 620, 64, 20, 20; color E; fill; }
TeamIcon_NME { rect 600, 64, 20, 20; image "models/players/sarge/icon_pm.tga"; }

100
cpma/locs/base_for_locs.cfg Normal file
View File

@ -0,0 +1,100 @@
v2
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"10"
"11"
"12"
"13"
"14"
"15"
"16"
"17"
"18"
"19"
"20"
"21"
"22"
"23"
"24"
"25"
"26"
"27"
"28"
"29"
"30"
"31"
"32"
"33"
"34"
"35"
"36"
"37"
"38"
"39"
"40"
"41"
"42"
"43"
"44"
"45"
"46"
"47"
"48"
"49"
"50"
"51"
"52"
"53"
"54"
"55"
"56"
"57"
"58"
"59"
"60"
"61"
"62"
"63"
"64"
"65"
"66"
"67"
"68"
"69"
"70"
"71"
"72"
"73"
"74"
"75"
"76"
"77"
"78"
"79"
"80"
"81"
"82"
"83"
"84"
"85"
"86"
"87"
"88"
"89"
"90"
"91"
"92"
"93"
"94"
"95"
"96"
"97"
"98"
"99"

16
cpma/locs/cpm16.cfg Normal file
View File

@ -0,0 +1,16 @@
v2
"^5QUAD ^7Front"
"^1LOW RL"
"LG"
"^5QUAD"
"^3YA"
"^4Mega"
"^1HIGH RL"
"^tPG"
"^1RA"
"^1RA"
"^1RA"
"^1LOW RL ^gShards"
"^3YA"
"LG"
"LG"

27
cpma/locs/cpm18r.cfg Normal file
View File

@ -0,0 +1,27 @@
v2
"^5QUAD ^7Lower"
"^2RG"
"^cSG ^1RA"
"^tPG"
"^3YA ^7Upper"
"LG Lower"
"^3YA ^7Mid"
"HIGH MID"
"^1RA"
"^5QUAD"
"^2MID"
"HIGH MID ^cSG"
"HIGH MID"
"HIGH MID"
"^3YA ^7Upper"
"^2MID"
"^2MID"
"^1RA ^7LG"
"^1RA"
"^tPG"
"^tPG"
"^2MID"
"^2RG"
"^5QUAD ^7Upper"
"^cSG^7-Teleport"
"^cSG^7-Teleport"

32
cpma/locs/cpm21.cfg Normal file
View File

@ -0,0 +1,32 @@
v2
"^dSUIT"
"Low ^1RL^7/^3YA"
"^1RA"
"LG"
"^4Mega ^7Room"
"^4Mega"
"^2RG"
"^1RL ^7Upper"
"^5QUAD"
"^5QUAD"
"^3YA ^7Upper"
"^5QUAD ^7Above"
"HI PASS JP"
"HI PASS"
"LG"
"HI PASS"
"^2GL"
"^dSUIT ^7Front"
"^cSG^7/^2GA"
"^5QUAD ^7Above"
"^5QUAD ^7Above"
"^1RL ^7Upper"
"^1RL ^7Upper"
"^5QUAD ^7Above"
"^1RA"
"^cLAVA TRAP"
"^5QUAD"
"^5QUAD"
"CRUSHER"
"Low ^1RL^7/^3YA"
"HI PASS"

10
cpma/locs/cpm25.cfg Normal file
View File

@ -0,0 +1,10 @@
v2
"^2RG"
"^1RA"
"^3YA"
"^5QUAD"
"LG"
"^4MEGA^7/^1RL"
"^2GA"
"^1RA"
"^1LOW RL"

16
cpma/locs/cpm26.cfg Normal file
View File

@ -0,0 +1,16 @@
v2
"^5QUAD ^7High"
"LG ^3YA"
"Bridge"
"^2RG"
"^1RA^7 High"
"^1RA^7 Low"
"^tPG"
"^5QUAD"
"LG ^3YA"
"^2GL"
"Low ^3YA^7/^1RL"
"Outside"
"Outside"
"^4Mega"
"^dSUIT"

38
cpma/locs/cpm27.cfg Normal file
View File

@ -0,0 +1,38 @@
v2
"^5QUAD ^7Below"
"^3YA^7/^1RL"
"Lift Top"
"Lift Top"
"Atrium ^3YA"
"Atrium ^1RL"
"^1RA"
"^1RA^7/^tPG"
"^2RG^7/^4MH"
"^5QUAD ^7Below"
"^cSG ^7Upper"
"^3YA^7/^1RL"
"Invisibility"
"^1RA ^7Above"
"Atrium ^4Mega"
"Atrium LG"
"^1RA ^7Above"
"^cSG ^7Upper"
"^cSG ^7Upper"
"^cSG ^7Upper"
"^2RG^7/^4MH"
"Atrium ^cSG"
"^2RG^7/^4MH"
"^5QUAD ^7Below"
"^5QUAD"
"^3YA^7/^1RL"
"^cSG ^7Upper"
"^3YA^7/^1RL"
"Atrium ^2GL"
"Lift Top"
"^3YA^7/^1RL"
"Atrium ^1RL"
"Atrium ^1RL"
"Atrium LG"
"Atrium LG"
"Atrium High"
"Atrium ^4Mega"

22
cpma/locs/cpm29.cfg Normal file
View File

@ -0,0 +1,22 @@
v2
"^5QUAD"
"^tPG^7/^3YA"
"^1RA^7/^1RL"
"^3YA^7/^1RL"
"^1RA^7/^1RL"
"^1RA^7/^1RL"
"^tPG^7/^3YA"
"^1RA^7/^1RL"
"^3YA^7/^1RL"
"^tPG^7/^3YA"
"^3YA^7/^1RL"
"^3YA^7/^1RL"
"^1RA^7/^1RL"
"^tPG^7/^3YA"
"^1RA^7/^1RL"
"^tPG^7/^3YA"
"^tPG^7/^3YA"
"^tPG^7/^3YA"
"^5QUAD"
"^5QUAD"
"^3YA^7/^1RL"

21
cpma/locs/cpm4.cfg Normal file
View File

@ -0,0 +1,21 @@
v2
"^1RA"
"^cSG^"
"^1RA ^7LG"
"^5QUAD"
"^5QUAD ^1RL"
"^3YA"
"^1RL^7-Teleporter"
"^3YA^tPG^7-Jump"
"^3YA^tPG"
"^tLoser's Hall"
"^cSG^5Quad-Tele"
"^1RL"
"^1RL/RA-High"
"^2GL"
"Tunnel"
"Tunnel"
"Tunnel"
"^cSG"
"^QUAD ^7Across"
"LG"

21
cpma/locs/cpm4a.cfg Normal file
View File

@ -0,0 +1,21 @@
v2
"^1RA"
"^cSG^"
"^1RA ^7LG"
"^5QUAD"
"^5QUAD ^1RL"
"^3YA"
"^1RL^7-Teleporter"
"^3YA^tPG^7-Jump"
"^3YA^tPG"
"^tLoser's Hall"
"^cSG^5Quad-Tele"
"^1RL"
"^1RL/RA-High"
"^2GL"
"Tunnel"
"Tunnel"
"Tunnel"
"^cSG"
"^QUAD ^7Across"
"LG"

37
cpma/locs/cpmctf1.cfg Normal file
View File

@ -0,0 +1,37 @@
v2
"^4Base"
"^4Base ^1RL"
"^4Base ^7Flag"
"^4Base ^5Mega"
"^4Base ^2RG"
"^4Base ^7Pool"
"^4Water ^7Tunnel"
"^4Regen^7/^3YA"
"^4Front ^7Elevator"
"^4Front ^7Stairs"
"^4High ^7LG Side"
"^4High ^7Mid"
"^4High ^7Mid"
"^4Middle"
"^4Middle"
"^4Middle ^7LG"
"^4Water ^1RA"
"^1Water ^tPG"
"^4Water ^tPG"
"^1Water RA"
"^1Middle ^7LG"
"^1Middle"
"^1Middle"
"^1High ^7Mid"
"^1High ^7Mid"
"^1High ^7LG Side"
"^1Front ^7Stairs"
"^1Front ^7Elevator"
"^1Regen^7/^3YA"
"^1Water ^7Tunnel"
"^1Base ^7Pool"
"^1Base ^2RG"
"^1Base ^5Mega"
"^1Base ^7Flag"
"^1Base RL"
"^1Base"

13
cpma/locs/cpmctf2.cfg Normal file
View File

@ -0,0 +1,13 @@
v2
"^1Base"
"^2High ^7Mid"
"^3Low ^7Mid"
"^1Base ^7Back"
"^4Base"
"^4Base ^7Back"
"^1Base ^7Flag"
"^4Base ^7Flag"
"^4Base ^7Stairs"
"^1Base ^7Stairs"
"^4High ^7Door"
"^1High ^7Door"

18
cpma/locs/cpmctf3.cfg Normal file
View File

@ -0,0 +1,18 @@
v2
"^4Base"
"^4Outer Base High"
"^4Regen"
"^4Base Side Corridor"
"^4Base Entrance"
"^4Tunnel"
"^1Base"
"^1Outer Base High"
"^1Regen"
"^1Side Corridor"
"^1Base Entrance"
"^1Tunnel"
"Midfield"
"^1Lower Tele"
"^4Lower Tele"
"^4Outer Base Low"
"^1Outer Base Low"

11
cpma/locs/ctctf1.cfg Normal file
View File

@ -0,0 +1,11 @@
v2
"^1Base ^7Regen"
"^1Base ^7Flagroom"
"^1Low ^7Water"
"^1High ^7Perimeter"
"^2High ^7Mid"
"^3Low ^7Mid"
"^4Low ^7Water"
"^4High ^7Perimeter"
"^4Base ^7Regen"
"^4Base ^7Flagroom"

100
cpma/locs/ctctf2.cfg Normal file
View File

@ -0,0 +1,100 @@
v2
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"10"
"11"
"12"
"13"
"14"
"15"
"16"
"17"
"18"
"19"
"20"
"21"
"22"
"23"
"24"
"25"
"26"
"27"
"28"
"29"
"30"
"31"
"32"
"33"
"34"
"35"
"36"
"37"
"38"
"39"
"40"
"41"
"42"
"43"
"44"
"45"
"46"
"47"
"48"
"49"
"50"
"51"
"52"
"53"
"54"
"55"
"56"
"57"
"58"
"59"
"60"
"61"
"62"
"63"
"64"
"65"
"66"
"67"
"68"
"69"
"70"
"71"
"72"
"73"
"74"
"75"
"76"
"77"
"78"
"79"
"80"
"81"
"82"
"83"
"84"
"85"
"86"
"87"
"88"
"89"
"90"
"91"
"92"
"93"
"94"
"95"
"96"
"97"
"98"
"99"

15
cpma/locs/ospctf1.cfg Normal file
View File

@ -0,0 +1,15 @@
v2
"^4Blue ^2RG"
"^1Low ^7Entrance"
"Middle"
"^1Red ^7LG"
"^1Base ^7Flag"
"^1Red ^tPG"
"^4Low ^7Entrance"
"^4Blue ^7LG"
"^4Blue ^7Flag"
"^4Blue ^tPG"
"^1Red ^2RG"
"Middle"
"Middle"
"Middle"

16
cpma/locs/ospctf2.cfg Normal file
View File

@ -0,0 +1,16 @@
v2
"^4Low ^3YA"
"^1Low ^3YA"
"^4Mid ^cSG"
"^1High ^7Hallway"
"^1Mid ^7Front"
"^1Low ^7Netting"
"^4High ^7Hallway"
"^4Mid ^7Front"
"^4Low ^7Netting"
"^4Base ^7Flag"
"^1Base ^7Flag"
"^2High ^7Center"
"Mid Center"
"^3Low ^7Center"
"^1Mid ^cSG"

37
cpma/locs/ospdm11.cfg Normal file
View File

@ -0,0 +1,37 @@
v2
"^3YA ^7Stairs"
"^3YA"
"East ^cSG"
"LG near"
"^5QUAD ^7near"
"^5QUAD"
"East ^tPG"
"^5Mega"
"^5QUAD ^7below"
"East Room"
"West ^gShards"
"West Room"
"West Teleporter"
"West ^tPG ^7below"
"West ^tPG"
"West ^cSG"
"West ^cSG"
"^1RA ^7below"
"^1RA"
"West Room"
"^1RL"
"^2GL"
"LG below"
"^3YA ^7below"
"LG"
"^1RL ^7above"
"^1RL ^7above"
"East ^tPG ^7near"
"East Room"
"^1RA ^7Stairs"
"^1RA ^7near"
"West ^tPG"
"West ^tPG ^7above"
"West ^tPG"
"West Room"
"East ^tPG ^7near"

48
cpma/locs/ospdm12.cfg Normal file
View File

@ -0,0 +1,48 @@
v2
"^5QUAD"
"^cSG"
"^1RA"
"^2RG"
"^5Mega"
"^3YA"
"^1RL"
"^1RL"
"^1RL"
"^1RL"
"^1RL"
"^1RL"
"^1RL"
"^1RL"
"^3YA"
"^3YA"
"LG"
"^3YA"
"^5Mega"
"^3YA"
"^5Mega"
"^5Mega"
"^2RG"
"^2RG"
"^2RG"
"^2RG"
"^2RG"
"^2RG"
"^tPG"
"^tPG"
"^tPG"
"^tPG"
"^1RA5"
"^1RA6"
"^1RA"
"^1RA"
"^1RA"
"^1RA ^2GL"
"^2GL"
"^2GL"
"^5QUAD"
"^5QUAD"
"^5QUAD"
"^5QUAD"
"^5QUAD"
"^5QUAD"
"^5QUAD"

41
cpma/locs/ospdm5.cfg Normal file
View File

@ -0,0 +1,41 @@
v2
"^1RA ^7Platform"
"Weak ^3YA"
"^cSG ^7Lower"
"^5Mega"
"LG Lower"
"^2RG ^7Jumppad"
"^5QUAD ^tPG"
"Weak ^1RL"
"^cSG ^7Lower"
"^2RG ^7Jumppad"
"^2RG"
"^2RG ^7Room"
"^1RA ^7Room"
"^5Mega"
"LG Lower"
"LG Lower"
"LG Jumppad"
"^1RA ^2GL"
"Strong ^1RL"
"Strong ^1RL"
"Strong ^1RL"
"^3YA ^7Lower"
"Weak RL Jumppad"
"^5QUAD"
"^5QUAD"
"Weak RL Jumppad"
"^cSG ^7Upper"
"^cSG ^7Upper"
"Weak ^1RL"
"^2RG ^7Room"
"Strong ^1RL"
"Tele Exit"
"^1RA"
"^5QUAD"
"^cSG ^7Upper"
"^cSG ^7Upper"
"Weak ^3YA"
"^3YA ^7Lower"
"LG Jumppad"
"^3YA ^7Lower"

42
cpma/locs/ospdm5a.cfg Normal file
View File

@ -0,0 +1,42 @@
v2
"^1RA"
"^1RA ^7Platform"
"Weak ^3YA"
"^2GL ^7Lower"
"LG"
"^cSG ^7Lower"
"^4Mega ^7Jumppad"
"^5QUAD ^tPG"
"Weak ^1RL"
"^2GL ^7Lower"
"^4Mega ^7Jumppad"
"^4Mega"
"^4Mega ^7Room"
"^1RA ^7Room"
"LG"
"^cSG ^7Lower"
"^cSG ^7Lower"
"^2GA ^7Jumppad"
"^1RA ^tPG"
"Strong ^1RL"
"Strong ^1RL"
"Strong ^1RL"
"^3YA ^7Lower"
"Weak RL Jumppad"
"^5QUAD"
"^5QUAD"
"Weak RL Jumppad"
"^cSG ^7Upper"
"^cSG ^7Upper"
"Weak ^1RL"
"^4Mega ^7Room"
"Strong ^1RL"
"Tele Exit"
"^1RA"
"^5QUAD"
"^cSG ^7Upper"
"^cSG ^7Upper"
"Weak ^3YA"
"^3YA ^7Lower"
"^2GA ^7Jumppad"
"^3YA ^7Lower"

37
cpma/locs/ospdm6.cfg Normal file
View File

@ -0,0 +1,37 @@
v2
"Big Jumppad"
"^5QUAD ^7Jumppad"
"Balcony"
"^2GL ^7Hallway"
"^3YA ^7Hallway"
"Tele Exit"
"Outside"
"^2RG"
"^3YA ^7Upper"
"^cSG ^7Lower"
"^1RL"
"^2RG"
"^2GL"
"^5Mega"
"LG Hallway"
"Teleport Floor"
"LG"
"^1RA ^cSG"
"^1RA"
"^3YA ^tPG"
"^5QUAD"
"Balcony"
"^5QUAD ^7Jumppad"
"^3YA ^7Hallway"
"^5QUAD ^tPG"
"^5QUAD ^7Room"
"Outside"
"Outside"
"^1RA ^cSG"
"^1RA"
"^cSG ^7Hallway"
"LG"
"LG"
"Teleport Floor"
"Teleport Floor"
"^1RA"

60
cpma/locs/pro-q3dm6.cfg Normal file
View File

@ -0,0 +1,60 @@
v2
"RL"
"^1RA"
"^cSG"
"^tPG"
"Bridge Stairs"
"^2RG"
"LG"
"Pillars ^cSG"
"^1RA"
"^3YA"
"RL"
"^5QUAD"
"LG Stairs"
"^5QUAD ^72nd"
"^5QUAD ^72nd"
"^5QUAD ^72nd"
"^5QUAD ^72nd"
"^5QUAD ^72nd"
"^5QUAD ^72nd"
"^5QUAD"
"^5QUAD"
"^cSG"
"^5QUAD"
"^cSG"
"^cSG"
"^gShards"
"^gShards"
"Pillars Low"
"^1RA"
"^1RA"
"^1RA"
"Pillars Low"
"Pillars Low"
"Pillars Low"
"Pillars Low"
"Pillars Low"
"Pillars Low"
"RL"
"Bridge"
"^tPG"
"^tPG"
"^3YA"
"^2RG ^72nd"
"^2RG ^72nd"
"^2RG"
"^2RG ^7Jumppad"
"Pillars ^cSG"
"^2RG"
"LG Stairs"
"LG"
"^3YA"
"^5QUAD"
"^5QUAD ^72nd"
"^5QUAD ^72nd"
"^5QUAD ^72nd"
"^5QUAD"
"^5QUAD"
"^tPG"
"^tPG"

26
cpma/locs/q3ctf1.cfg Normal file
View File

@ -0,0 +1,26 @@
v2
"^4Base ^7Flag"
"^4Base ^7Low"
"^4Base ^tPG^3YA"
"^4Low ^3YA"
"^4Low ^3YA"
"^4Mid ^7Door"
"^4High ^7Stair3"
"^4Low ^7Door"
"^4High ^7Stair2"
"^4High ^7Stair1"
"^4Mid"
"^4Mid"
"^4Mid"
"^1Mid"
"^1Mid"
"^1Mid"
"^1Mid ^7Door"
"^1High ^7Stair3"
"^1Low ^7Door"
"^1High ^7Stair2"
"^1High ^7Stair1"
"^1Low ^3YA"
"^1Base ^7Low"
"^1Base ^7Flag"
"^1Base ^tPG^3YA"

59
cpma/locs/q3ctf2.cfg Normal file
View File

@ -0,0 +1,59 @@
v2
"Low ^1RA"
"^1High ^7Backjump"
"^4Pool ^gShards"
"^4Base ^1RL"
"^4High ^gShards"
"^4Base ^7Flag"
"^1Base ^5Mega"
"^1Base ^5Mega"
"^4Base ^5Mega"
"^4Base ^tPG"
"^4High ^gShards"
"^4High ^gShards"
"^4High ^gShards"
"^4High ^2RG"
"^4High ^7Mid"
"^4Right ^7Bridge"
"^1Left ^7Bridge"
"^4Low ^7Medkit"
"^4High ^7Dock"
"^4Pool ^8SG"
"^4Pool ^8SG"
"^4Pool ^8SG"
"^4Pool ^8SG"
"^4Pool ^7Tunnel"
"^1Pool ^gShards"
"^1Base RL"
"^1Base ^7Flag"
"^1Base ^tPG"
"^1High ^gShards"
"^1High ^gShards"
"^1High ^gShards"
"^1High ^gShards"
"^1High ^2RG"
"^1High ^7Mid"
"^1Right ^7Bridge"
"^4Left ^7Bridge"
"^1Low ^7Medkit"
"^1High ^7Dock"
"^1Pool ^8SG"
"^1Pool ^8SG"
"^1Pool ^8SG"
"^1Pool ^8SG"
"^1Pool ^7Tunnel"
"^1Low ^7Airpocket"
"^1Low ^7Tunnel"
"^1High ^2GL"
"^1High ^gShards"
"^1High ^2GL"
"^4High ^7Backjump"
"^4High ^2GL"
"^4High ^2GL"
"^4High ^gShards"
"^4Low ^7Water"
"^1Low ^7Water"
"^4Front ^3YA"
"^1Front ^3YA"
"^4Low ^7Airpocket"
"^4Low ^7Tunnel"

20
cpma/locs/q3ctf3.cfg Normal file
View File

@ -0,0 +1,20 @@
v2
"^4Low ^7Front"
"^4High ^2RG"
"Middle"
"^4Low ^8SGside1"
"^4Base ^7Flag"
"^4Low ^3YAside1"
"^4High ^3YAside"
"^4High ^8SGside"
"^4Low ^8SGside2"
"^4Low ^3YAside2"
"^1Low ^7Front"
"^1High ^2RG"
"^1Low ^3YAside1"
"^1Base ^7Flag"
"^1Low ^8SGside1"
"^1High ^8SGside"
"^1High ^3YAside"
"^1Low ^3YAside2"
"^1Low ^8SGside2"

60
cpma/locs/q3dm14tmp.cfg Normal file
View File

@ -0,0 +1,60 @@
v2
"^cSG"
"^1RL"
"^5QUAD"
"^5QUAD"
"^5QUAD"
"^5QUAD ^k5hp"
"LG"
"LG"
"^3YA"
"^3YA"
"^3YA"
"^3YA"
"^3YA"
"^3YA^1RL ^7Path"
"^3YA^1RL ^7Path"
"^2RG"
"^2RG"
"^1RL"
"^1RL"
"^1RL"
"^1RL"
"^1RL"
"^1RL"
"^1RL"
"^2GL"
"^2GL"
"^dSUIT ^7Path"
"^dSUIT ^7Path"
"^2GL"
"^2GL"
"^2GL"
"^dSUIT"
"^dSUIT"
"^dSUIT"
"^dSUIT"
"^dSUIT"
"^dSUIT"
"^dSUIT"
"^2RG"
"^2RG ^7Jumppad"
"^2RG ^7Jumppad"
"^2RG ^7Jumppad"
"^2RG ^7Jumppad"
"^cSG ^gShards"
"^cSG ^gShards"
"^cSG"
"^cSG"
"^cSG"
"^1RA ^7Room"
"^1RA ^7Room"
"^1RA ^7Room"
"^1RA ^7Room"
"^1RA ^1RL"
"^1RA ^1RL"
"^1RA ^7Room"
"^1RA ^7Room"
"^1RA"
"^1RL"
"^3YA ^7Low"

49
cpma/locs/q3dm6.cfg Normal file
View File

@ -0,0 +1,49 @@
v2
"RL"
"^1RA"
"^cSG"
"^5QUAD ^72nd"
"Bridge Stairs"
"^2RG"
"^tPG"
"Pillars ^cSG"
"^3YA"
"^1RA"
"RL"
"^5QUAD"
"^tPG ^7Stairs"
"^5QUAD ^72nd"
"^5QUAD ^72nd"
"^5QUAD ^72nd"
"^5QUAD ^72nd"
"^5QUAD ^72nd"
"^5QUAD ^72nd"
"^5QUAD"
"^5QUAD"
"^cSG"
"^5QUAD"
"^cSG"
"^cSG"
"^k5hp"
"^k5hp"
"Pillars Low"
"^3YA"
"^3YA"
"^3YA"
"Pillars Low"
"Pillars Low"
"Pillars Low"
"Pillars Low"
"Pillars Low"
"Pillars Low"
"RL"
"Bridge"
"^tPG Ammo"
"^3YA"
"^1RA"
"^2RG ^72nd"
"^2RG ^72nd"
"^2RG"
"^2RG ^7Jumppad"
"Pillars ^cSG"
"^2RG"

34
cpma/locs/q3dm7.cfg Normal file
View File

@ -0,0 +1,34 @@
v2
"^5Mega"
"^1RA"
"^5QUAD"
"^3YA"
"^1RL ^7Room"
"Teleporter"
"Dungeon ^cSG"
"^tPG"
"Basement"
"^5Mega"
"^cSG"
"^1RL"
"Dungeon"
"Basement"
"^3YA^5Q ^7Path"
"^3YA^5Q ^7Path"
"^1RLRA ^7Path"
"^cSG^1RA ^7Path"
"^cSG^5Q ^7Path"
"^cSG^5Q ^7Path"
"^cSG^5Q ^7Path"
"^1RA^5Q ^7Path"
"^1RA^5Q ^7Path"
"^1RA^5Q ^7Path"
"^1RLRA ^7Path"
"^1RLRA ^7Path"
"^5QUAD"
"^1RL ^7Room"
"^1RL ^7Room"
"^1RL ^7Room"
"^1RL ^7Room"
"^1RL ^7Room"
"^1RL ^7Room"

32
cpma/locs/q3w1.cfg Normal file
View File

@ -0,0 +1,32 @@
v2
"^4High ^7Mid"
"^1High ^7Mid"
"^4Low ^7Mid"
"^1Low ^7Mid"
"^5Quad"
"^1Base"
"^1Base ^tPG"
"^1High ^7Front"
"^1Low ^7Front"
"^1Low ^2RG"
"^1Low RA"
"^1Low RA"
"^1High ^5MH"
"^1High ^5MH"
"^1High ^7L-Door"
"^1High ^7R-Door"
"^1Base ^2GL"
"^1High ^5MH"
"^4Base"
"^4Base ^tPG"
"^4High ^7Front"
"^4Low ^7Front"
"^4Low ^2RG"
"^4Low ^1RA"
"^4Low ^1RA"
"^4High ^5MH"
"^4High ^5MH"
"^4High ^7L-Door"
"^4High ^7R-Door"
"^4Base ^2GL"
"^4High ^5MH"

21
cpma/locs/q3w2.cfg Normal file
View File

@ -0,0 +1,21 @@
v2
"^1High ^7Mid"
"^1High ^2GL"
"^1Low ^8PU"
"^1Base ^7LG"
"^1Base RA"
"^1Base ^5Mega"
"^1Base ^7Flag"
"^1Low ^3YA"
"^1Base ^2RG"
"^4High ^7Mid"
"^4Low ^7Mid"
"^1Low ^7Mid"
"^4High ^2GL"
"^4Low ^8PU"
"^4Base ^7LG"
"^4Base ^1RA"
"^4Base ^5Mega"
"^4Base ^7Flag"
"^4Low ^3YA"
"^4Base ^2RG"

26
cpma/locs/q3w3.cfg Normal file
View File

@ -0,0 +1,26 @@
v2
"^1High ^7Hallway"
"^1High ^2GL"
"^1Base RL"
"^1High ^tPG"
"^1Low ^7Entrance"
"^1Low ^7Mid/SG"
"^1Base ^7Flag"
"^1Base RA"
"^1Base ^2RG"
"^4High ^7Hallway"
"^4Low ^7Mid/SG"
"Mid-Zone"
"^4High ^tPG"
"^1High ^7Right"
"^1High ^7Left"
"^1Base ^7Bridge"
"^4High ^2GL"
"^4Base ^1RL"
"^4Low ^7Entrance"
"^4Base ^7Flag"
"^4Base ^1RA"
"^4Base ^2RG"
"^4High ^7Right"
"^4High ^7Left"
"^4Base ^7Bridge"

8
cpma/locs/q3w4.cfg Normal file
View File

@ -0,0 +1,8 @@
v2
"^4Base ^7Flag"
"^4Low ^7Entrance"
"^4High ^2RG"
"Middle"
"^1Base ^7Flag"
"^1Low ^7Entrance"
"^1High ^2RG"

33
cpma/locs/q3w5.cfg Normal file
View File

@ -0,0 +1,33 @@
v2
"^1Base ^7Flag"
"^1Base RL"
"^1Base ^2RG"
"^1High ^2RG"
"^1High ^3YA"
"^1High ^7Stairs"
"^1High ^7LG"
"^1High ^7LG"
"^2High ^7Mid"
"^3Low ^7Mid"
"^1Low ^7Entrance"
"^1Low ^8SG"
"^1Low ^2GL"
"^4Base ^7Flag"
"^4Base ^1RL"
"^4Base ^2RG"
"^4High ^2RG"
"^4High ^3YA"
"^4High ^7Stairs"
"^4High ^7LG"
"^4High ^7LG"
"^4Low ^7Entrance"
"^4Low ^8SG"
"^4Low ^2GL"
"^1Base ^3YA ^7Side"
"^1Base RA"
"^4Base ^1RA"
"^4Base ^3YA ^7Side"
"^4High ^7Mid"
"^1High ^7Mid"
"^4Low ^7Underground"
"^1Low ^7Underground"

47
cpma/locs/q3w7.cfg Normal file
View File

@ -0,0 +1,47 @@
v2
"^1Base RL"
"^1Base RL"
"^1Base RL"
"^1Base ^8SG"
"^1Base ^3YA"
"^1Base ^7Flag"
"^1Base ^7High"
"^1Base ^7Tele"
"^1Base ^2RG"
"^1High ^7Window"
"^1High ^7Window"
"^1Low ^7LG"
"^1Low ^7LG"
"^1Base ^7Water"
"^1Base ^7Water"
"^1Low ^7Water"
"^1Mid ^7Water"
"^1Mid ^7Stairs"
"^1Mid ^7Jumppad"
"^1High ^6PG"
"^1High Regen"
"^1High Regen"
"^1Mid ^8SG"
"^4Mid ^8SG"
"^4High ^1Regen"
"^4High ^1Regen"
"^4High ^6PG"
"^4Mid ^7Jumppad"
"^4Mid ^7Stairs"
"^4Mid ^7Water"
"^4Low ^7Water"
"^4Base ^7Water"
"^4Base ^7Water"
"^4Low ^7LG"
"^4Low ^7LG"
"^4High ^7Window"
"^4High ^7Window"
"^4Base ^2RG"
"^4Base ^7Tele"
"^4Base ^7High"
"^4Base ^7Flag"
"^4Base ^3YA"
"^4Base ^8SG"
"^4Base ^1RL"
"^4Base ^1RL"
"^4Base ^1RL"

84
cpma/locs/q3wcp1.cfg Normal file
View File

@ -0,0 +1,84 @@
v2
"Center Room1"
"^1Gardn ^7Entrance"
"^1Low ^7Garden"
"^1Low ^7Door"
"^1Balcony ^8PU"
"^1High ^7Hall"
"^1Base ^7Sword"
"^1Base ^7Flag"
"^1High ^7Stairs"
"^1High ^7Main"
"^1High ^7Court"
"^1Garden ent"
"^1Low ^7Garden"
"^1Low ^7Garden"
"^1Small ^7Tunnel"
"^1Low ^7Garden"
"^1Low ^7GardnJP"
"^1Balcony ^8PU"
"^1Balcony ^2RG"
"^1Balcony ^2RG"
"^1Balcony ^8PU"
"^1Balcony ^8PU"
"^1High ^7Hall"
"^1High ^7Hall"
"^1Base ^7Hall"
"^1Low ^7Stairs"
"^1Low ^7Stairs"
"^1Base ^7Hall"
"^1Base ^7Flag"
"^1Base ^7Flag"
"^1High ^7Stairs"
"^1High ^7Stairs"
"^1High ^7Main"
"^1High ^7Main"
"^1High ^7Main"
"^1High ^7Main"
"^1High ^7Main"
"^1High ^7Court"
"^1High ^7Court"
"^1High ^7Court"
"^1High ^7Court"
"^1Base ^7Sword"
"^4Gardn ^7Entrance"
"^4Low ^7Garden"
"^4Low ^7Door"
"^4Balcony ^8PU"
"^4High ^7Hall"
"^4Base ^7Sword"
"^4Base ^7Flag"
"^4High ^7Stairs"
"^4High ^7Main"
"^4High ^7Court"
"^1Garden ent"
"^4Low ^7Garden"
"^4Low ^7Garden"
"^4Small ^7Tunnel"
"^4Low ^7Garden"
"^4Low ^7GardnJP"
"^4Balcony ^8PU"
"^4Balcony ^2RG"
"^4Balcony ^2RG"
"^4Balcony ^8PU"
"^4Balcony ^8PU"
"^4High ^7Hall"
"^4High ^7Hall"
"^4Base ^7Hall"
"^4Low ^7Stairs"
"^4Low ^7Stairs"
"^4Base ^7Hall"
"^4Base ^7Flag"
"^4Base ^7Flag"
"^4High ^7Stairs"
"^4High ^7Stairs"
"^4High ^7Main"
"^4High ^7Main"
"^4High ^7Main"
"^4High ^7Main"
"^4High ^7Main"
"^4High ^7Court"
"^4High ^7Court"
"^4High ^7Court"
"^4High ^7Court"
"^4Base ^7Sword"

41
cpma/locs/q3wcp11.cfg Normal file
View File

@ -0,0 +1,41 @@
v2
"^1Base ^7Flag"
"^1High ^2RG"
"^1High ^2RG"
"^1High ^7Mid"
"^1High ^7Mid"
"^1Red ^5Mega"
"^1Low ^7Stairwell"
"^1Low ^7JP"
"^1Low ^2GL"
"^1Low ^5Q-side"
"^1Low RA-side"
"^1Low ^7Medkit"
"^1Base ^gShards"
"^1Base ^3YA"
"^1Base ^7High Left"
"^1Mid RA-side"
"^1High ^5MH^7JP"
"^1High ^8SG"
"^1Mid ^5Q-side"
"^4Base ^7Flag"
"^4High ^2RG"
"^4High ^7Mid"
"^4High ^7Mid"
"^4Blue ^5Mega"
"^4Low ^7Stairwell"
"^4Low ^7JP"
"^4Low ^2GL"
"^4Low ^5Q-side"
"^4Low ^1RA-side"
"^4Low ^7Medkit"
"^4Base ^gShards"
"^4Base ^3YA"
"^4Base ^7High Right"
"^4Mid ^1RA-side"
"^4High ^8SG"
"^4Mid ^5Q-side"
"^4High ^2RG"
"^4High ^5MH^7JP"
"^4Low ^5Q-side"
"^1Low ^5Q-side"

30
cpma/locs/q3wcp14.cfg Normal file
View File

@ -0,0 +1,30 @@
v2
"^4Base"
"^4High ^tPG^7JP"
"^1High ^tPG^7JP"
"^1Base"
"^4Left ^7Rear"
"^4Right ^7Rear"
"^4Base ^5Mega"
"^1Right ^7Rear"
"^1Left ^7Rear"
"^1Base ^5Mega"
"^4Middle ^7Tele"
"^1Middle ^7Tele"
"^4Middle ^3YA"
"^1Middle ^3YA"
"^1Middle ^7Deck"
"^4Middle ^7Deck"
"^5Quad"
"^4High ^1RL"
"^1High RL"
"^1Middle ^tPG"
"^4Middle ^tPG"
"^1Low ^2RG"
"^4Low ^2RG"
"^4High ^7Deck"
"^1High ^7Deck"
"^4High ^7Passage"
"^1High ^7Passage"
"^1Low ^3YA"
"^4Low ^3YA"

20
cpma/locs/q3wcp15.cfg Normal file
View File

@ -0,0 +1,20 @@
v2
"^1Base"
"^1Base ^7Behind Flag"
"^1Low ^tPG"
"^1Low ^3YA"
"^1Low ^7Entrance"
"^1High ^7Mid"
"^4High ^7Mid"
"^1High ^7Regen"
"^1Mid ^7Jumppad"
"^4Mid ^7Jumppad"
"Middle"
"^4High ^7Regen"
"^4Low ^7Entrance"
"^4Low ^3YA"
"^4Low ^tPG"
"^4Base ^7Behind Flag"
"^4Base"
"^1Base RL"
"^4Base ^1RL"

14
cpma/locs/q3wcp17.cfg Normal file
View File

@ -0,0 +1,14 @@
v2
"^1Base ^2GL-side"
"^1Base ^2RG-side"
"^1Base ^7Flag"
"^4Base ^2GL-side"
"^4Base ^2RG-side"
"^4Base ^7Flag"
"^2High ^tPG"
"^2High ^tPG"
"^3Low ^8SG"
"^3Low ^8SG"
"^3Low ^7LG"
"^2High ^7Mid"
"^2High ^7Mid"

33
cpma/locs/q3wcp22.cfg Normal file
View File

@ -0,0 +1,33 @@
v2
"^1High ^7Door"
"^1High ^7Garden"
"^4High ^7Door"
"^4High ^7Garden"
"^2High ^7Mid"
"^3Low ^7Mid"
"^4Low ^gShards"
"^1Low ^gShards"
"^1Low ^7Regen"
"^4Low ^7Regen"
"^4Low ^7Undergrowth"
"^4Low ^1RL"
"^1Low RL"
"^1Low ^7Undergrowth"
"^1Low ^8SG"
"^1Low ^3YA"
"^4Low ^8SG"
"^4Low ^3YA"
"^1Low ^3YA^tPG"
"^4Low ^3YA^tPG"
"^1Low ^tPG"
"^4Low ^tPG"
"^4Base ^2RG"
"^1Base ^2RG"
"^4Base ^7Back"
"^4Base ^5Mega"
"^1Base ^7Back"
"^1Base ^5Mega"
"^1Base ^3YA^8SG"
"^1Base ^7Flag"
"^4Base ^7Flag"
"^4Base ^3YA^8SG"

13
cpma/locs/q3wcp5.cfg Normal file
View File

@ -0,0 +1,13 @@
v2
"^1Base"
"^4Base"
"^4High ^1RL"
"^4High ^tPG"
"High ^8PU"
"^4Low ^7Hallway"
"^4Low ^3YA"
"^1High RL"
"^1High ^tPG"
"^1Low ^7Hallway"
"^1Low ^3YA"
"Low ^1RA"

19
cpma/locs/q3wcp7.cfg Normal file
View File

@ -0,0 +1,19 @@
v2
"^1Base"
"^4Base"
"^2High ^7Mid"
"^1Low ^7Mid"
"^4Low ^7Mid"
"^3Low ^7Mid"
"^4Low ^gShards"
"^4Low ^k5hp"
"^1Low ^k5hp"
"^1Low ^gShards"
"^1High ^7Mid"
"^4High ^7Mid"
"^1Base ^7Flag"
"^4Base ^7Flag"
"^1High ^k5hp"
"^1High ^gShards"
"^4High ^gShards"
"^4High ^k5hp"

30
cpma/locs/q3wcp9.cfg Normal file
View File

@ -0,0 +1,30 @@
v2
"^1Right ^gShards"
"^1Low ^3YA"
"^1Low ^7Basement"
"^1Low RL"
"^1Low ^7Regen"
"^1Base ^5Mega"
"^1Left ^gShards"
"^1High RA"
"^1High RL"
"^1Base ^2RG"
"^1Base ^tPGside"
"^1Base ^7Flag"
"^1Base ^7LG"
"^1Base ^tPGside"
"Q-Zone"
"^4Right ^gShards"
"^4Low ^3YA"
"^4Low ^7Basement"
"^4Low ^1RL"
"^4Low ^7Regen"
"^4Base ^5Mega"
"^4Left ^gShards"
"^4High ^1RA"
"^4High ^1RL"
"^4Base ^2RG"
"^4Base ^tPGside"
"^4Base ^7Flag"
"^4Base ^7LG"
"^4Base ^tPGside"

Some files were not shown because too many files have changed in this diff Show More