04-29-2016, 02:13 PM
Hi, I'm just some dude ripping stuff, attempting my first tutorial.
If you find any typos, misinformation, grammatical errors, or want to chime in on any other methods feel free to, and feedback is highly appreciated.
I've been wanting to do this for awhile but was never sure if I could explain it well enough to understand.
First off here are some tools you'll need.
Access to Homebrew with (>=9.2) Braindump or (<=9.2) Decrypt9
ctrtool (Not sure if there's a release thread for this)
Ohana3ds Rebirth or SPICA
Neosis
Blender Source Tools if using Blender If using SMD export
Any Image Editing Software that supports transparency
Hex Editing Software
Text Editing Software
Steps spoilered to avoid the eye sore that it was without spoilers
Braindump makes it very simple just select the game you wish to dump then congrats, however this doesn't work with most eShop exclusive games or at all with 9.6 crypto games.
Decrypt9 if you want to go down the route of just finding the rom online and decrypting it to dump. (If you can't be arsed to dump and convert the game to cia yourself or an eShop exclusive/9.6 crypto game which requires a certain files to decrypt)
Now once you have the ROMFS/EXEFS/CXI(Braindump) decrypted .CIA(Decrypt9) open up CMD.exe enter CD path to romfs/exefs/cxi/cia folder press enter, once there you have various command lines to use.
Braindump(Pre-release)
ctrtool --intype=romfs --romfsdir=romfsdir romfs.bin
ctrtool --intype=exefs --exefsdir=exefsdir --decompresscode exefs.bin
I use the pre-release version of Braindump so I just get the romfs & exefs instead of CXI, but I assume the way to dump the romfs/exefs from CXI is the same as CIA.
Decrypt9
ctrtool --contents=contents RomName.cia
You'll get one or two files with this contents.xxxx.xxxxxxxx the larger one should be the romfs so replace contents.xxxx.xxxxxxxx with that file name.
ctrtool -p --exefs=exefs.bin contents.xxxx.xxxxxxxx
ctrtool -p --romfs=romfs.bin contents.xxxx.xxxxxxxx
https://gbatemp.net/threads/tutorial-how...ms.383055/ for a more in depth guide.
Common formats compatible with Ohana3ds Rebirth
BCH
CGFX
BCRES
BCMDL
There may be some versions of these formats that may not work, and some may be in custom container which would require opening the file in a hex editor and removing the container if it's not already supported or compressed.
for more info https://gbatemp.net/threads/wip-ohana3ds-tool.392576/
I'll use Persona Q as an example:
Delete everything above "CGFX" there also may be some QuickBMS scripts that will help, same applies for the other formats mentioned above.
Some may be compressed which you'd have to figure out what compression was used, I believe there also may be some QuickBMS scripts to do this.
Now with all that out of the way, I'll be using a Pokemon model as an example.
Open the file in Ohana3ds Rebirth
Export it as DAE or SMD. OBJ doesn't support rigging.
Export Textures as well only exported as PNG
Now open the model in your preferred software, and grab the origin to make sure everything is weighted also check to see if some of the bones are pulling the wrong vertex's
This one doesn't seem to have any issues, but if you do encounter any weighting issues it's a simple fix with Neosis.(I do this with most things regardless, I suggest you do to as if you don't sometimes the weights will be broken in other software)
Open Neosis, find the file, right click export, and export it to FBX, then back to the original format to fix these issues most of the time. (I've only had a few models where this method doesn't work)
Now repeat the first step and if the weighting is still broken you may need to fix it yourself or find another method.
Now for textures, this is mostly just for Pokemon textures, but may apply to other games. (Pokemon is currently the only game I rip from that requires this amount of editing, most other textures work out of the box or require the texture be mirrored on X/Y)
Apply the textures and it'll more than likely look broken like this:
Open the texture in your preferred image editing software. I'll be using Paintdotnet.
For the body and similar textures.
Copy the texture CTRL+A then CTRL+C
Double the canvas size horizontally
Add a new layer paste the texture and flip it horizontally, or make a new image and flip the texture horizontally.
The eye textures are a similar process, I don't know how ones with pupils work, so if someone who does wants to speak up please do.
Make a new image with double the width and one the same exact size as the original.
Select, and copy the first side of the eyes, then paste it into the same size blank copy and flip it horizontally.
Now paste it into the image with double the width and move it into place, make sure to be pixel perfect, do the same with the eyes on the right, then repeat until it looks like the final image on the right.
The Eye's normal maps are simple, just increase the canvas size to match the final eye textures, then copy the texture in all the blank spots as such.
Then repeat all this for the shiny textures and any similar textures.
RTB's Explanation might be better.
Eye UVs:
for Blender select the eye mesh's UVs and open the UV tab then press X and -192, that should be the perfect number to fix those UVs. This might not be necessary all the time.
This will only be for exporting in Blender
Press A in the viewport to select everything, make sure to deselect anything that isn't the mesh and armature, then go to File > Export Collada (Default) .dae.
Blender doesn't seem to like exporting from SMD sometimes, so the weighting my not work when importing the .dae to fix this repeat this with the newly exported .dae (this issue mostly occurs with Pokemon & Stella Glow models, and rarely I've found anything else)
Open it in blender again, make sure it works, apply textures, and delete any extra armatures that Neosis may have created then export again.
Check if everything works again then open the .DAE up in your preferred text editor and remove all instances of file paths.
If you want to include an FBX version use neosis to export the dae/smd to FBX with the flip UVs option enabled. (might not be necessary, but the UVs have always been broken when exporting to FBX without flipping UVs)
Make sure everything works correctly, then render icons with transparency 148x125 & 750x650
Post on the forums asking for someone to check them before submitting, or just submit it and wait until someone gets to it.
I wrote this while the site was down last week, and wasn't really confident enough with it to release it(which I'm still not but w/e)
____________________________________________________________________________________________________________________________
This is just my method as I prefer blender, others may have better methods, so Please R8, H8, and Deb8 my M8s.
Hope this helped.
If you find any typos, misinformation, grammatical errors, or want to chime in on any other methods feel free to, and feedback is highly appreciated.
I've been wanting to do this for awhile but was never sure if I could explain it well enough to understand.
First off here are some tools you'll need.
Access to Homebrew with (>=9.2) Braindump or (<=9.2) Decrypt9
ctrtool (Not sure if there's a release thread for this)
Ohana3ds Rebirth or SPICA
Neosis
Blender Source Tools if using Blender If using SMD export
Any Image Editing Software that supports transparency
Hex Editing Software
Text Editing Software
Steps spoilered to avoid the eye sore that it was without spoilers
Braindump makes it very simple just select the game you wish to dump then congrats, however this doesn't work with most eShop exclusive games or at all with 9.6 crypto games.
Decrypt9 if you want to go down the route of just finding the rom online and decrypting it to dump. (If you can't be arsed to dump and convert the game to cia yourself or an eShop exclusive/9.6 crypto game which requires a certain files to decrypt)
Now once you have the ROMFS/EXEFS/CXI(Braindump) decrypted .CIA(Decrypt9) open up CMD.exe enter CD path to romfs/exefs/cxi/cia folder press enter, once there you have various command lines to use.
Braindump(Pre-release)
ctrtool --intype=romfs --romfsdir=romfsdir romfs.bin
ctrtool --intype=exefs --exefsdir=exefsdir --decompresscode exefs.bin
I use the pre-release version of Braindump so I just get the romfs & exefs instead of CXI, but I assume the way to dump the romfs/exefs from CXI is the same as CIA.
Decrypt9
ctrtool --contents=contents RomName.cia
You'll get one or two files with this contents.xxxx.xxxxxxxx the larger one should be the romfs so replace contents.xxxx.xxxxxxxx with that file name.
ctrtool -p --exefs=exefs.bin contents.xxxx.xxxxxxxx
ctrtool -p --romfs=romfs.bin contents.xxxx.xxxxxxxx
https://gbatemp.net/threads/tutorial-how...ms.383055/ for a more in depth guide.
Common formats compatible with Ohana3ds Rebirth
BCH
CGFX
BCRES
BCMDL
There may be some versions of these formats that may not work, and some may be in custom container which would require opening the file in a hex editor and removing the container if it's not already supported or compressed.
for more info https://gbatemp.net/threads/wip-ohana3ds-tool.392576/
I'll use Persona Q as an example:
Delete everything above "CGFX" there also may be some QuickBMS scripts that will help, same applies for the other formats mentioned above.
Some may be compressed which you'd have to figure out what compression was used, I believe there also may be some QuickBMS scripts to do this.
Now with all that out of the way, I'll be using a Pokemon model as an example.
Open the file in Ohana3ds Rebirth
Export it as DAE or SMD. OBJ doesn't support rigging.
Export Textures as well only exported as PNG
Now open the model in your preferred software, and grab the origin to make sure everything is weighted also check to see if some of the bones are pulling the wrong vertex's
This one doesn't seem to have any issues, but if you do encounter any weighting issues it's a simple fix with Neosis.(I do this with most things regardless, I suggest you do to as if you don't sometimes the weights will be broken in other software)
Open Neosis, find the file, right click export, and export it to FBX, then back to the original format to fix these issues most of the time. (I've only had a few models where this method doesn't work)
Now repeat the first step and if the weighting is still broken you may need to fix it yourself or find another method.
Now for textures, this is mostly just for Pokemon textures, but may apply to other games. (Pokemon is currently the only game I rip from that requires this amount of editing, most other textures work out of the box or require the texture be mirrored on X/Y)
Apply the textures and it'll more than likely look broken like this:
Open the texture in your preferred image editing software. I'll be using Paintdotnet.
For the body and similar textures.
Copy the texture CTRL+A then CTRL+C
Double the canvas size horizontally
Add a new layer paste the texture and flip it horizontally, or make a new image and flip the texture horizontally.
The eye textures are a similar process, I don't know how ones with pupils work, so if someone who does wants to speak up please do.
Make a new image with double the width and one the same exact size as the original.
Select, and copy the first side of the eyes, then paste it into the same size blank copy and flip it horizontally.
Now paste it into the image with double the width and move it into place, make sure to be pixel perfect, do the same with the eyes on the right, then repeat until it looks like the final image on the right.
The Eye's normal maps are simple, just increase the canvas size to match the final eye textures, then copy the texture in all the blank spots as such.
Then repeat all this for the shiny textures and any similar textures.
RTB's Explanation might be better.
Ooooooor you could edit the textures directly (except for the "normal maps"), double the canvas size horizontally and paste a mirrored copy on the right side of the texture, then you don't have to worry about modifying the UV mapping. Much easier in my opinion (and also makes it so that the normal map textures actually work the way they should!).
for Blender select the eye mesh's UVs and open the UV tab then press X and -192, that should be the perfect number to fix those UVs. This might not be necessary all the time.
This will only be for exporting in Blender
Press A in the viewport to select everything, make sure to deselect anything that isn't the mesh and armature, then go to File > Export Collada (Default) .dae.
Blender doesn't seem to like exporting from SMD sometimes, so the weighting my not work when importing the .dae to fix this repeat this with the newly exported .dae (this issue mostly occurs with Pokemon & Stella Glow models, and rarely I've found anything else)
Open Neosis, find the file, right click export, and export it to FBX, then back to the original format to fix these issues most of the time. (I've only had a few models where this method doesn't work)
Open it in blender again, make sure it works, apply textures, and delete any extra armatures that Neosis may have created then export again.
Check if everything works again then open the .DAE up in your preferred text editor and remove all instances of file paths.
If you want to include an FBX version use neosis to export the dae/smd to FBX with the flip UVs option enabled. (might not be necessary, but the UVs have always been broken when exporting to FBX without flipping UVs)
Make sure everything works correctly, then render icons with transparency 148x125 & 750x650
Post on the forums asking for someone to check them before submitting, or just submit it and wait until someone gets to it.
I wrote this while the site was down last week, and wasn't really confident enough with it to release it(which I'm still not but w/e)
____________________________________________________________________________________________________________________________
This is just my method as I prefer blender, others may have better methods, so Please R8, H8, and Deb8 my M8s.
Hope this helped.