Character Appearance (Sequence)
From SWGANH Wiki
Character Appearance - Base Packets
Contents
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