kelpsyberry / dust

A Nintendo DS emulator written in Rust for desktop devices and the web, with debugging features and a focus on accuracy
GNU General Public License v3.0
192 stars 12 forks source link

Ability to export images in debugger to lossless .bmp (Suggestion) #4

Open LandonAndEmma opened 3 months ago

LandonAndEmma commented 3 months ago

There's a lot of games that haven't had sprites able to be ripped on the DS with good quality, we have had Desmume but there was no save image button or system, but with Dust it's even more improved with debugging and sprites, I think you should be able to add dumping of the images in the debug system, I would love it and it could help everyone, in fact I have a use for it.

LandonAndEmma commented 3 months ago

Maybe also add exporting as the loaded formats too... since there are some games that would benif from that for deconstruction, for example if there are no tools to open a archive, but you want to know what files are in it, why not just play the game and extract the files that way, it works...

LandonAndEmma commented 3 months ago

Maybe even incorporate apicula to dump 3d models.

kelpsyberry commented 2 months ago

Hii, sorry for taking a bit!

I could add features for dumping parts of or the entirety of the currently displayed tilemaps, tilesets, sprites and sprite tilesets to PNG images to the debug views, including adding views in general for the latter 3.

It's much harder to have more in-depth analysis of loaded images and models though, since due to its architecture the emulator has no access to how the game loads and manages its high-level resources, but only to the raw data that is currently being displayed, being tilemaps, tilesets and palettes in the 2D case or a block of texture RAM and vertex lists which might or might not correspond to separate models in the 3D one.

However there is already a filesystem viewer which currently only acts as a hex editor but could be improved to allow more in-depth file and archive inspection, even if that can be done by exporting a file and opening it with external tools too.