New Teams For Q3TA

| New Teams for Team Arena (and other stories) By Paul Jaquays Script files by various id design team members Bot Search Material by Jan Paul "MrElusive" van Waveren |

Table of Contents
Introduction
The Team Pak
Scripts
User Interface Assets
In Game Team Logo Icons
New Models for Team Skins
Appendix A: The .Bot File
Appendix B: The .Team File
Appendix C: The Voice List
Appendix D: Model Sound List
Appendix E: .VC File Sample
Appendix F: Sample Team Arena Animation.Cfg File and New Animation Commands
Appendix G: Teamname.shader
Appendix H: Search Order for Model and Head model Assets
Appendix I: Expanded Team Skin Functionality for Q3A
Appendix J: Contents of the tm_kreechurs.pk3
Appendix K: A Minimal Team
Appendix L: Contents of the TAhead_lily.pk3

Introduction
The original intent for Teams in Quake III: Team Arena was to allow the use and creation of new Teams. However, it was not until community modelers attempted to build new teams that we discovered that the hooks that we put in place for team creation did not work as intended. This point release contains the fixes and additions necessary to make new teams work.

This document presupposes that the person wanting to create a new team already knows the basics of creating, animating, and skinning new character models for Quake III Arena. There are numerous good tutorials on-line covering both the basics and the more in-depth skills needed to make models that work inside the game.

Special Thanks
The content used to test and debug the team creation code is based on a test model provided and made "Team Arena compatible" by Bill and Mike Jukes, a.k.a. "The Brothers Grimm" and a re-skinning of the original Team Arena Callisto head model provided by artist Camilla "milla" Bennett. Also thanks to milla for providing the .html version of this document. Names of some of the files used in examples have been changed. Furthermore, thanks go to Graeme Devine, Robert Duffy, and MrElusive for putting up with semi-constant harassment to get the team content working for the point release.

Notices: QUAKE III ARENA and QUAKE III: Team Arena are trademarks of id Software, Inc. This document is copyright 2000, 2001 by id Software, Inc. Id Software grants permission to redistribute and or redisplay this document in electronic form only. It may not be included as a part of any permanent media without first obtaining permission from id Software, inc. Permission is granted to use the contents of the scripts embedded in this document as a base for creating additional teams for Team Arena.

TOP

The Team Pak File
It takes a surprisingly large amount of new content to create an entirely new team. Our test file contained 186 separate files (model included only one head). An additional head added another 16 files (we tested with only one extra head model). The content required covers every discipline of game creation . skin painting, scripting, modeling, and sound production. In fact, if the new team is to have new voice taunt sounds, it can easily exceed 10 megabytes in compressed form inside the pak file. Each of the files necessary to create a team is listed below in outline and will be discussed later in detail. The paths for these files begin in the missionpack directory. Appendix J contains the file list for the test team, Appendix K shows a team with the bare minimum of files needed to create a new team with a male and female uniform, and Appendix L contains the file list for the Callisto/Lily test head.

Naming Conventions
When naming a pak file that contains the assets for a new team, preface the team name with the letters "tm_". This usage is for organizational purposes only. It is done to identify the pak as a team file. Example: tm_kreechurs.pk

Including What id Didn't Make
You don't need to include any of the game content that id put in the original pak0.pk3 that shipped with Team Arena. The game should have no problem finding those assets if they are called for by the new team. Any new assets created for the team need to be in the pak file. Any assets created by other artists or authors for use with Team Arena need to be in the pak file. The team creator cannot assume that players will have those assets in their possession. When including assets created by others, including modified id game content, be sure to give notice of original authorship in the readme that accompanies the pakfile.

Teamname_readme.txt
This text file tells all about the contents of your new team, including who made it, how they can reach the author, who else contributed to the project, what tools were used, how long it took, when it was released (copyright data goes here), where the ideas came from, and so on. Essentially, it should contain whatever the team creator wants to reveal about himself or herself and the process of making the team. Any resources that were created by others should be acknowledged here. If the team creator agrees to let others use the original contents of the pak file in other projects, it should be noted here also, along with any special terms or contact information.

NOTE: The scripts used to create the various aspects of the new team are included throughout this document. Team creators have permission to copy the scripts in this document and paste them into new scripts for use in original teams. Details such as team name, character names, and bot names should be changed to fit the new team.

TOP

Scripts
Priority: Unless otherwise noted, all of the scripts listed below are required to be in the team pak file (see Appendix K: A Minimal Team, for a detailed list of the contents required for a basic team using existing models).

These are the various scripts used to define the team and model characteristics.

Teamname.team (in root directory) : A text file that defines the components of the team. This file corresponds to the original team.txt file in pak0.pk3. It is required for all new teams. See Appendix B for details.

Teamname.bot (scripts\) : This file defines the resources used by the five bots that are used by the team in single player (model, head_model, and bot a.i.). It is required for all new teams. See Appendix A for details.

Teamname.shader (scripts\) : Shader scripts for all shaders used to create the new_model and the five new_headmodels. This is required for the team icons to work properly in game. Other shader-modified textures may be included. See Appendix G for the sample version of this shader.

Animation.cfg (models\players\newmodel\) : The animation configuration file. Team Arena models have a few a few more animation sequences than their Q3A counterparts, but the basics are the same. The contents of a sample Q3:TA animation.cfg are included at the end of this document. It's a script, but not one that's resident in the scripts file. This is only required if a new model is included in the pak.

New_model.voice (scripts\) : This is the script that assigns individual voice wav files to specific message or status commands. See Appendix C for a sample script and discussion of its use. Voice files are optional and only required if an entirely new set of voice wav files is to be included in the pak. Sound files are large and can add significantly to the size of the pakfile. If creating a human-based team, consider using the 8 voices that came with Team Arena to save file space.

New_headmodel_1.vc (scripts\) : This file selects which .voice file is linked to a head file. Each head model in the pak needs one of these. A separate version of this file is required for each new headmodel included with the team. The name of the file is the same as the name of the bot that uses the headmodel. A sample .vc file is included in Appendix E.

TOP

User Interface Assets
Priority: The tga files are required. The roq file is optional. The User Interface menus use these files to show the team logo icons and movies of the characters in actions.

Teamname, of course, refers to the name of the new team.

Teamname_name_alt.tga (ui\assets\) : This is a 256 x 128 pixel, 32 bit .tga file (with alpha channel) depicting the name of the team as a black and white (grayscale) art file. Teamname is the name of the new team, the rest of the filename is part of its format. The alpha channel should be the same as the image (not reversed).

Teamname_name.tga (ui\assets\) : This is a 256 x 128 pixel, 32 bit .tga file (with alpha channel) depicting the name of the team with a glow around it. It is a black and white art file (grayscale). The alpha channel should be the same as the image (not reversed).

Teamname.tga (ui\assets\) : This is a 128 x 128 pixel, 32 bit .tga file (with alpha channel) that depicts a black and white version of the team logo or symbol. The alpha channel should be the same as the image (not reversed).

Teamname_metal.tga (ui\assets\) : This is a 128 x 128 pixel, 32 bit .tga file (with alpha channel). If the team creator wants to keep the same style as the original game, this version of the team's logo is rendered to look like brushed metal, perhaps with a bluish cast. But in reality, it can be anything, any color. The alpha channel should be the same as the alpha channel in the Teamlogo.tga art.

Teamname.roq (ui\assets\) : The .roq movie displays in the center area of the player set up screen when the player selects one of the teams. Movie file sizes can be large, so the team creator may wish to take the overall size of the team pakfile into consideration before including a movie. Uncompressed, the team movies in Team Arena were over a megabyte each . and being compressed format files already; they don't get much smaller in the pakfile. The good news is that if no movie file is present, the game displays the teamname_metal.tga in the center area instead. It must be noted that team movie files will not be offered for viewing in the Cinematics menu option unless the teamname.roq file is also present in the video\ directory.

TOP

In Game Team Logo Icons
Priority: Required

The team style game maps for Team Arena are usually set up to display the icons of the competing teams. The game uses a separate set of art files located in the team_icon directory off the root missionpack directory for the team icons displayed in game. For Team Arena, these art files were a single color, red or blue. But that need not be the case. If a game clan wanted to use a full color version of their clan symbol, it would work in game - though the team creator may want to consider tinting the art either bluish or reddish to better suit the color used in play (most team maps are likely to use the blue/red color theme as was done in the original game).

Also, take into consideration that the art will be transparent, with background textures (floors, walls, colored banners) showing through behind it. Simple, graphic treatments of logos will probably work the best in all cases.

Art files can be larger or smaller than those shown here. However, while having smaller files will save memory, image quality will suffer. If using larger art files, image quality may improve substantially but the memory usage will be substantial also. Whether increasing or reducing file size, remember to keep the file dimension proportional to the original.

The Teamname.shader references this art. Make sure that the file names in the shader match those of the artwork.

Teamname.tga (team_icon\): This is a 128 x 128 pixel art file, the exact same file as used in ui\assets\teamname.tga. It is a black and white 32 bit version of the team logo with the same art in the alpha channel.

Teamname_blue.tga (team_icon\): For Team Arena, we created solid color logos, but that need not be the case. This 32 bit 128 x 128 pixel art file can be full color. The alpha channel should be the same as the teamname.tga file. If you choose to make it solid blue, consider using the same color value as the original TA logos. The RGB formula for that blue is: 0 148 255.

Teamname_red.tga (team_icon\): Even though id chose to make our logo's single, solid colors, this 32 bit 128 x 128 pixel art file can be whatever color the team creator wishes. The alpha channel should be the same as the teamname.tga file. If you choose to make it solid red, consider using the same color value as the original TA logos. The RGB formula for that red is: 255 0 0.

TOP

New Models and Skins for Teams
The process by which body models are created is outside the scope of this document. While body model has a few more animations than the corresponding Quake III Arena model, the process of creation is quite similar . except for one very key element. The Team Arena model has no head. Head models for Team Arena teams are created and stored separately from the body. Where the pathname to a body model might be models\players\BoB, the path to the head models is different:

Example: models\players\heads\Kreecha.

New Team Arena Models based on Q3A models
For the Team Arena test model, the Brothers Grimm converted a character model that they had previously made for Quake III Arena. In order to keep the game from confusing two models with the same file name, the search code for models and skins was changed to allow extended search paths for models. In this case, we placed the Team Arena model in a "characters" directory nested within the "players" directory. The path to the new model read: models\players\characters\BoB\. The model directory contains the torso and legs models only, which are Upper.md3 and Lower.md3 respectively. There are no head models in that directory. Furthermore, include any art and skin files used for the default version of the model along with the animation.cfg.

NOTE: When creating your models for export as .ASE files for use with the Q3data.exe, you must have a head on the model (e.g.; an h_head in the max file) for the converter to work. The converter looks for and expects to see an h_head for of the model. If the converter does not find the head during the conversion, the process will halt. After the conversion is complete just use the Upper and lower Md3 files for that character's directory. Place the head model in its own separate directory.

Icons for new models
The Loading Screen for Team Arena uses the icons associated with a team member's body model, not the member's head model. Be certain to include an icon_default.tga file in new model's directory. This icon will be used on the map loading screen. It represents the Body model in use by a player . not the Head model.

New Team Skins
When creating a team, make a red and a blue version of the skin. Name the skins as noted below. Do not use the team or character name in the skin. That information is taken from the name of the directory in which it resides.

The team skins (red and blue) for a Team Arena model reside in a directory within the model directory (which contains the model md3 pieces).

Example: models\players\characters\BoB\Kreechurs\.

The teamname directory (Kreechurs in this case) would contain the art files for the skin, and the .skin files that link art to model.

In simple form, the skin assets required to be in the teamname file are as follows:

TGA file names
Blue.tga //the body skin for the blue team version
Red.tga //the body skin for the red team version

Skin File Names
Lower_blue.skin //blue version of legs skin file
Upper_blue.skin //blue version of torso skin file
Lower_red.skin //red version of legs skin file
Upper_red.skin //red version of torso skin file
Lower_default.skin //default legs skin file (used by U.I.). Usually, this is the red skin.
Upper_default.skin //default torso skin file (used by U.I.). Usually, this is the red skin.

New Heads
Each new player on a new team should either have a new head model or have a new skin for an existing Team Arena model. Each new head model and all its assets go into a directory named for it. In the case of new skins for pre-existing models, the new skin assets reside in a directory nested within the model's directory.

Example: models\players\heads\callisto\lily is a new skin for the Callisto head.

Note that other assets, such as the .vc file for this head will also need to be nested in directories a layer deeper in their normal files.

Example: scripts\callisto\lily.vc.

New head models need to have all the assets specific to the model (md3 files, skin files and art files) in the directory named for the model head.

No MD3 Models Required for New Skins on id Models
New skins created for existing head models (id created or community created) do not require that the md3 models be in their directories. The assets specific to the new skin (skin art, skin file, icons) are placed in a directory. You do not need to redistribute md3 models for the heads that are a part of the original id game.

Using the Work of Others
If you are reskinning or simply using a head model previously created and distributed by a member of the community, make sure that the original creator has authorized such use (and remember to give credit where credit is due). When using community-created models, the team creator must plan to include that model and all its assets in the pakfile.

TOP

Appendix A: The .Bot File
Five Heads, Five Bots, Five Team Members
Priority: Required for each new team

A Team Arena team consists of five players. In the original game, the five players were drawn from a mix of 11 new player heads sitting atop two body models. New teams should also have five players each. However, five players on the new team should each have a unique head/skin combination. These can either be new models or new skins using the original Q3:TA models.

The .bot file (whose file name is the same as the name of the new team, e.g.; Kreechurs.bot or Scumsukkers.bot) is a text script whose ".txt" file extension has been renamed to ".bot." This file corresponds to the bots.txt file used in the original Team Arena game. Appendix A shows a sample bot file.

Name = the name of the bot as it appears on the Start Server Menu.

Model = the body model used by this bot. A team can use more than one body model. However, adding multiple body models can and will add significantly to the size of the team pak file and to memory usage in game. Limiting the number of body models used by a team is a good design practice. No more than two models per team should be the limit.

Headmodel = *modelname. The headmodel is what makes the bot unique. It has links to the voice files and is used when creating name aliases for the bots to use in the single player game. The asterisk is a necessary part of the file name here.

The headmodel called Callisto/Lily is a new skin on the Callisto model mesh. The pathname is required for the model to work.

Aifile = the bot ai used by the team member. The computer-controlled opponents in Team Arena used three individual ai files that define their general role in the game: defense (tad_c.c), offense (tao_c.c) and all-arounder (taa_c.c). New bots can use these same a.i. files or, if desired the team creator can make new ai files based on the Team Arena ai files.

Filename: Teamname.bot

    //bot file begins here
    {
    name           Kreecha
    model          BoB
    headmodel      *Kreecha
    aifile  bots/taa_c.c
    }

    {
    name           Callisto/Lily
    model          BoB
    headmodel      *Callisto/Lily
    aifile  bots/tad_c.c
    }

    {
    name           Infinite
    model          BoB
    headmodel      *Infinite
    aifile  bots/tad_c.c
    }

    {
    name           Prime
    model          BoB
    headmodel      *Prime
    aifile  bots/tao_c.c
    }

    {
    name           Vlad
    model          BoB
    headmodel      *Vlad
    aifile  bots/tao_c.c
    }
    //bot file ends here

TOP

Appendix B: The .TEAM File
Priority: Required for each new team.

The team file is a text file that has had the file extension renamed from .txt to .team.

Kreechurs is a test Team Arena team created to test the team and head model code for point release v1.28. It uses the hypothetical "BoB" model to create a new team.

The team definition appears on a single line in the file:

"Team name" "asset path/name" "bot 1" "bot 2" "bot 3" "bot 4" "bot 5"

//Teams define the assets used by the team: team name, path to U.I. assets, player names
// Character definitions act as a link between head models used by a team and models that have the proper team skin assets. The Player Set Up User Interface primarily uses the character definitions. The first entry is the head model as defined in the .bot file. The second entry is body model used by that character. For everything to work out for the best, each character should have a unique model/skin combination that defines it.

Filename: Teamname.team

    // .team file begins here
    teams {
      { "Kreechurs" "ui/assets/kreechurs"  "BoB" "Lily" "Vlad" "Infinite" "Prime"}
    }

    characters {
    { "Callisto/Lily" " BoB " }
    { "Kreecha"  " BoB " }
    { "Infinite"  " BoB " }
    { "Prime"  " BoB " }
    { "Vlad" " BoB " }
    }

    // Aliases are the link between character name, headmodel, and bot A.I.

    aliases {
            { "Kreecha"           "BoB"              "a"  }
            { "Lily"        "Callisto/Lily" "d"   }
                { "Vlad"           "Vlad"              "o"       }
                { "Infinite"       "Infinite"           "d"      }
                { "Prime"          "Prime"             "o"       }
    }

    //.team file ends here

TOP

Appendix C: The Voice List
Priority: Optional.

The voice file is a text file that has had the file extension renamed from .txt to .voice. Each unique set of voice recordings requires its own voice file. This file contains the code script that defines the voice and corresponding text messages used by the player models in game. Like the text chat messages that appeared in original Q3A, these messages are triggered by game conditions and statuses.

The file directory name for the voice does not have to be the same as a head or body model, though giving it a unique name that identifies it with the team is always a good idea. The specific file names for each voice message ARE VERY IMPORTANT, as the voice script that corresponds to the file directory for the voice calls them. Example: If the new voice is called "monster", then the directory would be called "monster" and the voice file would be called monster.voice.

If you create a new set of recorded voices for your team or for a new model, be certain to include at least one voice message for each category (defined by a name like "getflag" and follow by opening and closing brackets) on this list. It is not necessary to provide as many different messages as shown below. Example: Your character may not need more than one way to say "yes" or have as many kill insults. You can also rewrite the scripts. Your team need not say the same thing as the id teams said or use the same style of speaking. Just remember that the text portion of the message will display on screen, so having it match the audio is always a good thing. And remember that in game, shorter speeches are better and cheaper.

The file path is as follows: sound\voices\newmodel\soundname.wav

You may include additional voices but these are the ones currently the phrases accessed by the game.

As with any script, these are lines of game code. Take care to maintain the proper syntax, otherwise, you are likely to either disable the file or even crash the game.

To create new voice recordings use a sound editing program that can produce a .wav format file that conforms to the following: Mono 22k 16bit

(This is taken from the male5 voice file. Substitute the name of your model for male5 in the file pathnames).

Filename: Voicename.voice

    //voice file starts here

    getflag
    {
            sound/voices/male5/or_01.wav   "Get the flag"
            sound/voices/male5/or_02.wav   "Secure the flag"
    }

    offense
    {
            sound/voices/male5/or_03.wav   "You're on offense"
    }

    defend
    {
            sound/voices/male5/or_04.wav   "Stay Home"
            sound/voices/male5/or_05.wav   "Guard the base"
            sound/voices/male5/or_07.wav   "You're on defense"
    }

    defendflag
    {
            sound/voices/male5/or_06.wav   "Guard our flag"
    }

    patrol
    {
            sound/voices/male5/or_08.wav   "Patrol"
            sound/voices/male5/or_09.wav   "Take point"
            sound/voices/male5/or_10.wav   "Go on patrol"
    }

    followme
    {
            sound/voices/male5/or_11.wav   "Follow me"
            sound/voices/male5/or_12.wav   "Cover me"
            sound/voices/male5/or_13.wav   "Watch my back"
    }

    yes
    {
            sound/voices/male5/re_01.wav   "Yessir"
            sound/voices/male5/re_02.wav   "Yes ma'am"
            sound/voices/male5/re_03.wav   "Aye, aye, sir"
            sound/voices/male5/re_04.wav   "Aye, aye, ma'am"
            sound/voices/male5/re_05.wav   "Affirmative"
            sound/voices/male5/re_06.wav   "Copy"
            sound/voices/male5/re_07.wav   "Roger"
    }

    no
    {
            sound/voices/male5/re_08.wav   "No sir"
            sound/voices/male5/re_09.wav   "No ma'am"
            sound/voices/male5/re_10.wav   "Negative"
            sound/voices/male5/re_11.wav   "I'm busy"
    }

    ihaveflag
    {
            sound/voices/male5/gs_01.wav   "I'm coming in hot!"
            sound/voices/male5/gs_02.wav   "I've secured the flag!"
            sound/voices/male5/gs_03.wav   "I've got the flag!"
            sound/voices/male5/gs_04.wav   "Bringing home the bacon!"
    }

    baseattack
    {
            sound/voices/male5/gs_05.wav   "We're taking enemy fire!"
            sound/voices/male5/gs_06.wav   "Security breach!"
            sound/voices/male5/gs_07.wav   "Our base is under attack."
    }

    enemyhasflag
    {
            sound/voices/male5/gs_08.wav   "Our flag is gone!"
            sound/voices/male5/gs_09.wav   "They've got our flag!"
            sound/voices/male5/gs_10.wav   "Enemy has secured our flag!"
    }

    ongetflag
    {
            sound/voices/male5/ps_03.wav   "Getting the flag..."
    }

    onoffense
    {
            sound/voices/male5/ps_01.wav   "I'm taking offense"
            sound/voices/male5/ps_02.wav   "I'm going in..."
    }

    ondefense
    {
            sound/voices/male5/ps_04.wav   "I'll stay home"
            sound/voices/male5/ps_05.wav   "Securing base"
            sound/voices/male5/ps_06.wav   "Guarding the base now"
    }

    onpatrol
    {
            sound/voices/male5/ps_07.wav   "On patrol..."
            sound/voices/male5/ps_08.wav   "Patroling..."
            sound/voices/male5/ps_09.wav   "I'll take point"
    }

    startleader
    {
            sound/voices/male5/ps_10.wav   "I'm the leader"
            sound/voices/male5/ps_11.wav   "I'm in charge"
    }

    stopleader
    {
            sound/voices/male5/ps_12.wav   "I don't want to lead"
            sound/voices/male5/ps_13.wav   "Someone else lead"
            sound/voices/male5/ps_14.wav   "I resign"
    }

    kill_insult
    {
            sound/voices/male5/tt_06.wav   "Next time don't get up"
            sound/voices/male5/tt_05.wav   "You're just a waste of space"
            sound/voices/male2/tt_07.wav   "Are you blind?"
            sound/voices/male5/tt_13.wav   "Duck next time"
            sound/voices/male5/tt_19.wav   "Suh-weeet!"
            sound/voices/male5/tt_20.wav   "Woo-Hoo!"
            sound/voices/male5/tt_22.wav   "You just got schooled!"
    //      sound/voices/male5/tt_16.wav   "You talkin' ta ME?"
    }

    taunt {
            sound/voices/male5/tt_18.wav   "How about some competition here?"
            sound/voices/male5/tt_01.wav   "FRAGbait!"
            sound/voices/male5/tt_11.wav   "My momma shoots better!"
            sound/voices/male5/tt_14.wav   "Try hitting that barn over there!"
            sound/voices/male5/tt_17.wav   "Wanna BUY a shot?"
    //      sound/voices/male5/tt_03.wav   "Get a clue moron!"
    //      sound/voices/male5/tt_09.wav   "MORON!"
    //      sound/voices/male5/tt_02.wav   "You're such a Loser!"
    //      sound/voices/male5/tt_08.wav   "LOSER!"
    //      sound/voices/male5/tt_10.wav   "No-skill idiot!"
    //      sound/voices/male5/tt_12.wav   "Watched that all the way..."
    }

    death_insult {
            sound/voices/male5/tt_15.wav   "Thank you sir.. may I have another!"
            sound/voices/male5/tt_23.wav   "Bite me!"
            sound/voices/male5/tt_25.wav   "Cheap shot!"
            sound/voices/male5/tt_26.wav   "DOH"
            sound/voices/male5/tt_28.wav   "Lucky shot!"
            sound/voices/male5/tt_29.wav   "That's it!"
            sound/voices/male5/tt_30.wav   "Ooh! That's it!"
    //      sound/voices/male5/tt_35.wav   "Hey, dumbass"
    //      sound/voices/male5/tt_04.wav   "What an ass!"
    //      sound/voices/male5/tt_24.wav   "Screw you!"
    }

    kill_gauntlet {
            sound/voices/male5/tt_21.wav   "Eat gauntlet baby!"
    }

    praise {
            sound/voices/male5/tt_27.wav   "Nice!"
    }

    camp                   // command someone to camp
    {
            sound/voices/male5/voc_01.wav  "Camp this position."
            sound/voices/male5/voc_02.wav  "Camp here."

    }

    returnflag                     // return our flag  (CTF only)
    {
            sound/voices/male5/voc_03.wav  "Get our flag!"
            sound/voices/male5/voc_04.wav  "Return our flag!"
            sound/voices/male5/voc_05.wav  "Recover our flag!"
    }

    whoisleader                    // who is the team leader
    {
            sound/voices/male5/voc_06.wav  "Who's our leader?"
            sound/voices/male5/voc_07.wav  "Who's in charge?"
            sound/voices/male5/voc_08.wav  "Who leads this team?"
    }

    followflagcarrier              // follow the flag/skull carrier (CTF, Oneflag, Harvester)
    {
            sound/voices/male5/voc_09.wav  "Follow our carrier."
            sound/voices/male5/voc_10.wav  "Stay with the carrier."
            sound/voices/male5/voc_11.wav  "Protect the carrier."
            sound/voices/male5/voc_12.wav  "Cover the carrier."
    }

    inposition                     // I'm in position
    {
            sound/voices/male5/voc_13.wav  "I'm in place."
            sound/voices/male5/voc_14.wav  "I'm at my post."
            sound/voices/male5/voc_15.wav  "I am in position."
            sound/voices/male5/voc_15a.wav "I am in position"
    }

    wantondefense          // I want to be on defense
    {
            sound/voices/male5/voc_16.wav  "Let me defend."
            sound/voices/male5/voc_17.wav  "I'd rather defend."
    }

    wantonoffense          // I want to be on offense
    {
            sound/voices/male5/voc_18.wav  "Let me go on offense."
            sound/voices/male5/voc_19.wav  "I'd rather go on offense."
    }

    wantonpatrol           // I want to go on patrol
    {
            sound/voices/male5/voc_20.wav  "Let me patrol."
            sound/voices/male5/voc_21.wav  "I'd rather patrol."
    }

    oncamp  //I'm Camping (status)
    {
            sound/voices/male5/voc_22.wav  "I'm camping here."
    }

    onfollow
    {
            sound/voices/male5/voc_23.wav  "I'm following."
            sound/voices/male5/voc_24.wav  "Following!"
    }

    onfollowcarrier
    {
            sound/voices/male5/voc_27.wav  "Guarding the carrier."
    }

    onreturnflag
    {
            sound/voices/male5/voc_28.wav  "Getting our flag."
    }

    harvest //harvester game type only
    {
            sound/voices/male5/voc_25.wav  "Go collect skulls."
            sound/voices/male5/voc_26.wav  "Harvest some skulls."
    }
    // voice file ends here

TOP
Appendix D: Model Sound List
Priority: Only required if a new body model is included in the team pak file.

The following game sounds are associated with the team model. Each of the sounds listed below is a separate file. They need to be located in a directory having the same name as the body model and be nested within the sounds directory.

Example: sounds/newmodel/Death1.wav.

If new sound files are to be created, make sure that they conform to the following wav file format: Mono 22k 16bit.

Death1.wav
Death2.wav
Death3.wav
Drown.wav
Fall1.wav
Falling1.wav
Gasp.wav
Jump1.wav
Pain100_1.wav
Pain25_1.wav
Pain50_1.wav
Pain75_1.wav
Taunt.wav

TOP

Appendix E: .VC File Sample
Priority: Required for each head model

The vc file is a text file script that has had the file extension renamed from .txt to .vc. The script is linked to a bot name. Bot names are defined in the .bot file included in the pak file. Each bot needs to have a .vc file. It's best, if at all possible, to have the model name (or model/skin combination) and the bot name be the same. The very brief contents are simply a path to a voice file. The selected voice file can be either one of the original Team Arena voices or an original voice included with the team. When creating the voice file for a re-skinned head model, be sure to include the head name in the path to the voice script. That script must also be nested a layer deeper in the directory, such as: scripts/callisto/lily.vc.

The contents of a sample .vc file are shown below.

            //VC script begins here

    scripts/newcharacter.voice

               //VC script ends here

TOP

Appendix F: Sample Team Arena Animation.Cfg File and New Animation Commands
Priority: Required only if a new model is included.

The animation.cfg file is a text file that has had the file extension renamed from .txt to .cfg. This file goes in the directory with the body model components (model\players \new_model\ -- or -- model\players\characters\new_model\). The specifics of using or modifying the contents of this file are a part of the model making process and are mostly outside the focus of this document.

It is included in this document because the Team Arena animation configuration is different from the Quake 3 Arena Configuration. Furthermore it contains the "sex" key that determines the gender/sex of a character (as does the Q3A animation.cfg). This key/value pair determines which pronouns (masculine, feminine, or neuter) are used when the game generates messages about the player.

Additionally, two new animation commands (for both Q3A and Q3:TA) are shown here. These were done at the request of modelers doing non-traditional biped models. When put in the animation.cfg file, they literally stop the model from responding to the programmatic animations for those body parts. If you freeze the legs, the hips don't tilt during running animation. If the model's legs were too much outside of bipedal norms (as is the case for quadrupeds), the front or back legs would disappear into the ground as the leg models programmatically tilted around the model's pelvis. If you freeze the torso, you don't get waist twists or bends. Depending on what you are making, you may want to use one, but not the other.

Fixedlegs : put in the animation .cfg this command freezes programmatic rotation of the legs

Fixedtorso : when put in the animation .cfg this command freezes programmatic rotation of the torso

These commands are commented out in the sample below.

    		// animation.config file begins here
            sex     m      // THIS VALUE  (m, f, n) DETERMINES GENDER OF MODEL
            //fixedlegs  // PREVENTS PROGRAMMATIC ROTATION OF LEGS
            //fixedtorso // PREVENTS PROGRAMMATIC ROTATION OF TORSO
            headoffset -3 0 0
            footsteps boot

            // first frame, num frames, looping frames, frames per second
            0       30      0       20             // BOTH_DEATH1
            29      1       0       20             // BOTH_DEAD1
            30      30      0       20             // BOTH_DEATH2
            59      1       0       20             // BOTH_DEAD2
            60      30      0       20             // BOTH_DEATH3
            89      1       0       20             // BOTH_DEAD3

            90      26      0       20             // TORSO_GESTURE

            116     6       0       15             // TORSO_ATTACK        (MUST NOT CHANGE -- hand animation is synced to this)
            122     6       0       15             // TORSO_ATTACK2       (MUST NOT CHANGE -- hand animation is synced to this)

            128     5       0       20             // TORSO_DROP          (MUST NOT CHANGE -- hand animation is synced to this)
            133     4       0       20             // TORSO_RAISE         (MUST NOT CHANGE -- hand animation is synced to this)

            137     1       0       15             // TORSO_STAND
            138     1       0       15             // TORSO_STAND2

            199     8       8       20             // LEGS_WALKCR
            207     12      12      20             // LEGS_WALK
            219     10      10      20             // LEGS_RUN
            229     10      10      20             // LEGS_BACK
            239     10      10      15             // LEGS_SWIM

            249     7       0       15             // LEGS_JUMP
            256     9       0       15             // LEGS_LAND
            265     9       0       15             // LEGS_JUMPB
            274     6       0       15             // LEGS_LANDB
            280     15      15      15             // LEGS_IDLE
            295     11      11      15             // LEGS_IDLECR
            307     9       9       15             // LEGS_TURN

            139     10      0       15             // TORSO_GETFLAG    //TA Gesture
            149     10      0       15             // TORSO_GUARDBASE   //TA Gesture
            159     10      0       15             // TORSO_PATROL   //TA Gesture
            169     10      0       15             // TORSO_FOLLOWME   //TA Gesture
            179     10      0       15             // TORSO_AFFIRMATIVE   //TA Gesture
            189     10      0       15             // TORSO_NEGATIVE   //TA Gesture

            // animation.config file ends here

TOP

Appendix G: Teamname.shader
Priority: Required for team icons to work in the game

This is a text file script with the file extension renamed from .txt to ..shader.

    //Teamname.shader begins here
    team_icon/Kreechurs_red
    {
            cull none
            surfaceparm nolightmap
            surfaceparm trans
            surfaceparm nomarks
            {
                   map team_icon/Kreechurs_red.tga
                   blendFunc Add
                   rgbgen wave triangle 0.2 0.5 0 0.2
            }
    }

    team_icon/Kreechurs_blue
    {
            cull none
            surfaceparm nolightmap
            surfaceparm trans
            surfaceparm nomarks
            {
                   map team_icon/Kreechurs_blue.tga
                   blendFunc Add
                   rgbgen wave triangle 0.2 0.5 0 0.2
            }
    }
    //Teamname.shader ends here

TOP

Appendix H: Search Order for Model and Head model Assets

The means by which headmodels are used and selected was unified as much as possible between Q3A and Q3:TA code. The byproduct of this change allows players some more choices when selecting head models. The following documents the new procedures.

Searching for Head skins
The game uses the following paths and order of search when looking for headmodel assets. The asterisk (*) is only used for head models. When the asterisk is used, the game will try to load the head model from the models/players/heads folder first. After that, it looks deeper into the directories.

More Variety of Head Skins
If the team creator so chooses, different skins can be created for each team (note that id chose to use the same head skins for each team . but that doesn't have to be the case).

    ===================================
    Q3A/TA NON-TEAMPLAY SEARCH ORDER
    ===================================

    -------------------------------------------------
    headmodel = *callisto/lily

    models/players/heads/callisto/lily/head_default.skin
    models/players/heads/callisto/head_lily.skin

    -------------------------------------------------
    headmodel = callisto/lily

    models/players/callisto/lily/head_default.skin
    models/players/callisto/head_lily.skin
    models/players/heads/callisto/lily/head_default.skin
    models/players/heads/callisto/head_lily.skin

    ============================
    Q3A TEAMPLAY SEARCH ORDER
    ============================
    -------------------------------------------------
    Example:
    team_headmodel = *callisto/lily
    team = red
    models/players/heads/callisto/lily/head_red.skin
    models/players/heads/callisto/head_red.skin

    -------------------------------------------------
    Example:
    team_headmodel = callisto/lily
    team = red

    models/players/callisto/lily/head_red.skin
    models/players/callisto/head_red.skin
    models/players/heads/callisto/lily/head_red.skin
    models/players/heads/callisto/head_red.skin

    ===========================
    TA TEAMPLAY SEARCH ORDER
    ===========================
    Example:
    team_headmodel = *callisto/lily
    team = red
    teamName = Stroggs

    models/players/heads/callisto/lily/Stroggs/head_red.skin
    models/players/heads/callisto/Stroggs/head_red.skin
    models/players/heads/callisto/lily/head_red.skin
    models/players/heads/callisto/head_red.skin

    Example:
    team_headmodel = callisto/lily
    team = red
    teamName = Stroggs

    models/players/callisto/lily/Stroggs/head_red.skin
    models/players/callisto/Stroggs/head_red.skin
    models/players/callisto/lily/head_red.skin
    models/players/callisto/head_red.skin
    models/players/heads/callisto/lily/Stroggs/head_red.skin
    models/players/heads/callisto/Stroggs/head_red.skin
    models/players/heads/callisto/lily/head_red.skin
    models/players/heads/callisto/head_red.skin

Searching for Model Skins
The following list shows the order in which the game searches for model skins. When creating new skins for Team Arena or Quake 3 Arena (or related mods of either), use the following directory arrangement.

    ===================================
    Q3A/TA NON-TEAMPLAY SEARCH ORDER
    ===================================
    -------------------------------------------------
    Example:
    model = hunter/harpy

    legs:
            models/players/hunter/lower_harpy_default.skin
            models/players/hunter/lower_harpy.skin
            models/players/characters/james/lower_harpy_default.skin
            models/players/characters/james/lower_harpy.skin
    torso:
            models/players/hunter/upper_harpy_default.skin
            models/players/hunter/upper_harpy.skin
            models/players/characters/hunter/upper_harpy_default.skin
            models/players/characters/hunter/upper_harpy.skin

    ============================
    Q3A TEAMPLAY SEARCH ORDER
    ============================

    -------------------------------------------------
    Example:
    team_model = hunter/harpy
    team = red

    legs:
            models/players/hunter/lower_harpy_red.skin
            models/players/hunter/lower_red.skin
            models/players/characters/hunter/lower_harpy_red.skin
            models/players/characters/hunter/lower_red.skin
    torso:
            models/players/hunter/upper_harpy_red.skin
            models/players/hunter/upper_red.skin
            models/players/characters/hunter/upper_harpy_red.skin
            models/players/characters/hunter/upper_red.skin

    ===========================
    TA TEAMPLAY SEARCH ORDER
    ===========================

    -------------------------------------------------
    Example:
    team_model = james/badass
    team = red
    teamName = Stroggs

    legs:
            models/players/james/Stroggs/lower_badass_red.skin
            models/players/james/Stroggs/lower_red.skin
            models/players/james/lower_badass_red.skin
            models/players/james/lower_red.skin
            models/players/characters/james/Stroggs/lower_badass_red.skin
            models/players/characters/james/Stroggs/lower_red.skin
            models/players/characters/james/lower_badass_red.skin
            models/players/characters/james/lower_red.skin
    torso:
            models/players/james/Stroggs/upper_badass_red.skin
            models/players/james/Stroggs/upper_red.skin
            models/players/james/upper_badass_red.skin
            models/players/james/upper_red.skin
            models/players/characters/james/Stroggs/upper_badass_red.skin
            models/players/characters/james/Stroggs/upper_red.skin
            models/players/characters/james/upper_badass_red.skin
            models/players/characters/james/upper_red.skin

TOP

Appendix I: Expanded Team Skin Functionality for Q3A

Technically speaking, the following information has nothing to do with Team Arena teams, but this document is just as good a place for this information to reside as any.

At the request of several modelers who worked with the modeling and skin making forums and archives at Polycount, we changed the way that Quake III Arena (not just Team Arena) handles skin replacement in team games. Originally, if a skinner made a new skin for a Q3A model AND made team color versions of that skin, the game would not automatically use the team version. Instead, it would display the id default red or blue skin. To see a new team skin in the game, the skinner literally had to remove the default skins and replace them with the new versions.

With version 1.28 of the game code, we've been able to get that changed. The file format that we used is the one requested by the skinners themselves. However, because of the way searches for head skins now work, pre-existing Q3A files are not going to work correctly. They need to have one, renamed skin file added for the proper head skins to appear in the game.

When a properly set-up user-created skin for a model is accompanied by matching team color skins, the game will now use them instead of the default team skin for that model.

The example below shows the assets that must be in the pakfile for the Blue version of a skin named Hellion that uses the id-created Crash model.

     Hellion_blue.tga                          models\players\crash\
     Hellion_blue_f.tga                       models\players\crash\
     Hellion_blue_t.tga                       models\players\crash\
     Head_Hellion_blue.skin              models\players\crash\
     Icon_Hellion_blue.tga                 models\players\crash\
     Lower_Hellion_blue.skin            models\players\crash\
     Upper_Hellion_blue.skin            models\players\crash\
     Head_blue.skin                            models\players\crash\Hellion\

The last file is the key to making it work . a skin file with the same contents as Head_Hellion_blue.skin, only renamed Head_blue.skin and placed one layer deeper in the Hellion directory. Note that BOTH head_hellion_blue.skin in the crash directory and head_blue.skin in the crash/Hellion directory are necessary for the model to work properly.

To see a working example of a properly set up Q3A skin, look for Hades Orphan, the revised version (h20.pk3), by Camilla "milla" Bennett for the Crash model.

TOP

Appendix J: Contents of the tm_kreechurs.pk3

The following list is taken directly from the contents of the pak file contain the BoB model and the Kreechurs team information. Use this as a reference when creating your own team pak files.

    tm_kreechurs.pk3
    Name    Modified       Size    Ratio   Packed  Path
    kreechurs.team  5/9/2001 12:01 PM      1,968   61%     770
    kreechurs_readme.txt   5/9/2001       3,162   59%     1,286
    animation.cfg  5/161/2001 4:32 PM     1,173   59%     478         models\players\characters\BoB\
    default_flame1.jpg     513/2000 7:19 PM       5,972   10%     5,385        models\players\characters\BoB\
    default_flame2.jpg     51312000 7:19 PM       5,984   10%     5,359        models\players\characters\BoB\
    default_flame3.jpg     5/3/2000 7:20 PM       5,623   11%     5,014        models\players\characters\BoB\
    default_flame4.jpg     51312000 7:20 PM       5,284   12%     4,658        models\players\characters\BoB\
    default_flame5.jpg     513/2000 7:21 PM       5,231   10%     4,691         models\players\characters\BoB\
    default_flame6.jpg     5/3/2000 7:21 PM       5,318   11%     4,735         models\players\characters\BoB\
    qefault_flame7.jpg     5/3/2000 7:21 PM       5,807   11%     5,197         models\players\characters\BoB\
    default_flame8.jpg     5/3/2000 7:22 PM       6,114   10%     5,510         models\players\characters\BoB\
    default_flameball.jpg  5/3/2000 7:22 PM       3,010   26%     2,216         models\players\characters\BoB\
    defaultjets.tga        611412000 2:55 AM      49,196  37%     31,075         models\players\characters\BoB\
    icon_blue.tga  6/13/2000 8:15 PM      16,402  58%     6,845         models\players\characters\BoB\
    icon_red.tga   6/13/2000 8:15 PM      16,402  61%     6,327         models\players\characters\BoB\
    lower.md3      3/3/2001 12:11 PM      593,972        33%     398,956         models\players\characters\BoB\
    lower_1.md3    3/3/2001 12:11 PM      593,972 33%     398,956         models\players\characters\BoB\
    lower_2.md3    3/3/2001 12.11 PM      593,972        33%     398,956         models\players\characters\BoB\
    upper.md3      3/3/2001 12:11 PM      721,388        33%     483,599         models\players\characters\BoB\
    upper_1.md3    3/3/2001 12:11 PM      721,388        33%     483,599         models\players\characters\BoB\
    upper_2.md3    3/3/2001 12:11 PM      721,388        33%     483,599         models\players\characters\BoB\
    icon_default.tga       6/13/2000 8:15 PM      16,402  61%     6,328         models\players\ characters\BoB\
    blue.tga       10/23/2000 7: 17 PM    196,626        41%     115,756         models\players\characters\BoB\kreechurs\
    lower_blue.skin        4/6/2001 11 :20 AM     203     52%     98         models\players\characters\BoB\kreechurs\
    lower_default.skin     4/6/200 111:25AM       204     50%     102         models\players\characters\BoB\kreechurs\
    lower_red.skin  4/6/2001 11:20AM       204     50%     102         models\players\characters\BoB\kreechurs\
    red.tga        10/23/2000 7:17 PM     196,626        43%     111,607         models\players\characters\BoB\kreechurs\
    upper_blue.skin        41612001 11:20AM       281     58%     118         models\players\characters\BoB\kreechurs\
    upper_default.skin     416/2001 11:25AM       282     58%     119         models\players\characters\BoB\kreechurs\
    upper_red.skin  4/6/2001 11 :20 AM     282     58%     119         models\players\characters\BoB\kreechurs\
    blue_h.tga     6/14/2000 10:26 AM     196,652        56%     86,873         models\players\heads\Kreecha\
    default_fc.tga  5/29/2000 10:07 AM     3,090   90%     323         models\players\heads\Kreecha\
    default_visor.tga      10/23/2000 7:57 PM     196,626        96%     7,656         models\players\heads\Kreecha\
    Kreecha.md3    3/3/2001 12:12 PM      5,868   46%     3,171         models\players\heads\Kreecha\
    Kreecha_1.md3  3/3/2001 12:12 PM      5,868   46%     3,171         models\players\heads\Kreecha\
    Kreecha_2.md3  3/3/2001 12:12 PM      5,868   46%     3,171         models\players\heads\Kreecha\
    head_blue.skin  3/12/2001 4:58 PM      56      7%      52         models\players\heads\Kreecha\
    head_default.skin      3/1212001 4:57 PM      53      8%      49         models\players\heads\Kreecha\
    head_red.skin  3/12/2001 4:58 PM      55      7%      51         models\players\heads\Kreecha\
    icon_blue.tga  6/13/2000 8:15 PM      16,402  58%     6,846        models\players\heads\Kreecha\
    icon_default.tga       6/13/2000 8:15 PM      16,402  61%     6,328         models\players\heads\Kreecha\
    icon_red.tga   6/1312000 8.15 PM      16,402  61%     6,328         models\players\heads\Kreecha\
    red_h.tga      3112/2001 6:06 PM      196,626        66%     66,666         models\players\heads\Kreecha\
    BoB.shader     3/12/2001 5:49 PM      2,912   89%     308     scripts\
    kreechurs.bot  5/9/2001 11 :43 AM     405     70%     123     scripts\
    kreechurs.shader       4/6/2001 3:05 PM       500     67%     163     scripts\
    Kreecha.vc     5/2/2001 5:53 PM       21      0%      21      scripts\
    Infinite.vc    4/9/2001 11: 18 AM     24      0%      24      scripts\
    Prime.vc       4/9/2001 11: 18 AM     24      0%      24      scripts\
    Vader.vc       4/9/2001 11: 18 AM     24      0%      24      scripts\
    death1.wav     2/23/2000 9:20 AM      16,720  47%     8,900   sound\player\BoB\
    death2.wav     5/7/2000 5:46 PM       18,496  17%     15,356  sound\player\BoB\
    death3.wav     5/7/2000 5:46 PM       18,496  17%     15,356  sound\player\BoB\
    fall1.wav      5/9/2000 6:40 AM       13,944  62%     5,327   sound\player\BoB\
    falling1.wav   5/7/2000 5:22 PM       40,722  26%     30,585  sound\player\BoB\
    gasp.wav       5/7/2000 5:15 PM       55,230  4%      53,293  sound\player\BoB\
    jump1.wav      5/7/20009:26 PM 47,778   8%     44,070  sound\player\BoB\
    pain100_1.wav  5/7/20005:33PM 6,894    29%    4,880   sound\player\BoB\
    pain25_1.wav   5/7/20005:34 PM 9,832    26%    7,248   sound\player\BoB\
    pain50_1.wav   5/7/20005:33 PM 6,444    22%    5,007   sound\player\BoB\
    pain75_1.wav   5/7/20005:33 PM 9,512    26%    6,997   sound\player\BoB\
    taunt.wav      3/3/2001 12:17 PM      163,874  11%    146,434 sound\player\BoB\
    gs_01.wav      10/20/20005:05 PM      51,304   10%    46,296  sound\voices\BoB\
    gs_02.wav      10/20/20005:05 PM      69,704   10%    62,811  sound\voices\BoB\
    gs_03.wav      10/20/20005:05 PM      53,394   8%     49,195  sound\voices\BoB\
    gs_04.wav      10/20/20005:05 PM      48,802   3%     47,157  sound\voices\BoB\
    gs_05.wav      10/20/20005:05 PM      62,170   4%     59,614  sound\voices\BoB\
    gs_06.wav      10/20/2000 5:05 PM     53,622   5%     51,075  sound\voices\BoB\
    gs_07 .wav     10/20/2000 5:05 PM     67,756   10%    60,889  sound\voices\BoB\
    gs_08.wav      10/20/2000 5:05 PM     61,458   4%     59,265  sound\voices\BoB\
    gs_09.wav      10/20/2000 5:05 PM     60,042   6%     56,640  sound\voices\BoB\
    gs_10.wav      10/20/2000 5:05 PM     82,526   4%     79,337  sound\voices\BoB\
    or_01.wav      10/20/2000 5.05 PM     46,892   8%     42,990  sound\voices\BoB\
    or_02.wav      10/20/2000 5:05 PM     63,152   10%    56,946  sound\voices\BoB\
    or_03.wav      10/20/2000 5:05 PM     54,714   6%     51,246  sound\voices\BoB\
    or_04.wav      10/20/2000 5:05 PM     43,640   4%     41,815  sound\voices\BoB\
    or_05.wav      10/20/2000 5:05 PM     56,694   6%     53,172  sound\voices\BoB\
    or_06.wav      10/20/2000 5:05 PM     44,248   6%     41,468  sound\voices\BoB\
    or_07.wav      10/20/2000 5:05 PM     57,616   4%     55,043  sound\voices\BoB\
    or_08.wav      10/20/2000 5:05 PM     22,626   5%     21,538  sound\voices\BoB\
    or_09.wav      10/20/2000 5:05 PM     36,260   30%    25,528  sound\voices\BoB\
    or_10.wav      10/20/2000 5:05 PM     43,396   7%     40,432  sound\voices\BoB\
    or_11.wav      10/20/2000 5:05 PM     37,070   4%     35,592  sound\voices\BoB\
    or_12.wav      10/20/2000 5:05 PM     25,714   4%     24,796  sound\voices\BoB\
    ps_01.wav      10/20/2000 5:05 PM     58,040   4%     55,538  sound\voices\BoB\
    ps_02.wav      10/20/2000 5:05 PM     40,686   4%     39,161  sound\voices\BoB\
    ps_03.wav      10/20/2000 5:05 PM     44,870   5%     42,695  sound\voices\BoB\
    ps_04.wav      10/20/2000 5:05 PM     50,550   4%     48,465  sound\voices\BoB\
    ps_05.wav      10/20/2000 5:05 PM     64,256   9%     58,718  sound\voices\BoB\
    ps_06.wav      10/20/2000 5:05 PM     60,770   4%     58,385  sound\voices\BoB\
    ps_07.wav      10/20/2000 5:05 PM     41,604   3%     40,372  sound\voices\BoB\
    ps_08.wav      10/20/2000 5:05 PM     33,102   4%     31,860  sound\voices\BoB\
    ps_09.wav      10/20/2000 5:05 PM     43,578   14%    37,279  sound\voices\BoB\
    ps_1 0.wav     10/20/2000 5:05 PM     48,126   3%     46,467  sound\voices\BoB\
    ps_11.wav      10/20/2000 5:05 PM     52,114   7%     48,442  sound\voices\BoB\
    ps_12.wav      10/20/2000 5:05 PM     46,054   3%     44,632  sound\voices\BoB\
    ps_13.wav      10/20/2000 5:05 PM     52,026   4%     49,921  sound\voices\BoB\
    ps_14.wav      10/20/2000 5:05 PM     38,428   3%     37,165  sound\voices\BoB\
    re_01.wav      10/20/2000 5:05 PM     42,970   5%     40,707  sound\voices\BoB\
    re_02.wav      10/20/2000 5:05 PM     42,010   16%    35,118  sound\voices\BoB\
    re_03.wav      10/20/2000 5:05 PM     44,994   4%     43,387  sound\voices\BoB\
    re_04.wav      10/20/2000 5:05 PM     26,620   3%     25,824  sound\voices\BoB\
    re_05.wav      10/20/2000 5:05 PM     31,732   4%     30,549  sound\voices\BoB\
    re_06.wav      10/20/2000 5:05 PM     20,342   5%     19,287  sound\voices\BoB\
    re_07.wav      10/20/2000 5:05 PM     23,544   4%     22,526  sound\voices\BoB\
    re_08.wav      10/20/2000 5:05 PM     38,070   3%     36,822  sound\voices\BoB\
    re_09.wav      10/20/2000 5:05 PM     33,436   4%     32,041  sound\voices\BoB\
    re_10.wav      10/20/2000 5:05 PM     29,016   7%     26,898  sound\voices\BoB\
    re_11.wav      10/20/2000 5:05 PM     31,998   3%     30,885  sound\voices\BoB\
    tt_01.wav      10/20/2000 5:05 PM     56,240   7%     52,038  sound\voices\BoB\
    tt_02.wav      10/20/2000 5:05 PM     57,144   5%     54,206  sound\voices\BoB\
    tt_03.wav      10/20/2000 5:05 PM     68,484   9%     62,426  sound\voices\BoB\
    tt_04.wav      10/20/2000 5:05 PM     55,838   5%     52,785  sound\voices\BoB\
    tt_05.wav      10/20/2000 5:05 PM     75,106   6%     70,367  sound\voices\BoB\
    tt_06.wav      10/20/2000 5:05 PM     81,630   10%    73,342  sound\voices\BoB\
    tt_07.wav      10/20/2000 5:05 PM     60,354   5%     57,333  sound\voices\BoB\
    tt_08.wav      10/20/2000 5:05 PM     56,642   5%     53,981  sound\voices\BoB\
    tt_09.wav      10/20/2000 5:05 PM     49,216   3%     47,675  sound\voices\BoB\
    tt_10.wav      10/20/2000 5:05 PM     60,656   5%     57,563  sound\voices\BoB\
    tt_11.wav      10/20/2000 5:05 PM     75,106   5%     71,690  sound\voices\BoB\
    tt_12.wav      10/20/2000 5:05 PM     90,760   6%     84,879  sound\voices\BoB\
    tt_13.wav      10/20/2000 5:05 PM     52,628   8%     48,347  sound\voices\BoB\
    tt_14.wav      10/20/2000 5:05 PM     72,848   4%     70,004  sound\voices\BoB\
    tt_15.wav      10/20/2000 5:05 PM     109 184  12%    96,020  sound\voices\BoB\
    tt_16.wav      10/20/2000 5:05 PM     48,812   3%     47,245  sound\voices\BoB\
    tt_17.wav      10/20/2000 5:05 PM     64,506   10%    57,951  sound\voices\BoB\
    tt_18.wav      10/20/2000 5:05 PM     85,018   6%     79,532  sound\voices\BoB\
    tt_19.wav      10/20/2000 5:05 PM     72,978   17%    60,260  sound\voices\BoB\
    tt_20.wav      10/20/2000 5:05 PM     73,328   6%     68,967  sound\voices\BoB\
    tt_21.wav      10/20/2000 5:05 PM     79,434   7%     74, 101 sound\voices\BoB\
    tt_22.wav      10/20/2000 5:05 PM     74,636   4%     71,397  sound\voices\BoB\
    tt_23.wav      10/20/2000 5:05 PM     37,034   18%    30,448  sound\voices\BoB\
    tt_24.wav      10/20/2000 5:05 PM     43,316   5%     41,087  sound\voices\BoB\
    tt_25.wav      10/20/2000 5:05 PM     48,376   13%    42,005  sound\voices\BoB\
    tt_26.wav      10/20/2000 5:05 PM     35,464   8%     32,716  sound\voices\BoB\
    tt_27.wav      10/20/2000 5:05 PM     38,430   6%     35,995  sound\voices\BoB\
    tt_28.wav      10/20/2000 5:05 PM     40,698   13%    35,580  sound\voices\BoB\
    tt_29.wav      10/20/2000 5:05 PM     36,074   17%    29,767  sound\voices\BoB\
    tt_30.wav      10/20/2000 5:05 PM     83,012   5%     79,167  sound\voices\BoB\
    tt_31.wav      10/20/2000 5:05PM      55,530   14%    47,706  sound\voices\BoB\
    tt_32.wav      10/20/2000 5:05 PM     52,040   15%    44,369  sound\vojces\BoB\
    tt_33.wav      10/20/2000 5:05 PM     96,360   10%    86,316  sound\voices\BoB\
    tt_34.wav      10/20/2000 5:05 PM     100,896  5%     96,263  sound\voices\BoB\
    tt_35.wav      10/20/2000 5:05 PM     104,038  10%    93,172  sound\voices\BoB\
    tt_36.wav      10/20/2000 5:05 PM     34,940   4%     33,701  sound\voices\BoB\
    tt_37.wav      10/20/2000 5:05 PM     81,704   12%    71,904  sound\voices\BoB\
    tt_38.wav      10/20/2000 5:05 PM     58,670   19%    47,593  sound\voices\BoB\
    tt_39.wav      10/20/2000 5:05 PM     57,012   4%     54,683  sound\voices\BoB\
    tt_40.wav      10/20/2000 5:05 PM     94,790   5%     90,171  sound\voices\BoB\
    tt_41.wav      10/20/2000 5:05 PM     89,030   7%     82,981  sound\voices\BoB\
    tt_42.wav      10/20/2000 5:05 PM     76,556   14%    65,952  sound\voices\BoB\
    tt_43.wav      10/20/2000 5:05 PM     67,744   10%    60,694  sound\voices\BoB\
    tt_44.wav      10/20/2000 5:05 PM     44,188   20%    35,183  sound\voices\BoB\
    voc_01.wav     10/20/2000 5:05 PM     51,640   12%    45,423  sound\voices\BoB\
    voc_02.wav     10/20/2000 5:05 PM     37,916   12%    33,258  sound\voices\BoB\
    voc_03.wav     10/20/2000 5:05 PM     40,364   9%     36,548  sound\voices\BoB\
    voc_04.wav     10/20/2000 5:05 PM     60,412   4%     57,815  sound\voices\BoB\
    voc_05.wav     10/20/2000 5:05 PM     56,172   6%     52,986  sound\voices\BoB\
    voc_06.wav     10/20/2000 5:05 PM     41,284   3%     39,918  sound\voices\BoB\
    voc_07.wav     10/20/2000 5:05 PM     49,442   9%     45,003  sound\voices\BoB\
    voc_08.wav     10/20/2000 5:05 PM     61,656   5%     58,449  sound\voices\BoB\
    voc_09.wav     10/20/2000 5:05 PM     44,306   7%     41,295  sound\voices\BoB\
    voc_10.wav     10/20/2000 5:05 PM     58,298   9%     52,997  sound\voices\BoB\
    voc_11.wav     10/20/2000 5:05 PM     55,050   18%    45,254  sound\voices\BoB\
    voc_12.wav     10/20/2000 5:05 PM     40,614   9%     37,135  sound\voices\BoB\
    voc_13.wav     10/20/2000 5:05 PM     43,068   4%     41,307  sound\voices\BoB\
    voc_14.wav     10/20/2000 5:05 PM     45,512   9%     41,619  sound\voices\BoB\
    voc_15.wav     10/20/2000 5:05 PM     47,532   3%     45,886  sound\voices\BoB\
    voc_16.wav     10/20/2000 5:05 PM     40,756   3%     39,412  sound\voices\BoB\
    yoc_17.wav     10/20/2000 5:05 PM     52,070   7%     48,546  sound\voices\BoB\
    voc_18.wav     10/20/2000 5:05 PM     55,394   6%     51,854  sound\voices\BoB\
    voc_19.wav     10/20/2000 5:05 PM     74,718   8%     68,688  sound\voices\BoB\
    voc_20.wav     10/20/2000 5:05 PM     47,504   10%    42,821  sound\voices\BoB\
    voc_21.wav     10/20/2000 5:05 PM     52,034   7%     48,188  sound\voices\BoB\
    voc_22.wav     10/20/2000 5:05 PM     36,558   10%    32,925  sound\voices\BoB\
    voc_23.wav     10/20/2000 5:05 PM     35,880   4%     34,606  sound\voices\BoB\
    voc_24.wav     10/20/2000 5:05 PM     28,234   4%     27,227  sound\voices\BoB\
    voc_25.wav     10/20/2000 5:05 PM     50,004   14%    42,898  sound\voices\BoB\
    voc_26.wav     10/20/2000 5:05 PM     62,516   10%    56,117  sound\voices\BoB\
    voc_27.wav     10/23/2000 3:01 PM     49,444   5%     46,934  sound\voices\BoB\
    voc_28.wav     10/23/2000 3:05 PM     54,600   6%     51,556  sound\voices\BoB\
    Kreechurs.tga  4/6/2001 1 :08 PM      65,580   99%    873     team_icon\
    Kreechurs_blue.tga     4/6/2001 1 :09 PM      65,580   98%    1,030   team_icon\
    Kreechurs_red.tga      4/6/2001 1 :09 PM      65,580   98%    1,016   team_icon\
    Kreechurs.roq  5/09/2001 5:45 PM      1,078,120      9%      976,146 ui\assets\
    Kreechurs.tga  3/2/2001 11 :57 AM     65,580   99%    873     ui\assets\
    Kreechurs_metal.tga    3/2/2001 10:58 AM      65,580   74%    16,883  ui\assets\
    Kreechurs_name.tga     3/2/200111:16AM 131,116  91%    11,640  ui\assets\
    Kreechurs_name_alt.tga         3/2/200111:05AM 131,116  97%    3,870   ui\assets\

    188 file(s)            12,590,550      25%    9,496,872

TOP

Appendix K: A Minimal Team

The following list is the minimum number of files needed to make a new team and assumes that the team creator is using both the Janet and James models (the models shipped with Quake III: Team Arena) and the pre-existing heads that work with those models. Note that no sound or voice files are necessary. No head files are necessary. When adding new heads, refer to the Kreecha head in Appendix J. When reskinning previously created heads, refer to the Callisto/Lily head in Appendix J. Use this list as a reference when creating your own team pak files.

    tm_kreechurs.pk3
    Name    Modified       Size    Ratio   Packed  Path
    kreechurs.team  5/9/2001 12:01 PM      1,968   61%     770
    kreechurs_readme.txt   5/9/2001       3,162   59%     1,286
    blue.tga       10/23/2000 7: 17 PM    196,626        41%     115,756         models\players\James\kreechurs\
    lower_blue.skin        4/6/2001 11 :20 AM     203     52%     98         models\players\James\kreechurs\
    lower_default.skin     4/6/200 111:25AM       204     50%     102         models\players\James\kreechurs\
    lower_red.skin  4/6/2001 11:20AM       204     50%     102         models\players\James\kreechurs\
    red.tga        10/23/2000 7:17 PM     196,626        43%     111,607         models\players\James\kreechurs\
    upper_blue.skin        41612001 11:20AM       281     58%     118         models\players\James\kreechurs\
    upper_default.skin     416/2001 11:25AM       282     58%     119         models\players\James\kreechurs\
    upper_red.skin  4/6/2001 11 :20 AM     282     58%     119         models\players\James\kreechurs\
    blue.tga       10/23/2000 7: 17 PM    196,626        41%     115,756         models\players\Janet\kreechurs\
    lower_blue.skin        4/6/2001 11 :20 AM     203     52%     98         models\players\Janet\kreechurs\
    lower_default.skin     4/6/200 111:25AM       204     50%     102         models\players\Janet\kreechurs\
    lower_red.skin  4/6/2001 11:20AM       204     50%     102         models\players\Janet\kreechurs\
    red.tga        10/23/2000 7:17 PM     196,626        43%     111,607         models\players\Janet\kreechurs\
    upper_blue.skin        41612001 11:20AM       281     58%     118         models\players\Janet\kreechurs\
    upper_default.skin     416/2001 11:25AM       282     58%     119         models\players\Janet\kreechurs\
    upper_red.skin  4/6/2001 11 :20 AM     282     58%     119         models\players\Janet\kreechurs\
    kreechurs.bot  5/9/2001 11 :43 AM     405     70%     123     scripts\
    kreechurs.shader       4/6/2001 3:05 PM       500     67%     163     scripts\
    kreechurs.tga  4/6/2001 1 :08 PM      65,580   99%    873     team_icon\
    kreechurs_blue.tga     4/6/2001 1 :09 PM      65,580   98%    1,030   team_icon\
    kreechurs_red.tga      4/6/2001 1 :09 PM      65,580   98%    1,016   team_icon\
    kreechurs.tga  3/2/2001 11 :57 AM     65,580   99%    873     ui\assets\
    kreechurs_metal.tga    3/2/2001 10:58 AM      65,580   74%    16,883  ui\assets\
    kreechurs_name.tga     3/2/200111:16AM 131,116  91%    11,640  ui\assets\
    kreechurs_name_alt.tga         3/2/200111:05AM 131,116  97%    3,870   ui\assets\

    27 file(s)             1,354,162              271,112

TOP

Appendix L: Contents of the TAhead_lily.pk3

The following list is taken directly from the contents of the pak file that contains the Lily head model that is a part of the Kreechurs team. Lily is based on the Callisto head model from the original TA game (blinking female head with red or blue hair cut in a pageboy style). Use this as a reference when creating your own pak files for new character heads.

    TAhead_lily.pk3

    Name    Modified       Size    Ratio   Packed  Path
    Lily.vc        5/112001 6:56 PM       23      0%      23      scripts\Callisto\
    red_Iily.shader        4/9/20011:18 PM        557     79%     117     scripts\
    lily .shader   4/9/2001 1: 19 PM      528     78%     114      scripts\
    blue_lily.shader       5/1/20015:50 PM        566     79%     119     scripts\
    Lily_redface2.tga      4/3/200111:41 PM       16,428  32%     11,092         models\players\heads\Callisto\Lily\
    Lily_redface.tga       4/3/2001 11 :40 PM     16,428  33%     11,062         models\players\heads\Callisto\Lily\
    Lily_red.tga   4/2/2001 2:14 PM       65,580  79%     13,873         models\players\heads\Callisto\Lily\
    Lily_blueface2.tga     4/3/2001 11 :42 PM     16,428  32%     11, 182         models\players\heads\Callisto\Lily\
    Lily_blueface.tga      4/3/200111:41 PM       16,428  32%     11,174         models\players\heads\Callisto\Lily\
    LJily_blu.tga  4/10/2001 12:55 AM     65,580  33%     43,929         models\players\heads\Callisto\Lily\
    icon_red.tga   3/27/20016:15 AM       12,306  30%     8,581         models\players\heads\Callisto\Lily\
    icon_default.tga       3/27/20016:15 AM       12,306  30%     8,595         models\players\heads\Callisto\Lily\
    icon_blue.tga  3/29/2001 10:20 PM     16,428  41%     9,707         models\players\heads\Callisto\Lily\
    head_red.skin  4/17/20014:35 PM       125     44%     70         models\players\heads\Callisto\Lily\
    head_default.skin      4/17/20014:35 PM       126     41%     74         models\players\heads\Callisto\Lily\
    head_blue.skin  4/17/20014:33 PM       126     44%     71         models\players\heads\Callisto\Lily\

    16 file(s)             239,963        46%     129,783

TOP