More Awesome Than You!

The Bowels of Trogdor => The Small Intestines of Trogdor => Topic started by: dizzy on 2006 December 27, 03:22:42



Title: AGED Notes
Post by: dizzy on 2006 December 27, 03:22:42
I don't know if there are better/more accurate notes on Age Data, but here's what I've come up with so far:

Code:
Age Data (AGED) notes:
----------------------

age (uint): 1 = toddler, 2 = child, 4 = teen, 8 = adult, 0x10 = elder, 0x20 = baby, 0x40 = young adult
gender (uint): 1 = female, 2 = male
species (uint): 1 = human, 2 = large dog, 4 = small dog, 8 = cat
stretch (single): 1 = normal (adult)
skincolor (str): id
haircolor (str): id
eyecolor (str): id
fitness (uint): 0 = normal, 1 = fit, 2 = fat

listcnt (uint): list count (human skin)
ls%d (str): 0 = none, 1 = use 3IDR (instance 1)
lk%d (str): key value
le%d_%d (uint): entry (index starting at 0)

key = lo key + (hi key << 16)

lo key = part (1 = Hair, 2 = Face, 4 = Top, 8 = Body, 0x10 = Bottom, 0x20 = Accessory,
  0x40 = TailLong, 0x80 = EarsUp, 0x100 = TailShort, 0x200 = EarsDown, 0x400 = BrushTailLong,
  0x800 = BrushTailShort, 0x1000 = SpitzTail, 0x2000 = BrushSpitzTail)

hi key = category (1 = Casual1, 2 = Casual2, 4 = Casual3, 8 = Swim, 0x10 = Sleep, 0x20 = Formal,
  0x40 = Underwear, 0x80 = Naked, 0x100 = Maternity, 0x200 = Gym, 0x400 = TryOn, 0x800 = NakedOverlay)

listcntStd (uint): list count (pet skin)
lss%d (str): instance of 3D ID reference (3IDR)
lks%d (str): key value
les%d_%d (uint): entry

listcndOverride (uint): list count (pet skin override)
lso%d (str): instance of 3D ID reference (3IDR)
lko%d (str): key value
leo%d_%d (str): entry

alteyecolor (str): id

petbodyoption%d (str): id

coatlayers (uint): layer count
coattex%d (str): id
coatmask%d (str): id
coatmaskamt%d (uint): amount (0 .. 0xFF)

numpsd (uint): psd count
psd%d (str): id:(int)p:(single)a

numpbd (uint): pbd count
pbd%d (str): id

numpacc (uint): pacc count
pacc%d (str): id

coatflags (uint): flags
coatshapemod (str): id
coatshapemodamt (single): amount


Title: Re: AGED Notes
Post by: Theo on 2006 December 27, 04:16:38
listcnt (uint): list count (human skin)
ls%d (str): 0 = none, 1 = use 3IDR (instance 1)
lk%d (str): key value
le%d_%d (uint): entry (index starting at 0)


This AGED sample makes me believe the s properties contain the size of their respective e lists.
Code:
lss5 = 2
lks5 = 524296
les5_0 = 0x00000004
les5_1 = 0x00000005

Here, the 3IDR instance 2 (if the s parameter were to be the 3IDR instance) only has two items, less than the index 4 or 5.
Code:
0: Resource Node-FFFFFFFF-E79E3CB1-FFE962E2
1: UI Data-00000000-00000000-00000000

It would then mean that two property sets can be simultaneously assigned (overlaid?) to a given category/outfit.

I'm curious about the TryOn (0x400) category, in what circumstances can a particular property set be assigned to that category?



Title: Re: AGED Notes
Post by: J. M. Pescado on 2006 December 27, 10:20:49
It would then mean that two property sets can be simultaneously assigned (overlaid?) to a given category/outfit.
Presumably, this corresponds to the "top" and "bottom" of an outfit, which only everyday outfits presently use.

I'm curious about the TryOn (0x400) category, in what circumstances can a particular property set be assigned to that category?
The "Try On" category is what is typically assigned when a sim "Tries on" an outfit. It would be unusual for an outfit to remain saved there for a significant length of time, since typically a sim tries on the outfit, then changes out of it immediately. It is essentially a temp value and anything you find there is pretty much garbage and has no meaningful function in the normal course of gameplay.


Title: Re: AGED Notes
Post by: Theo on 2006 December 27, 10:34:48
It would then mean that two property sets can be simultaneously assigned (overlaid?) to a given category/outfit.
Presumably, this corresponds to the "top" and "bottom" of an outfit, which only everyday outfits presently use.

That would imply a different k value, which determines the category/outfit pair that should be assigned to the property set.

Looking closer to the k value, 524296 = 0x00080008 would apply to the full body/swimwear combination. Do pets (in the example, a cat) even get to swim? ???

I agree that the TryOn category must be just a residual value, and it's not present on every sim I have inspected.


Title: Re: AGED Notes
Post by: J. M. Pescado on 2006 December 27, 11:20:55
Looking closer to the k value, 524296 = 0x00080008 would apply to the full body/swimwear combination. Do pets (in the example, a cat) even get to swim? ???
Those are likely implementational relics. Pets are probably parsed just like sims, and the irrelevant categories are simply ignored.


Title: Re: AGED Notes
Post by: dizzy on 2006 December 27, 18:28:24
This AGED sample makes me believe the s properties contain the size of their respective e lists.
Code:
lss5 = 2
lks5 = 524296
les5_0 = 0x00000004
les5_1 = 0x00000005

Here, the 3IDR instance 2 (if the s parameter were to be the 3IDR instance) only has two items, less than the index 4 or 5.
Code:
0: Resource Node-FFFFFFFF-E79E3CB1-FFE962E2
1: UI Data-00000000-00000000-00000000

It would then mean that two property sets can be simultaneously assigned (overlaid?) to a given category/outfit.

I'm curious about the TryOn (0x400) category, in what circumstances can a particular property set be assigned to that category?

This sounds about right. Multiple property sets seem to apply wherever you have two or more resources being applied to the same part (for example, vampire fangs in the face).

I would assume that TryOn is just like any other category.  ???


Title: Re: AGED Notes
Post by: dizzy on 2007 January 05, 17:09:06
Quote from: Morague
Hi Dizzy,

I was going to reply in the Aged data thread but i guess i don't have permission to post there.

You have noted that category 0x0400 is the "try on" category. I was wondering how you came up with that?

From all of my investigating I believe it's the category for the uniforms - the outfits the NPCs wear.

I was using the cheats as a guide (if you type "help simoutfit" in the cheat window, you'll see what I mean). It could be 0x400 is the Special outfit (or Special/TryOn). There is a lot of arbitrary weirdness in this game.