<div dir="ltr">Vasco,<div><br></div><div>This is really impressive. Hopefully you'll be able to continue working on this :)</div><div><br></div><div>Alex</div></div><br><div class="gmail_quote"><div dir="ltr">On Tue, 21 Nov 2017 at 20:45 Vasco Alexandre da Silva Costa <<a href="mailto:vasco.costa@gmail.com">vasco.costa@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thanks for the resources, it helped move this foward tremendously!<br>
<br>
I basically have the following pieces put together now:<br>
- decompressor (LZW and RLE).<br>
- archive unpacker.<br>
- .SCR|.BMP:BIN:|VGA:|MA8: image loader (TODO: VQT loader).<br>
- .SND Sierra SCI music loader, MT-32 MIDI player, Soundblaster PCM<br>
sound sample player (TODO: MT-32 patches).<br>
- .TTM cinematic sequence parser and intepreter with enough commands<br>
to play the Rise of the Dragon intro.<br>
- Graphics subsystem.<br>
- .ADS loader and parser with some basic interpreter code.<br>
- TODO: .SDS and .GDS loaders.<br>
<br>
The result is we can play the Rise of the Dragon title and intro<br>
sequence, with some caveats, as you can see here:<br>
<a href="https://www.youtube.com/watch?v=YHyjCtypBiM" rel="noreferrer" target="_blank">https://www.youtube.com/watch?v=YHyjCtypBiM</a><br>
<br>
For this it is necessary to use the Macintosh game files with the PC<br>
music. This can be done by dumping the game sound resources (i.e.<br>
'scummvm -u') then starting the game with the Macintosh port. i.e.<br>
'scummvm rise-mac'.<br>
<br>
All the code is available here:<br>
<a href="https://github.com/vcosta/scummvm/tree/master/engines/dgds" rel="noreferrer" target="_blank">https://github.com/vcosta/scummvm/tree/master/engines/dgds</a><br>
Wiki has also been updated:<br>
<a href="https://github.com/vcosta/scummvm/wiki" rel="noreferrer" target="_blank">https://github.com/vcosta/scummvm/wiki</a><br>
<br>
Recently I have also come up with a lot of data on a later DGDS game<br>
engine implementation. I can share this data with anyone who's<br>
available to help with the project. I don't think I'll be able to<br>
continue this at this pace. I would say the DGDS engine code work is<br>
like 1/3rd complete.<br>
<br>
Regards,<br>
<br>
On Mon, Oct 23, 2017 at 1:37 PM, Alex Bevilacqua <<a href="mailto:alex@alexbevi.com" target="_blank">alex@alexbevi.com</a>> wrote:<br>
> Hey Vasco,<br>
><br>
> I took a stab at this many (many, many) years ago, but didn't really make<br>
> all that much progress (<a href="https://github.com/alexbevi/scummvm/tree/dgds" rel="noreferrer" target="_blank">https://github.com/alexbevi/scummvm/tree/dgds</a>).<br>
><br>
> I started disassembling Willy Beamish at first, but found a lot of<br>
> similarities to how Betrayal at Krondor's resources were being managed.<br>
> There is a great project at <a href="http://xbak.sourceforge.net/" rel="noreferrer" target="_blank">http://xbak.sourceforge.net/</a> (mirrored source at<br>
> <a href="https://github.com/alexbevi/xbak" rel="noreferrer" target="_blank">https://github.com/alexbevi/xbak</a>) that was an engine re-implementation for<br>
> BaK.<br>
><br>
> You could probably reuse a lot of the logic there to get you moving forward<br>
> a bit faster.<br>
><br>
> Cheers,<br>
><br>
> Alex<br>
><br>
> On Mon, 23 Oct 2017 at 06:46 Filippos Karapetis <<a href="mailto:bluegr@gmail.com" target="_blank">bluegr@gmail.com</a>> wrote:<br>
>><br>
>> Hello Vasco, and thanks for your interest in ScummVM!<br>
>><br>
>> Reading the game file data from the resource containers is<br>
>> straightforward, however the game data itself is a bit harder. The image<br>
>> files for example have a peculiar encoding scheme, and is different from the<br>
>> newer Dynamix games, which have easier to understand resource files. Any<br>
>> help is certainly welcome!<br>
>><br>
>> We have a WIP engine for DGDS, but it's still in very (very) early stages.<br>
>> I have a second attempt locally, which is a different approach to the public<br>
>> WIP engine, and IMHO a bit cleaner. It still is a glorified resource<br>
>> container handler, like the current public WIP engine.<br>
>><br>
>> If you're interested, I've uploaded the second version here:<br>
>> <a href="https://github.com/bluegr/scummvm-dgds" rel="noreferrer" target="_blank">https://github.com/bluegr/scummvm-dgds</a><br>
>><br>
>> I'd be glad to help in any way I can :)<br>
>><br>
>> Regards<br>
>><br>
>><br>
>> On Mon, Oct 23, 2017 at 3:01 AM, Vasco Alexandre da Silva Costa<br>
>> <<a href="mailto:vasco.costa@gmail.com" target="_blank">vasco.costa@gmail.com</a>> wrote:<br>
>>><br>
>>> Hey folks,<br>
>>> I have been interested in DGDS engine support in ScummVM for some<br>
>>> time. So I could play Heart of China and Rise of the Dragon.<br>
>>><br>
>>> I have read all the information about the Rise of the Dragon game I<br>
>>> could find online to decode the files. You can find a summary of the<br>
>>> info which I scrounged together so far here:<br>
>>> <a href="https://github.com/vcosta/scummvm/wiki" rel="noreferrer" target="_blank">https://github.com/vcosta/scummvm/wiki</a><br>
>>><br>
>>> I know there's a DGDS port which was started already for ScummVM. It<br>
>>> seems to have some basic file archive support. Also some font support<br>
>>> I think. But it probably needs to be ported to the latest codebase. I<br>
>>> was also thinking of adding image and text loading support.<br>
>>><br>
>>> The game interpreter proper is still beyond me at this point.<br>
>>><br>
>>> Regards,<br>
>>><br>
>>> --<br>
>>> Vasco Alexandre da Silva Costa<br>
>>> PhD in Computer Engineering (Computer Graphics)<br>
>>> Instituto Superior Técnico/University of Lisbon, Portugal<br>
>>><br>
>>> _______________________________________________<br>
>>> Scummvm-devel mailing list<br>
>>> <a href="mailto:Scummvm-devel@lists.scummvm.org" target="_blank">Scummvm-devel@lists.scummvm.org</a><br>
>>> <a href="http://lists.scummvm.org/listinfo/scummvm-devel" rel="noreferrer" target="_blank">http://lists.scummvm.org/listinfo/scummvm-devel</a><br>
>><br>
>><br>
>><br>
>><br>
>> --<br>
>> "Experience is the name every one gives to their mistakes" - Oscar Wilde<br>
>> _______________________________________________<br>
>> Scummvm-devel mailing list<br>
>> <a href="mailto:Scummvm-devel@lists.scummvm.org" target="_blank">Scummvm-devel@lists.scummvm.org</a><br>
>> <a href="http://lists.scummvm.org/listinfo/scummvm-devel" rel="noreferrer" target="_blank">http://lists.scummvm.org/listinfo/scummvm-devel</a><br>
<br>
<br>
<br>
--<br>
Vasco Alexandre da Silva Costa<br>
PhD in Computer Engineering (Computer Graphics)<br>
Instituto Superior Técnico/University of Lisbon, Portugal<br>
</blockquote></div>