about summary refs log tree commit diff
path: root/pkgs/games/gog/default.nix
Commit message (Collapse)AuthorAgeFilesLines
* gomes/gog: Add Settlers 2 Gold edition using RTTRaszlig2018-07-051-0/+1
| | | | | | | | | | | | | | | | | | | | This packages "Return to the Roots" along with the game data fetched from GOG. So basically it's RTTR with a "RTTR_GAMEDIR" set to the files extracted from the GOG version. In reality it's a bit more involved as we need to patch a few things and also make sure that the sounds are built via Nix rather to be generated at runtime. The RTTR standard procedure would be to just install RTTR and you put your game data somewhere in /usr/share (or any other place you've configured) and on first startup it's generating the SOUND.LST file. We want all the games in Vuizvui to be completely dispensible so that the persistent files are *only* in $XDG_DATA_HOME/settlers2, so I've made sure that everything is baked in at *build* time instead. Signed-off-by: aszlig <aszlig@nix.build>
* pkgs: Fix passing through i686-linux package setaszlig2018-07-041-1/+1
| | | | | | | | | | | | | | | | | So far in the games namespace we have just used the callPackage_i686 function from <nixpkgs> instead of our augmented set. If we just use packages that are available in <nixpkgs> everything is fine, but as soon as we want to use one of our own packages for i686-linux we can't simply do that. One example is the override in the gog.albion derivation which just uses buildSandbox from the main pkgs attribute set. We now properly pass through the whole pkgsi686Linux set to the games namespace, so we can drop that hack for Albion. Signed-off-by: aszlig <aszlig@nix.build>
* games/gog: Add Satelite Reignaszlig2018-07-011-0/+1
| | | | | | | | | | | Another Unit3d game, so packaging is pretty straightforward but the save games and settings are in $XDG_DATA_HOME/SatelliteReign instead of the standard Unity3d directory ($XDG_CONFIG_HOME/unity3d). The standard Unity3d directory however is still used, but it only contains the player log file. Signed-off-by: aszlig <aszlig@nix.build>
* games/gog: Add Thimbleweed Parkaszlig2018-06-281-0/+1
| | | | | | | | | | | | | | | | | This also supports the "Ransome Unbeeped" addon which should get rid of all the beeps from Ransome's voice tracks. I added this by default in the package, because in order to enable it you still either need to enable it every time you start the game or set "forceRansomeUnbeeped: 1" in "$XDG_DATA_HOME/Terrible Toybox/Thimbleweed Park/Prefs.json" to make it permanent. The packaging is pretty straightforward except a small preloader which changes the working directory to the shared data directory so the "ggpack" files can be found. From inspecting the binary this should also be doable by setting the THIMBLEENGINE_GAMEROOT environment variable, but I haven't tried yet. Signed-off-by: aszlig <aszlig@nix.build>
* games/gog: Add Dungeons 3aszlig2018-06-281-0/+1
| | | | | | | | Unfortunately this game doesn't work on my machine, as I don't have support for OpenGL 4.3. However, the game at least gets to the loading screen, so it should work in theory. Signed-off-by: aszlig <aszlig@nix.build>
* games/gog: Add Wizard of Legendaszlig2018-06-281-0/+1
| | | | | | A Unity3d game, so packaging is pretty straightforward. Signed-off-by: aszlig <aszlig@nix.build>
* games/gog: Add Overloadaszlig2018-06-221-0/+1
| | | | | | | I have only tested whether loading and saving games works and flew around for about 1 minute in the first mission. Signed-off-by: aszlig <aszlig@nix.build>
* games/gog: Add Party Hardaszlig2018-06-141-0/+1
| | | | | | | | | Packaging is pretty straightforward, because it's a Unity3d game and we have a build hepler for that. Upstream site: http://www.tinybuild.com/partyhard Signed-off-by: aszlig <aszlig@nix.build>
* games/gog: Add World of Xeenaszlig2018-06-091-0/+1
| | | | | | | | | | This is the result when you combine Might and Magic 4 and 5 and ScummVM very recently got support for that. See http://scummvm.org/news/20180501 for the announcement. So we're wrapping the game using latest git version of ScummVM. Signed-off-by: aszlig <aszlig@nix.build>
* games/stardew-valley: Mark beta as lowPrioaszlig2018-05-191-1/+3
| | | | | | | This is to make sure that noone accidentally installs this either via "nix-env -i" or via "nix-env -u". Signed-off-by: aszlig <aszlig@nix.build>
* games/stardew-valley: Add multiplayer betaaszlig2018-05-191-0/+1
| | | | | | | | | | This adds version 1.3.11 of the ongoing multiplayer beta, so it can be conveniently installed via Nix :-) I haven't tested this a whole lot, only started a new farm, walked around and that's it. Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/games/gog: Add Stardew Valleyaszlig2018-02-221-0/+1
| | | | | | | This is quite straightforward and very similar to most other Mono games and even uses XDG directories already. Signed-off-by: aszlig <aszlig@nix.build>
* games/gog: Add statically recompiled Albionaszlig2018-02-211-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We only fetch the data files from GOG here and use the port from OpenPandora (https://repo.openpandora.org/?page=detail&app=albion_sr) for the main game executable. Instead of using the binaries of the static recompiler, this is completely compiled from source and comes with a few changes in the form of a few patches: config.patch: Hide the mouse cursor and set the default scaled resolution to 1280x960 (the window can still be resized) in the default albion.cfg. error-log-stderr.patch: Whenever an error happens, the game usually creates a file called "error.log", which contains the actual error message. This patch makes sure the file isn't created but the error message is printed to stderr. scons.patch: Fixes a few SConstruct/SConscript files to use the builder's environment, so that it can find executables such as gcc. sdl2.patch: SDL 2 has dropped support for the keysym.unicode field at some point, so use keysym.sym instead. This has the disadvantage that it doesn't recognize key modifiers, so we might want to switch this to use the SDL_TEXTINPUT event. xdg-paths.patch: We want to use XDG_CONFIG_HOME and XDG_DATA_HOME instead of writing everything to one directory, so this patch makes sure that the paths are correctly read depending on whether its an XDG directory or one of the store paths of the game. Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/games: Add a basic fetcher for GOGaszlig2018-02-211-0/+39
We're in almost the same misery here as with HumbleBundle, because we can't get stable download URLs with manifests for games that have an "os" field of either "windows" or "osx". Unfortunately, this isn't the only hoop we're going to, because similar to the HumbleBundle fetcher, we need to solve a (re)captcha in order to login (and I've been annoyed by countless cars, street signs, roads, busses, store fronts, hills and mountains during development). I tried looking for a way to get an API key similar to what itch.io is doing, but the only mechanism in place is a temporary key which needs to be refreshed using the old key after a while, so it's unsuitable for our case. The code currently is very much _not_ DRY, because a lot of it is copied over and modified from fetchHumbleBundle, especially the captcha solving application. It's really a shame to see the same situation that we have for HumbleBundle in GOG, given that HB is getting less DRM-free games these days and GOG is DRM-free *only* (which is a very good thing). Signed-off-by: aszlig <aszlig@nix.build>