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

dettus dettus at dettus.net
Wed May 1 17:34:46 CEST 2019


Hello.


Since I did not have any access to the original data files, I got some 
binaries from https://msmemorial.if-legends.org/memorial.php

As far as I understood, they repackaged the MS data files into their own 
format. That included the CD Collection versions for "Corruption", "The 
Guild of Thieves" and "Wonderland".

Save for a couple of glitches/bugs, my engine is capable of handling all 
the games in that format. I am also in contact for strandgames (Which is 
Hugh Steers). He likes what I am doing. :D




*As for the windowing system:*

The way I see it is that there are three layers: GAME, ENGINE and GUI.


So, for example: When the GAME gets to a point where it wants to present 
a picture, it triggers a callback to the ENGINE. My engine is 
pre-rendering the picture into a more manageable format, and in turn 
triggers a callback to the GUI. The same goes for textual output and for 
input. (I thought it would be easier to port this way)

Reading your emails, I suppose the GAME actually triggers callbacks for 
the compass rose and the inventory box. However, since I did not need 
those for finishing the game, my engine actively ignores them.


*As for GLK:*

So far I was able its project page https://www.eblong.com/zarf/glk/ , 
and compile the ncurses example. When I tried the example for X, i 
realized that this is probably outdated, since I was not able to compile 
it on the first try.

I will have to familiarize myself with it, if you say that this is the 
way forward. Here, I'd take any help I can get. ;) But other than that, 
I do not see why my callback hooks should not be adaptable to it. 
Currently, they end in a printf() and an fgets().






Thomas


On 5/1/19 5:13 PM, Torbjörn Andersson wrote:
> The Legend games split the screen into fixed areas, though. The 
> Magnetic Windows GUI was basically a window manager (in 640x480 
> pixels), with movable, resizable, potentially overlapping windows. 
> Here is an admittedly horrifying screenshot of what it could look like 
> if you opened all the possible windows:
>
> http://www.update.uu.se/~d91tan/magnetic-windows.png
>
> I defy anyone to find a sensible layout for all of that! You may think 
> you can do it, if you close the "Compass", "Inventory", and "Items in 
> room" windows, and for a while you can... and then you realize that 
> not every image is the same size, and you have to move the "Graphpics" 
> window out of the way...
>
> Torbjörn Andersson
>
> On 01/05/2019 08.53, Paul Gilbert wrote:
>> Thanks for information Torbjörn. It doesn't sound like the missing 
>> screen elements are things I'd miss all that much. Though maybe some 
>> of it could eventually be reintroduced as an option. Whilst Glk 
>> doesn't currently have any "listbox" window types, I do have an 
>> already implemented listbox control for my stalled Legend engine that 
>> could probably be adapted. And a main menu implementation could be 
>> useful for Frotz v6 as well as the Magnetic engine.
>>
>> It will be nice if they do release the original versions alongside 
>> the remastered versions. Being away from home, I'm not sure how many 
>> Magnetic Scrolls games I have, if any.. comes from having too large a 
>> collection.. I'm sure Strangerke among others can empathize :), So if 
>> I don't have all of them; it would be nice to eventually have a 
>> legitimate source to get any missing ones.
>>
>> Paul.
>>
>>
>> On Wed, May 1, 2019 at 4:00 PM Torbjörn Andersson 
>> <eriktorbjorn at telia.com <mailto:eriktorbjorn at telia.com>> wrote:
>>
>>       From what I remember, the main feature not supported by the 
>> Magnetic
>>     interpreter is some of the "Magnetic Windows" interface 
>> (on-screen map,
>>     compass rose, separate windows for inventory and room objects, 
>> horribly
>>     cluttered windowing system, ... oh, sorry, that last thing isn't 
>> really
>>     a feature, is it?) used by Wonderland and the Magnetic Scrolls
>>     Collection.
>>
>>     At least as long as the front end implements the necessary hooks for
>>     displaying static and animated pictures, etc. I'm not sure if it 
>> loads
>>     the original data files, or if they have to be specially 
>> prepared. (The
>>     files on my Magnetic Scrolls Collection CD certainly don't look like
>>     anything the emulator would recognize.)
>>
>>     Also, it doesn't try to emulate the original look of the games 
>> with its
>>     animated menus and pull-down graphics. Which is a bit of a shame
>>     or,, in
>>     the case of the Magnetic Windows interface, a huge relief.
>>
>>     When I asked [1] on the Strand Games forum (the company in the 
>> process
>>     of remastering the Magnetic Scrolls games, after the source code was
>>     recovered from a backup tape [2]) if they were planning on 
>> release the
>>     original versions as well, just for nostalgia, I got a reply from 
>> Hugh
>>     Steers referring me to Stefan Meier's "Magnetic Scrolls Memorial" 
>> for
>>     data files for the emulator.
>>
>>     Since "Strand Games was started by Hugh Steers - a founding 
>> member and
>>     core developer of Magnetic Scrolls and Stefan Meier, curator of
>>     if-legends.org <http://if-legends.org>" and they claim to have the
>>     support of "several members
>>     of the original Magnetic Scrolls team" [3], I guess those files are
>>     kiiind-of officially endorsed...? It's probably worth asking them 
>> again
>>     later.
>>
>>     [1]
>> https://strandgames.com/community/discussion/65/the-original-versions
>>     [2]
>> https://strandgames.com/blog/magnetic-scrolls-games-source-code-recovered
>>     [3] https://strandgames.com/about
>>
>>     Torbjörn Andesson
>>
>>     On 01/05/2019 05.10, Paul Gilbert wrote:
>>      > Hi Thomas,
>>      >
>>      > I'm not sure of the status of the Gargoyle Magnetic Scrolls
>>     sub-engine,
>>      > and I don't currently have any Magnetic Scrolls games handy to
>>     test it
>>      > on. But unless it's significantly lacking in support for the
>>     later games
>>      > that your own work adds support for, it'll likely prove easier to
>>     work
>>      > on converting it, I'm afraid. Since, after all, someone else has
>>     already
>>      > done the work of hooking it up to Glk as well. So it'll be easier
>>     to do
>>      > minimal work (relatively speaking) to hook it up to the ScummVM
>>     version
>>      > of the Glk layer. And then I can keep testing it as I properly
>>     objectify
>>      > everything to make sure I don't break anything along the way.
>>      >
>>      > Though I'll be unlikely to be spending much time beyond basic
>>     polishing
>>      > up of the sub-engine afterwards. So based on your experience with
>>     the
>>      > games & engine involved, there might be opportunities afterwards
>>     for you
>>      > to contribute if you're interested, and to do pull requests to
>>     improve
>>      > the functionality of the engine based on your work.
>>      >
>>      > Regards,
>>      >
>
> _______________________________________________
> 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/20190501/672b7fc1/attachment-0001.html>


More information about the Scummvm-devel mailing list