SCI implementation general question
Moderator: ScummVM Team
SCI implementation general question
Hey all, big fan of all you guy's work on scummvm (awesome program) and like many I'm excited about the future prospect of playing most of the SCI games in scummvm as well.
I've got a passing knowledge of SCI (nothing too technical) and I've just got a couple questions for curiosity's sake, and was hoping somebody might be able to fill me in on them.
1) FreeSCI had the amazing ability to let you choose not to dither the SCI0/01 background pics, and instead show them in 256 colours (instead of the pseudo 256 dithered 16 colours that the original sci interpreter used). That was hands-down my favourite feature of FreeSCI. I played around with a recent SVN of ScummVM and couldn't find any config setting to enable that non-dithering mode. Is there one I'm blind to, or is it a planned feature? (Please yes?)
2) Lemme see if I can accurately explain this one... I know it's a ways down the road, dealing with SCI1 and later... I remember in the various windows incarnations of later SCI games like KQ6, and QFG4, (the windows ones where ego would scale as he walked into the distance) when the game was run in a 640×480 resolution the sprite would scale based on that resolution, unlike it's DOS counterpart. I.e. they wouldn't resample the sprite in a 320×200 mode then just double the size to fit a 640×400 (then stretch to 640×480), so the character walking in the distance would have a finer resolution in the windows versions than the dos versions. Is ScummVM built in a way to do it like the windows versions, or is the engine done in a "do all rendering at 320×200 then resize as required" way? I didn't really play around as much with the LucasArts games as I did the Sierra ones in my mispent youth, to know if LucasArts games even *did* sprite resampling (for apearing to be walking into the distance).
I imagine you'd need to be able to support this kind of pattern anyway to support the hi-res portraits from KQ6, eventually. (Like I said, I know KQ6-style SCI is a long way off from here, but I thought there might be road maps.
(3) For that matter, I just thought of a general resampling question. Similar in vein to the HQx series of resamplers, has anybody done anything that intelligently/smoothly resamples the old DOS aspect ratios of 320×200 to the modern windows aspect ratios of 320×240? I figure most aspect ratio corrections done these days are along the lines of double a pixel row once every 10 rows or something like that. I don't really know; I haven't followed this stuff.
Whoa, okay, I wrote way more than I intended to there. Thanks for reading, and [hopefully] answering.
I've got a passing knowledge of SCI (nothing too technical) and I've just got a couple questions for curiosity's sake, and was hoping somebody might be able to fill me in on them.
1) FreeSCI had the amazing ability to let you choose not to dither the SCI0/01 background pics, and instead show them in 256 colours (instead of the pseudo 256 dithered 16 colours that the original sci interpreter used). That was hands-down my favourite feature of FreeSCI. I played around with a recent SVN of ScummVM and couldn't find any config setting to enable that non-dithering mode. Is there one I'm blind to, or is it a planned feature? (Please yes?)
2) Lemme see if I can accurately explain this one... I know it's a ways down the road, dealing with SCI1 and later... I remember in the various windows incarnations of later SCI games like KQ6, and QFG4, (the windows ones where ego would scale as he walked into the distance) when the game was run in a 640×480 resolution the sprite would scale based on that resolution, unlike it's DOS counterpart. I.e. they wouldn't resample the sprite in a 320×200 mode then just double the size to fit a 640×400 (then stretch to 640×480), so the character walking in the distance would have a finer resolution in the windows versions than the dos versions. Is ScummVM built in a way to do it like the windows versions, or is the engine done in a "do all rendering at 320×200 then resize as required" way? I didn't really play around as much with the LucasArts games as I did the Sierra ones in my mispent youth, to know if LucasArts games even *did* sprite resampling (for apearing to be walking into the distance).
I imagine you'd need to be able to support this kind of pattern anyway to support the hi-res portraits from KQ6, eventually. (Like I said, I know KQ6-style SCI is a long way off from here, but I thought there might be road maps.
(3) For that matter, I just thought of a general resampling question. Similar in vein to the HQx series of resamplers, has anybody done anything that intelligently/smoothly resamples the old DOS aspect ratios of 320×200 to the modern windows aspect ratios of 320×240? I figure most aspect ratio corrections done these days are along the lines of double a pixel row once every 10 rows or something like that. I don't really know; I haven't followed this stuff.
Whoa, okay, I wrote way more than I intended to there. Thanks for reading, and [hopefully] answering.
1) Current goal is to make main parts of engine working well in ScummVM. Once that goal is achieved, we may start looking into bringing bells and whistles. At this point that is not the focus.
2) No. even when running 320x200 game in 960x720 mode, internally it is same 320x200. And it's irrelevant whether support for 640x480 games exists in the engine or not. All game data, including path priority screens are coded for 320x200. Attempts to scale that up in AGI engine lead to miscellaneous artifacts since game scripts often rely on original resolution too.
3) You're right, and that's the way we stretch the game to 240 pixels height. Though doing it otherwise will be close to impossible, since the scalers work on guaranteed 2x increase of resolution, thus having room for image enhancement. For 200->240 it is factor of 1.2. Subpixel rendering could do something, but I doubt that it will be that different.
Eugene
2) No. even when running 320x200 game in 960x720 mode, internally it is same 320x200. And it's irrelevant whether support for 640x480 games exists in the engine or not. All game data, including path priority screens are coded for 320x200. Attempts to scale that up in AGI engine lead to miscellaneous artifacts since game scripts often rely on original resolution too.
3) You're right, and that's the way we stretch the game to 240 pixels height. Though doing it otherwise will be close to impossible, since the scalers work on guaranteed 2x increase of resolution, thus having room for image enhancement. For 200->240 it is factor of 1.2. Subpixel rendering could do something, but I doubt that it will be that different.
Eugene
- MusicallyInspired
- Posts: 1138
- Joined: Fri Mar 02, 2007 8:03 am
- Location: Manitoba, Canada
- Contact:
- MusicallyInspired
- Posts: 1138
- Joined: Fri Mar 02, 2007 8:03 am
- Location: Manitoba, Canada
- Contact:
- MusicallyInspired
- Posts: 1138
- Joined: Fri Mar 02, 2007 8:03 am
- Location: Manitoba, Canada
- Contact:
- MusicallyInspired
- Posts: 1138
- Joined: Fri Mar 02, 2007 8:03 am
- Location: Manitoba, Canada
- Contact:
Ok, there's no console output when running from a terminal.
I tried both the latest release and one of the latest SVN daily snapshots (0.14.0SVN) and neither of them can detect an SCI game nor do they have SCI in the engine list when you press ABOUT. I downloaded the linux binary scummvm-20090327_unstripped.
I tried both the latest release and one of the latest SVN daily snapshots (0.14.0SVN) and neither of them can detect an SCI game nor do they have SCI in the engine list when you press ABOUT. I downloaded the linux binary scummvm-20090327_unstripped.
- MusicallyInspired
- Posts: 1138
- Joined: Fri Mar 02, 2007 8:03 am
- Location: Manitoba, Canada
- Contact:
SCI engine is not turned on by default. That could be the reason.MusicallyInspired wrote:Maybe someone didn't bundle the latest linux SVN binaries with SCI support? I guess I could try downloading the source, but that's huge isn't it? Which is why I opted for the binary instead.
As of the sources, 7MB is not considered big today.
Eugene
- MusicallyInspired
- Posts: 1138
- Joined: Fri Mar 02, 2007 8:03 am
- Location: Manitoba, Canada
- Contact:
Really? That small? Seems to me the last time I tried downloading the source it was in the hundreds or something....must be a faulty memory. I'll get the source then. Do I need to do anything to turn it on before I compile it?
EDIT: Hmm, I seem to be a little lost. The 0.13.0 source obviously doesn't contain the SCI engine (it's not in the engines subdir), so I need an SVN source but I can't seem to find it. I'm browsing the repository in "trunk" but the SCI engine isn't there either. Can somebody point me in the right direction?
EDIT: Hmm, I seem to be a little lost. The 0.13.0 source obviously doesn't contain the SCI engine (it's not in the engines subdir), so I need an SVN source but I can't seem to find it. I'm browsing the repository in "trunk" but the SCI engine isn't there either. Can somebody point me in the right direction?
Last edited by MusicallyInspired on Sun Mar 29, 2009 8:42 pm, edited 1 time in total.
- MusicallyInspired
- Posts: 1138
- Joined: Fri Mar 02, 2007 8:03 am
- Location: Manitoba, Canada
- Contact: