[Scummvm-devel] SCI: line drawing functions
Max Horn
max at quendi.de
Tue Feb 24 04:39:54 CET 2009
Am 23.02.2009 um 17:14 schrieb Jordi Vilalta:
> Hi,
>
> To add a bit of background, it must be noted that FreeSCI supported
> rendering vectorial graphics to arbitrarily scaled surfaces. That
> means that it could render directly to a 640x400 with higher
> resolution than rendering to 320x200 and later scaling the bitmap.
>
> Additionally SCI has several buffers (visuals, priorities, and
> probably something more I'm missing). The most important buffers here
> are the internal ones, which interact with the game logic. Right now
> all buffers are scaled together, so all draw operations happen at the
> same resolution. While it simplifies the code it introduces
> differences in behaviour when compared to the original SCI
> interpreter. It seems most of these bugs were already fixed in FreeSCI
> but some of them remain open.
To be honest, I never understood why this would introduce differences
if done correctly: Namely, you can just draw the same graphics
internally whether you do this engine level scaling or not. I.e.,
render all priority, gfx and whatever buffers at 320x200; but also
render the GFX separately at 640x400 (or 640x480). Or is some of the
graphics data pixel based, and only part of it vector based?
>
>
> If I recall correctly, the current SCI gfx driver for ScummVM has 1x
> scaling hardcoded because it wasn't easy to configure from the user's
> point of view, but it could be reenabled if desired. The point is: the
> engine already supports it, do we want to keep this feature or must we
> strip it? I have no preference on that, but I think some people may
> like it, and whoever doesn't like it just would have to disable it.
I think it's a very nice feature to enhance graphics quality by taking
advantage of the fact that some of the graphics are vector data. So
I'd like to keep this feature (and re-implement it for AGI one day).
Bye,
Max
More information about the Scummvm-devel
mailing list