diff --git a/.editorconfig b/.editorconfig index d1f040a..d741e40 100644 --- a/.editorconfig +++ b/.editorconfig @@ -7,6 +7,3 @@ trim_trailing_whitespace = true insert_final_newline = true indent_style = space indent_size = 4 - -[*.md] -trim_trailing_whitespace = false diff --git a/BUILDING.md b/BUILDING.md new file mode 100644 index 0000000..b7904cb --- /dev/null +++ b/BUILDING.md @@ -0,0 +1,18 @@ +# Build Instructions + +apicula is written in [Rust](https://www.rust-lang.org/). Make sure it is +[installed](https://www.rust-lang.org/en-US/install.html). + +1. Clone the git repo + + $ git clone https://github.com/scurest/apicula.git + +3. Change into the `apicula` directory + + $ cd apicula + +3. Build the project with Cargo (this will take a while) + + $ cargo build --release + +4. You're done! The binary is located at `target/release/apicula`. diff --git a/README.md b/README.md index aa13570..3e7b812 100644 --- a/README.md +++ b/README.md @@ -3,65 +3,66 @@ [![Build status](https://ci.appveyor.com/api/projects/status/bavh9qh25mbta41x?svg=true)](https://ci.appveyor.com/project/scurest/apicula) [![Lines of code](https://tokei.rs/b1/github/scurest/apicula)](https://github.com/Aaronepower/tokei) -Convert Nintendo DS NSBMD models and animations to COLLADA. +Convert Nintendo DS models and animations to COLLADA. -![Enemy walk-cycle from Ore ga Omae o Mamoru, imported into Blender](http://scurest.github.io/apicula/e07BWalk.gif) +The [Nitro file +formats](https://wiki.vg-resource.com/wiki/Nintendo_DS#NITRO_File_Formats) were +the formats for Nintendo's SDK for DS game developers and were used by many DS +games. This tool is for dealing with Nitro models (NSBMD files), viewing them, +and converting them to COLLADA .dae files. There is also support for loading +textures (NSBTX) and animations (NSBCA). + +![Ore ga Omae o Mamoru model imported into Blender](frontispiece.gif) + +* [Tutorial](https://github.com/scurest/apicula/wiki/TUTORIAL) +* [Hallow's tutorial on VG Resource](https://www.vg-resource.com/thread-32332.html) +* [Common Blender issues](https://github.com/scurest/apicula/wiki/BLENDER) -Many NDS games used Nintendo's Nitro SDK format for models (NSBMD), textures (NSBTX), and -animations (NSBCA). apicula let's you convert these models to `.dae` files. ## Downloads Pre-built binaries are provided for Windows: -* [apicula-latest-i686-pc-windows-msvc](https://s3.amazonaws.com/apicula/apicula-latest-i686-pc-windows-msvc.zip) (Windows, 32-bit) * [apicula-latest-x86_64-pc-windows-msvc](https://s3.amazonaws.com/apicula/apicula-latest-x86_64-pc-windows-msvc.zip) (Windows, 64-bit) +* [apicula-latest-i686-pc-windows-msvc](https://s3.amazonaws.com/apicula/apicula-latest-i686-pc-windows-msvc.zip) (Windows, 32-bit) These are built automatically off the latest `master`. You may need one of the Visual Studio Redistributable packages installed. + ## Building -1. If you don't already have it, install [Rust](https://www.rust-lang.org/), either through -your package manager or by following the installation instructions on the Rust site. +Building is done in the usual way for Rust projects. See [BUILDING.md](BUILDING.md). -2. Clone the git repo with - - $ git clone https://github.com/scurest/apicula.git - -3. Change into the `apicula` directory and build the project with Cargo - - $ cd apicula - $ cargo build --release - - This may take a while. - -4. You're done! The binary is located at `apicula/target/release/apicula`. ## Usage -To view a set of Nitro files +To view a set of models - apicula view + apicula view -To convert a set of Nitro files to COLLADA, placing the generated files in the given directory +To convert a set of models to COLLADA, placing the generated files in the given +directory - apicula convert -o + apicula convert -o -To extract files from a ROM or other packed file, placing Nitro files in the given directory +To extract Nitro files from a ROM or other packed file, placing extracted files +in the given directory apicula extract -o To get technical information about the given Nitro files - apicula info + apicula info To receive help - apicula -h + apicula help + +See also the [tutorial](https://github.com/scurest/apicula/wiki/TUTORIAL) on the +process of extracting Nitro files from a ROM image and using apicula to convert +them to COLLADA. -See also a short [tutorial](https://github.com/scurest/apicula/wiki/TUTORIAL) on using apicula -to convert a model and animation to a COLLADA file. ## Compatibility @@ -78,10 +79,11 @@ Importing the COLLADA files we generate has been tested in the following program If you can test in others (Maya, 3DS Max), that would be appreciated :) + ## Special Thanks * **kiwi.ds**, for models and documentation for Nitro formats. All NDS model viewers seem to be - derived from here. Now defunct :( + derived from this one. Now defunct. * **Gericom and [MKDS Course Modifier](https://gbatemp.net/threads/mkds-course-modifier.299444/)**, for animation information, especially for the meaning of the basis rotations. @@ -94,6 +96,7 @@ If you can test in others (Maya, 3DS Max), that would be appreciated :) * **[deSmuME](http://desmume.org/)**, for the DS debugger. `_3D_LOG_EXEC` and the GDB stub were invaluable. + ## License -CC0 +CC0 diff --git a/frontispiece.gif b/frontispiece.gif new file mode 100644 index 0000000..3938017 Binary files /dev/null and b/frontispiece.gif differ