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 09: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