about summary refs log tree commit diff
path: root/pkgs/games/gog/albion
Commit message (Collapse)AuthorAgeFilesLines
* games/gog: Switch everything to gogUnpackHookaszlig2018-07-311-11/+7
| | | | | | | | | | | | | | | | | | For Albion, Settlers 2 and World of Xeen we need to explicitly add gogUnpackHook, because for those the derivation containing the game data is not created via our buildGame wrapper. Everything else is just done by removing unpackCmd and unzip from the package arguments. One exception is Thimbleweed Park, which relied on custom path for unzip in order to get the desktop icon, but with our now hook, we get that icon now in xdg-icon.png with a flat directory structure. I've tested this by building all the games from GOG that we have packaged here. However, I didn't test whether every single one actually runs. Signed-off-by: aszlig <aszlig@nix.build>
* games/albion: Temporarily fix loading of libGLaszlig2018-06-101-2/+6
| | | | | | | | | | | I think this has te be fixed in <nixpkgs>, because SDL2 loads libGL at runtime using dlopen(), but recent changes have been made so that libGL.so is no longer in LD_LIBRARY_PATH on NixOS by default. So until then, let's set SDL_OPENGL_LIBRARY, so that SDL2 will load it from that path directly instead of searching in LD_LIBRARY_PATH. Signed-off-by: aszlig <aszlig@nix.build>
* games/albion: Fix build with Automake 1.16aszlig2018-06-091-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This has been broken since a while when Automake 1.16 was introduced in NixOS/nixpkgs@e0c155e26b6a73bba06d6f2ced12bd4bcb0d6503. The upstream WildMIDI project has since moved to CMake and the patches from the static recompilation project haven't been ported to a newer version, so we're stuck with the Automake variant. Fortunately, the fix is rather easy and it's more obvious when you look at the changelog of Automake 1.16: The 'subdir-object' option no longer causes object files corresponding to source files specified with an explicit '$(srcdir)' component to be placed in the source tree rather than in the build tree. For example, if Makefile.am contains: AUTOMAKE_OPTIONS = subdir-objects foo_SOURCES = $(srcdir)/foo.c $(srcdir)/s/bar.c $(top_srcdir)/baz.c then "make all" will create 'foo.o' and 's/bar.o' in $(builddir) rather than in $(srcdir), and will create 'baz.o' in $(top_builddir) rather than in $(top_srcdir). So all we need to do is strip off the absolute pathname of libWildMidi.la/libWildMidiA.la and the build passes. Signed-off-by: aszlig <aszlig@nix.build>
* games/albion: Fix ancient wildmidi against GCC 7aszlig2018-03-072-0/+26
| | | | | | | | | The first error is that there was a case statement fallthrough which was actually unintended and is a bug in the ancient wildmidi used here, while the second one was because of a structure that wasn't initialized to zero before first use. Signed-off-by: aszlig <aszlig@nix.build>
* games/albion: Add missing patch filesaszlig2018-03-072-0/+81
| | | | | | | These are the patches I forgot to add to 77a0f47d06f3d21b78c7f34a129bc3f75d69fbf7. Signed-off-by: aszlig <aszlig@nix.build>
* games/gog: Add statically recompiled Albionaszlig2018-02-216-0/+695
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>