Difference between revisions of "2A51171B"

From SimsWiki
Jump to: navigation, search
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, 0x09, 0x0A, or 0x0B===
+
===Instance ID 0x00===
 
<pre>
 
<pre>
 
;WORD
 
;WORD
Line 36: Line 39:
  
 
===Instance ID 0x01===
 
===Instance ID 0x01===
;Float
 
:unknown
 
  
 +
;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 heights 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.
+
** 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
+
 
:unknown
+
;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 10: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)


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

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

Personal tools
Namespaces

Variants
Actions
Navigation
game select
Toolbox