Idea for possible optional visual improvement for downscaled sprites

General chat related to ScummVM, adventure gaming, and so on.

Moderator: ScummVM Team

Post Reply
DerKoun
Posts: 1
Joined: Thu Nov 30, 2023 11:23 pm

Idea for possible optional visual improvement for downscaled sprites

Post by DerKoun »

Last time I played Monkey Island 1 & 2 I had thought about a possible optional visual improvement.
It's a similar approach to some emulators like bsnes-hd (shameless plug). When character move away from the 'camera' they are shrunk for perspective. This seems to be done via nearest neighbor downscaling, which assume is the same as in the original engine and therefore the correct default for preservation. So sprites are scaled down to the original game resolution via NN and then scaled up again to screen/window resolution via the chosen upscaling method(s).
The option I'm wondering about would be to scale everything only once, to the screen resolution (or probably rather to an integer multiple of the original game resolution) via a chosen scaler. Non-NN scaling might of course cause 'seams', but even using NN sprites in the background should look great on high resolution displays. I can guess that it might be a larger change, but I'm hoping it could even be done at the backend or even common graphics level, so it help many engines at once.
Still I keep hoping a dev can shed some light on whether this would be possible with acceptable effort. I, of course, don't expect anyone to put it on the top of his list, but maybe someone could point me to the place(s) where the scaled sprite is written into the image buffer. Then maybe someone could have a look at implementing it. I'm not good at it but I'd probably try myself when I find the time and energy.
Thanks a lot in advance.
User avatar
eriktorbjorn
ScummVM Developer
Posts: 3525
Joined: Mon Oct 31, 2005 7:39 am

Re: Idea for possible optional visual improvement for downscaled sprites

Post by eriktorbjorn »

DerKoun wrote: Tue Mar 19, 2024 3:01 pm Still I keep hoping a dev can shed some light on whether this would be possible with acceptable effort. I, of course, don't expect anyone to put it on the top of his list, but maybe someone could point me to the place(s) where the scaled sprite is written into the image buffer. Then maybe someone could have a look at implementing it. I'm not good at it but I'd probably try myself when I find the time and energy.
Sounds like this feature request, that was reject 22 years ago. (So why did I remember seeing it? What's wrong with me?! :D) I don't think anything has changed in that respect.
Post Reply