NBA Live 2003 Customisation Guide

From NLSC Wiki
Jump to: navigation, search

Here's a quick guide that should give you a few pointers on creating custom art patches for NBA Live 2003. Please note that this guide does not contain any pointers on the use of EA Graphics Editor to create your custom files, but rather how to implement and/or distribute them.

This guide was originally written for NBA Live 2003, but also applies to NBA Live 2004; simply replace "NBA Live 2003" with "NBA Live 2004" in the instructions. Please note that this guide does not apply to NBA Live 2005, NBA Live 06, NBA Live 07, or NBA Live 08.

Customization Setup

To allow custom art to be used in NBA Live 2003 PC, it needs to be enabled first. To do this, install the game using a full install and locate the file xstartup.cfg on your hard drive. Open it with Notepad and add the following line at the end:

customart 1

You may experience increased loading times when you enable the custom art feature.

General Customisation

All shapefiles and .o files (models and morphs) can be replaced by a file of the same name in a folder with the name of the big file (without the .viv extension) that the file normally belongs to. New files can also be added in this manner.

For example:


is replaced by




is replaced by


Custom art should always be added in this manner and not by directly editing the big files.

Player Accessory Naming

All shapes are named with a prefix followed by the database value.

Prefix of Skin Accessories

  • wr = Wrist band
  • el = Elbow band
  • bb = Bicep band
  • fb = Forearm band
  • ll = Left Forearm tattoo
  • lu = Left Bicep tattoo
  • rl = Right Forearm tattoo
  • ru = Right Bicep tattoo
  • hn = Finger tape
  • sk = Sock
  • kn = Knee band
  • cs = Compression shorts
  • lg = Leg band
  • rt = Right Leg tattoo
  • lt = Left Leg tattoo
  • rn = Right Neck tattoo (available for created players only)
  • ln = Left Neck tattoo (available created players only)

Prefix of Player Accessories

  • go = Shades
  • sh = Shoe
  • ey = Eye
  • dr = Dreads
  • hb = Headband

Texture Names (used for custom Player and team art)

  • Shades = tgog
  • Shoes = bsho
  • Eye = beye
  • Dreads = dred
  • Headband = hbnd
  • Mouth = bmou

Customising Common Player Art

Shapes from the files xplrcmn.viv\plrcmn.fsh, xplrcmn.viv\plrdetails.fsh and xplrcmn.viv\shoes.fsh can be customized individually by creating a file with the name of the shape.

For example:

data\render\xplrcmn\go08.fsh would replace the goggle shape named go08 from xplrcmn.viv\plrcmn.fsh
data\render\xplrcmn\ru99.fsh would add a new right bicep tattoo with a database value of 99

Shoes work the same way, with one difference: the shoe shapes in shoes.fsh are numbered in hex, custom shoes are numbered normally (base10). So to replace sh2c from shoes.fsh, the new file would be called data\render\xplrcmn\sh44.fsh.

A lot of the files inside data\render\xplrcmn.viv can be used as templates, ie. data\render\xplrcmn.viv\face.fsh can be used as the base for creating a new custom face.

Customising Per-Player Art

Pretty much everything can be customized for an individual player.

  • Face
  • Skins
  • Accessories
  • Uniform specific accessories (home, away, serd, cl01, etc…)
  • Misc textures (eyes, mouth, headband, goggles, dreds, shoes)
  • Uniforms
  • Practice jerseys

Making a new player

  • Pick a player who has a headshape that matches the one you want
  • Copy all the files from that player's .viv file into the folder for your new player
  • Replace the face
  • Add whatever custom art you want
  • Add them to the database

We'll use kobryan as the example player name.

Custom art goes in a folder with the players name under the xplayer directory (data\render\xplayer\kobryan\). Please note that custom art replaces any values selected in the database.


kobryan_acc.fsh contains shapes that will be put on top of the players skin texture, typically tattoos and bands. It can contain a shape for each of left/right arm/leg/hand. The shapes for each piece are offset to position onto the skin texturepage and cropped to remove extra transparency.

Skin part names:

  • Left arm = blar, bounds: 4, 0, 124, 512
  • Left leg = bllg, bounds: 132, 0, 252, 316
  • Left hand = blhd, bounds: 130, 322, 254, 512
  • Right arm = brar, bounds: 260, 0, 380, 512
  • Right leg = brlg, bounds: 388, 0, 508, 316
  • Right hand = brhd, bounds: 386, 322, 510, 512

The space between the skin pieces is padding and should be filled with a copy of the last row/column of pixels on the edge up to the next power of 2 boundary if you don't want seams to show up when the player is further away. generic_acc.fsh can be used as a template for making accessories.

An extra acc file can also be specified for each uniform type. ie. kobryan_acc_home.fsh would be applied on top of kobryan_acc.fsh when a home uniform was being used.

Additional skin accessories specified in the database will be applied on top of the custom skin files.


A custom player-specific uniform can be created for a player by putting a uniform and number file named with the uniform type in the players folder.

For example:


There is a special case for the practice uniforms where a uniform type prxx is checked for. If that is found then the usual random pr00-pr09 practice uniforms won't be checked for and the player will always wear prxx in 1 on 1 and Practice Mode. The prxx check applies for custom accessories as well (ie. bsho_prxx.fsh).

Player Accessories

Custom player accessories (Shades, Headbands, etc.) can be created for each player. Place a shape file with the name of the accessory texture in the player directory. ie. data\render\xplayer\kobryan\bsho.fsh. These can also have a uniform specific extention, ie. bsho_home.fsh would be used when a home type uniform is being used. In this case the regular kobryan\bsho.fsh would be ignored for a home type uniform but it would still be selected for other uniform types.

If a custom player accessory isn't found, the uniform file (custom player or regular team) is checked for a custom shape with the accessory name. ie. a shape called bsho in a custom data\render\xteam\llaway.fsh would be used for all players on the Lakers that don't have custom shoes. This is probably only useful for Custom teams as the shoe for a team can be selected through the TEAMGEAR table.


A player can have 2 head geometry files, one with and one without a headband. If the database says the player has a headband, an extra file with _h is checked for and used instead of the regular head if found, ie. kobryan_h_loda.o and kobryan_loda.o.

Customizing Teams

Teams that can customized via the TEAMS and TEAMGEAR database files. New teams can be added to the TEAMS database and the looks can be controlled by the TEAMGEAR table. The TEAMGEAR table is structured by uniforms, every line controls the look of a given team when selecting that particular uniform. For every jersey the color of the accessories, color of the socks, the default shoe, the neck type of the jersey, the lettering on the back and the type of the jersey can be selected. New uniforms can be added to this table and will show up in the Select Jersey screen, eg. an additional classic jersey for a given team. You can add a new shape file to the data\render\xteam\ folder (please see also the Shoe example under Player Accessories in the previous section) and then add its name to the TEAMGEAR table, eg. data\render\xteam\llcl02.fsh or data\render\xteam\cthome.fsh.

Please note that there are a few things to look out for when creating a new custom uniform. Setting the lettering of the names on the back via the NAMETYPE field affects the spacing of the letter texture, so simply changing it from Curved to Straight will not work. To make this work, start with a uniform that has a similar style to the one you want to create.