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.