Author Topic: Reference: The AgeData Resource  (Read 2413 times)

0 Members and 1 Guest are viewing this topic.

Offline miros1

  • Face Collector
  • Administrator
  • Whippy Whippersnapper
  • *****
  • Posts: 3697
  • Gender: Female
  • Face Collector
    • The Wooden Simolean
Reference: The AgeData Resource
« on: October 16, 2012, 02:13:53 PM »
    Contains information about the AGED resource that is found on each sim character package. The article focuses on the reference table that defines the clothing of a sim.

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


Offline miros1

  • Face Collector
  • Administrator
  • Whippy Whippersnapper
  • *****
  • Posts: 3697
  • Gender: Female
  • Face Collector
    • The Wooden Simolean
Quick Reference Tables
« Reply #1 on: October 16, 2012, 02:15:08 PM »
Quick reference tables for the known Category/Outfit pair values used within the AgeData resource. The values are presented in decimal format in the lk values.

SkinCategory Category    Value
Casual 1    0x0001
Casual 2    0x0002
Casual 3    0x0004
Swimwear    0x0008
PJ    0x0010
Formal    0x0020
Undies    0x0040
Skin    0x0080
Pregnant    0x0100
Activewear    0x0200
Try On    0x0400
Naked Overlay    0x0800
Outerwear    0x1000
OutfitType Outfit    Value
Hair    0x0001
Face    0x0002
Top    0x0004
FullBody    0x0008
Bottom    0x0010
Accessory    0x0020
Tail Long    0x0040
Ears Up    0x0080
Tail Short    0x0100
Ears Down    0x0200
Brush Tail Long    0x0400
Brush Tail Short    0x0800
Spitz Tail    0x1000
Brush Spitz Tail    0x2000

Offline miros1

  • Face Collector
  • Administrator
  • Whippy Whippersnapper
  • *****
  • Posts: 3697
  • Gender: Female
  • Face Collector
    • The Wooden Simolean
Other References
« Reply #2 on: October 16, 2012, 02:19:51 PM »
The mysteries of Sim DNA unraveled
    A thread at MTS2 containing essential information and tips about sim genetics.

Clothing & hair flags notes
    Provides a list of the known values for the flags field in PropertySet resources in clothes and hairstyles packages.

Changing Dominant/Recessive Values on Skin and Eyes
    Contains information on how to change the genetic "weight" of skincolor and eyecolor packages.