09-10-2016, 03:50 PM
Hey all, I've been looking into Lufia: Curse of the Sinistrals and found that a significant portion of its models are low-hanging fruit -- namely the player characters and NPCs. They conform to the Nitro format standard as documented by Lowlines, including the model file, the textures, and (I think) the animations. They're just not packed into traditional Nitro Archives, so they aren't detected when popping the game into the usual Nintendo DS file explorers. There might be something else about these models that makes 'em a little cantankerous for the Nintendo DS/NSBMD model viewers that are available though, because I've never gotten them to preview okay in any program specifically focused on the Nintendo DS. Gericom's MKDS Course Modifier exports the model data as .OBJs correctly though, and from there they preview successfully in Noesis as shown below:
What I'm particularly interested in is getting these animated, and then decompressing the environment and enemy models I *think* are in compressed archives (which are marked with the $FAB ASCII identifier in their headers). I suspect the end game will be creating a Python script to load the extracted model files directly into Noesis, but that's a long ways down the road given my capabilities at the moment. I'd absolutely love it if someone could point out a program that can already apply separate animation files to DS models and export to formats that support skeletons and animations. For now, I just figured I'd leave my notes here in case it helps generate some more interest in exploring this game's resources.
Without further ado, here's the method I use to get these in .OBJ format for now...
1. Grab aluigi's awesome file extraction engine, QuickBMS, here.
2. Download the attached BMS scripts; you'll probably want to keep them in the same folder as QuickBMS and an English-language copy of the game.
2. When QuickBMS prompts for the script to use, run one of the scripts against Lufia's entire game file. Then run the other script, making sure to place the .NSBMD and .NSBTX files into the same output folder. You'll occasionally be prompted for input while the scripts are running because a few compressed archives (or maybe data coincidentally marked liked Nitro headers) snuck into the section of the game file that contains non-compressed models and textures. You can just skip over or auto-rename the few garbage files that get caught up in the process. (Note to self: find the game's darn table of contents and dump these files more accurately...)
3. Download Gericom's MKDS Course Modifier here.
4. In MKDS Course Modifier, navigate to Tools > Nitro System > NSBMD > NSBMD + NSBTX to NSBMD. Choose a model and texture that have the same file name, and the program will composite them into an all-in-one model file. From there, you can use MKDS Course Modifier to export the new composite model to .OBJ format (Open the composite model, then navigate to Export > Model > OBJ).
5. At this point I had to open the textures in an image editor and vertically flip them to match the model's UV map. I also had to introduce transparency. I'll bet I'm just missing some settings in MKDS Course Modifier though.
6. Open the exported .OBJ in your favorite modeling program (you can use MrAdults' godly Noesis in a pinch) to make sure everything came through intact.
Phew! So it is pretty convoluted right now. And lacking an ability to export to a format that supports animations and bones, I'm not entirely sure how useful this is to The VG Resource community at the moment. But I wanted to throw this out there in case others get as excited over low-poly models as I do. Nintendo DS may not be known as a 3D powerhouse, but I think it's pretty neat that it could punch out Final Fantasy 8-quality models, and I have to hand it to Lufia's developers for pouring so much love into the game's model animations.
Edit: Added a BMS script for dumping the game's animation files.
What I'm particularly interested in is getting these animated, and then decompressing the environment and enemy models I *think* are in compressed archives (which are marked with the $FAB ASCII identifier in their headers). I suspect the end game will be creating a Python script to load the extracted model files directly into Noesis, but that's a long ways down the road given my capabilities at the moment. I'd absolutely love it if someone could point out a program that can already apply separate animation files to DS models and export to formats that support skeletons and animations. For now, I just figured I'd leave my notes here in case it helps generate some more interest in exploring this game's resources.
Without further ado, here's the method I use to get these in .OBJ format for now...
1. Grab aluigi's awesome file extraction engine, QuickBMS, here.
2. Download the attached BMS scripts; you'll probably want to keep them in the same folder as QuickBMS and an English-language copy of the game.
2. When QuickBMS prompts for the script to use, run one of the scripts against Lufia's entire game file. Then run the other script, making sure to place the .NSBMD and .NSBTX files into the same output folder. You'll occasionally be prompted for input while the scripts are running because a few compressed archives (or maybe data coincidentally marked liked Nitro headers) snuck into the section of the game file that contains non-compressed models and textures. You can just skip over or auto-rename the few garbage files that get caught up in the process. (Note to self: find the game's darn table of contents and dump these files more accurately...)
3. Download Gericom's MKDS Course Modifier here.
4. In MKDS Course Modifier, navigate to Tools > Nitro System > NSBMD > NSBMD + NSBTX to NSBMD. Choose a model and texture that have the same file name, and the program will composite them into an all-in-one model file. From there, you can use MKDS Course Modifier to export the new composite model to .OBJ format (Open the composite model, then navigate to Export > Model > OBJ).
5. At this point I had to open the textures in an image editor and vertically flip them to match the model's UV map. I also had to introduce transparency. I'll bet I'm just missing some settings in MKDS Course Modifier though.
6. Open the exported .OBJ in your favorite modeling program (you can use MrAdults' godly Noesis in a pinch) to make sure everything came through intact.
Phew! So it is pretty convoluted right now. And lacking an ability to export to a format that supports animations and bones, I'm not entirely sure how useful this is to The VG Resource community at the moment. But I wanted to throw this out there in case others get as excited over low-poly models as I do. Nintendo DS may not be known as a 3D powerhouse, but I think it's pretty neat that it could punch out Final Fantasy 8-quality models, and I have to hand it to Lufia's developers for pouring so much love into the game's model animations.
Edit: Added a BMS script for dumping the game's animation files.