libretro / flycast

Flycast is a multiplatform Sega Dreamcast emulator. NOTE: No longer actively developed, use upstream repo for libretro from now on - https://github.com/flyinghead/flycast
http://reicast.com
GNU General Public License v2.0
155 stars 77 forks source link

Several issues with texture dumping. #1018

Open bug-ilustracion opened 3 years ago

bug-ilustracion commented 3 years ago

Hello everyone! I just started a personal project I always wanted to do and never really had the means to do it until now with Flycast, to customize the visual experience of Marvel vs Capcom 2. I'm using Flycast's option to dump and load textures to do it with very pleasing results for my taste.

Here are some screenshots for you to see what I'm trying to describe.

MVSC2CH-210117-103555 Replaced the background texture with a new pattern in higher resolution for modern displays, changed the font of several of the elements like the assist select type, also replaced the garbled character sprite used below the portraits for actual clean upscaled sprites without compression.

MVSC2CH-210117-103710 MVSC2CH-210117-105056 At this point I have replaced succesfully all the textures of the airship stage with custom textures drawn by me to give the game a more "sketchy" look similar to the artwork used for the characters. I scaled 4X the size of the dumped textures for the size of the new artwork.

MVSC2CH-210117-105438 MVSC2CH-210117-105455 But the thing I'm more excited about it's the possibility of adding new artwork for the character art used in different part of the game. I like a lot the style of the original art but failed to secure high quality images of all the characters in the game, that was my perfect excuse to draw new portraits for the characters.

But I have ran in some problems and I'm requesting your advice. There are some elementes of the UI Flycast seem to never dump such as the fonts used in some parts of the game, is there a way to search for such elements?

fc362e05 Second, Flycast dumps textures in blocks like the one above. I can replace them with no problem only if the original texture has no transparency on it. If i replace a texture with some transarency like this one (the upper half has artwork and the bottom half is transparent): 49575

The loaded texture in game fills the transparent area in the png with a solid color like this (the white blocks in the ground): MVSC2CH-210117-105634

I believe it has to do with the png header missing something but I'm open to hear your opinion, I used several graphic editing software like Clip Studio Paint and Photoshop but the result is the same.

And lastly. You can select teams of three characters. MVSC2CH-210117-103454

I want to put custom artwork on the banners but instead of dumping each slot separatedly, Flycast saves this kind of texture: 868f817d

After I select the first character I have a texture like this one: 61747b1c

After selecting the second and third characters I have these: c586dd8 59d2a516

So, if I want to replace the artwork in the banners i need to generate a single png texture for every possible combination X2, one for ech player side wich is unpractical I believe. It's there something I can do to replace the "base" texture before it's assembled into the mosaic?

Thanks for reading this long post and I hope we can find some workaround for this issues. I plan on release this texture replacement in the future but I think it makes no sense to do it so without replacing all of the art as it will look inconsistent.

Thanks again!