Difference between revisions of "Character Appearance (Sequence)"

From SWGANH Wiki
Jump to: navigation, search
(→‎Xeno TRAC Docs)
Line 1: Line 1:
 
[[Character Appearance - Base Packets]]
 
[[Character Appearance - Base Packets]]
  
−
 
+
=Blend Attributes=
 
<pre>
 
<pre>
−
01 FF  // Eye Colour
+
Any attribute that is blend_whatever_# (see chart below) is a 2 part system.
−
02 FF
+
0x17 blend_lipfullness_0
−
03 FF
+
0x18 blend_lipfullness_1
−
04 FF  // Muscle / Torso
+
−
05 FF  // Weight
+
−
06 FF
+
−
07 FF  // Eye Size
+
−
08 FF  // Nose Protrusion
+
−
09 FF
+
−
0A FF
+
−
0B FF  // Cheek Size (blend_cheeks)
+
−
0C FF  // Eye Angle
+
−
0D FF  // Trunk Height (Ithorian)
+
−
0E FF
+
−
0F FF  // Nose Width
+
−
10 FF
+
−
11 FF
+
−
12 FF
+
−
13 FF  // Jaw Size
+
−
14 FF  // Skin Colour
+
−
15 FF  // Mouth Size
+
−
16 FF
+
−
17 FF  // Lip Size
+
−
18 FF
+
−
19 FF  // Ear Size
+
−
1A FF
+
−
1B FF
+
−
1C FF  // Chin Size (Gullet in MonCal)
+
−
1D FF  // Nose Colour (Rodian)
+
−
1E FF  // Eyebrow Type
+
−
1F FF  // Facial Hair Colour
+
−
20 FF
+
−
21 FF  // Eye Shape
+
−
22 FF
+
−
23 FF  // Facial Hair Type (Human Only)
+
−
24 FF  // Age
+
−
25 FF  // Freckles
+
−
26 FF  // Marking Pattern Type
+
−
27 FF  // Sensor Size (Rodian) / Jowl (Sullasian)
+
−
28 FF
+
−
29 FF
+
−
2A FF
+
−
2B FF
+
−
2C FF  // Eyeshadow Colour
+
−
2D FF  // Eyeshadow
+
−
2E FF  // Lip Colour
+
−
2F FF
+
−
30 FF
+
−
31 FF
+
−
32 FF  // Center Beard Colour (Ithorian)
+
−
33 FF
+
−
34 FF
+
−
35 FF
+
−
36 FF
+
−
37 FF
+
−
38 FF
+
−
39 FF  // Head Size (Sullastian)
+
−
3A FF
+
−
3B FF  // Marking Pattern Colour (MonCal)
+
−
3C FF
+
−
3D FF
+
−
3E FF // Ear Shape (Sullastian)
+
−
3F FF
+
−
40 FF
+
−
41 FF
+
−
42 FF
+
−
43 FF  // Brow (Wookiee)
+
−
44 FF
+
−
45 FF
+
−
46 FF
+
−
47 FF
+
−
48 FF  // Marking Colour (Wookiee)
+
−
49 FF  // Fur Colour (Wookiee)
+
−
4A FF
+
−
4B FF
+
−
4C FF
+
−
4D FF
+
−
4E FF  // Chin Length (Sullastian)
+
−
4F FF
+
−
50 FF
+
−
51 FF
+
−
52 FF
+
−
53 FF
+
−
54 FF
+
−
55 FF
+
−
56 FF
+
−
57 FF
+
−
58 FF
+
−
59 FF
+
−
5A FF
+
−
5B FF
+
−
5C FF
+
−
5D FF
+
−
5E FF
+
−
5F FF
+
−
60 FF
+
−
61 FF
+
−
62 FF
+
−
63 FF  // Markings Colour (Sullastian)
+
−
64 FF
+
−
65 FF  // Markings Pattern (Sullastian)
+
−
66 FF
+
−
67 FF
+
−
68 FF
+
−
69 FF
+
−
6A FF
+
−
6B FF
+
−
6C FF
+
−
6D FF
+
−
6E FF  // Center Beard Type (Ithorian)
+
−
6F FF
+
−
70 FF  // Side Beard Type (Ithorian)
+
−
</pre>
+
  
 +
They are believed to be a percentage/ratio of each other.
 +
when the value is 0
 +
17 FF 01
 +
18 FF 02
  
−
=Out Dated - Xeno TRAC Docs=
+
When the Value is 100 they are
 +
17 FF 02
 +
18 FF 01
 +
Swapping the 01 and 02.
  
−
<pre>
+
When the value is 50%
−
Customization features are stored in a data string following this format:
+
17 FF 01
−
[DATATYPE:SIZE] - explaination
+
18 FF 01
  
−
(header)
+
Any other values result in them being Uint16
−
[SHORT:2] - size - this stores the size of the data string, in a host byte short integer (uint16)
+
17 9B = 155
−
[BYTE:1] - version number
+
18 64 = 100
−
[BYTE:1] - end counter - this byte is the end counter for recursing through
+
Thought to be a ratio.
−
        - usually always the total number of elements
+
  
−
(repeated data)
+
</pre>
−
[BYTE:l] - id - this is an id number that represents a customization feature for an item or character
+
−
              - the term ID and index are used interchangably for this
+
  
−
[VALUE] - value - value normally appears as a single unsigned byte after the id, except for the cause of 0xFF
+
=Index Attributes=
−
        - if it is 0xFF, a byte following it appears to be an extended set of numbers
+
<pre>
−
        - 0xFF, 0x01 = 0x00 as a numeric
+
Any attribute prefixed with index are single part attributes only having one value.
−
        - 0xFF, 0x02 = 0xFF as a numeric
+
0x24 index_age  range from 0 - 3
  
−
(footer)
+
Any index with the word color are linked to the color pallet for that attribute.
−
the footer appears at the end of the data segments normally as a 0xFF, 0X03
+
0x14 index_color_skin
−
It is believed that use of 0xFF as an index triggers the extended set again, and 0x03 is the "end" type flag
+
</pre>
  
−
 
+
=Profile File Structure=
−
EXAMPLE(all numbers are in hexadecimal):
+
Used by the client to display the toon in the Character Selection Screen.
−
 
+
**Note Height isn't stored in this file, as all toons are scaled to 1 in this screen.
−
0E 00 01 04 04 AB 10 FF 01 0D FF 02 09 FE FF 03
+
  True height is stored on the server and sent in a game packet.
−
 
+
<pre>
−
breakdown:
+
Work in Progress
−
0E 00 - size, in the example 14 bytes
+
−
01 - version
+
−
04 - counter, total elements are 4
+
−
 
+
−
04 AB - ID of 04, with a value of AB
+
−
10 FF 01 - ID of 10,with value of 0(extended set)
+
−
0D FF 02 - ID of 0D, with a value of FF(extended set)
+
−
09 FE - ID of 09, value FE
+
−
 
+
−
FF - escape
+
−
FF 01 = 0 (actual 0 is NULL = terminate string)
+
−
FF 02 = 0xff
+
−
FF 03 - footer, assumed to be extended index number that is an "end" flag
+
 
</pre>
 
</pre>
  
 +
=Attributes=
 
<pre>
 
<pre>
 
0x01 index_color_2
 
0x01 index_color_2
Line 283: Line 165:
  
 
thks to cR for additions
 
thks to cR for additions
 +
 +
=Out Dated - Xeno TRAC Docs=
 +
 +
<pre>
 +
Customization features are stored in a data string following this format:
 +
[DATATYPE:SIZE] - explaination
 +
 +
(header)
 +
[SHORT:2] - size - this stores the size of the data string, in a host byte short integer (uint16)
 +
[BYTE:1] - version number
 +
[BYTE:1] - end counter - this byte is the end counter for recursing through
 +
        - usually always the total number of elements
 +
 +
(repeated data)
 +
[BYTE:l] - id - this is an id number that represents a customization feature for an item or character
 +
              - the term ID and index are used interchangably for this
 +
 +
[VALUE] - value - value normally appears as a single unsigned byte after the id, except for the cause of 0xFF
 +
        - if it is 0xFF, a byte following it appears to be an extended set of numbers
 +
        - 0xFF, 0x01 = 0x00 as a numeric
 +
        - 0xFF, 0x02 = 0xFF as a numeric
 +
 +
(footer)
 +
the footer appears at the end of the data segments normally as a 0xFF, 0X03
 +
It is believed that use of 0xFF as an index triggers the extended set again, and 0x03 is the "end" type flag
 +
 +
 +
EXAMPLE(all numbers are in hexadecimal):
 +
 +
0E 00 01 04 04 AB 10 FF 01 0D FF 02 09 FE FF 03
 +
 +
breakdown:
 +
0E 00 - size, in the example 14 bytes
 +
01 - version
 +
04 - counter, total elements are 4
 +
 +
04 AB - ID of 04, with a value of AB
 +
10 FF 01 - ID of 10,with value of 0(extended set)
 +
0D FF 02 - ID of 0D, with a value of FF(extended set)
 +
09 FE - ID of 09, value FE
 +
 +
FF - escape
 +
FF 01 = 0 (actual 0 is NULL = terminate string)
 +
FF 02 = 0xff
 +
FF 03 - footer, assumed to be extended index number that is an "end" flag
 +
</pre>

Revision as of 10:59, 23 November 2011

Character Appearance - Base Packets

Blend Attributes

Any attribute that is blend_whatever_# (see chart below) is a 2 part system.
0x17	blend_lipfullness_0
0x18	blend_lipfullness_1

They are believed to be a percentage/ratio of each other.
when the value is 0 
17 FF 01
18 FF 02

When the Value is 100 they are
17 FF 02
18 FF 01
Swapping the 01 and 02.

When the value is 50%
17 FF 01
18 FF 01

Any other values result in them being Uint16
17 9B = 155
18 64 = 100
Thought to be a ratio.

Index Attributes

Any attribute prefixed with index are single part attributes only having one value.
0x24	index_age  range from 0 - 3

Any index with the word color are linked to the color pallet for that attribute.
0x14	index_color_skin

Profile File Structure

Used by the client to display the toon in the Character Selection Screen.

    • Note Height isn't stored in this file, as all toons are scaled to 1 in this screen.
 True height is stored on the server and sent in a game packet.
Work in Progress

Attributes

0x01	index_color_2
0x02	index_color_1
0x03	blend_skinny
0x04	blend_muscle
0x05	blend_fat
0x06	blend_nosedepth_1
0x07	blend_eyesize_0
0x08	blend_nosedepth_0
0x09	blend_noselength_1
0x0A	blend_eyesize_1
0x0B	blend_cheeks_0
0x0C	blend_eyedirection_0
0x0D	blend_noselength_0
0x0E	blend_eyedirection_1
0x0F	blend_nosewidth_0
0x10	blend_nosewidth_1
0x11	blend_cheeks_1
0x12	blend_jaw_1
0x13	blend_jaw_0
0x14	index_color_skin
0x15	blend_lipwidth_0
0x16	blend_lipwidth_1
0x17	blend_lipfullness_0
0x18	blend_lipfullness_1
0x19	blend_ears_0
0x1A	blend_ears_1
0x1B	blend_chinsize_1
0x1C	blend_chinsize_0
0x1D	index_color_3
0x1E	index_style_eyebrow
0x1F	index_color_facial_hair
0x20	blend_eyeshape_1
0x21	blend_eyeshape_0
0x22	index_color_0
0x23	index_style_beard
0x24	index_age
0x25	index_style_freckles
0x26	index_texture_1
0x27	blend_sensor_0
0x28	blend_sensor_1
0x29	blend_asian_0
0x2A	index_color_skin
0x2B	blend_flat_chest
0x2C	index_color_eyeshadow
0x2D	index_style_eyeshadow
0x2E	index_color_lips
0x2F	index_texture_1
0x30	index_color_pattern
0x31	index_color_4
0x32	index_color_hair
0x33	blend_nosesize_1
0x34	blend_nosesize_0
0x35	index_style_tattoo
0x36	index_color_tattoo
0x37	index_color_tat
0x38	index_color_0
0x39	blend_headsize_0
0x3A	blend_headsize_1
0x3B	index_color_pattern
0x3C	index_color_eye
0x3D	muscle_fat
0x3E	blend_ear_0
0x3F	blend_ear_1
0x40	index_color_eyebrow
0x41	index_color_5
0x42	blend_brow_1
0x43	blend_brow_0
0x44	index_style_eyebrows
0x45	index_color_test
0x46	index_color_107
0x47	index_color_4
0x48	index_color_3
0x49	index_color_1
0x4A	index_color_blade
0x4B	index_color_fur
0x4C	blend_robe_belt
0x4D	blend_eyeslant_0
0x4E	blend_chin_1
0x4F	index_color_2
0x50	blend_chin_0
0x51	blend_robe_bandolier
0x52	blend_jacket_belt
0x53	blend_chest_backpack
0x54	blend_jacket_bandolier
0x55	index_glide
0x56	index_turn_rate_max
0x57	index_speed_max
0x58	index_banking
0x59	index_hover_height
0x5A	index_accel_max
0x5B	index_accel_min
0x5C	index_decel
0x5D	index_damp_height
0x5E	index_turn_rate_min
0x5F	index_slope_mod
0x60	index_damp_roll
0x61	index_auto_level
0x62	index_damp_pitch
0x63	index_color_patterns
0x64	index_style_hair
0x65	index_patterns
0x66	index_texture
0x67	index_style_beard_2
0x68	blend_lipfulness_0
0x69	blend_lipfulness_1
0x6A	index_style_eyebrow
0x6B	index_texture
0x6C	index_style_hair
0x6D	blend_robe
0x6E	index_style_beard
0x6F	blend_jacket
0x70	index_style_beard_2
0x71	blend_jacket_robe
0x72	blend_head_0
0x73	blend_head_1

thks to cR for additions

Out Dated - Xeno TRAC Docs

Customization features are stored in a data string following this format:
[DATATYPE:SIZE] - explaination

(header)
[SHORT:2] - size - this stores the size of the data string, in a host byte short integer (uint16)
[BYTE:1] - version number 
[BYTE:1] - end counter - this byte is the end counter for recursing through
         - usually always the total number of elements

(repeated data)
[BYTE:l] - id - this is an id number that represents a customization feature for an item or character
              - the term ID and index are used interchangably for this

[VALUE] - value - value normally appears as a single unsigned byte after the id, except for the cause of 0xFF
        - if it is 0xFF, a byte following it appears to be an extended set of numbers
        - 0xFF, 0x01 = 0x00 as a numeric
        - 0xFF, 0x02 = 0xFF as a numeric

(footer)
the footer appears at the end of the data segments normally as a 0xFF, 0X03
It is believed that use of 0xFF as an index triggers the extended set again, and 0x03 is the "end" type flag


EXAMPLE(all numbers are in hexadecimal):

0E 00 01 04 04 AB 10 FF 01 0D FF 02 09 FE FF 03

breakdown:
0E 00 - size, in the example 14 bytes
01 - version
04 - counter, total elements are 4

04 AB - ID of 04, with a value of AB
10 FF 01 - ID of 10,with value of 0(extended set)
0D FF 02 - ID of 0D, with a value of FF(extended set)
09 FE - ID of 09, value FE

FF - escape
FF 01 = 0 (actual 0 is NULL = terminate string)
FF 02 = 0xff
FF 03 - footer, assumed to be extended index number that is an "end" flag