[Scummvm-devel] FreeSCI options and filters

Filippos Karapetis philipk79 at hotmail.com
Wed Sep 2 10:55:12 CEST 2009


Hello

I'm writing this concerning the various FreeSCI options and filters, as well as my thoughts on each one. Any comments are welcome :)

FreeSCI offered several options and enhancements on the original games. Some overlap ScummVM's functionality, others introduce new features. Most are specific to SCI0 games (i.e. older EGA games with vector-based background images). Let's take them one-by-one:

- "Number of background pics to store in an LRU buffer. Increasing this value will increase the amount of memory used, but may considerably speed up changing back to rooms you visited not too long ago." - imho not that useful, SCI is quite fast anyway (room changing is instantaneous). Devices with slow CPUs (e.g. the DS) will also have less memory, so again this doesn't look useful. It would be nice to either remove this altogether, or set it to some default value other than 0. How will the average user know what to put for this? It's not quite clear
- "The "dirty strategy" is the strategy used to collect modifications to the screen content. Modifying this may affect performance on slow or networked systems.". - This can either collect everything in one big region, or cluster non-overlapping modified regions into a set of regions. In my opinion, it would be best to remove this as an option, and always use the "clustering" strategy, like we do in the rest of the engines supporting dirty rects
- Scaling options. These are used to arbitrarily scale parts of the graphics. Background scaling can be done using vector scaling, before it is actually drawn (for SCI0 games only). This is the only functionality we cannot possibly support with our own scalers, since this is done before anything is actually drawn. This functionality brings considerable code complexity, with very minimal gain (HQ3x looks much better imho, for example). The scalers used are quite ineffective, too (as fingolfin points out as well). In my opinion, the extra code complexity does not justify vector scaling for the background picture, as the rest of the elements (views, for example) will not be scaled using vector scaling, and as pointed out, the resulting image looks worse than our own filters
- Per-view palettes. This is actually a very nifty feature, as it improves the graphics considerably. The code for it is very nicely written, so in my opinion it would be nice to just detect the palette files automatically (if they're in the game's directory or the extras directory), based on the game id itself. For now, there are 2 such enhancements for 2 SCI0 games, namely Leisure Suit Larry 2 and Space Quest 3, and can be found here:
http://scummvm.svn.sourceforge.net/viewvc/scummvm/vendor/freesci/glutton/custom/
- Dithering. Sierra dithered SCI0 games a lot, making the overall graphics look awful. They tried to dither with 16 colors, which doesn't produce any nice results at all. I'm not sure why they did this or what they were trying to achieve. Two example screenshots:
http://freesci.linuxgames.com/screenshots/comparison/hq1-win32-before.jpg   (with dithering)
http://freesci.linuxgames.com/screenshots/comparison/hq1-win32-after.jpg     (no dithering)
In my opinion, we should disable dithering altogether and only offer it as an option for purists who want the games to look exactly the same

So, I'm proposing the following:
- Remove the options for background picture buffering and dirty strategy, They're not really useful, and can be set to default values safely
- Keep the per-view palette enhancements, and apply them automatically if the palette enhancing files are found for the game running (e.g. if we're running LSL2 and lsl2.scifx is found)
- Remove the FreeSCI scaling code. It doesn't offer much, it's not optimized and our scalers do a better job. Plus, removing it will simplify the code considerably
- Disable dithering by default, and offer an option to enable it, for purists

Thoughts?

Regards
Filippos Karapetis
 

_________________________________________________________________
With Windows Live, you can organize, edit, and share your photos.
http://www.windowslive.com/Desktop/PhotoGallery
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.scummvm.org/pipermail/scummvm-devel/attachments/20090902/facba271/attachment.html>


More information about the Scummvm-devel mailing list