/apicula

Extract/view/convert Nintendo DS .nsbmd models

Primary LanguageRustBSD Zero Clause License0BSD

Ore ga Omae o Mamoru model in Blender

apicula

Lines of code license 0BSD
Rip models from DS games.


apicula can rip, view, and convert the NSBMD model files found in many Nintendo DS games.

Compatibility

apicula recognized these file types (called Nitro files). See the wiki for more info.

  • .nsbmd, .BMD, or .BMD0: 3D models, textures, palettes
  • .nsbtx, .BTX, or .BTX0: textures, palettes
  • .nsbca, .BCA, or .BCA0: joint animations
  • .nsbtp, .BTP, or .BTP0: pattern animations (flipbook-type)
  • .nsbta, .BTA, or .BTA0: material animations (experimental!!)

Models can be converted to COLLADA or glTF.

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).

Material animations are supported in the viewer and extractor, but not in the converter.

Importing apicula's COLLADA files has been tested in Blender and Maya.

Downloads

This is built automatically off the latest master. You may need one of the Visual Studio Redistributable packages installed.

Building

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/apicula -V

Usage

To search a ROM (or any other file) for Nitro 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 Nitro 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.

Special Thanks

  • kiwi.ds, for models and documentation for Nitro formats. All NDS model viewers seem to be derived from this one. Now defunct.

  • Gericom's MKDS Course Modifier, for animation information, especially for the meaning of the basis rotations.

  • Lowlines' 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.

License

0BSD