Opened 5 years ago

Closed 3 years ago

#10986 closed feature request (wontfix)

Asset override

Reported by: Laserschwert Owned by: sev-
Priority: normal Component: Common
Version: Keywords:
Cc: Game:


Lately there have been several projects regarding cleanup and upscaling of video game assets (like textures or background images) using AI-driven tools like ESRGAN. For 3D games it's quite easy to swap out existing textures in a game for new versions of the same files. For adventure games I think ScummVM would be the best tool to allow for this functionality.

What I'm imagining is basically being able to place override files in the game's directory (or an override subdirectory), and the game automatically uses any override files it finds I there, instead of the one from the game's data files. This doesn't necessarily only apply to image files, as it might also be nice to be able to replace for example audio files.

Getting the format of an override file right might be the tricky part (like palettized images), so ideally this should work independently from the original asset's format.

Example 1: I've used ESRGAN to remove all the dithering from the CoMI background images. Of course after that they aren't 8-bit color images with an indexed palette anymore (which caused/required the dithering in the first place). So rendering these at their now 24-bit color range would be required.

Example 2: After removing the dithering I've scaled the backgrounds up to 4x their original size (again using ESRGAN, so quality-wise it's much better than what a realtime scaler could produce). Being able to use those upscaled backgrounds instead of their 640x480-sized originals would require them to be scaled to fit the game window. Would the OpenGL renderer be able to do this, while keeping all other assets and game functionality (like walk boxes) the same?

Change History (1)

comment:1 by sev-, 3 years ago

Owner: set to sev-
Resolution: wontfix
Status: newclosed

This will easily lead to copyright violations. Nope.

Note: See TracTickets for help on using tickets.