                             Name Fun in Quake
                       by Demonstar (demstar@fn.net)


Disclaimer: While there is little you can do to screw your computer up with
just the files I've given you, I hereby disclaim myself of any damages you
incur as a result of this file, or any of the files contained in the archive
or archives this file is packaged with, or the archive or archives
themselves.


    Alright, I get asked about the weird characters in my Quake names about
10-20 times every time I play, so here's the deal.  The special characters
are mapped to the "non-printable" (0-31) ASCII codes and "extended" (128-255)
ASCII codes.

    Included in this pack are two idiot-proof (I hope) Quake "script" files.
One is called showl.scr, and the other is showc.scr.  Put them in your /id1
directory and EXEC them from the Quake console.  The file showl.scr displays
one ASCII code and Quake character pair per line.  The file showc.scr
displays five ASCII code and Quake character pairs per line.  Once you try
them, I'm sure you'll find very little use for showl.scr over showc.scr.

    EXTRA HELP:  Hit tilde (it's up by the 1) to bring down the console (if
that doesn't work, hit ESC and find the console in there).  Then type:

exec showc.scr

    EXTRA HELP:  And hit enter.  Considering showc.scr is in your /quake/id1
directory, you should get a nice chart with lots of numbers and symbols.

    No, you can't enter these codes directly while in Quake via the familiar
alt-<num> sequence.  To get around this, you'll have to make a separate
script file to change your name.  Included in this pack are three such
example scripts.  They are name1.scr (just shows you how to get spaces in
even v1.01 and previous versions), name2.scr ("Color Me Gibbed" in alternating
brown and white), and name3.scr ("1.976.HOT.GIBS" with gold numbers, white
dots, and brown letters).  Just put them in your /id1 directory and EXEC them
like you did with the ASCII charts.  Pretty spiff, eh?

    EXTRA HELP:  Write down the codes that will make up your name and go
into your favorite DOS text editor (edit works fine).  For each code, press
and hold ALT while you type the number on the numeric keypad (if you don't
have a numeric keypad, you'll have to find a text editor that lets you
somehow put raw ASCII into a document... I use QEDIT myself).  When you have
finished typing the number, release ALT and a bizarre character should
appear.  Do this for all the numbers (< 32 and > 127... those that you can't
normally enter via the keyboard).  A few caveats.  First, you cannot use the
ALT-<num> sequence in Windows.  You will not get the expected results (at
least I didn't; your mileage may vary).  Second, your text editor may not
allow all 255 codes, and most word processors (remember to save as ASCII if
you're using one) likely won't let you use them at all.  You may have to
experiment to arrive at a usable solution.  You should be able to CTRL-TAB
between Quake and another DOS window while trying to get your name right.

    If you look at the script files, you'll notice there are two name
commands: one "normal" and the other "funky."  The reason for this is to get
around a trap in v1.01 and previous versions of Quake servers.  If there are
any illegal characters (most commonly a space, but also any extended or
non-printable ASCII) in your name when you start or join a game, you'll
appear as "unconnected" (even in single player).  If you change from one
illegal name to another illegal name, you'll still appear as "unconnected".
However, if you change to a legal name and then change to an illegal name
after joining (or starting) a game, the illegal name will appear.  So,
that's what the script does, it changes your name to a legal name first,
then to an "illegal" name, and it will work.

    For v1.03 Quake servers (Winded), Quake seems a bit more liberal about
illegal names, however another, more annoying, weirdness occurs.  It seems
this version of Quake wants to strip the leading (and sometimes trailing)
illegal characters from your name when you join and at the start of each
level.  I use "Demonstar" with a brown D, and v1.03 likes to strip the D, so
I'll appear as "emonstar" until I EXEC the name script again.  The obvious
and functional fix for this is to just not have any illegal character as the
first character of your name (like in name2.scr and name3.scr).

    In simpler terms, if you're on a v1.01 or previous server, you'll only
have to EXEC your name script once per session.  If you're on a v1.03
(Winded) server, you may or may not have to EXEC your name script once per
level, depending on if the leading characters of your name are illegal
characters.

    Regardless, I would suggest you bind your name script to a key.  Note that
Quake is VERY picky about assigning names inside an alias, and I've had very
little success getting ALIAS and NAME to cooperate (how ironic).  If you find
Quake just tells you your old name when you try to rename yourself, it's
likely you're trying to use an alias to rename yourself.  Stop it, phule.

    EXTRA HELP:  Here's one way to bind the name script to a key.  Go into the
console and type the following (include the quotes), and press enter:

bind n "exec name1.scr"

    EXTRA HELP:  Whenever you're in the game now, just hit 'n' and your
name will be properly changed for you.  Quake will remember this new binding
as long as it doesn't crash during the same session as you created the
binding.

    Keep in mind that Quake names may contain a maximum of 15 characters
(excess chracters are truncated).  And obviously, if you just want a name
with spaces on a v1.01 server, you can name yourself something legitimate
and then name yourself something with spaces right in Quake.  You only need
to make a name script when you want extended or non-printable ASCII codes
(since you can't enter those while in Quake).  When I'm really bored I'll
rename myself to "a hairy old man" and start frying people with the
thunderbolt.  I'm sure you know what the obituary report says.  :)

    There is also an "invisible" mode where your name doesn't show up on the
roster (it does still show up on the ping list, though), but I'll leave that
as an exercise for the reader.  ;)

