Sunday, August 30, 2020

How to extract 3D models from a Nintendo DS game to use as base reference for a papercraft model (like Tetra from The Legend of Zelda: Phantom Hourglass ;o)


NOTE BEFOREHAND: although many Nintendo DS games use the Nitro file system Like Phantom Hourglass does, sometimes the steps are a little bit different, or they don't work *as* well as in this case. It's always the trick to find which game packages contain which files, and don't forget that maybe on a specific game, this method might not work at all unfortunately... 😥

Try out different things with the tools, visit fan forums to see if somebody else has already been playing with the game files and 3D models, etc. and you might still find a way! 🙂


When I showed you before how to extract 3D models from games like Final Fantasy IX, Tomb Raider 1-5, Escape From Monkey Island, Grim Fandango or Kingdom Hearts, it was 'relatively easy', because those games come on a CD or DVD ROM that can be read with regular DVD drives (or even simpler as digital downloads so that you can directly access the game files you need on your computer).

Nintendo DS games however come on Nintendo DS Game Cards, so I used a special device: the Super Memory Stick 4 (SMS4) Game Backup Master made by NeoTeAm!

(NOTE 1: There are other methods and tools you can use, like a Nintendo 3DS with the homebrew GodMode9 software, but I'm just telling you how I did it - so I can't help you with other methods, sorry...!)

(NOTE 2: I'm using The Legend of Zelda Phantom Hourglass as an example, but this method should work for Spirit Tracks and other Nintendo DS games that use Nintendo's Nitro file system as well! 😀 )


IMPORTANT NOTE 1: The only legal way to get the game files you need to extract a 3D model from an NDS game, is to get them from your own copy of the game...!


IMPORTANT NOTE 2: To run the apicula tool by scurest you might need to tell your antivirus software to ignore the folder with the apicula.exe executable; it's a fanmade tool and your antivirus software might think it's a malicious program and prevent you from running it.

Only do this when YOU are 100% sure that the files are not malicious of course, and NEVER turn off your antivirus software completely!



⬤ Dumping a ROM of your Nintendo DS Game Card to your computer (Super Memory Stick 4 Game Backup Master + NEO2 Pro Manager V1.32)

-  The Super Memory Stick 4 Backup Master was developed by the NeoTeAm and looks just like a USB memory stick, only with a Nintendo DS Game Card slot on the side. It's still available from several shops, but it's pretty expensive and prices can vary widely, so if you want to go this way be sure to shop around for the best bargain from a store you can trust!

- Once you have an SMS4, you will also need the latest NEO2 Pro Manager V1.32 software and the NEO SlimLoader IV/SMS4 driver to make it work.

- You can get them from the mini pocket CD that should be included with your SMS4, but if you didn't receive the mini CD or if you got an old version you can also download it from the bottom of the first post in this thread on the NeoTeAm Forum: link
- Download the version from the "last V2 CD driver disk download link", because it includes the troubleshooting manual to install the NEO SlimLoader IV/SMS4 driver on 64-bits Windows 10 systems, which you will probably need because the installation is quite tricky on newer systems (and because the first download link doesn't work anymore anyway 😉)


- Run the Neo2_Pro_Manager_1.32A_Setup.exe file to install the NEO2 Pro Manager V1.32 software.

- This went without problems for me and at the end it will automatically ask you to install the NEO SlimLoader USB driver packet. On 64-bits Windows 10 systems though this step will probably fail, and you will need to go through the steps in the guide-NEO_SL4_WIN10-x64.pdf file to get it to work.

- I found the guide-NEO_SL4_WIN10-x64.pdf driver installation troubleshooting guide pretty thorough and clear: in my case (on a 64-bits Windows 10 system) only the last option of disabling the driver software signature verification would work though...

NEO2 Pro Manager and driver installation




- Now that you got the SMS4 working, insert a Nintendo DS Game Card in the device and insert the SMS4 into a USB port on your computer.

- Next, run the NEO2 Pro Manager V1.32 software, and with the driver installed correctly it will automatically recognize your NDS game.

- Switch to the SMS4 tab in the top left of the NEO2 Pro Manager window and click the Dump ROM button.

- Specify a folder on your computer where you want to save the ROM file and then be patient because the dumping process can take a while... 😊

- When the program is done, you will find an .nds file in the folder you specified: now if anything happens to your original NDS Game Card, you always have a backup! 🙂)

NEO2 Pro Manager ROM dumping



- You can play your .nds backup file on an emulator like DeSmuMe or put it on a special NDS flash card to play it on your actual Nintendo DS handheld (I have never done that however so don't ask me which one you'd need exactly...! 😉) but of course in this case I will show you how to use it to extract a 3D model to use as a base reference for a papercraft model! 😃



⬤ Unpack the Nitro files from the .nds ROM file (dsbuff v1 Final + Puyo Tools Version 1.1.0)

- The .nds file is kinda like a container file that contains all the files for the game. It still needs to be unpacked to find the 3D model and texture files which can be done using tools like dsbuff v1 Final by WB3000
NOTE: You need Microsoft .NET Framework 2.0 or higher to use dsbuff. There's a good chance you already have it though, but otherwise you can download it directly from Microsoft: link
- Download dsbuff v1 Final from an archived version of WB3000's website: link (or search for it online)
- Unpack the .zip file and then run dsbuff.exe.

- The interface looks very minimalistic, making it a bit difficult to understand... Start by clicking the long button (with the folder and magnifying glass icon) at the top to Browse for the .nds file you dumped from your Nintendo DS Game Card.

- Click the Unpack button in the bottom center (the box icon with a "-" minus sign in a red circle) and then the smaller browse button (the folder icon with the magnifying glass) next to the Unpack Directory box to select a folder where you want to unpack the game files (I usually like to create a new folder to keep everything nice and organized).

- Now click the OK button (the checkmark in the green circle) to unpack the game files to the folder you selected.

unpack dumped .nds ROM file with dsbuff



- If you look in the unpacked Data folder, you will find lots of game folders and files, but most of the 3D models in the Npc (Non player characters like Tetra) and Player (Link) folders for example are still in .bin (model) archives and .nsbtx (texture) file formats that you can't open like that.

- To convert them, you can use a tool like Puyo Tools Version 1.1.0 (I use an older version because I couldn't get the newer version to work for me!) by Nick Worokekin: link
- Download and unpack the PuyoTools-1.1.0.zip file, and then run the PuyoTools.exe executable.

- Open a .bin file with Archive > Extract > Select Files and browse to the data\Npc folder; in the Supported Archives drop-down list in the bottom right choose All Files (*.*) to be able to see the .bin and .nsbtx files.

- Select the .bin file of the character you want to extract and click Open.

- I left everything as it is in the Archive - Extract options. Now click Extract and Puyo Tools will automatically create a NARC Extracted folder in the same folder as the .bin file you chose (in this case the data\Npc folder) with the extracted files (there should be at least a .nsbmd model and .nsbca animation file if it's a character model).

unpack .bin files with Puyo Tools




Actually extracting and converting the 3D models from the unpacked Nitro files (apicula)

- Download and unpack the apicula tool by scurest from the first post in this thread in the VG Resource forum: link (make sure to get the right build for your version of Windows!)

- After unpacking the .zip file, create a folder called nsbxx_files in the same folder as the apicula.exe executable

- Copy all the unpacked files from the NARC Extracted folder and the matching .nsbtx file from the data\Npc folder to the nsbxx_files folder you just made.

preparing to use apicula



- Now if you want, you can preview the 3D model in the .nsbmd file to make sure it is what you want by creating a small batch file to run the apicula tool.

- Start by creating a simple Notepad text file in the same folder as the apicula.exe executable and then simply type the following:
apicula view nsbxx_files
- Save the text file, and then change the file extension from .txt to .bat to make it into a batch file that you can run to operate the apicula tool.

- Double-click the .bat file you just created and a short script will run which will load the .nsbdm file in a model viewer (use the W, A, S, D and E and Q keys to move the model and rotate it by holding and dragging the left mouse button to get the model into view, and try the O and P keys to run any animations if the .nsbmd model came with an .nsbca animation file).

- Once you're happy that the .nsbmd file is the model you wanted, create another simple Notepad text file in the same folder as the apicula.exe executable, this time typing the following:
apicula convert nsbxx_files -o dae_files
- Change the file extension from .txt to .bat again and double-click it to run it.

- This time the apicula tool will create a new folder called dae_files. Inside will finally be a Collada .dae model file which you can open in a regular 3D editing program, and the textures converted to .png image files.

(if you want some more information on how to use apicula tool, have a look at their Github page: link)

view and convert the Nitro model files with Apicula






⬤ Converting the Collada .dae file to Wavefront. obj for Metasequoia (Blender)

- Import the .dae file into Blender v2.79 with File > Import > Collada (Default) (.dae) (the newer Blender 2.8x versions don't seem to have a .3ds import option anymore; so it's your choice whether you really want the latest version?)

- By moving the animation slider at the bottom, you can choose a specific pose from the animation for the papercraft model you want to make.

- Export the model in the specific pose you want with File > Export > Wavefront (.obj).

convert the Collada .dae file to a Wavefront .obj file with Blender



- Now you can open the .obj file with a specific pose in Metasequoia (or another 3D program of your choice). In the OBJ Import dialog window, UNcheck the Flip right and left and Invert faces boxes, but CHECK the Invert V of mapping box.
- If you exported the .obj file with Blender to the dae_files folder with the .png texture images files, Metasequoia should automatically apply the texture images to the model using the info in the .mtl file that was exported automatically together with the .obj file (otherwise you will have to do this manually in the Material Panel).

- The textures will still look wrong for many pieces, but that's something you will have to fix anyway as you rebuild this 3D base reference, because the extracted game model won't make a very good papercraft 'as is'...

- A lot of the pieces are unconnected or collide with each other, and many pieces can be remodelled so that they'll be much easier to assemble out of paper if you think ahead of time about how you want to unfold and glue the the 3D pieces as 2D papercraft parts later on. 🙂

opening the Wavefront .obj file in Metasequoia




Now, paperfying this Tetra will probably take me a lot longer than FF9 Beatrix did (because real life busy-ness... 😉) but stay tuned and have fun!




Tools used:
- Super Memory Stick 4 Backup Master by NeoTeam: available in several online shops specializing in retro gaming or NDS flash cards (search around for the best bargain from a shop that YOU trust!)

- NEO2 Pro Manager V1.32 and NEO SlimLoader IV/SMS4 driver by Neo TeAm : https://www.neoflash.com/forum/index.php/topic,7831.0.html (download the version from the "last V2 CD driver disk download link" at the bottom of the first post)

- dsbuff v1 Final by WB3000: https://web.archive.org/web/20081223125541/http://wb3000.nintendo-scene.com/dsbuff.html

- Puyo Tools Version 1.1.0 by Nick Woronekin: https://github.com/nickworonekin/puyotools/releases/tag/1.1.0 (newer versions of Puyo Tools didn't work for me, they might for you?)

- Blender v2.79https://www.blender.org/download/releases/2-79/ (the newer 2.8x versions don't seem to have a .3ds import option anymore; so it's your choice whether you really want the latest version?)
- Metasequoiahttps://www.metaseq.net/en/



Condensed version of this Nintendo DS Phantom Hourglass 3D model extraction tutorial (which will work for Spirit Tracks and other NDS games that use the Nitro file system too) in one *big* image:





5 comments:

  1. 手順通りに試してみましたが、puyotoolでの解凍や抽出ができません。可能であれば、その様子を動画で教えてほしいです
    I tried it according to the procedure, but I can't decompress or extract it with puyotool. If possible, please tell me the situation with a video

    ReplyDelete
    Replies
    1. Are you also trying it with the Phantom Hourglass game? Or are your trying with another Nintendo DS game?

      For this method, I used quite a few different tools, and you have to use them in the right order on the right files:

      Step 1) First you have to use the DSBUFF tool on the .NDS file (the actual ROM file) If that goes well, you should have a folder with a data and overlay folder and several .bin files. Did that step go okay?

      Step 2) Then you can use PUYO TOOLS on one of the .BIN files, but NOT the ones in the main folder! You have to go to the data folder and I suggest to try it with the Tetra.bin file in the data -> Npc folder like I did first, because that should work if you do it exactly like I did so you get a NARC Extracted filder with anm.nsbca, model.nsbmd and Tetra.nsbtx files as you see in the tutorial.

      Also note that on my Windows 10 64-bits computer, I could only get Puyo Tools Version 1.1.0 to work; are you also using that version, and does the Puyo Tools at least open/run for you...?

      I'm afraid I can't tell what the problem is, unless maybe you are trying it with a different Nintendo DS game (unfortunately, this method doesn't work with all Nintendo DS games because many of them use a different file system!) or maybe the specific .bin file you are trying just doesn't work because it's a diffferent kind of .bin file...?)

      If you can, try it with Phantom Hourglass and the Tetra.bin model exactly like I did, using the same tool versions as I did; the steps I wrote down are the exact steps that I used, so if you use the same game / files / tool versions / computer system as I did, then I wouldb't know why it wouldn't work the same for you!?

      Unfortunately making and editing videos to show everything clearly would take too much time for me, so I can't do a video tutorial, sorry... :o(

      I did notice two of the images I added in the Puyo Tools section didn't enlarge if you clicked them (the one with the Archive - Extract settings and the one with showing the NARC Extracted folder), that should be fixed now so you should be able to see them bigger (it shouldn't really matter for the problem though, because like I said in the text I just kept the default settings and that worked for me).

      I don't know if I can help you, but if you can tell me some more information about your tries, maybe it will explain the issue already?

      Delete
  2. hey dude i got stuck at the puyo tools step i am trying to extract the models from prey the stars can you give me a hand

    ReplyDelete
    Replies
    1. Although there are *so* many games and every game is a little bit different (so for most other games I have no sure idea if this method works, especially like this), I was able to try it out *very* quickly with the Prey the Stars game you mention with maybe some helpful results that might help you progress a bit:

      In the Phantom Hourglass example, the PuYo Tools step is to unpack the non-player characters .bin archives that you get from dsbuff files after unpacking the .nds ROM file into the actual .nsbmd model, and .nsbca animation Nitro files (the .nsbtx texture files were already unpacked).

      But when I used dsbuff on Prey the Stars, I saw that in the data folder and its subfolders, there are already a lot of .ndbmd models and .nsbca and .nsbtx files. So maybe for Prey the Stars, you don't need the extra step of PuYo Tools...?

      The trick is always to find out WHERE the game models are stored, and because I knew the Phantom Hourglass game and a lot of people have written about extracting the game models, I knew which familiar names (npc, non player characters, Tetra, Link etc.) I had to look for, and which files there should be (model, animation, texture).

      I am not at all familiar with the Prey the Star game, so I saw a lot of Monster folders, but I have no idea if they are monsters you control or not, whether they move or not, whether they should be red, blue, green... So it's impossible for me to check a lot of things without getting deep into the game, which I'm afraid I don't have the time to do...

      But I think if you unpack the .nds ROM file with dsbuff, and have a look at the data and Monster folders and the different .nsbtx, .nsbca and .nsbmd files, maybe YOU will recognize a lot of the names.

      Try to match .nsbtx, .nsbca and .nsbmd files with the same names together, and then read ahead to the "Actually extracting and converting the 3D models from the unpacked Nitro files (apicula)" chapter, where you need those file types. Put the apicula tool in a folder like described and in the same folder make a folder called nsbxx_files. Put the .nsbtx, .nsbca and .nsbmc files that you think might belong together to the same character/monster/object/whatever.
      Then create a Notepad .txt file in the folder with the apicula.exe tool and type:
      apicula view nsbxx_files
      Then save it, and change the file extension from .txt to .bat. Then if you double-click the .bat batch script, apicula will run and show a 3D model (zoom in/out with the W or S keys, I mentioned some more controls to get the 3D model in view because they are sometimes very zoomed in so it looks nothing is there but sometimes it's just very zoomed in...), even if maybe it's just white/untextured (because the .nsbtx file is the wrong one or the animations don't work (then the .nsbca file isn't the right one for the model) or it won't show anything (then the files are just not really a 3D character...)

      I managed to see a few, models but like I said, I have no idea if they look correct or anything because I don't know the game, but if you experiment a bit with different files (there are a lot of them so it's a lot of work to try them out, but work methodically and take your time) maybe you can find some nice models!

      Good luck and have fun!

      Delete
  3. This comment has been removed by a blog administrator.

    ReplyDelete