Difference between revisions of "Sims 4:0x2A8A5E22"
From SimsWiki
| (5 intermediate revisions by one user not shown) | |||
| Line 1: | Line 1: | ||
| + | Trayitem files are used to hold Lot metadata that is used by the Sims 4. It is essentially a serialized Protobuf file, and uses VarInt to store numbers. An example dump of a trayitem file is as follows (incomplete): | ||
| + | |||
| + | <pre> | ||
| + | Loading ./tray/0x00000002!0x023801bb9522020d.trayitem | ||
| + | Lot name: String (9): Rivendell | ||
| + | Lot Description: String (165): #fantasy #elven houses in a nice #green #valley with #waterfall, #slope, #stream, #cave, #bridge and different charateristic rooms. NO CC, MOO used. By Artrui @ MTS | ||
| + | Creator UUID: VarInt: 2474641876 | ||
| + | Creator Name: String (9): Blumenrui | ||
| + | Favourites: VarInt: 0 | ||
| + | Downloads: VarInt: 0 | ||
| + | Unknown: string(14) "01dfc608220a6f" | ||
| + | Lot Width: VarInt: 40 | ||
| + | Lot Height: VarInt: 30 | ||
| + | Lot Price Category (Low to High): VarInt: 6 | ||
| + | Lot Value (Price Value): VarInt: 776843 | ||
| + | Number of Bedrooms: VarInt: 3 | ||
| + | Number of Bathrooms: VarInt: 4 | ||
| + | Architecture Value: VarInt: 370593 | ||
| + | Num Thumbnails: VarInt: 7 | ||
| + | Front Side Thumbnail: VarInt: 0 | ||
| + | Unknown2: VarInt: 4239733099 | ||
| + | Unknown3: VarInt: 4 | ||
| + | </pre> | ||
| + | |||
| + | Full specification to follow. | ||
| + | |||
<PRE> | <PRE> | ||
Uint32 (0x00) | Uint32 (0x00) | ||
| Line 5: | Line 31: | ||
Byte (0x08) | Byte (0x08) | ||
| − | Byte | + | * Byte (Changing this single byte = unreadable by the game. Perhaps a checksum?) |
| − | Byte (0xC7) (0xB4) | + | Byte |
| − | Byte | + | (0xC7) |
| − | Byte x 4 (92 AB C2 F5) | + | (0xB4) - |
| + | (0x80) | ||
| + | (0x94) | ||
| + | |||
| + | Byte | ||
| + | (0x80) | ||
| + | (0x94) | ||
| + | (0xB8) | ||
| + | (0xE4) | ||
| + | (0x8C) | ||
| + | (0x98) | ||
| + | (0xD0) | ||
| + | |||
| + | (Above 2 bytes: Combinations seen) | ||
| + | 80 98 | ||
| + | 80 94 | ||
| + | 80 D0 | ||
| + | 80 B8 | ||
| + | |||
| + | 80 98 - Nothing on lot | ||
| + | 80 FC - Tags | ||
| + | 80 E4 - 1 trait | ||
| + | 80 D8 - 1 trait + Tags | ||
| + | 80 E0 - All 3 traits | ||
| + | 80 F4 - 1 trait | ||
| + | |||
| + | Byte (Varies) | ||
| + | |||
| + | Byte x 4 | ||
| + | (92 AB C2 F5) | ||
| + | (B9 B7 80 9C) | ||
| + | (9C AB C2 9F) | ||
| + | (AC AB C2 B9) | ||
| + | (A6 AB C2 A9) | ||
| − | Byte x | + | Byte x 1 (0F) (02) (08) |
| + | Byte x 2 (10 02) | ||
| + | Byte (10) (1A) | ||
Byte x 4 (10 00 00 00) | Byte x 4 (10 00 00 00) | ||
| Line 24: | Line 85: | ||
Byte x Length (String) - Lot Description | Byte x Length (String) - Lot Description | ||
| − | Byte (0x30) | + | Byte (0x30) - Creators UUID |
Byte x 5 Seen: (F3 B9 A8 B1 08) (DD 80 E9 E4 8D) | Byte x 5 Seen: (F3 B9 A8 B1 08) (DD 80 E9 E4 8D) | ||
| Line 31: | Line 92: | ||
Byte x Length (String) - Creators Name | Byte x Length (String) - Creators Name | ||
| − | Byte (0x40) | + | Byte (0x40) - Favourites |
Byte (0x00)? | Byte (0x00)? | ||
| − | Byte (0x48) | + | Byte (0x48) - Downloads |
Byte (0x00)? | Byte (0x00)? | ||
Byte (0x52) | Byte (0x52) | ||
| − | Byte x | + | Byte x 3 |
Seen: | Seen: | ||
| − | 34 0A 20 | + | 34 0A 20 |
| − | 36 0A 22 | + | 36 0A 22 |
| + | 3E 0A 20 | ||
| + | 3E 0A 2A | ||
| + | 46 0A 32 | ||
| + | 4E 0A 3A | ||
| + | 51 0A 3A | ||
| + | |||
| + | Byte x 4 (0x 08 C6 DF 01) | ||
Byte (0x10) | Byte (0x10) | ||
| Line 49: | Line 117: | ||
Byte (Lot Height) Seen: 0x14 0x1E | Byte (Lot Height) Seen: 0x14 0x1E | ||
| − | Byte (0x20) | + | Byte (0x20) - Lot Price Category (1 - 6) aka Price Level |
Byte (0x01)? | Byte (0x01)? | ||
| − | Byte (0x28) | + | Byte (0x28) - Lot Value aka Price Value |
Byte Seen: 0x32 (0xB4 01) (0x8B B5 2F) | Byte Seen: 0x32 (0xB4 01) (0x8B B5 2F) | ||
| Line 61: | Line 129: | ||
Byte Number of bathrooms | Byte Number of bathrooms | ||
| − | Byte (0x40) Can be multiple bytes! | + | Byte (0x40) Can be multiple bytes! - Architecture Value |
Byte Seen (0x3C) (0xB4 01) (0x00) (0x A1 CF 16) | Byte Seen (0x3C) (0xB4 01) (0x00) (0x A1 CF 16) | ||
| − | Byte (0x48) | + | Byte (0x48) Num Thumbnails |
Byte Seen 0x03 0x04 | Byte Seen 0x03 0x04 | ||
| − | Byte (0x50) | + | Byte (0x50) Front side |
Byte Seen 0x03 | Byte Seen 0x03 | ||
| − | Byte (0x58) | + | Byte (0x58) Venue type? + Groud floor index? |
Byte x 5 (EB E2 D4 E5 0F) | Byte x 5 (EB E2 D4 E5 0F) | ||
| − | Byte (0x60) | + | Byte (0x60) |
| − | Byte x | + | Byte (0x02) |
| + | |||
| + | (Optional) | ||
| + | Byte 0x72 | ||
| + | Byte x 9 (Trait requirements) | ||
| + | Seen: | ||
| + | 18 1E 33 02 00 00 00 00 00 | ||
| + | 10 1E 33 02 00 00 00 00 00 | ||
| + | 08 1E 33 02 00 00 00 00 00 | ||
| + | 18 00 7B 02 00 00 00 00 00 1F 33 02 00 00 00 00 00 | ||
| + | 18 1A 33 02 00 00 00 00 00 19 33 02 00 00 00 00 00 | ||
| + | |||
| + | |||
| + | Byte x 6 (Building type?) | ||
| + | 78 00 20 00 2B 00) | ||
| + | |||
Byte (0x42) | Byte (0x42) | ||
| Line 83: | Line 166: | ||
Byte (0x60) | Byte (0x60) | ||
| − | Byte x | + | Byte x 3 Seen: (0xC1 A8 09 ) (0xC0 EB 06) (0x AA B0 04) (0xBC B0 04) |
| + | |||
| + | Byte x 4 (CB or C9) | ||
| + | (CB 3E 9E 28) (CB 3E 9E 28) (C8 3E 9E 28) | ||
| + | |||
| + | (Optional?) | ||
| + | Byte 0x58 | ||
| + | * Byte x 2 (These 2 vary on same lot saved twice) | ||
| + | |||
| + | Byte (AC) | ||
| − | |||
| − | |||
Byte x 3 | Byte x 3 | ||
| − | A3 ED 01 | + | (A3 ED 01) (80 CA 04) |
Bytes x 9 | Bytes x 9 | ||
Latest revision as of 12:36, 14 May 2019
Trayitem files are used to hold Lot metadata that is used by the Sims 4. It is essentially a serialized Protobuf file, and uses VarInt to store numbers. An example dump of a trayitem file is as follows (incomplete):
Loading ./tray/0x00000002!0x023801bb9522020d.trayitem Lot name: String (9): Rivendell Lot Description: String (165): #fantasy #elven houses in a nice #green #valley with #waterfall, #slope, #stream, #cave, #bridge and different charateristic rooms. NO CC, MOO used. By Artrui @ MTS Creator UUID: VarInt: 2474641876 Creator Name: String (9): Blumenrui Favourites: VarInt: 0 Downloads: VarInt: 0 Unknown: string(14) "01dfc608220a6f" Lot Width: VarInt: 40 Lot Height: VarInt: 30 Lot Price Category (Low to High): VarInt: 6 Lot Value (Price Value): VarInt: 776843 Number of Bedrooms: VarInt: 3 Number of Bathrooms: VarInt: 4 Architecture Value: VarInt: 370593 Num Thumbnails: VarInt: 7 Front Side Thumbnail: VarInt: 0 Unknown2: VarInt: 4239733099 Unknown3: VarInt: 4
Full specification to follow.
Uint32 (0x00)
Uint32 (Bytes Until EOF)
Byte (0x08)
* Byte (Changing this single byte = unreadable by the game. Perhaps a checksum?)
Byte
(0xC7)
(0xB4) -
(0x80)
(0x94)
Byte
(0x80)
(0x94)
(0xB8)
(0xE4)
(0x8C)
(0x98)
(0xD0)
(Above 2 bytes: Combinations seen)
80 98
80 94
80 D0
80 B8
80 98 - Nothing on lot
80 FC - Tags
80 E4 - 1 trait
80 D8 - 1 trait + Tags
80 E0 - All 3 traits
80 F4 - 1 trait
Byte (Varies)
Byte x 4
(92 AB C2 F5)
(B9 B7 80 9C)
(9C AB C2 9F)
(AC AB C2 B9)
(A6 AB C2 A9)
Byte x 1 (0F) (02) (08)
Byte x 2 (10 02)
Byte (10) (1A)
Byte x 4 (10 00 00 00)
Byte x 13 (0x00)
Byte (0x22)
Byte (Length)
Byte x Length (String) - Lot Name
Byte (0x2A)
Byte (Length)
Byte x Length (String) - Lot Description
Byte (0x30) - Creators UUID
Byte x 5 Seen: (F3 B9 A8 B1 08) (DD 80 E9 E4 8D)
Byte (0x3A)
Byte (Length)
Byte x Length (String) - Creators Name
Byte (0x40) - Favourites
Byte (0x00)?
Byte (0x48) - Downloads
Byte (0x00)?
Byte (0x52)
Byte x 3
Seen:
34 0A 20
36 0A 22
3E 0A 20
3E 0A 2A
46 0A 32
4E 0A 3A
51 0A 3A
Byte x 4 (0x 08 C6 DF 01)
Byte (0x10)
Byte (Lot Width) Seen: 0x1E 0x28
Byte (0x18)
Byte (Lot Height) Seen: 0x14 0x1E
Byte (0x20) - Lot Price Category (1 - 6) aka Price Level
Byte (0x01)?
Byte (0x28) - Lot Value aka Price Value
Byte Seen: 0x32 (0xB4 01) (0x8B B5 2F)
Byte (0x30)
Byte Number of bedrooms
Byte (0x38)
Byte Number of bathrooms
Byte (0x40) Can be multiple bytes! - Architecture Value
Byte Seen (0x3C) (0xB4 01) (0x00) (0x A1 CF 16)
Byte (0x48) Num Thumbnails
Byte Seen 0x03 0x04
Byte (0x50) Front side
Byte Seen 0x03
Byte (0x58) Venue type? + Groud floor index?
Byte x 5 (EB E2 D4 E5 0F)
Byte (0x60)
Byte (0x02)
(Optional)
Byte 0x72
Byte x 9 (Trait requirements)
Seen:
18 1E 33 02 00 00 00 00 00
10 1E 33 02 00 00 00 00 00
08 1E 33 02 00 00 00 00 00
18 00 7B 02 00 00 00 00 00 1F 33 02 00 00 00 00 00
18 1A 33 02 00 00 00 00 00 19 33 02 00 00 00 00 00
Byte x 6 (Building type?)
78 00 20 00 2B 00)
Byte (0x42)
Byte 00 (Tags length)
(If tagLength > 0) Then read string of tags
Byte x 4 (0x50 10 58 00)
Byte (0x60)
Byte x 3 Seen: (0xC1 A8 09 ) (0xC0 EB 06) (0x AA B0 04) (0xBC B0 04)
Byte x 4 (CB or C9)
(CB 3E 9E 28) (CB 3E 9E 28) (C8 3E 9E 28)
(Optional?)
Byte 0x58
* Byte x 2 (These 2 vary on same lot saved twice)
Byte (AC)
Byte x 3
(A3 ED 01) (80 CA 04)
Bytes x 9
88 01 00 A0 01 00 AB 01 00