MPO: Difference between revisions

Thib (talk | contribs)
m fixed broken link
 
(3 intermediate revisions by 2 users not shown)
Line 5: Line 5:


Document describing the file format used in mpo files:
Document describing the file format used in mpo files:
http://www.cipa.jp/english/hyoujunka/kikaku/pdf/DC-007_E.pdf
http://www.cipa.jp/std/documents/e/DC-007_E.pdf


Nintendo uses a common format for its 3D pictures.
Nintendo uses a common format for its 3D pictures.
Line 188: Line 188:


'''Nintendo's 64Byte Note'''
'''Nintendo's 64Byte Note'''
Different from the wrapping structure this structure is Little-Endian.


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 196: Line 198:
!  Default Value
!  Default Value
|-
|-
|0
|0x00
|Magic
|Magic
|Byte[4]
|char[4]
|{'3','D','S','1'}
|{'3','D','S','1'}
|-
|-
|8
|0x04
|?
|uint32
|1 / 2 / 4 / 5
|-
|0x08
|Timestamp
|Timestamp
|Int
|uint32
|Number of seconds since 1/1/2000 00:00:00
|-
|0x0C
|Padding
|uint32
|0
|-
|-
|16
|0x10
|Title ID Low
|Title ID Low
|Int
|uint32
|like the title id low but without the last two letters
|-
|0x14
|Flags
|uint32
|
|-
|0x18
|Console ID
|byte[4]
|unique identifier
|-
|0x1C
|Padding
|byte[12]
|0
|-
|0x28
|3D Parallax
|float
|[-52,54]
|-
|-
|24
|0x2C
|Console identifier?
|Padding
|Int
|uint32
|?
|0
|-
|-
|38
|0x30
|Unknown
|Category
|Unknown
|uint16
|Unknown
|0x2000 for a man, 0x4000 a woman, 0x1000 a mii...
|-
|-
|40
|0x32
|3D Parallax*
|Filter
|NegInt?
|uint16
|?
|
|-
|-
|48
|0x34
|Category?
|Padding
|Int?
|byte[12]
|0x02000 for a man, 0x04000 a woman, 0x10000 a mii...
|0
|}
|}
*The 3D Parallax value is the distance that the right image needed to move in order to get focus.
My formula to get that value isn't so good but here it is:
x = (lsb - 0xC0) << 8 + msb;
Parallax =  - round( 2 ^ (x/128 + 2) )
If someone makes sense of this, please explain or maybe correct..