The AgeData Resource

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; integer, defines the size of the E (index) list.
  • 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.
  • E[0..S-1]; list of indices in the 3IDR resource, each pointing to a Cpf resource.

* With the Pests Expansion installed, the properties have different names, as shown in this table:

Before Pets With Pets
listcnt listcntStd
lsn lssn
lkn lksn
len_s lesn_s

Here is an actual example (the S values have been omitted, and all equal 1):

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)

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".