[Scummvm-devel] DGDS (Dynamix Game Development System)

Vasco Alexandre da Silva Costa vasco.costa at gmail.com
Wed Nov 22 02:45:04 CET 2017


Thanks for the resources, it helped move this foward tremendously!

I basically have the following pieces put together now:
- decompressor (LZW and RLE).
- archive unpacker.
- .SCR|.BMP:BIN:|VGA:|MA8: image loader (TODO: VQT loader).
- .SND Sierra SCI music loader, MT-32 MIDI player, Soundblaster PCM
sound sample player (TODO: MT-32 patches).
- .TTM cinematic sequence parser and intepreter with enough commands
to play the Rise of the Dragon intro.
- Graphics subsystem.
- .ADS loader and parser with some basic interpreter code.
- TODO: .SDS and .GDS loaders.

The result is we can play the Rise of the Dragon title and intro
sequence, with some caveats, as you can see here:
https://www.youtube.com/watch?v=YHyjCtypBiM

For this it is necessary to use the Macintosh game files with the PC
music. This can be done by dumping the game sound resources (i.e.
'scummvm -u') then starting the game with the Macintosh port. i.e.
'scummvm rise-mac'.

All the code is available here:
https://github.com/vcosta/scummvm/tree/master/engines/dgds
Wiki has also been updated:
https://github.com/vcosta/scummvm/wiki

Recently I have also come up with a lot of data on a later DGDS game
engine implementation. I can share this data with anyone who's
available to help with the project. I don't think I'll be able to
continue this at this pace. I would say the DGDS engine code work is
like 1/3rd complete.

Regards,

On Mon, Oct 23, 2017 at 1:37 PM, Alex Bevilacqua <alex at alexbevi.com> wrote:
> Hey Vasco,
>
> I took a stab at this many (many, many) years ago, but didn't really make
> all that much progress (https://github.com/alexbevi/scummvm/tree/dgds).
>
> I started disassembling Willy Beamish at first, but found a lot of
> similarities to how Betrayal at Krondor's resources were being managed.
> There is a great project at http://xbak.sourceforge.net/ (mirrored source at
> https://github.com/alexbevi/xbak) that was an engine re-implementation for
> BaK.
>
> You could probably reuse a lot of the logic there to get you moving forward
> a bit faster.
>
> Cheers,
>
> Alex
>
> On Mon, 23 Oct 2017 at 06:46 Filippos Karapetis <bluegr at gmail.com> wrote:
>>
>> Hello Vasco, and thanks for your interest in ScummVM!
>>
>> Reading the game file data from the resource containers is
>> straightforward, however the game data itself is a bit harder. The image
>> files for example have a peculiar encoding scheme, and is different from the
>> newer Dynamix games, which have easier to understand resource files. Any
>> help is certainly welcome!
>>
>> We have a WIP engine for DGDS, but it's still in very (very) early stages.
>> I have a second attempt locally, which is a different approach to the public
>> WIP engine, and IMHO a bit cleaner. It still is a glorified resource
>> container handler, like the current public WIP engine.
>>
>> If you're interested, I've uploaded the second version here:
>> https://github.com/bluegr/scummvm-dgds
>>
>> I'd be glad to help in any way I can :)
>>
>> Regards
>>
>>
>> On Mon, Oct 23, 2017 at 3:01 AM, Vasco Alexandre da Silva Costa
>> <vasco.costa at gmail.com> wrote:
>>>
>>> Hey folks,
>>> I have been interested in DGDS engine support in ScummVM for some
>>> time. So I could play Heart of China and Rise of the Dragon.
>>>
>>> I have read all the information about the Rise of the Dragon game I
>>> could find online to decode the files. You can find a summary of the
>>> info which I scrounged together so far here:
>>> https://github.com/vcosta/scummvm/wiki
>>>
>>> I know there's a DGDS port which was started already for ScummVM. It
>>> seems to have some basic file archive support. Also some font support
>>> I think. But it probably needs to be ported to the latest codebase. I
>>> was also thinking of adding image and text loading support.
>>>
>>> The game interpreter proper is still beyond me at this point.
>>>
>>> Regards,
>>>
>>> --
>>> Vasco Alexandre da Silva Costa
>>> PhD in Computer Engineering (Computer Graphics)
>>> Instituto Superior Técnico/University of Lisbon, Portugal
>>>
>>> _______________________________________________
>>> Scummvm-devel mailing list
>>> Scummvm-devel at lists.scummvm.org
>>> http://lists.scummvm.org/listinfo/scummvm-devel
>>
>>
>>
>>
>> --
>> "Experience is the name every one gives to their mistakes" - Oscar Wilde
>> _______________________________________________
>> Scummvm-devel mailing list
>> Scummvm-devel at lists.scummvm.org
>> http://lists.scummvm.org/listinfo/scummvm-devel



-- 
Vasco Alexandre da Silva Costa
PhD in Computer Engineering (Computer Graphics)
Instituto Superior Técnico/University of Lisbon, Portugal



More information about the Scummvm-devel mailing list