[Scummvm-devel] Contributing to ScummVM with an interpreter for Magnetic Scrolls?

Paul Gilbert paulfgilbert at gmail.com
Tue Apr 30 02:20:52 CEST 2019


Hi guys,

Thanks for the excellent summary of the current status, Filippos. As he
said, I'm currently in the middle of working my way through converting all
the Gargoyle engines to ScummVM, cleaning them up and making them conform
to our coding requirements, as well as making them proper C++ classes. If
you do decide to work on the Gargoyle sub-engine, please let me know.. I'll
hold off working on it until after I've converted the remaining
sub-engines. That'll give you plenty of time.. the TADS & Hugo sub-engines
are big enough that that'll likely take me a while to finish converting :).

If you have any questions about the Glk engine specifically, feel free to
drop me a line.  There's also the technical forums at intfiction.org.
Though my schedule is a bit packed for the next few weeks, so if you do
email, I may take a bit to get back to you.

As far as music and animation goes, music at least should be easy, so long
as it's a standard format ScummVM understands. Currently the engine
supports raw sound, wav files, aiff, and mp3. As for graphics, that's
somewhat straightforward as well, as long as the graphics can be segmented
into completely separate windows than the text, and it looks like the
Magnetic Scroll games do.. when you create windows in Glk, you can specify
what portion of the screen each will use (for text vs graphics). I've had a
lot of trouble with the Frotz sub-engine, but only because graphics and
text can intermingle in the same windows, which Glk doesn't allow.

Regards,

Paul Gilbert (aka DreamMaster).





On Mon, Apr 29, 2019 at 7:18 PM Filippos Karapetis <bluegr at gmail.com> wrote:

> Sorry, forgot to say that the glk engine in ScummVM can be found here:
> https://github.com/scummvm/scummvm/tree/master/engines/glk
>
> There are currently subengines for the alan2, frotz, glulxe, magnetic,
> scott, and tads interpreters, in various stages of development. dreammaster
> is mainly working on these. You can also find information about the glk
> engine in our wiki:
> https://wiki.scummvm.org/index.php?title=ScummGlk
>
> Regards
> Filippos Karapetis
>
> On Mon, Apr 29, 2019 at 12:14 PM Filippos Karapetis <bluegr at gmail.com>
> wrote:
>
>> Hello, and glad to hear about your interest in ScummVM, and your work on
>> the Magnetic Scrolls games!
>>
>> It's great that you are working on this. Bear in mind, though, that there
>> has been extensive work on the Magnetic Scrolls games, which has been
>> integrated into the Gargoyle interpreter:
>> http://ccxvii.net/gargoyle/
>>
>> Gargoyle is being integrated as a subengine into ScummVM, in the glk
>> engine. The glk engine is a port of the Gargoyle engine into ScummVM.
>> There's an extensive wiki for Gargoyle, here:
>> http://ifwiki.org/index.php/Gargoyle
>>
>> So, my advice would be to make your engine part of the glk engine, and
>> base your work on the already working Magnetic Scrolls interpreter from the
>> Gargoyle engine. The interpreter is open source, and can be found here:
>> https://github.com/garglk/garglk/tree/master/terps/magnetic
>>
>> The list of supported Magnetic Scrolls games can be found here:
>>
>> https://github.com/garglk/garglk/blob/master/terps/magnetic/Generic/games.txt
>>
>> And there's an archive about interactive fiction games, where a lot of
>> resources about the Magnetic Scrolls games can be found, here:
>>  http://www.ifarchive.org/indexes/if-archive/magnetic-scrolls/
>>
>> Thanks for your interest in these games! It would be great to see your
>> work on them :)
>>
>> Regards
>> Filippos Karapetis
>>
>>
>> On Mon, Apr 29, 2019 at 10:08 AM dettus <dettus at dettus.net> wrote:
>>
>>> Hello.
>>>
>>>
>>> My name is Thomas, I am a big fan of ScummVM.
>>>
>>> Currently, I am in the process of writing an interpreter for classic
>>> text adventures from Magnetic Scrolls, such as "The Pawn" or "The Guild
>>> Of Thieves".
>>>
>>> Even though I am not saying that it SHOULD be integrated into ScummVM, I
>>> would like to think that it COULD. It is WAY to early to really start
>>> integrating it, but I like to be prepared.
>>>
>>>
>>>
>>> So, the reason why I am writing this mail is because I would be
>>> interested as on how I would have to design my code to make it possible.
>>> Currently, my interpreter needs a couple of hooks into any form of GUI:
>>>
>>> - Initialization, where pointers to the original binaries are being
>>> provided
>>>
>>> - Callbacks for textual input (strings)
>>> - Callbacks for textual output (strings)
>>> - Callbacks for textual output (characters)
>>> - Callbacks for drawing a picture (XPM)
>>>
>>> My code is purely C, so callbacks I am using function pointers. Said
>>> functions are, at the moment, doing nothing more than just a simple
>>> printf() and fgets(). The games I can play so far are "The Pawn", "The
>>> Guild of Thieves" and "Jinxter". HOWEVER, later games, such as
>>> "Corruption", "Myth", "Fish!" and "Wonderland" added features such as
>>> animation and music.
>>>
>>> SO MY QUESTION is this: How would I best design the callbacks for
>>> animation and music in way so that it MIGHT be integratable into ScummVM?
>>>
>>>
>>>
>>> Dettus
>>>
>>>
>>>
>>> P.S.: My interpreter is available at http://www.dettus.net/dMagnetic.
>>>
>>> (Hopefully this link, and the fact that this is my first email will not
>>> make this spam. ;) )
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Scummvm-devel mailing list
>>> Scummvm-devel at lists.scummvm.org
>>> https://lists.scummvm.org/listinfo/scummvm-devel
>>>
>>
>>
>> --
>> "Experience is the name every one gives to their mistakes" - Oscar Wilde
>>
>
>
> --
> "Experience is the name every one gives to their mistakes" - Oscar Wilde
> _______________________________________________
> Scummvm-devel mailing list
> Scummvm-devel at lists.scummvm.org
> https://lists.scummvm.org/listinfo/scummvm-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.scummvm.org/pipermail/scummvm-devel/attachments/20190430/f9379e28/attachment.html>


More information about the Scummvm-devel mailing list