angstsmurf / spatterlight

Updated fork of Spatterlight
GNU General Public License v3.0
105 stars 5 forks source link

Quest support? #50

Closed MaddTheSane closed 2 years ago

MaddTheSane commented 2 years ago

Would it be possible to add Quest support via geas?

angstsmurf commented 2 years ago

Yes! All that is needed to support Geas (or any of the other missing Gargoyle interpreters) is to add detection of the file format to Babel.

Another issue is that Geas actually supports very few of the existing Quest games. Not any of the more recent ones. I think that the last time I looked into this, I could only find one game that worked.

MaddTheSane commented 2 years ago

ScummVM has integrated Geas as part of their glk engine.

So either Geas is good enough for ScummVM, or ScummVM is going to improve Quest support and their own Geas code. Maybe do both.

angstsmurf commented 2 years ago

To clarify, it is not that Geas is broken or incomplete, it is just that it is an interpreter for the old Quest format (up to version 4, I think), which pretty much only has the name in common with Quest 5, which seems to be written in Visual Basic .NET and C#.

In the Quest section at ifarchive.org, there is only one game in the .cas format that Geas supports, though I think the .asl format might be source code that can be compiled to .cas.

It would be a pretty big undertaking to implement ScummVM (or Spatterlight) support for Quest 5, and I doubt that there is much in the current Geas engine that could be reused.

See also https://github.com/garglk/garglk/issues/286

angstsmurf commented 2 years ago

I added Quest 4 support to Babel on top of your Geas work, so Geas now seems to work as well as in Gargoyle. Thanks a lot!

Also, thanks for all the other much-needed fixes and cleanups that I took the liberty of cherry-picking from your fork. I hope you don't mind.

Closing this.

MaddTheSane commented 2 years ago

I do not mind. Go ahead 😄