Hello there,
This may well be the most ridiculous thing you'll ever read on here!

The Sega CD had a port of the Secret of Monkey Island, I'm not sure if that used a custom engine with it's own resource files or made use of the existing resource files in some way?

I'd like to write a SCUMM engine for the Sega Mega Drive that supports the early EGA versions of the SCUMM games such as Indiana Jones and the Last Crusade and The Secret of Monkey Island but I'm not sure really where to begin.

I've been working with the Sega Genesis Development Kit (SGDK) which uses C code and am confident that if I can understand how the resource files are read that I can cobble together something to read them or at least read them once placed in to a more Mega Drive friendly format.

It may be the case that I just examine the source used to run the Sega CD version of The Secret of Monkey Island in SCUMMVM to try and create something that resembles a SCUMM v3 engine as I'd like to give people the opportunity to develop home-brew point and click games for the MD, we unfortunately didn't get many during it's life span! I don't know if copyright issues will stop me from actually attempting this.

I guess my first port of call is understanding the LFL file format. Any advice on this would be gratefully received!

matteusbeus wrote:Hello there,
This may well be the most ridiculous thing you'll ever read on here!

Not really. It is much better idea than attempt to rewrite ScummVM in .Net.

matteusbeus wrote:
The Sega CD had a port of the Secret of Monkey Island, I'm not sure if that used a custom engine with it's own resource files or made use of the existing resource files in some way?

It uses normal SCUMM engine and is even supported by ScummVM,

matteusbeus wrote:
I'd like to write a SCUMM engine for the Sega Mega Drive that supports the early EGA versions of the SCUMM games such as Indiana Jones and the Last Crusade and The Secret of Monkey Island but I'm not sure really where to begin.

I think that is doable since we have N64 and native Amiga ports (the latter is unofficial).

I've been working with the Sega Genesis Development Kit (SGDK) which uses C code and am confident that if I can understand how the resource files are read that I can cobble together something to read them or at least read them once placed in to a more Mega Drive friendly format.

Is is C or C++? Which version and which brand?

It may be the case that I just examine the source used to run the Sega CD version of The Secret of Monkey Island in SCUMMVM to try and create something that resembles a SCUMM v3 engine as I'd like to give people the opportunity to develop home-brew point and click games for the MD, we unfortunately didn't get many during it's life span! I don't know if copyright issues will stop me from actually attempting this.

If your goal is to enable authoring of SCUMM-based games, then it is probably not the best idea, since (a) this is not the easiest engine (b) it is trademarked

I guess my first port of call is understanding the LFL file format. Any advice on this would be gratefully received!

What you need to do is to take SCUMM engine, and strip it down to the bare minimum. You may try to start with not enabling HE games and SCUMM_7_8 which are more resource-demanding.

But this will work only if you have C++ compiler. If it is C, I'm afraid that you will waste a lot of time with rewriting the engine into non-OO manner.

Hi Eugene, thanks for your response which has certainly answered a lot of questions for me.

sev wrote:Not really. It is much better idea than attempt to rewrite ScummVM in .Net.

but not entirely surprised!

sev wrote:It uses normal SCUMM engine and is even supported by ScummVM

That's good news about the Mega CD version of Monkey Island, I'm weary that the system had a nice chunk of RAM that the MD does not. The Sega CD has 750 kB, while the Mega Drive has 64 kB and 64kB of graphics memory. It maybe the case that a Sega CD will be required, I'll talk with the folk on the spritesmind forums.

sev wrote:
I think that is doable since we have N64 and native Amiga ports (the latter is unofficial).

sev wrote:
Is is C or C++? Which version and which brand?

It's a vanilla C version, I code using CodeBlocks and compile via GCC.

sev wrote:If your goal is to enable authoring of SCUMM-based games, then it is probably not the best idea, since (a) this is not the easiest engine (b) it is trademarked

Okay in that case porting Scumm purely for play older games would be nice. I'm interested in the possibility of the older EGA SCI1 games too.

sev wrote:
What you need to do is to take SCUMM engine, and strip it down to the bare minimum. You may try to start with not enabling HE games and SCUMM_7_8 which are more resource-demanding.

I'll start looking into this.

sev wrote:
But this will work only if you have C++ compiler. If it is C, I'm afraid that you will waste a lot of time with rewriting the engine into non-OO manner.