Bug#776540: game-data-packager: please add support for games working with gemrbd engine

Alexandre Detiste alexandre.detiste at gmail.com
Wed Sep 30 19:11:44 UTC 2015


Le mardi 29 septembre 2015, 20:13:30 Markus Koschany a écrit :
> Am 29.09.2015 um 13:05 schrieb Alexandre Detiste:
> > 2015-09-29 11:21 GMT+02:00 Markus Koschany <apo at gambaru.de>:
> [...]
> > I own these from GOG too. When the packaging of the GOG version is
> > done it should be tested against the original physical media too;
> > to avoid surprises; like GOG version of Zork Inquisitor shipping the
> > obsolete Z-Engine and some bits of it's assets slipping in package definition;
> > or GOG skipping some *.bak from the retail CD of Theme Hospital...
> 
> Absolutely agreed. This should be tested against "real" physical media
> releases of the games. I intend to provide patches for the gog.com
> versions first. Let's see if there is demand and feedback for more.
 
It's a so-called long-tail problem; packaging the GOG + Steam
version would please most people & with a bit of luck work for the original media too.

Packaging only the English version at first will also please most people.

> >> Unfortunately g-d-p hardcodes the platform-priority for lgogdownloader
> >> to linux,windows.
> > 
> > I don't understand why you feel this is unfortunate, maybe you mistook
> > this parameter with " --platform" which does something else.
> 
> Providing a sane default is fine. I only find it unfortunate that I
> can't override the values in my yaml file.
>
> I would like to add
> 
> platform: windows

I'm still thinking of use case for this : 
- sometimes the windows archive is smaller that the linux one
- user may want to --save-dowloads /media/win/something
  & install the game again on his windows system ?

For the rest a .zip file is better because 
we don't need to call an external program.

> language: de
> 
> to the specific yaml file. But this is apparently not implemented yet.
> (Just a finding, nothing serious :) )

For now there's always a 1:1 match between the language of
the Debian package and the one of the GOG package; 
the 'de' .deb is built from the setup_*_german.exe etc...

I can't see how one e. g. could build a "fr" .deb from a "de" gog archive (?)

> Ok. I appreciate that we prioritize linux versions. But there is no
> runtime option to override the lgogdownloader behaviour, isn't it?
> I can't use
> game-data-packager baldurs-gate-1 --platform windows --language de

"--language xx" should well be added to G-D-P; having
to list possible package with --help & the run again
with --package game-$LANG-date is a bit cumbersome.

"--language xx" would have the seame meaning than for
lgogdownloader: "create package in this language or do nothing",
but would also work with freebies like Soltys or Dreamweb
but also Steam games. G-D-P would fail instead of packaging
an unwanted english version

This way someone can override the automagical behaviour of
LANGUAGE & LANG.

-----------

"--platform":
G-D-P should not show, but hide the complexity of all the
external tools that all have tens and tens of command line switches
("man arj" is nightmarish)

> > Now for the rest:
> > 
> > - G-D-P has not yet support for multipart GOG archives used for huge games,
> >   multipart archive are a lot of pain (see ARJ, unshield handling) by
> > themselves;
> >   I will add this soon.
done

> >   To avoid to download the same game again & again & again for tests I wrote
> >   a fake lgogdownloader, that can be symlinked in ~/bin .
> 
> Thanks. I usually download the provided archive once and then I run
> 
> game-data-packager <game> <archive>
> 
> and then I hope g-d-p will do the right thing. :)
> 
> Although I have 120 MBit to my disposal, I think this is more sane. :P

I don't like to waste either.

> When I run
> 
> game-data-packager baldurs-gate-1 setup_baldurs_gate_2.0.0.20.exe
> 
> I get this now:
> 
> game-data-packager baldurs-gate-1 setup_baldurs_gate_2.0.0.20.exe
> INFO:game-data-packager:identifying setup_baldurs_gate_2.0.0.20.exe
> WARNING:game-data-packager:found possible chitin.key
> but its size does not match:
>   file:
> /mnt/data/gog/baldurs_gate_the_original_saga/gdptmp/gdptmp.qfsdo9pg/tmp/setup_baldurs_gate_2.0.0.20.exe.d/app/Chitin.key
>   expected: 217559 bytes
>   found   : 238496 bytes
> INFO:game-data-packager:identifying
> /mnt/data/gog/baldurs_gate_the_original_saga/gdptmp/gdptmp.qfsdo9pg/tmp/setup_baldurs_gate_2.0.0.20.exe.d/app/movies/MOVIECD1.BIF
> INFO:game-data-packager:identifying
> /mnt/data/gog/baldurs_gate_the_original_saga/gdptmp/gdptmp.qfsdo9pg/tmp/setup_baldurs_gate_2.0.0.20.exe.d/app/movies/MOVIECD4.BIF
> WARNING:game-data-packager:found possible data/npcsound.bif
> but its size does not match:

I remember having read somewhere that someone else had a similar problem with this exact same file:

https://github.com/dscharrer/innoextract/issues/6#issuecomment-11473169
>>> In fact, if I don't use -L or manually delete the files only present in the innoextract'd copy,
>>> GemRB prefers chitin.key over Chitin.key and segfaults while starting up.

There is a "chitin.key" & a "Chitin.key" ; but since this commit, file selection is case insensitive.

This precise file is discussed here:
https://github.com/dscharrer/innoextract/issues/6

There's also one in gemrb-data: /usr/share/gemrb/minimal/chitin.key

---

Something else to consider, but not relevant here:

In a innoextract archive, there can exist several version of a file; but I thought it only happened
for "Arx Fatalis" packages; which are innosetup archive, but not provided by GOG.com/

As a stop gap, I settled to always add "--language english" to innoextract parameters to avoid
to end up with a random file + set " missing_langs: [de,fr,ja] " as a reminder in the yaml file. 

The fresh new innoextract adds some parameters to fix this problem, not yet checked:
 - Added a --list-languages option to list available languages
 - Added a --language-only option to skip language-independent files
 - Added a --collisions option to abort or rename files on collision
 - Added a --default-language option to prefer a language in case of file collisions

> Apparently the files don't match, although I used the make-template
> feature of g-d-p. It seems like innoextract runs are not reproducible...
> 
> Markus

I still have to test this myself.

Regards

Alexandre
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.alioth.debian.org/pipermail/pkg-games-devel/attachments/20150930/98f610e7/attachment.sig>


More information about the Pkg-games-devel mailing list