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.
Idea for possible optional visual improvement for downscaled sprites
Moderator: ScummVM Team
- eriktorbjorn
- ScummVM Developer
- Posts: 3575
- Joined: Mon Oct 31, 2005 7:39 am
Re: Idea for possible optional visual improvement for downscaled sprites
Sounds like this feature request, that was reject 22 years ago. (So why did I remember seeing it? What's wrong with me?!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.
