09-20-2024, 02:20 AM
(01-25-2024, 02:18 PM)Boxy Wrote: Dragon Quest Rivals Ripping Project
This game ended service quite a while ago, so with permission from staff I created this thread to preserve info about it. You can use the links and info below to get started exploring assets. Descriptions of what's in each section are included below. If anyone has additional findings please feel free to share them here.
If any tools or links need to be removed, please let me know. The main goal here is to preserve knowledge about this game and its assets. Thanks to everyone mentioned in the explanations below who has worked with this game in the past and shared their tools. And most of all thanks to Square Enix, TOSE, ArtePiazza, Armor Project, Bird Studio, Sugiyama Kobo and all other responsible parties for putting so much work into this game and the series. I do not claim ownership of anything here.
For the mobile version, scroll down.
Dragon Quest Rivals Ace (Switch)
Assets: link
The game was dumped with nxdumptool from my Switch on the latest known version (v2686976 / 3.8.0), and files were exported with hactool on PC. Thanks to Blueberry for collaborating at the time and helping me update my console to the latest update. Assets are stored in separate zips so you can more easily hone in on what interests you without having to download everything. Some folders may contain more art assets than others. Most people I think will be interested in the 2D and chara sections. All sections are original/unedited folders, but some smaller sections are grouped together in one larger zip such as the misc section.
2D
Contains lots of sprites and character art, most in .png format.
chara
Contains 3D models, textures, and animations for characters, monsters, and more, usually stored in .c3b files and .tga. You can use Noesis with existing .c3b plugins to export (more details below).
ID list here: link
(Mostly complete; please feel free to comment to help fill in or correct any names.)
obj
Contains more 3D models, textures, and animations in .c3b and .tga. Also includes more .png sprites/illustrations. A variety of interesting things in here including props, accessories, medals, weapons, and even some characters.
map
Contains environments/fields as .c3b and .png. Includes interesting props and objects labeled "gimmick".
card_cardpack_coin
Contains the original folders card, cardpack, and coin, which use .c3b and .png. Lots of card models and illustrations.
sound
Music, sound effects, and voices stored as .sab. Can be played and converted using foobar2000 and vgmstream. (There may be other options available, but this was tested as working.)
misc
Contains all other sub-folders. May or may not include things of interest. The effect folder contains .m3r and .bmb files, as well as more .png and .tga images. The message folder contains .book files, which seem to be used for Japanese text.
Exporting 3D Models
You can use Noesis with a .c3b plugin made specifically for this game by Joschuka: https://github.com/Joschuka/fmt_c3b
(Export models, textures, and animations to common formats like .dae, .fbx, .png)
You can also use Noesis with a .c3b plugin made by DKDave for Medarot S: Unlimited Nova: https://www.vg-resource.com/thread-36603.html
(Export models from this game without rigging, .obj)
Copy the c3b .py plugin (only one of the options above, not both at once) into your Noesis plugins folder in plugins > python (where all the other .py files already are). Open Noesis and double-click a .c3b file to view. Right-click to export. With Joschuka's plugin, a pop-up with a Browse option allows you to select a folder with animations (usually a sub-folder named motion) to use with the model when viewing/exporting. To disable the animation prompt, you can open the .py in Notepad and change True to False at the top. You can also click OK or Cancel to load without anims.
* In the c3b.py script by Joschuka, one small change I made for myself, which may or may not be helpful to others: changed ".png" to "png" as shown below to avoid an extra . in the output texture file name. (may be anecdotal or depend on version of Noesis, etc.)
texture.name = filename[:-3]+"png"
Not all models in this game will work 100% out of the box with the plugins listed above; some may cause errors, or may need slight tweaks and updates to account for specific models. You can always try the medarot_s plugin if the version with rigging leads to an error; if the medarot_s version errors as well, you can always look at the specific file in a hex editor with the error notification as a clue. I have not spent time looking at every potential error, I'm sure some more work will be needed for some models, which anyone is free to look into.
You can also use 3D Model Researcher (or similar tools) to export as .obj if other tools aren't working.
Examples: link
My general process for exporting models: (feel free to alter, depending on your specific goal)
1. Export as .fbx, without animations.
2. Export as .fbx, with animations.
3. Select the .fbx without animations in Noesis, export as both .dae and .obj with "Flip UVs" enabled. For .obj, in the "Advanced options" field type -objmtl to export with .mtl.
4. Textures contain packed data in the alpha channel. Use Peardian's Texture Remix tool (or an image editor like Photoshop or Gimp) to save those into separate alpha and color textures. Just click the C+A button in Texture Remix. I recommend keeping the original texture for the .fbx, and then also including separated versions with suffixes _alpha.png and _color.png for the .dae and .obj to use.
5. Open the .dae in Notepad++. In library_images near the top, change the .png texture path to a relative name, such as below:
Before: <init_from>../../../noesisv4458/ch0045_000.png</init_from>
After: <init_from>ch0045_000_color.png</init_from>
(Using _color.png to link directly to the separated color texture from step 4, instead of the original channel-packed texture which is semi-transparent.)
6. Open the .mtl in Notepad or Notepad++. Change the .png name to include _color.png (or whatever your separated color texture name is from step 4) so that it's not using the original semi-transparent texture.
7. (Optional) Export each animation individually (I personally try to export without mesh, unless there are issues) in an additional Animations folder. The .fbx with animations from step 2 contains all animations in one track, but unfortunately the original animation names are lost this way as far as I know, and there are no takes to be able to split. The Browse option will grab all .c3b animations in the chosen folder, so one easy method is to move each one to its own unique sub-folder, and export one by one with Browse. Or temporarily rename all but one animation .zzz (anything not .c3b) so that the plugin only finds one animation. To export without mesh, you can choose .obj as the "Main output type", and then .fbx as "Additional animation output". Afterward, just delete the .obj and .png. (There are more elegant solutions, but it works.) Most models only have around 5 animations, so it doesn't take much time.
----------
Dragon Quest Rivals (Mobile)
Assets: link
Thanks to dqmod for originally preserving the files. Thanks to InsanEvil for looping me into the discussion.
Quickbms script by Spiritovod: dq_rivals_decrypt-convert
(If this exists anywhere publicly, I can remove this link. This is a re-upload so that it is not lost.)
Assets seem to be the same as Switch, but with compression/encryption. Images have more color banding. Recommended to use the Switch version instead, but notes are below for anyone who wants to explore this version as well:
1. For .png images, you can use quickbms with the dq_rivals_decrypt-convert.bms script provided above. Thanks again to Spiritovod for helping with this. For those who have not used quickbms, you can double-click quickbms.exe, then follow the prompts to select the .bms script, followed by your .png file, and finally an output location. You can also type * to batch process files in a location. A "decrypted" folder will be created with .png images that can be viewed normally, if successful. This script has mainly been tested with the card and chara folders (textures for 3D models); may not work with all images from all folders.
2. For .tga images in the chara section, you can use quickbms with the same script as described above. However, a couple of extra steps are needed. You'll need to use quickbms again, this time with write access. Use command prompt (in many versions of Windows, you can type cmd in the address bar of the folder you're browsing and press enter). Type quickbms -w dq_rivals_decrypt-convert.bms yourfilename.tga and press enter. This will replace your image (not generate an output somewhere else). One more step is required to deal with ETC1 compression. For this you will need Android SDK Platform Tools: https://developer.android.com/tools/rele...form-tools
3. Copy your .tga file from the quickbms steps above into the platform-tools folder with etc1tool.exe. Using command prompt one more time, type etc1tool.exe yourfilename.tga --decode and it should generate a usable .png. In the steps above, just remember to replace yourfilename.tga with the actual name of your file, for example ch0003_004_00.tga.
4. Finally for 3D models, copy the .c3b file to your quickbms folder, and use the same script from step 1. Just double-click quickbms.exe and use the script normally, no need to use command prompt with -w. Put the decrypted .c3b with the decrypted/converted .tga, and you can use the Noesis plugins from the Switch section. The script by Joschuka will expect a .tga of a specific name; you can take your viewable .png and then save it as a .tga with Noesis or an image editor. Or you can use the medarot_s plugin for the model without texture. One more note about the textures, the color and alpha are stored in one tall image. To use the color texture with the UVs of the model, you'll need to separate those into square images with an image editor.
All information above is provided so it's not lost. I do not claim ownership of any of it.
Thanks of course to DarkMatterCore (nxdumptool), SciresM (hactool, atmosphere), Rich Whitehouse (Noesis), and Luigi Auriemma (quickbms), and apologies if I've forgotten to mention anyone else here.
i have a question about the 3d model researcher example... was that by loading the c3b? if so how do you load c3b onto the 3d model researcher?