[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [game-data-packager] Optional licenses



Le mardi 5 janvier 2016, 21:45:18 Stephen Kitt a écrit :
> ...
> > Then the alternative (video/font*.nut) would be listed into the package
> > files lists.
> 
> Thanks, I'll give that a shot.

Hi,

Thank you for commiting these new game variants.

Using alternatives for "The Dig" & a new separate package
for "Cruise for a Corpse" seems the right things to do.

Scummvm is really resilient to abuse and would continue
to work if the original XORed digtxt.trs (see hereunder)
had been replaced by a fan-edited one
or the fonts bitmaps had been slightly edited;
so we can safely mix & match assets
(altough in practice, the looked-up paths
are scanned in a predictive order, so that wouldn't happen
unless some files from directory n°1 are missing)


For cruise-for-a-corpse; these 700kb~files must
be some kind of container; it's safer not to mix & match
files if we don't know the contents.

------------

We're trying to identify the different versions in the most accurate way;
instead of having "GOG's version", "Simon's version", "Fabian's version".

I can't find any version strings in the digtxt.trs files;
I'll have a look a the original binaries.

tchet@antec:~/git/game-data-packager$ strings /usr/share/games/the-dig-de/video/digtxt.trs  | head
#define a 0
^f01^c001ANIMATOREN
Charlie Ramos
Graham Annable
David DeVan
Chris Miles
Geri Bertolo
#define a 1
^f00Nat
rlich fehlst Du mir, Liebling.

tchet@antec:~/git/game-data-packager$ strings /usr/share/games/the-dig-fr/video/digtxt.trs  | head
#define a 0
^f01^c001ANIMATIONS
Charlie Ramos
Graham Annable
David DeVan
Chris Miles
Geri Bertolo
#define a 1
^f00Mais bien s
r que tu me manques, ch

tchet@antec:~/git/game-data-packager$ strings /usr/share/games/the-dig-en/video/digtxt.trs  | head
ETRS
tchet@antec:~/git/game-data-packager$ cd ../scummvm
tchet@antec:~/git/scummvm$ grep ETRS -R
engines/scumm/smush/smush_player.cpp:static const int ETRS_HEADER_LENGTH = 16;
engines/scumm/smush/smush_player.cpp:           assert(length > ETRS_HEADER_LENGTH);
engines/scumm/smush/smush_player.cpp:           length -= ETRS_HEADER_LENGTH;
engines/scumm/smush/smush_player.cpp:                   filebuffer[i] = filebuffer[i + ETRS_HEADER_LENGTH] ^ 0xCC;

tchet@antec:~/git/scummvm$ cat ./xor.py 
#!/usr/bin/python3
import os
import sys

data = sys.stdin.buffer.read()
out = bytearray()
for byte in data:
    out.append(byte ^ 0xCC)

fp = os.fdopen(sys.stdout.fileno(), 'wb')
fp.write(out)

tchet@antec:~/git/scummvm$ cat /usr/share/games/the-dig-en/video/digtxt.trs | ./xor.py | strings | head
#define a 0
^f01^c001ANIMATORS
Charlie Ramos
Graham Annable
David DeVan
Chris Miles
Geri Bertolo
#define a 1
^f00Of course I miss you, darlin'.
#define a 

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: