apicula is a tool for the NSBMD 3D model files found in many Nintendo DS games, eg. .nsbmd for models, .nsbca for animations, .nsbtx for textures, etc. Models can be extracted from ROMs, viewed, and converted to COLLADA.
- Tutorial
- Hallow's tutorial on VG Resource
- Common Blender issues
- Programmer's documentation on .nsbXX files
Pre-built binaries are provided for Windows:
These are built automatically off the latest master
. You may need one of the Visual Studio
Redistributable packages installed.
Make sure Rust (1.34+) is installed and build the usual way
$ git clone https://github.com/scurest/apicula.git
$ cd apicula
$ cargo b --release
$ target/release/apciula -V
To search a ROM or other packed file for .nsbXX files and extract them
apicula extract <INPUT FILE> -o <OUTPUT DIR>
To view models
apicula view <NITRO FILES>
To convert models to COLLADA .dae
files
apicula convert <NITRO FILES> -o <OUTPUT DIR>
To convert models to glTF .glb
files
apicula convert -f=glb <NITRO FILES> -o <OUTPUT DIR>
To get technical information about the given .nsbXX files
apicula info <NITRO FILES>
To receive further help
apicula help
See also the tutorial on the process of extracting .nsbXX files from a ROM, converting them to COLLADA, and importing them into Blender.
apicula recognized these file formats
.nsbmd
,.BMD
, or.BMD0
contain 3D models, and often their textures and palettes.nsbca
,.BCA
, or.BCA0
contain skeletal animations.nsbtx
,.BTX
, or.BTX0
contain textures and palettes.nsbtp
,.BTP
, or.BTP0
contain pattern animations, which change the textures in a material
Pattern animations are supported in the viewer and extractor, but not in the converter (neither COLLADA nor glTF support animations that change a material's textures).
Importing apicula's COLLADA files has been tested in Blender and Maya.
-
kiwi.ds, for models and documentation for Nitro formats. All NDS model viewers seem to be derived from this one. Now defunct.
-
Gericom and MKDS Course Modifier, for animation information, especially for the meaning of the basis rotations.
-
Lowlines and Console Tool, for animations and documentation for Nitro formats. I also used Console Tool for extracting files from ROMs.
-
Barubary's DSDecmp for NDS decompression algorithms.
-
GBATEK, for DS hardware documentation.
-
deSmuME, for the DS debugger.
_3D_LOG_EXEC
and the GDB stub were invaluable.
0BSD