Difference between revisions of "2A51171B"
From SimsWiki
m (format fix) |
|||
Line 6: | Line 6: | ||
==Format== | ==Format== | ||
;DWORD | ;DWORD | ||
− | :Block ID | + | :Block ID (0x2a51171b) |
;DWORD | ;DWORD | ||
:Block Version | :Block Version | ||
;Byte | ;Byte | ||
− | :Block name | + | :Block name (c3DArray) |
+ | |||
+ | ; *** the following parts depend on the instance number. | ||
+ | |||
;DWORD | ;DWORD | ||
− | :Count X | + | :Count X (instance number dependent) |
;DWORD | ;DWORD | ||
− | :Count Y | + | :Count Y (instance number dependent) |
;DWORD | ;DWORD | ||
− | :Count Z | + | :Count Z (instance number dependent) |
;variable | ;variable | ||
:Array[X,Y,Z] (see below) | :Array[X,Y,Z] (see below) | ||
Line 23: | Line 26: | ||
Array[X,Y,Z] is a 3-dimensional array *of Objects* with height X, width Y, and depth Z. The type of data contained within the Object varies by the Instance ID of the file. | Array[X,Y,Z] is a 3-dimensional array *of Objects* with height X, width Y, and depth Z. The type of data contained within the Object varies by the Instance ID of the file. | ||
− | ===Instance ID 0x00 | + | ===Instance ID 0x00=== |
<pre> | <pre> | ||
;WORD | ;WORD | ||
Line 36: | Line 39: | ||
===Instance ID 0x01=== | ===Instance ID 0x01=== | ||
− | |||
− | |||
+ | ;DWORD | ||
+ | :Count X (Width = [n1 x 10] + 1) | ||
+ | :(number of grid point along the Width) | ||
+ | ;DWORD | ||
+ | :Count Y (Height = [n2 x 10] + 1) | ||
+ | :(number of grid point along the Height) | ||
+ | ;DWORD | ||
+ | :Count Z (number of array layers/levels/stories) | ||
+ | |||
+ | ;data storage format: | ||
+ | :Float (in singles) | ||
* Functions: | * Functions: | ||
− | ** 1. To store arrays of the | + | ** 1. To store arrays of the height values of grid points in singles. And, the layer/story/level of grid point is presumed probably based on values of W, H and layer/story/level probably partly dependent on the same 3D array instance file. |
** 2. Every standard level height is 16-click-high/16-step-high, and it has a value of 3 in singles. In other words, each click (in terms of elevation tools)/step (in terms of modular stairs) is 0.1875 in singles. | ** 2. Every standard level height is 16-click-high/16-step-high, and it has a value of 3 in singles. In other words, each click (in terms of elevation tools)/step (in terms of modular stairs) is 0.1875 in singles. | ||
** 3. Negative value can exist in singles and later values can be smaller than the previous values for every layer/story/level as V!ND!CARE's <4-click wall tutorial suggests. | ** 3. Negative value can exist in singles and later values can be smaller than the previous values for every layer/story/level as V!ND!CARE's <4-click wall tutorial suggests. | ||
+ | ** 4. if there's a swim pool, the underground layer of grid points will be placed earlier than the ground lot origin. | ||
===Instance ID 0x03=== | ===Instance ID 0x03=== | ||
− | ;BYTE | + | |
− | : | + | ;DWORD |
+ | :Count X (Width = n1 x 10) | ||
+ | ;DWORD | ||
+ | :Count Y (Height = n2 x 10) | ||
+ | ;DWORD | ||
+ | :Count Z (number of array layers/levels/stories) | ||
+ | |||
+ | ;data storage format: | ||
+ | :BYTE | ||
+ | :Unknown | ||
+ | |||
+ | * Guesses: This may be a road pattern array or tiled grid array? | ||
+ | ** (Lot origin is the 'corner point' the shadow points at, and it is the origin a lot rotates at.) | ||
+ | *** 30 repeats of 20(0x00)-10(0x01) for a lot (Width=30 & Height=30; lot origin @ right & back corner; an empty 3x2 lot) | ||
+ | *** 30 repeats of 10(0x01)-20(0x00) for a lot (Width=30 & Height=30; lot origin @ left & front corner; an empty 3x2 lot) | ||
+ | *** 600(0x00)-300(0x01) for a lot (Width=30 & Height=30; lot origin @ left & back corner; an empty 3x2 lot) | ||
+ | *** 300(0x01)-600(0x00) for a lot (Width=30 & Height=30; lot origin @ right & front corner; an empty 3x2 lot) | ||
+ | *** 300(0x01)-900(0x00) for a lot (Width=40 & Height=30; lot origin @ right & front corner; an empty 3x3 lot) | ||
+ | *** 400(0x01)-1200(0x00) for a lot (Width=40 & Height=40; lot origin @ right & front corner; an empty 4x3 lot) | ||
+ | |||
+ | |||
+ | ===Instance ID 0x09, 0x0A, or 0x0B=== | ||
+ | |||
+ | ;DWORD | ||
+ | :Count X (Width = n1 x 10) | ||
+ | ;DWORD | ||
+ | :Count Y (Height = n2 x 10) | ||
+ | ;DWORD | ||
+ | :Count Z (number of array layers/levels/stories) | ||
+ | |||
+ | ** repeat count = 8 x W x H | ||
+ | *** 7200(0x00) for empty unbuilt lots of Width=30 & Height=30 | ||
+ | *** 9600(0x00) for empty unbuilt lots of Width=40 & Height=30 | ||
+ | *** 12800(0x00) for empty unbuilt lots of Width=40 & Height=40 | ||
+ | |||
===Instance ID 0x0C=== | ===Instance ID 0x0C=== |
Revision as of 15:42, 18 April 2008
2A51171B | |
---|---|
Short name: | 3DARY |
Long name: | 3D array |
Contents |
Format
- DWORD
- Block ID (0x2a51171b)
- DWORD
- Block Version
- Byte
- Block name (c3DArray)
- *** the following parts depend on the instance number.
- DWORD
- Count X (instance number dependent)
- DWORD
- Count Y (instance number dependent)
- DWORD
- Count Z (instance number dependent)
- variable
- Array[X,Y,Z] (see below)
Array format
Array[X,Y,Z] is a 3-dimensional array *of Objects* with height X, width Y, and depth Z. The type of data contained within the Object varies by the Instance ID of the file.
Instance ID 0x00
;WORD :unknown ;WORD :unknown ;WORD :unknown ;WORD :unknown
Instance ID 0x01
- DWORD
- Count X (Width = [n1 x 10] + 1)
- (number of grid point along the Width)
- DWORD
- Count Y (Height = [n2 x 10] + 1)
- (number of grid point along the Height)
- DWORD
- Count Z (number of array layers/levels/stories)
- data storage format
- Float (in singles)
- Functions:
- 1. To store arrays of the height values of grid points in singles. And, the layer/story/level of grid point is presumed probably based on values of W, H and layer/story/level probably partly dependent on the same 3D array instance file.
- 2. Every standard level height is 16-click-high/16-step-high, and it has a value of 3 in singles. In other words, each click (in terms of elevation tools)/step (in terms of modular stairs) is 0.1875 in singles.
- 3. Negative value can exist in singles and later values can be smaller than the previous values for every layer/story/level as V!ND!CARE's <4-click wall tutorial suggests.
- 4. if there's a swim pool, the underground layer of grid points will be placed earlier than the ground lot origin.
Instance ID 0x03
- DWORD
- Count X (Width = n1 x 10)
- DWORD
- Count Y (Height = n2 x 10)
- DWORD
- Count Z (number of array layers/levels/stories)
- data storage format
- BYTE
- Unknown
- Guesses: This may be a road pattern array or tiled grid array?
- (Lot origin is the 'corner point' the shadow points at, and it is the origin a lot rotates at.)
- 30 repeats of 20(0x00)-10(0x01) for a lot (Width=30 & Height=30; lot origin @ right & back corner; an empty 3x2 lot)
- 30 repeats of 10(0x01)-20(0x00) for a lot (Width=30 & Height=30; lot origin @ left & front corner; an empty 3x2 lot)
- 600(0x00)-300(0x01) for a lot (Width=30 & Height=30; lot origin @ left & back corner; an empty 3x2 lot)
- 300(0x01)-600(0x00) for a lot (Width=30 & Height=30; lot origin @ right & front corner; an empty 3x2 lot)
- 300(0x01)-900(0x00) for a lot (Width=40 & Height=30; lot origin @ right & front corner; an empty 3x3 lot)
- 400(0x01)-1200(0x00) for a lot (Width=40 & Height=40; lot origin @ right & front corner; an empty 4x3 lot)
- (Lot origin is the 'corner point' the shadow points at, and it is the origin a lot rotates at.)
Instance ID 0x09, 0x0A, or 0x0B
- DWORD
- Count X (Width = n1 x 10)
- DWORD
- Count Y (Height = n2 x 10)
- DWORD
- Count Z (number of array layers/levels/stories)
- repeat count = 8 x W x H
- 7200(0x00) for empty unbuilt lots of Width=30 & Height=30
- 9600(0x00) for empty unbuilt lots of Width=40 & Height=30
- 12800(0x00) for empty unbuilt lots of Width=40 & Height=40
- repeat count = 8 x W x H
Instance ID 0x0C
- DWORD
- Count n
- for each entry
- DWORD
- unknown
Instance ID 0x14
- 16 bytes
- Unknown
Instance ID 0x15
- 4 bytes
- unknown
See Also
This article is imported from the old MTS2 wiki. It's original page, with comments, can be found at http://old_wiki.modthesims2.com/2A51171B