It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
avatar
ikrananka: Thanks for the warning. I wholeheartedly agree with your sentiment.
Except Gog said since that there will be two version of the offline installer bundled, once with Galaxy and one without.
avatar
eiii: I'm afraid that will only be the case for the installer itself and not for the game. Unfortunately Galaxy seems to be implemented in a way that the dll always is loaded, even when no Galaxy functionality is used.
And ?

That's actually a pretty common way of doing thing, the DLL is loaded as startup, detect if Galaxy is running, if it's running then all calls will be sent to Galaxy (e.g. achievements, multi-player features, etc... ) and if Galaxy is not running then the DLL doesn't do anything and just swallow all the calls.
Post edited June 15, 2017 by Gersen
avatar
eiii: Increased system requirements and dependencies (dropped XP and Vista compatibility, maybe problems with Wine), shortcuts which start Galaxy in the background and not only the game and maybe more. ;)
...
avatar
eiii: I'm afraid that will only be the case for the installer itself and not for the game. Unfortunately Galaxy seems to be implemented in a way that the dll always is loaded, even when no Galaxy functionality is used. But only the future will show. Better download your installers now. ;)
You seem to be mixing up two things (which may be related, but not the same thing):

1. Already now, many GOG game installers have a Galasy DLL included with the game. You can still play the game without Galaxy (installed), but apparently it may cause some "hiccups" like starting Galaxy (when you run the game) if you have Galaxy already installed. This is here and now, the current situation.

2. The announcement from GOG that they are planning to include a Galaxy installer to the offline GOG game installers in the future. You can then choose whether you let it install Galaxy or just install the game, similarly like already now many GOG game installers offer to install a Foxit PDF reader with the game, so that you have some PDF reader in your machine to read the game manuals.

And yes they have also said that they would offer two different sets of installers for the affected games, one with the optional Galaxy installer embedded, and one without. I personally hope they do not go with this "two sets of installers"-plan as it can potentionally be very bad news for e.g. gogrepo and lgogdownloader users, depending how they implement it. I see it as a silly plan as if they offered two different sets of installers now, one with the Foxit PDF reader, and one without, for each game. For simplicity's sake, just offer one set of offline installers, with or without a Galaxy installer (and hopefully with just a small 2MB stub installer, not the whole 130MB Galaxy installer in each game).

Separate sets of installers should be offered only if the game content itself is different between them (different language versions, OS versions, if one set is a remake and the other is the original version, etc.).

Anyway, I feel they suggested this "two set of installers" approach in the heat of the damage control, just trying to quickly ease the minds of those who were vocally very much against embedding Galaxy installers to the offline installers. I am pretty sure that now that they've been thinking about it more, they probably realize it is not a very good approach for them either (two different sets of installers to be taken care of for the same game, more work for little or no benefit).
Post edited June 15, 2017 by timppu
avatar
timppu: You seem to be mixing up two things (which may be related, but not the same thing):
No. :) That's why I've differentiated between the installers and the games. But I may not have been clear enough.

The problem with Galaxy integration into the games is a current one. Apparently it only has negative effects for one game so far, probably because of a newer version of the Galaxy DLL. But I doubt that this game will stay the only one. It's only a question of time. Expeditions: Conquistador may be the next.

The problem with Galaxy integration into the installers is not a current one and only may come. I agree with you, GOG's "solution" to provide 2 different installers for the games is even more stupid than the idea to integrate Galaxy into the installer at all. And I'm sure it will cause problems for the downloaders as GOG will do the naming of the installers the usual consistent GOG way..

But even when GOG will provide 2 installers for the games these installers will not solve the problem with the Galaxy integration into the games. Only a dummy library for Galaxy or, even better, downloads for the vanilla version of the games will solve that problem.
Post edited June 15, 2017 by eiii
avatar
Gersen: That's actually a pretty common way of doing thing, the DLL is loaded as startup, detect if Galaxy is running, if it's running then all calls will be sent to Galaxy (e.g. achievements, multi-player features, etc... ) and if Galaxy is not running then the DLL doesn't do anything and just swallow all the calls.
The DLL shouldn't even be loaded when you do not want to use Galaxy functionality. And even when you implement it that way the implementation should be minimalistic and not require additional external dependencies.
avatar
Gersen: That's actually a pretty common way of doing thing, the DLL is loaded as startup, detect if Galaxy is running, if it's running then all calls will be sent to Galaxy (e.g. achievements, multi-player features, etc... ) and if Galaxy is not running then the DLL doesn't do anything and just swallow all the calls.
avatar
eiii: The DLL shouldn't even be loaded when you do not want to use Galaxy functionality. And even when you implement it that way the implementation should be minimalistic and not require additional external dependencies.
Fallout NV for example uses the Galaxy lib to handle the Steam api calls. There is a wrapper dll that translates Steam to Galaxy. So it has no more dependencies than would be needed to get it running in the first place.
avatar
Cusith: Fallout NV for example uses the Galaxy lib to handle the Steam api calls. There is a wrapper dll that translates Steam to Galaxy.
... which apparently adds a dependency on a function, which does not exist for the rest of the game, which in the first place only started the whole discussion. But no need to continue this here as there are already enough other threads about it.
avatar
eiii: The DLL shouldn't even be loaded when you do not want to use Galaxy functionality.
Well but to detect if Galaxy is running or not you need some code, and this code needs to be somewhere and you cannot execute it if you don't load the DLL it is located into.

avatar
eiii: And even when you implement it that way the implementation should be minimalistic and not require additional external dependencies.
The dependency in question is not really an "external dependency" as it's a DLL that is part of the OS and even already existed in XP

It's just that the version of the DLL that come bundled with Seven and more recent Windows has some new extra methods that didn't exist with the older version that came with XP; and one of those method is used by the Galaxy integration DLL.
avatar
eiii: No. :) That's why I've differentiated between the installers and the games. But I may not have been clear enough.
Ok thanks for the clarification. I wasn't sure what problems the current included Galaxy DLL causes, I understood that now some games don't work on Windows XP anymore just because of it (earlier they worked), and if you have Galaxy installed, running the game will auto-start the Galaxy client too (even though you don't necessarily wish the game to do that).
avatar
Gersen: Well but to detect if Galaxy is running or not you need some code, and this code needs to be somewhere and you cannot execute it if you don't load the DLL it is located into.
Ideally that should be a game option or even an option during the installation of the game and not depend on Galaxy running or not. What if I want to use Galaxy with one game, but not with another game?

avatar
Gersen: It's just that the version of the DLL that come bundled with Seven and more recent Windows has some new extra methods that didn't exist with the older version that came with XP; and one of those method is used by the Galaxy integration DLL.
I do not care about XP, I do not even have XP running. But I very much care about preserving old games as good as you can, without bloating them with additional dependencies which the original game did not have. And depending on a newer version of a library than the original game clearly is an additional dependency.
I'm not against making games compatible with modern systems. But It always should be done as less intrusive as possible and it ideally should be combined with a possibility to retrieve the unaltered version.

But seeing how GOG pushes Galaxy I think this is not a technical question or a question of effort (as they seem to have the capacities to provide duplicated game installers), but rather a question of will.
avatar
eiii: Ideally that should be a game option or even an option during the installation of the game and not depend on Galaxy running or not.
With the first option it forces the devs to implement a menu specific to enable / disable Galaxy integration in the game and with the second you kill the possibility to easily opt-in / opt-out out of Galaxy regardless of where you download your games from. That's a lot of work and extra complexity to simply remove a 3MB DLL.

avatar
eiii: What if I want to use Galaxy with one game, but not with another game?
If you want to use Galaxy with a game then you start Galaxy when you play said game, if you don't want to use it then you don't start Galaxy. Pretty easy.

avatar
eiii: But I very much care about preserving old games as good as you can, without bloating them with additional dependencies which the original game did not have.
That's the thing, game preservation is a whole different beast than trying to make them run comfortably on modern systems and game preservation in a strictest sense (as in being able to run in the exact same condition as when it was first released) has never been one of the objective of Gog, it's a side effect that happen sometime like for the Dosbox using games but it's not something done on purpose.

There are plenty of games sold on Gog that no longer work on their original system, and it's not something new, it happened long before Galaxy was even a thing.
Post edited June 16, 2017 by Gersen
So I generated a manifest that is only windows and english but its still downloading everything

ran: gogrepo.py update -os windows -lang en

then ran: gogrepo.py download

and its pulling down linux and windows and mac installers in all languages. Did I do something wrong?

Edit: after looking at the manifest looks like there are only 6 or 7 references to .sh or .dmg files. So not a huge deal
Post edited June 16, 2017 by Revan67
avatar
Revan67: So I generated a manifest that is only windows and english but its still downloading everything

ran: gogrepo.py update -os windows -lang en

then ran: gogrepo.py download

and its pulling down linux and windows and mac installers in all languages. Did I do something wrong?

Edit: after looking at the manifest looks like there are only 6 or 7 references to .sh or .dmg files. So not a huge deal
Some Linux and macOS installers, and language packs are put in GAME GOODIES section.
gogrepo.py will download all GAME GOODIES unless you skip them.
avatar
kbnrylaec: Some Linux and macOS installers, and language packs are put in GAME GOODIES section.
gogrepo.py will download all GAME GOODIES unless you skip them.
Yea I figured that out after i glanced at the manifest. Not a huge deal like I said thanks anyway :)
Yeah game goodies (extras) are commom for all versions, they don't care for the OS and LANG filters (EDIT or apparently the game goodies have an OS filter of their own, called "extra"? Looks like that to me judging by the manifest file.). That's why with some games you always get some Russian or Mac or Linux versions too (on top of the English Windows versions), because they are in the game goodies section. Planescape: Torment, Broken Sword etc.

I think GOG mentioned sometimes that they put those game installers into Game Goodies which are unsupported, e.g. the classic versions of Broken Sword (also the Linux/Mac versions), or the Planescape: Torment fan made Russian translation.

I've proposed some kind of blacklist function for gogrepo, so you could specify yourself "don't download any files which containt this string, even if it is in the manifest files". I think e.g. lgogdownloader has some kind of blacklist function, but I don't know how it works as I haven't used that tool.

If one knows how to make scripts, I guess one could also make an additional script himself that removes any blacklisted files from the manifest file, before you run gogrepo download. Then gogrepo itself wouldn't need such functionality. Or alternatively, remove them manually from the manifest file each time you have a new manifest file (not a good solution if you have lots of files to remove).

I just hope the manifest file will remain editable also in the future. Not sure I remember right but I understood the author was thinking of changing the manifest file format, even changing it into a binary file? I might have misunderstood too, hopefully so because then it might be quite hard to edit it (with scripts, or manually) yourself.
Post edited June 16, 2017 by timppu
avatar
timppu: I just hope the manifest file will remain editable also in the future. Not sure I remember right but I understood the author was thinking of changing the manifest file format, even changing it into a binary file? I might have misunderstood too, hopefully so because then it might be quite hard to edit it (with scripts, or manually) yourself.
As he stated here it will become a UTF-8 text file so editing it should be a piece of cake. However, he also stated that he thinks of changing it to SQLite in the future.

SQlite is a database format. You will need a database program that can read and modify SQLite databases but there should be several free programs like that on any modern system. So editing these should also be no problem once you familiarize yourself with one of them.