SCI: LSL7: Better cel scaling
|Reported by:||DanielSWolf||Owned by:||criezy|
|Cc:||csnover||Game:||Leisure Suit Larry 7|
This issue suggests an enhancement that I'd like to implement myself.
Leisure Suit Larry 7 has great graphics. Just about the only thing that has always bugged me about it is that some sprites (especially Larry) get upscaled when they appear too close in the foreground. See the attached screenshot for an example.
I believe it should be possible to enhance
celobj32.cpp to give better-looking results than the current nearest-neighbor implementation, while still staying in 8-bit color mode. I'm thinking of implementing something similar to AdvMAME2x/3x, but with non-integer scaling factors.
As a start, I'd like to implement this only for LSL7. All cels in this game use flat colors without anti-aliasing. This should give good results with this kind of scaler.
Before I blindly start coding, I have some questions:
- Are there any reasons not to do this? E.g. fundamental concerns, similar ongoing initiatives, etc.
- It is my understanding that cel scaling in SCI32 games has to happen in 8-bit color mode. However, I've seen some code comments by @csnover concerning
USE_RGB_COLORthat sound as if that might change in the future. So I'd like to make sure I won't put effort into a special palette-based scaler that will soon be superfluous due to a move to true color.