ABD0DC63
These files (one per neighborhood/subhood package) describe the trees, roads, bridges and decorations found in neighborhoods/subhoods. This resource has been given the abbreviation NHTR.
Contents |
Main Block
DWORD: Version Listing with Length 37 (Lists neighborhood trees) Listing with Length 123 (Lists roads) Listing with Length 163 (Possibly lists bridges) Listing with Length 37 (Lists neighborhood decorations)
Listing with Length x
WORD: Unknown DWORD: Count n REPEAT BYTE: Unknown (seems to be always 2) x BYTES: Unknown END REPEAT
Here is what we have found so far about the meaning of the Data:
Here's an overview of what we know so far:
- C2 00 00 00
- WORD: Unknown (Always 08 00)
- WORD: Number of 'Tree' list items that follow
- WORD: Unknown (Always 00 00?)
- 1 BYTE: Always 02
- FLOAT: Y position
- FLOAT: X position
- FLOAT: Z position
- FLOAT: Y position
- FLOAT: X position
- FLOAT: Y position
- FLOAT: X position
- 1 BYTE: Unknown (Always 08?)
- DWORD: Rotation
- DWORD: GUID
- WORD: Unknown (Always 03 00)
- WORD: Number of 'Road list' items that follow
- WORD: Unknown (Always 00 00?)
- 1 BYTE: Always 02
- FLOAT: Y position
- FLOAT: X position
- FLOAT: Z position
- FLOAT: Y position top left corner of tile
- FLOAT: X position top right corner of tile
- FLOAT: Y position bottom left corner of tile
- FLOAT: X position bottom right corner of tile
- 1 BYTE: Always 03
- FLOAT: Y position top left corner of tile
- FLOAT: X position top left corner of tile
- FLOAT: Z position top left corner of tile
- DWORD: Unknown data describing orientation
- DWORD: Unknown data describing orientation
- FLOAT: Y position top right corner of tile
- FLOAT: X position top right corner of tile
- FLOAT: Z position top right corner of tile
- DWORD: Unknown data describing orientation
- DWORD: Unknown data describing orientation
- FLOAT: Y position bottom left corner of tile
- FLOAT: X position bottom left corner of tile
- FLOAT: Z position bottom left corner of tile
- DWORD: Unknown data describing orientation
- DWORD: Unknown data describing orientation
- FLOAT: Y position bottom right corner of tile
- FLOAT: X position bottom right corner of tile
- FLOAT: Z position bottom right corner of tile
- DWORD: Unknown data describing orientation
- DWORD: Unknown data describing orientation
- BYTE: Unknown (always 00?)
- WORD: Texture, literally part of the texture file name
- 11 BYTES: Unknown
- WORD: Unknown (Always 03 00)
- WORD: Number of 'Bridge' list items that follow
- WORD: Unknown (Always 00 00?)
- 1 BYTE: Always 02
- FLOAT: Y position
- FLOAT: X position
- FLOAT: Z position
- FLOAT: Y position top left corner of tile
- FLOAT: X position top right corner of tile
- FLOAT: Y position bottom left corner of tile
- FLOAT: X position bottom right corner of tile
- 1 BYTE: Always 03
- FLOAT: Y position top left corner of tile
- FLOAT: X position top left corner of tile
- FLOAT: Z position top left corner of tile
- DWORD: Unknown data describing orientation
- DWORD: Unknown data describing orientation
- FLOAT: Y position top right corner of tile
- FLOAT: X position top right corner of tile
- FLOAT: Z position top right corner of tile
- DWORD: Unknown data describing orientation
- DWORD: Unknown data describing orientation
- FLOAT: Y position bottom left corner of tile
- FLOAT: X position bottom left corner of tile
- FLOAT: Z position bottom left corner of tile
- DWORD: Unknown data describing orientation
- DWORD: Unknown data describing orientation
- FLOAT: Y position bottom right corner of tile
- FLOAT: X position bottom right corner of tile
- FLOAT: Z position bottom right corner of tile
- DWORD: Unknown data describing orientation
- DWORD: Unknown data describing orientation
- 14 BYTES: Unknown
- BYTE: Unknbown (Always 03?)
- 41 BYTES: Unknown
- WORD: Unknown (Always 08 00)
- WORD: Number of 'Neighborhood Decorations' list items that follow
- WORD: Unknown (Always 00 00?)
- 1 BYTE: Always 02
- FLOAT: Y position
- FLOAT: X position
- FLOAT: Z position
- FLOAT: Y position
- FLOAT: X position
- 1 BYTE: Unknown (Always 08?)
- DWORD: GUID
- FLOAT: Rotation
In other words, this is how each known type looks:
:Trees: ::02 YY YY YY YY XX XX XX XX ZZ ZZ ZZ ZZ :: YY YY YY YY XX XX XX XX :: YY YY YY YY XX XX XX XX ::08 RR RR RR RR GG GG GG GG :Roads: ::02 YY YY YY YY XX XX XX XX ZZ ZZ ZZ ZZ :: YY YY YY YY XX XX XX XX :: YY YY YY YY XX XX XX XX ::03 XX XX XX XX YY YY YY YY ZZ ZZ ZZ ZZ OO OO OO OO OO OO OO OO :: XX XX XX XX YY YY YY YY ZZ ZZ ZZ ZZ OO OO OO OO OO OO OO OO :: XX XX XX XX YY YY YY YY ZZ ZZ ZZ ZZ OO OO OO OO OO OO OO OO :: XX XX XX XX YY YY YY YY ZZ ZZ ZZ ZZ OO OO OO OO OO OO OO OO ::00 TT TT ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? :Bridges: ::02 YY YY YY YY XX XX XX XX ZZ ZZ ZZ ZZ :: YY YY YY YY XX XX XX XX :: YY YY YY YY XX XX XX XX ::03 XX XX XX XX YY YY YY YY ZZ ZZ ZZ ZZ OO OO OO OO OO OO OO OO :: XX XX XX XX YY YY YY YY ZZ ZZ ZZ ZZ OO OO OO OO OO OO OO OO :: XX XX XX XX YY YY YY YY ZZ ZZ ZZ ZZ OO OO OO OO OO OO OO OO :: XX XX XX XX YY YY YY YY ZZ ZZ ZZ ZZ OO OO OO OO OO OO OO OO ::00 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ::03 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? :Decorations: ::02 YY YY YY YY XX XX XX XX ZZ ZZ ZZ ZZ :: YY YY YY YY XX XX XX XX :: YY YY YY YY XX XX XX XX ::08 GG GG GG GG RR RR RR RR
The X-Y plane has it's origin at the top left of the neighborhood. Positive X's go Right. Positive Y's go down.
Example
A 4 byte header (Always Present)
- A 6 byte subsection header for trees (Always present)
- n * 38 bytes (where n is the number of trees in the Hood, these are present only if there are trees in the Hood).
- A 6 byte subsection header for roads (Always present)
- n * 124 bytes (where n is the number of road tiles in the Hood, these are present only if there are roads in the Hood).
- A 6 byte subsection header probably for bridges (Always present)
- n * 164 bytes (where n is the number of bridge tiles in the Hood, these are present only if there are bridges in the Hood).
- A 6 byte subsection header for decorations (Always present).
- n * 38 bytes (where n is the number of decorations in the Hood, these are present only if there are decorations in the Hood).
- C2 00 00 00 <- Section Header
- 08 00 __02 00__ 00 00 <- Trees Header
- 02 40 A6 FC 41 E0 B9 DD 41 00 C0 A8 43 F1 B3 D8 41 37 A3 B5 41 88 DC ... < 1st Tree
- 02 30 E6 18 42 8C DC C3 42 00 C0 A8 43 14 41 08 42 18 03 BC 42 38 7F ... < 2nd Tree
- 03 00 __04 00__ 00 00 <- Road Header
- 02 00 60 9A 44 00 00 A0 40 33 F3 A8 43 00 C0 99 44 00 00 00 00 00 00 ... < 1st Road Tile
- 02 00 20 9E 44 00 00 A0 40 33 F3 A8 43 00 80 9D 44 00 00 00 00 00 C0 ... < 2nd Road Tile
- 02 00 A0 9B 44 00 00 A0 40 33 F3 A8 43 00 00 9B 44 00 00 00 00 00 40 ... < 3rd Road Tile
- 02 00 E0 9C 44 00 00 A0 40 33 F3 A8 43 00 40 9C 44 00 00 00 00 00 80 ... < 4th Road Tile
- 03 00 __02 00__ 00 00 <- Bridges Header
- 02 00 20 80 44 00 00 66 43 81 11 B2 43 00 00 7F 44 00 00 5C 43 00 C0 ...
- 02 00 20 80 44 00 00 52 43 81 11 B2 43 00 00 7F 44 00 00 48 43 00 C0 ...
- 08 00 __02 00__ 00 00 <- Decorations Header
- 02 04 EF 98 44 40 60 91 40 00 C0 A8 43 5A 51 98 44 50 DC C5 3F 2C AD ... < 1st Deco.
- 02 60 A1 96 44 80 8D 94 40 00 C0 A8 43 B6 03 96 44 50 91 D2 3F 88 5F ... < 2nd Deco.
- 08 00 __02 00__ 00 00 <- Trees Header
- Number of listings for each section has been underlined.
Notes
The co-ordinate system used for the Hoods has 0,0 in the top left hand corner of the Hood when viewed for the first time after importing.
Thank you Quaxi & Jaxad0127 for all your help.