Talk:AGED
Here are a few notes about the AGED resource that is found on each sim character package.
The listcnt property is the length of a list of items defined by the properties lsn, lkn and len_0, where n falls into the range from 0 to the value of the listcnt property minus 1.
Each item corresponds to this structure:
* S; unknown purpose, always "1" * K; formatted as string, but always parsed as a 32 bit integer. The high 16 bits define the SkinCategory, while the low 16 bits define the OutfitType. The OutfitType enumeration has the following values: Hair (0x01), Face (0x02), Top (0x04), FullBody (0x08) and Bottom (0x10) * E0; index in the 3IDR resource that points to the Cpf.
Here is an actual example (the S values have been omitted):
listcnt = 0x0000001C lk0 = "65537" le0_0 = 0x0000000B lk1 = "65538" le1_0 = 0x0000000C lk2 = "65540" le2_0 = 0x0000000D lk3 = "65552" le3_0 = 0x0000000E lk4 = "524289" le4_0 = 0x0000000B lk5 = "524290" le5_0 = 0x0000000C lk6 = "524296" le6_0 = 0x00000012 lk7 = "1048577" le7_0 = 0x0000000B lk8 = "1048578" le8_0 = 0x0000000C lk9 = "1048584" le9_0 = 0x00000013 lk10 = "2097153" le10_0 = 0x0000000B lk11 = "2097154" le11_0 = 0x0000000C lk12 = "2097160" le12_0 = 0x00000014 lk13 = "4194305" le13_0 = 0x0000000B lk14 = "4194306" le14_0 = 0x0000000C lk15 = "4194312" le15_0 = 0x00000015 lk16 = "8388609" le16_0 = 0x00000016 lk17 = "8388610" le17_0 = 0x00000017 lk18 = "8388612" le18_0 = 0x00000018 lk19 = "8388624" le19_0 = 0x00000019 lk20 = "16777217" le20_0 = 0x0000000B lk21 = "16777218" le21_0 = 0x0000000C lk22 = "33554433" le22_0 = 0x0000000B lk23 = "33554434" le23_0 = 0x0000000C lk24 = "33554440" le24_0 = 0x0000001A lk25 = "67108865" le25_0 = 0x0000000B lk26 = "67108866" le26_0 = 0x0000000C lk27 = "67108872" le27_0 = 0x00000005
By parsing the K value, the following index table is built:
Everyday Swimwear PJ Formal Undies Skin Pregnant Activewear Unknown Hair 11 11 11 11 11 22 11 11 11 Face 12 12 12 12 12 23 12 12 12 Top 13 24 Body 18 19 20 21 26 5 Bottom 14 25
Using each index on the 3IDR item array, it's possible to determine the sim's current clothing.
For reference, the sim's 3IDR resource follows:
0: Resource Node -FFFFFFFF-10545497FF46D9D5 1: UI Data 2: Resource Node -1C0532FA-67EAE919FFF14E1D 3: GZPS (puhairbald_stubble_brown) 4: GZPS -FFFFFFFF-0000000000000001 5: GZPS (pubodyonepieceshortscollar_cordcoveralls) 6: GZPS (pubodybadger_polarbear) 7: GZPS (pubodydiaper_white) 8: GZPS (puhairbald_s1) 9: GZPS (pubodynaked_nude_s1) 10: Resource Node -1C0532FA-CB59BFC1FF85D8C7 11: GZPS (cmhairshortgel_brown) 12: GZPS -FFFFFFFF-0000000000000002 13: GZPS (cutopshortsleevecollar_red) 14: GZPS (cubottombaggypants_carpenterkhaki) 15: GZPS (cubodypirate_redstripe) 16: GZPS (cutopshortsleevecollar_greendkgreepolo) 17: GZPS (cmbottomcowboyjeans_blue) 18: GZPS (cmbodybigshorts_lemonlimeswimtrunks) 19: GZPS (cubodypuffypj_creamteddybear) 20: GZPS (cmbodyopencoatlongpants_formalgreen) 21: GZPS (cmbodyovershirtshorts_blue) 22: GZPS (cuhairbald_skin_s1) 23: GZPS (cuface_s1) 24: GZPS (cutopnaked_nude_s1) 25: GZPS (cubottomnaked_nude_s1) 26: GZPS (cubodyjumper_shirtovershorts)
However, there are a few quirks regarding the SkinCategory:
* The Everyday category uses the value 0x0001 instead of 0x0007. * The Unknown category has the value 0x0400.
It should also be noted that the items that correspond to the OutfitType Face point to the local Cpf in the sim character package.
However, this "clothing" table is not related to the sim's wardrobe, it contains only the items that the sim is actually "wearing".
It now seems that pets's Age Data resource replaces the functionality of the TXMT's and even the character's face mesh.
The AGED resource contains two new lists, let's name them the Coat and Psd lists for now :P
The Coat list has its length defined by the coatlayers property. Each item is defined by the coattexn, coatmaskn and coatmaskamtn properties.
coattex: Guid (texture?) coatmask: Guid (texture mask?) coatmaskamt: Integer (material flags/layer/index?)
It appears that this list replaces the MaterialDefinitions that otherwise appear on normal sim's packages.
Example:
coattex1: b2bfc7c1-0e5d-4161-a221-6c451a5b0fa7 coatmask1: 0b292be0-3da1-4d0c-8d16-ae7e45148673 coatmaskamt1: 0x000000FF ...
The Psd list has the length defined by the numpsd property. Each item is defined with a sigle property psdn.
The value of each psd property contains three values separated by a colon (:)
Example:
psd0: 621a7c1e-8bf0-466c-bbf5-5e98922aa75a:1:1.000000 psd1: body;:3:1.000000 ...
This seems to define the overall shape of the pet sim, and not only the "face".