about summary refs log tree commit diff
path: root/pkgs/games/humblebundle/default.nix
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #21 (Add game "Baba Is You")aszlig2019-09-301-0/+1
|\ | | | | | | | | | | | | | | | | | | This adds the latest release of "Baba Is You", a puzzle video game. Since I do not own this game, I can't test whether it's working, but the Nix expression overall doesn't look controversial, so I'm merging anyway. Thanks to @layus for the contribution.
| * baba-is-you: init at 2019-03-31Guillaume Maudoux2019-04-031-0/+1
| |
* | add minimetroGuillaume Maudoux2019-09-301-0/+1
|/
* games: Rename the_bridge attribute to the-bridgeaszlig2018-12-081-1/+1
| | | | | | | | With other games we already use dashed delimiters, so it's more consistent to also use them for "The Bridge". Signed-off-by: aszlig <aszlig@nix.build> Cc: @layus
* add The BridgeGuillaume Maudoux2018-11-171-0/+1
|
* games/humblebundle: Add Trine 2aszlig2018-09-101-0/+1
| | | | | | | | | Had this lying around for a while already, so just adding for completeness. I've tested whether the game still works. Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/games/humblebundle: Add Owlboyaszlig2018-02-091-0/+1
| | | | | | | | | | | Very similar to other games using Mono, but this has a similar problem to what Opus Magnum had (see 523dcef1f77251a4cfeb3428a0b13c0ec1d9c342) but instead of using Cecil for patching I'm using LD_PRELOAD instead because the number of occasions we need to patch is not only higher but also there are different constructors in use for System.IO.FileStream, so patching becomes much much harder. Signed-off-by: aszlig <aszlig@nix.build>
* games/humblebundle: Add Opus Magnumaszlig2017-12-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Upstream URL: http://www.zachtronics.com/opus-magnum/ For this I've ripped apart all of the bundled shared objects including Mono itself, so we're using Mono from <nixpkgs> instead of the provided one. In addition to that I had to patch the intermediate language because the game really doesn't cope very well when the data files are read-only, which is the case in the Nix store. Instead of replacing the CIL, I could have used an LD preloader as well, but I think this is way less error-prone even though we had to patch a few internal classes where we couldn't match the name properly. Compared to this an LD preloader would involve patching several symbols and also implement some logic to distinguish between files read from the data directory and files read/written to XDG_DATA_HOME. The reason why I added $HOME/Desktop to the required sandbox paths is because the game saves gif images into that directory. Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/games: Switch Unity games to buildUnityaszlig2017-09-131-1/+1
| | | | | | | | | | | | Both of these games weren't working at all. Megabyte Punch was completely broken and the expression wasn't even finished and Lovers In A Dangerous Spacetime wasn't up to date (unfortunately we can't pin on a specific version). Megabyte Punch now also uses callPackage_i686, because it only comes with a 32 bit binary. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* Merge pull request #14 (add Antichamber)aszlig2017-07-281-0/+1
|\ | | | | | | | | | | | | | | | | | | | | Pull request is from @layus and I haven't tested the game, because I don't own it myself, but apparently @Profpatsch seems to got it working to the point of having a black screen, but that could be a rendering issue. So I'm merging this anyway, because even if only one person (@layus) is going to play it, it won't hurt and if multiple people using the expressions we probably get bug reports :-)
| * antichamber: init at 1.1Guillaume Maudoux2017-07-241-0/+1
| |
* | games: Add DOTT and Grim Fandangoaszlig2017-07-281-0/+2
|/ | | | | | | | | | | | | | | | | | | | | | | | Both are the remastered versions available via Humble Bundle and both also needed a bit of patching via an LD preloader in order to work as intended. Day of the Tentacle conforms to XDG but it assumes that the data directory is in the same directory of the executable, so we fake /proc/self/exe to point to the "$out/share/dott/DUMMY". The "DUMMY" here is because the implementation does a dirname() on the directory. Grim Fandango on the other hand needs a bit more patching, so we first of all override the _first_ chdir() the game does to point to the data directory but we also override fopen64() and opendir() to use the XDG_DATA_HOME-based save directory whenever one of these calls point to "./Saves/..." because the data directory resides inside the store and thus is (of course) read-only. I had the expressions for these two games laying around for quite a while, so while merging another game from a PR I thought it would be a good opportinity to merge them as well. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* Revert "pkgs/games: add antichamber"Profpatsch2017-07-241-1/+0
| | | | | This reverts commit 1fcecd0b9d6424f32f304c4fda0598894aac2011. It was written by @layus and the code came from PR #14.
* pkgs/games: add antichamberProfpatsch2017-04-261-0/+1
| | | | Written by @aszlig.
* Revert "runCommand -> runCommandCC"aszlig2016-10-171-3/+0
| | | | | | | | | | | | | This reverts commit e3f8d28d6be67257d70035d122263f3a35adc438 and my attempts to mitigate this in 0a50f5fab1abf2e70fd5d7a2dd717c2f2c1b983b and 3b91f25b37ea709f5c86e38a50061199bbed5341. Vuizvui is a repository for experimental stuff, but NOT a dumpster. So please refrain from pushing waste into this repository, like markers for a failed merge. Signed-off-by: aszlig <aszlig@redmoonstudios.org> Cc: @Profpatsch
* runCommand -> runCommandCCProfpatsch2016-10-151-0/+3
|
* pkgs/games/humblebundle: add pico-8sternenseemann2016-09-051-0/+1
| | | | | | | | Not really a game but a emulator of an imaginary console, so close enough. This package uses the dynamically linked pico-8 version, the (probably) statically linked one had an inexplicable issue with SDL.
* pkgs/games: Add Starbound 1.0.5 from HumbleBundleaszlig2016-08-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So far we only had the Steam version of Starbound, but since July 22nd 2016 version 1.0 got released and since then had a few bugfixes already. The Nix implementation here is based on the Steam version but has quite some improvements: Instead of wrapping the Starbound client and server with a shell script which sets up the bootconfig, we now use patchelf to override specific symbols from external libraries and thus can live without supplying a -bootconfig arg. By replacing the sbinit.config in the .rdata section of the binaries with a magic value (13 times the bell character) we can later match the magic value during open() and provide a default bootconfig using a temporary file. Note that it has to be a temporary file instead of fork() and writing to a pipe() because Starbound is using lseek() during parsing of JSON. With all this in place we now have everything Starbound related in $XDG_DATA_HOME/starbound, which is the main reason for doing the preloading in the first place. Starbound without patching expects a file called sbinit.config in the same directory as the executable and even if we'd supply a bootconfig via the -bootconfig arg, we can only have static paths in there, because Starbound doesn't do environment variable expansion within paths in the bootconfig. Another difference to the Steam packaging is that we now produce multiple outputs, the default one plus lib for the preload library and the assets in its own store path. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/games/humblebundle: Add Brigadoraszlig2016-06-041-0/+1
| | | | | | | | | | | | Just tested it a bit but haven't really played it (and probably won't have time to during the next weeks). This is the version that got released on 2016-06-02 and it needs a small preload wrapper because it tries to load assets and other stuff relative to the current directory. The preloader makes sure that the correct store path is read instead. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* Merge aszlig/nixgames into vuizvuiaszlig2016-02-081-0/+50
This is a subtree merge of the full nixgames repository including history. Right now it isn't linked to vuizvui at all but we're going to do that very soon. The reason why I'm merging both repositories together is that it's easier for me to manage updates and also facilitate contributions by people from the OpenLab. Another reason to merge it is that we can write more generic functions for building both, the games and the rest. Right now the licensing is still the Apache License version 2.0, but we're going to change it to the vuizvui license as well.