File Hosting Not logged in.
Login Register Emblem CTGP-Nitro
234 users
User list
 
Online users
 
 
News
 

NSBMD (File Type)



NSBMD (NITRO-SYSTEM Binary Model Data) is a proprietary model format offered by the NITRO-SDK and is used by many DS games.
It is derived from the NITRO-SYSTEM uncompiled model format IMD, which is generated by exporting models from the NITRO-SYSTEM Maya/3DS MAX plugins.
To convert IMD to NSBMD, one should use g3dcvtr (Graphics 3D ConVerTeR), found in the NITRO-SDK package.
NSBMD also supports some built-in additional graphical effects, such as:

- Environment Mapping


NSBMD can be accompanied by a few additional files which can animate textures within the model itself, such as:

- NSBTA (NITRO-SYSTEM Binary Texture Animation). NSBTA animates textures on a keyframe-based system.
*uncompressed gif here*
- NSBTP (NITRO-SYSTEM Binary Texture Pattern). NSBTP animates textures by switching images on a keyframe-based system.
*uncompressed gif here*

Finally, NSBMD can be used for character models, as well, as it supports bones.
Character models are usually animated via NSBCA (NITRO-SYSTEM Binary Character Animation).
*uncompressed gif here*

While textures can be baked directly into an NSBMD itself, textures can also be stored externally in files known as NSBTX (NITRO-SYSTEM Binary TeXture archive).
It seems this was meant for larger files as it would take less time for textures to load this way - the prototype of Mario Kart DS has textures baked into the course models, while the final version has them stored in NSBTX.

File structure


Header
OffsetTypeDescription
0x0000char[4]"BMD0"
0x0004uint16_tEndianness. 0xFEFF for little endian, 0xFFFE for big endian.
0x0006uint16_tVersion number.
0x0008uint32_tFile size.
0x000Cuint16_tHeader size.
0x000Euint16_tNumber of blocks.
0x0010uint32_t[x]Block offsets. This array of uint32_t's has the length of the number of blocks.


MDL0
The MDL0 is the model data in an nsbmd file.
OffsetTypeDescription
0x0000char[4]"MDL0"
0x0004uint32_tSection size.
0x0008


TEX0
The TEX0 block is used for storing textures. Most models in Mario Kart DS use separate files for textures.
OffsetTypeDescription
0x0000char[4]"TEX0"


See Also


NSBTA
NSBTP
NSBCA
NSBTX


Last edit by Garhoogin on Fri Apr 05 16:32:38 CDT 2019