furrycat

The Tiger Woods 2003 PLR file format


Full documentation to follow. Below is my NOTES file...

.plr: EVERYTHING IN THE FILE IS MANGLED
---------------------------------------

Seems that playable characters have a slightly different format.
Concentrate on those for now.

Funky numbering in sections are MANGLED shorts!

0x0000: magic (short)
  55 05

0x0002: control (char)
  0a: human
  0b: computer

0x0003: name (char[18] with trailing null) - mangled!

0x0015: hair (short)
  00 00: hair 00 (light?)
  01 00: hair 01 (blonde?)
  00 02: hair 02 (black?)
  01 02: hair 03 (brown?)

0x0017: facial hair (short)
  00 00: facial 00 (clean-shaven)
  01 00: facial 01 (moustache)
  00 02: facial 02 (full beard)
  01 02: facial 03 (goatee)

0x0019: glove (short)
  00 00: glove 00 (white)
  01 00: glove 01 (black)
  00 02: glove 02 (white with black flash)

0x001b: face (short)
  00 00: face 00 (white)
  01 00: face 01 (white with sideburns)
  00 02: face 02 (asian)
  01 02: face 03 (black)

0x001d: UNKNOWN (short)

0x001f: shoes (shoes x have texture shoe256_x.dds in Data\Golfers\Textures.tbf)
  00 00: shoes 00 (light brown with brown flash)
  01 00: shoes 01 (white with brown flash)
  00 02: shoes 02 (white)
  01 02: shoes 03 (white with green flash)
  04 00: shoes 04 (white with black flash)
  05 00: shoes 05 (black with black flash)
  04 02: shoes 06 (brown with light brown flash)
  05 02: shoes 07 (brown with green flash)
  00 08: shoes 08 (black)
  01 08: shoes 09 (blue)
  00 0a: shoes 10 (black stippled)
  01 0a: shoes 11 (brown)
  04 08: shoes 12 (dark brown)
  05 08: shoes 13 (smooth brown)

0x0021: hat (hat x has texture cap256_x.dds in Data\Golfers\Textures.tbf)
  00 00: hat 00 (dark grey)
  01 00: hat 01 (light brown)
  00 02: hat 02 (khaki)
  01 02: hat 03 (black)
  04 00: hat 04 (cream)
  05 00: hat 05 (blue)
  04 02: hat 06 (dark green)
  05 02: hat 07 (brown)
  00 08: hat 08 (red)
  01 08: hat 09 (purple)
  00 0a: hat 10 (light blue)
  01 0a: hat 11 (light brown)
  04 08: hat 12 (green)
  05 08: hat 13 (white)

0x0023: UNKNOWN (short)

0x0025: shirt (shirt x has texture shirt512_x.dds in Data\Golfers\Textures.tbf)
  00 00: shirt 00 (red)
  01 00: shirt 01 (maroon)
  00 02: shirt 02 (cyan)
  ...
  04 22: shirt 38 ()
  05 22: shirt 39 ()
  00 28: shirt 40 ()
  01 28: shirt 41 ()
  00 2a: shirt 42 ()
  01 2a: shirt 43 ()
  04 28: shirt 44 ()
  05 28: shirt 45 ()
  04 2a: shirt 46 ()
  05 2a: shirt 47 (dark blue with purple and white diamonds)

0x0027: trousers (trousers x have texture pants pants512_x.dds in Textures.tbf)
  00 00: trousers 00 (black)
  01 00: trousers 01 (blue)
  00 02: trousers 02 (yellow)
  01 02: trousers 03 (grey)
  04 00: trousers 04 (brown)
  05 00: trousers 05 (light blue)
  04 02: trousers 06 (khaki)
  05 02: trousers 07 (purple plaid)
  00 08: trousers 08 (blue checks)
  01 08: trousers 09 (purple checks)
  00 0a: trousers 10 (grey checks)
  01 0a: trousers 11 (green checks)
  04 08: trousers 12 (yellow checks)
  05 08: trousers 13 (brown checks)
  04 0a: trousers 14 (camo)
  05 0a: trousers 15 (green)
  10 00: trousers 16 (white with blue stripe)

0x0029: model (char)
  00: custom male
  01: #1, #19
  02: noah
  08: custom female
  0e: jesper
  0f: vijay
  11: tiger
  12: #18

0x002a: hat
  00 00: generic cap (only one can colourise)
  01 00: fedora
  00 02: beach bum
  01 02: cowboy hat
  04 00: peak

0x002c: body
  00 00: body 00 (short)
  01 00: body 01 (medium)
  00 02: body 02 (tall)
  01 02: body 03 (short, thin)
  04 00: body 04 (medium, thin)
  05 00: body 05 (tall, thin)
  04 02: body 06 (short, fat)
  05 02: body 07 (medium, fat)
  00 08: body 08 (tall, fat)

0x002e: UNKNOWN (char)

0x002f: hands
  01 00: right handed
  01 08: left handed

0x0031: UNKNOWN (short)

CLUBS MANGLED! - ff 5f bf => all clubs :)
0x0033: woods bitmask (char)
  01: d9 (can't have d9 and d12)
  02: d12 (can't have d9 and d12)
  04: 2w
  08: 3w
  10: 4w
  20: 5w
  40: 6w
  80: 7w

0x0034: irons bitmask (short)
  01 00: (0x0001) 1i
  00 02: (0x0002) 2i
  04 00: (0x0004) 3i
  00 08: (0x0008) 4i
  10 00: (0x0010) 5i
  00 20: (0x0020) 6i
  40 00: (0x0040) 7i
  00 80: (0x0080) 8i
  00 01: (0x0100) 9i
  02 00: (0x0200) pw
  00 04: (0x0400) sw
  08 00: (0x0800) lw
  00 10: (0x1000) putter (must be selected)

0x0036: chipping club (char)
  08: 1i
  09: 2i
  0a: 3i
  0b: 4i
  0c: 5i
  0d: 6i
  0e: 7i
  0f: 8i
  10: 9i
  11: pw
  12: sw
  13: lw
  14: putter

0x0037: tee (char)
  00: forward
  01: middle
  02: back
  03: pro
  04: tournament

0x0038: UNKNOWN (char)

0x0039: difficulty (char)
  00: amateur
  01: pro
  02: tour
  03: championship
  04: master

0x003a: UNKNOWN (short)

0x003c: swing style (short)
  01 01: (0x0101) trueswing horiz
  03 00: (0x0201) trueswing vert
  09 00: (0x0801) 2-click
  01 04: (0x0401) 3-click

0x003e: random? (int)

0x0042: handicap

UNKNOWN

0x01e0: pic name (mangled) ends

0x01e3: ball
  00 00: 2-piece
  01 00: solid
  00 02: wound

0x01e7: club type
  00 00: perimeter
  01 00: light
  00 02: forged

0x01eb: shaft flex
  00 00: senior
  01 00: regular
  00 02: stiff

0x01cb: pic filename? (mangled char[38])

0x0210: number of others? (mangled short)

Feedback

Send any comments to golf@furrycat.net.

Please note I have configured ICQ to ignore messages from individuals not on my contact list.