| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Packaging is pretty straightforward because the game is written in JS,
so only the assets need to be copied along with wrapper for NW.js
pointing to the directory and we're done.
Signed-off-by: aszlig <aszlig@nix.build>
Cc: @Profpatsch
|
|
|
|
|
|
|
|
|
|
|
|
| |
These small fixes mark the end of the beta:
* Changes to the NetList events we added for modding
* Gift limits not resetting sometimes in single-player
So we now can finally get rid of the "stardew-valley-beta" attribute and
track the stable version from now on.
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was the whole reason why I implemented the monogame-patcher even
though it is very useful for other games as well.
So the main issue why patching was needed is that the game writes its
savegames into the same directories as other assets, so we need to be
very careful about which method we patch and how in order to avoid
failures to load other assets rather than savegames.
However while in principle the game runs fine there is a Heisenbug
hidden, so it segfaults whenever strace is not used. Here is the
backtrace:
#0 0x0000000000f973be in ?? ()
#1 0x0000000000f8f444 in ?? ()
#2 0x0000000000f2379b in ?? ()
#3 0x0000000000f2940b in ?? ()
#4 0x0000000000f1fa87 in ?? ()
#5 0x00000000008e8cc8 in ?? ()
#6 0x00007ffff79bc5a7 in start_thread () from libpthread.so.0
#7 0x00007ffff61cf22f in clone () from libc.so.6
Disassembly around 0xf973be:
f973a2: 45 0f b6 4f 02 movzbl 0x2(%r15),%r9d
f973a7: ba 04 00 00 00 mov $0x4,%edx
f973ac: 41 80 f9 02 cmp $0x2,%r9b
f973b0: 74 05 je f973b7
f973b2: 41 0f b6 57 03 movzbl 0x3(%r15),%edx
f973b7: 48 8b 40 30 mov 0x30(%rax),%rax
f973bb: 83 f9 1b cmp $0x1b,%ecx
>f973be: 8b 40 08 mov 0x8(%rax),%eax
f973c1: 89 44 24 58 mov %eax,0x58(%rsp)
f973c5: 0f 86 6d 01 00 00 jbe f97538
f973cb: c6 44 24 5f 00 movb $0x0,0x5f(%rsp)
f973d0: 45 31 ff xor %r15d,%r15d
f973d3: 89 54 24 28 mov %edx,0x28(%rsp)
f973d7: 89 74 24 20 mov %esi,0x20(%rsp)
f973db: 44 88 44 24 18 mov %r8b,0x18(%rsp)
f973e0: 44 88 4c 24 30 mov %r9b,0x30(%rsp)
f973e5: e8 16 fa 92 ff callq 8c6e00
The last callq is for <operator new(unsigned long)@@Base+0x27c9d0>, so
I'd suppose this might be a bug in the patched Mono version of Unity but
could also be a chain reaction (who knows).
Probably the reason why it works with strace might be a race condition,
but I haven't thoroughly debugged this. Especially if there are no
symbols available it's very hard to debug, so I'll leave that to some
day in the future.
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
A Unity3d game, so packaging is pretty straightforward.
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
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>
|