Support of Mac BS 1

View: New views
3 Messages — Rating Filter:   Alert me  

Support of Mac BS 1

by Thierry Crozat :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi all,
I have an old version of the mac Broken Sword 1 CDs and I have been  
thinking of implementing the support for this game for quite some  
time now. I recently borrowed (for a couple of months only) the PC  
version from a friend and I now have both the PC and the mac versions  
of the game. Therefore I am planning to work on this in the coming  
weeks.

I remember that somebody mentioned on your forum some time ago that  
the difference between the PC clu and the mac CLm files might only be  
a different byte order. After looking at the engine, I also guess  
that the swordres.rif file contains a description of the cluster  
files and is used to read them.

After a look at the files, it appears that most of the mac and PC  
cluster files have the same size and are very similar. For example  
the paris1.clu and paris1.CLm are identical for the first kbytes and  
then there is one 16 bits and two 32 bits words that have a different  
byte ordering. There are a lot more byte swapped words later in the  
file. I guess this file begins with a lot of 1 byte words, and the  
CLm file is just a big endian version of the clu file. So this should  
not be too difficult to support. After all, when using ScummVM on a  
big endian computer, the current engine already does the byte swap.

In the mac version, the speech files have the clu extension and not  
the CLm one. They are not identical to the one of the PC version  
(different sizes) but are very similar and seems to have the same  
byte order. I tried to use the mac speech.clu files with the PC  
version of the game and it works fine in ScummVM (at least the  
beginning of the game works fine).

The swordres.rif also have different sizes and seem to have the same  
byte ordering. The first 4 bytes of the mac file, when read as a  
little endian unsigned int, gives the number of cluster files, which  
seems right. However the following bytes differs from the PC file  
(not just byte ordering, the bytes are different). The mac and the PC  
swordres.rif do not have the same size.

Some of the other files also have a different size in the mac and the  
PC version but are very similar (general.cl[um], scripts.cl[um]  
text.cl[um]).

Is there several version of the game on PC witch could explain these  
differences ? In which case it should not really matters as I guess  
it will be reflected in the swordres.rif file.

Also both the PC and the mac versions that I have are french versions  
(voices and subtitles are in french), but the text.cl[um] files  
contains the text in english (and some other data with a different  
byte ordering). Does anybody know where the french subtitles are (the  
one that I see when I play the game) ? This is probably not very  
important. I am just curious.

More generally, does anybody have more information on the format of  
the swordres.rif and the cluster files ?
I had a look at the ResMan class and it does not seem to be too  
difficult. But some information, documentation, or advice might help me.

Any other comments that might help me ?

One more remark: the mac music files are in AIFF format (and not  
WAV). This is not supported by the engine and I do not plan to work  
on this support. I don't know if it would be difficult and if  
somebody else wants to work on that. We still have the possibility to  
re-encode the files in mp3 or ogg anyway.

And two more questions to finish:
do you know if anybody else has been working on supporting the mac  
version of BS1 ?
do you know if there is been any interest in this support from  
users ? I did not see anybody requesting in on the forums. If I am  
the only one interested in playing BS1 with the mac version of the  
game, I might take some time to implement it (this will probably be  
done before christmas anyway as I told my friend I will give him back  
his CDs before the end of the year).

Thanks for your help.

Thierry

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Scummvm-devel mailing list
Scummvm-devel@...
https://lists.sourceforge.net/lists/listinfo/scummvm-devel

Re: Support of Mac BS 1

by Jonathan Gray :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Tue, Sep 26, 2006 at 11:27:58PM +0100, Thierry Crozat wrote:
> Hi all,
> I have an old version of the mac Broken Sword 1 CDs and I have been  
> thinking of implementing the support for this game for quite some  
> time now. I recently borrowed (for a couple of months only) the PC  
> version from a friend and I now have both the PC and the mac versions  
> of the game. Therefore I am planning to work on this in the coming  
> weeks.

The formats are also different in endianess to lend themselves
to PPC machines.  Revolution themselves could not get hold of
any information or source when asked some time ago, and really
when you can buy the PC version of the game new so cheaply
there is little reason to pursue supporting alternate versions.

Jonathan

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Scummvm-devel mailing list
Scummvm-devel@...
https://lists.sourceforge.net/lists/listinfo/scummvm-devel

Re: Support of Mac BS 1

by Eugene Sandulenko :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Tue, 26 Sep 2006 23:27:58 +0100
Thierry Crozat <thierry.crozat@...> wrote:

> So this should not be too difficult to support. After all, when using
> ScummVM on a big endian computer, the current engine already does the
> byte swap.
I have some experience in working of engine which uses 2 data sets with
different byte order, i.e. SAGA. I can tell you that this task will
require to review every structure in the engine. As I see, now sword1
engine uses direct reading from File with use of readXXXLE() family of
functions. This will not ease your task, as earlier it mapped data
directly into memory chunk pointed as a structure. To achieve similar
goal in SAGA, we used MemoryReadStreamEndian wrapper (see
enignes/saga/stream.h), which could be set to read either BE or LE
format without adding hassle to the source. So you'll have to use
something similar.

> One more remark: the mac music files are in AIFF format (and not  
> WAV). This is not supported by the engine and I do not plan to work  
> on this support. I don't know if it would be difficult and if  
> somebody else wants to work on that.
This is not difficult at all and, say, I could add this if needed.

> do you know if anybody else has been working on supporting the mac  
> version of BS1 ?
No.

> do you know if there is been any interest in this support from  
> users ?
Several peoples asked about it in last couple years, all of them were
suggested to buy PC version.

Mac version is rarer than PC version and AFAIK, it has no advantages.
But of course, if you are willing to work on it for the sake of
completeness or personal amusement, I wish you all success.


Eugene

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Scummvm-devel mailing list
Scummvm-devel@...
https://lists.sourceforge.net/lists/listinfo/scummvm-devel
LightInTheBox - Buy quality products at wholesale price!