| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I really would have preferred a simple Makefile, but with that we can't
use buildDotnetPackage and we also need to take care of butchering the
dependencies manually.
So I moved everything to src/ and added a csproj file to clean up most
of the cruft and just use buildDotnetPackage with minimal attributes.
In addition to that I also added assembly info, so that the command line
help will show the proper author name, copyright, yaddayadda...
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's a very early version which I did for a Unity3d game and it
*desperately* needs a cleanup.
An example command line:
monogame-patcher replace-call -i Assembly-CSharp.dll \
'System.String UnityEngine.Application::get_dataPath()' \
'System.String UnityEngine.Application::get_persistentDataPath()' \
IniParser SaveMeta
Right now the replace-call subcommand has UnityEngine.Application
hardcoded, so this won't work for other types than
UnityEngine.Application.
However, I'm going to refactor the whole patcher very soon and add some
tests, so this whole mess will be cleaned up.
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The patcher using Cecil is now in its own derivation and can thus be
easily added via nativeBuildInputs. Patching FileStream types is so
common that it comes in handy for other games using Mono.
I also improved the patcher a little bit so it accepts command line
arguments and it's easier to add the types that needed to be patched
directly via command line arguments.
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
|
| |
The Ransome Unbeeped DLC doesn't have a data/noarch/support directory
which we need for the icon so we need to change the unpack root to
data/noarch. This shouldn't make the unpacking phase that much longer
because the only additional files that get unpacked are small scripts
and docs.
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With fetchHumbleBundle finally being able to fetch the game with my
account, I think it's time to update the Nix expression. :-)
The game's binary is basically nothing more than just a wrapped Mono, so
we can use directly Mono from <nixpkgs> instead of patching the wrapper.
I also stubbed out the symbols for libsteam_api.so, which might be a
good idea to provide for other games as well but in a more generic way.
Another thing that was needed solely because of my stubbornness was to
patch out the system() libc library call in libfmodex.so, because I
didn't want to add /bin/sh to the sandbox.
So in summary: The new expression now is sandboxed, doesn't use the
wrapper anymore and also has a desktop entry :-)
Unfortunately I haven't found a changelog online to see what has changed
between the 20120620 and 20161016.
Signed-off-by: aszlig <aszlig@nix.build>
Cc: @layus
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Every HumbleBundle purchase has a list of subproducts and those have
so-called 'machine_name' attributes which are unique. However in our
fetcher we used the 'human_name' as a unique key, which isn't really
unique and in case of bastion the soundtrack subproduct is has the
human_name "Bastion" and the actual game has the *same* name as well.
Using the machine_name as the unique key now solves the problem that
certain games couldn't be found if you for example also have the
soundtrack.
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Includes changes for upstream release 1.0.1834 and 1.0.1839.
New & Changed Features for version 1.0.1839:
* Two changes were made to data saved for NG+ after completing the
game:
* Level 2 upgrades (Super Upgrade points) are undone and the
upgrade points are refunded. This allows the player to choose
different Level 2 upgrades when starting the NG+ game.
* Ammo, missile, and upgrade counts will only be updated if they
are better than the values saved from the player's previous
run(s).
* Updated Rewired input manager, providing support for 3Dconnexion
devices such as Space Mouse, Space Explorer, Space Navigator, etc.
Fixes for version 1.0.1839:
* Fixed the problem with user levels not working on Linux.
* NG+ now works add-on missions.
* Add-on levels are ignored if they have the same name as an existing
level.
* The correct ending is now played for Cronus NG+.
* Fixed survivor pickup error when there was no story text (which
could happen in an add-on level).
* Removed anti-cheat detector warning messages that in certain cases
caused performance issues.
* Fix Save/Load issue with Flak range finder.
* Player is no longer warned about skipping upgrades if all upgrades
have been applied.
* Fixed the orange sky in Phoebe Complex.
* Fixed the flickering light at the start of Level 6.
* Fixed problem of upgrades disappearing in add-on missions.
New & Changed Features for version 1.0.1834:
* Added 17 new cheat codes (total is now 20). We'll probably do
something like announce one new code each day in Discord.
* Pause menu and end level menu shows 'Cheater' if cheat code used.
* Added Valkyrie to some CM levels, and added Phantom to more CM
levels.
* Made [Backspace] act like [Delete] on Mac.
* Post-level and post-mission results show times in line with the
speedrun timer.
* Added stars in the sky in 4 CM levels, 3 MP levels, and 5 SP levels.
Fixes for version 1.0.1834:
* Fixed an issue in NG+ with reactors doubling their health after each
save/load.
* Fixed an issue with doors getting erroneously locked after
save/load.
* Fixed a mixup with black/grey decals.
* Fixed missing boss music in NG+ level 15.
* Fixed issue with 'last' weapon available in CM not being randomly
chosen.
* Fixed Vortex and Lancer (and Timebomb in some situations) not
spawning in CM.
* Fixed an issue with not dying in certain situations on Linux in
non-English after loading a saved game.
* Fixed invisible weapons in MP
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The latest master version has a few fixes for World of Xeen:
* Split the Adlib sound driver into it's own file
* Add detection entries for Clouds/Darkside/World of Xeen GOG German
* Fix crash using mirrors in standalone Clouds of Xeen
* Properly handle SFX & Music volume control
* Call audio cd manager open/close in engine init/deinit
* Fix using mouse click to close message dialogs
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Upstream fixes:
* Prismatic shard drop rates don't increase when players hit the
bottom of the mine
* Farmhands warped to the wrong version of Marnie's house after
purchasing animals
* Crash when player/player child is born and one of the parents is
offline
* Multiple spouses standing in same space on farm
* Using a weapon after eating nullifies the food effects
* Walk around (instead of through) Pam when getting on the bus
* Toddlers not moving inside cabins
* Stop fly buzzing sound when it dies
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Finally the version is in par with the Steam version.
Here are the fixes since 1.3.18:
1.3.19 (14 June 2018):
* Client crashing when joining game due to null quest
* Beach Bridge not updating for other players when one repairs it
* Controls locking up inside fishing tent
* Loss of 'Dating' friendship status when upgrading from 1.2 to 1.3
* Wedding ring not appearing in crafting list in smapi
* deepestMineLevel stat only updating when they go deeper then any
other player
* Seasonal tileset / smapi compatibility issue
* Farmhands unable to enter pierre's on Wednesday after Community
center completion
* Rain totems not working in multiplayer
* No blue chickens in mulitplayer
* Gus walking through walls in Community Center
* Some animations playing at double speed inside buildings
* Pam disappearing (potential fix)
1.3.20 (19 June 2018):
* Fish splash points not properly syncing
* Missing elevator dings for clients
* Objects broken by weapons breaking twice when there is latency
* Glitched chest object in inventory UI
* Horse missing sounds/animation for clients
* Crash when trying to display dialogue for NPCs without any dialogue
left
* Players hidden from view when local player uses a return scepter
* All players teleported when return scepter used
* Structures can be placed where players would get stuck exiting them
* Allow players to walk out of resources (stumps/rocks) if they become
stuck inside
* Grandpa's candles not lighting
* Freeze up when all players are not in bed at 2am
* Farmhands not seeing giant mushroom trees until they relog
* Translation fixes
* Door/footstep sounds can be heard mapwide
* Item duplication if farmhands login while their inventory is open
* Stamina resetting to max when you leave/rejoin
* Trash items respawning when player travels to a different location
* Crash after blowing up a rock crab
* Fishing treasure chest causing a new cast
* Filled chests breaking when they're next to an empty chest
1.3.21 (21 June 2018):
* Animal sounds playing outside of map
* Player icons overlapping on the map page
* Fishing rod casting temp sprites during the fall mini game
* Unsynced exhausted state and passing out
* Remote characters not blinking
* Grubs invincible to host while retreating
* Floating lamp sprite in mines
* Secret notes fished up spawning without a note number
* Beer sprite overlapped by counter in Clint 3 heart event
* Secret note #4 description fix
1.3.22 (3 July 2018):
* Crash after 596 hours of gameplay
* Mistranslated Chinese co-op button on main menu
* Divorced status not carried over from 1.2 saves
* Post-6pm animal mood drain
* Animal happiness overflowing
* Spa not regenerating stamina when a menu is open in multiplayer
* Second player-player parent pregnancy causing crashes
* Farmhands able to retrieve last item shipped after it has been sold
* Lighting detaching from sources when upgrading house
* Players losing cursor slot items when they become disconnected while
managing inventory
* Farmhands unable to enter tower if they join after CC is completed
* Armored bugs not invincible
* Wrong fish appearing in fishing minigame tent
* Slingshot minigame crash
* Broken skull cavern level 100 event in Russian
* Cave carrot quest crash
* Buffs not clearing when farmhands log out
* Farmhands can't open chest in Junimo huts
* Goblin problem quest still in log for other players after goblin is
removed
* New songs on Jukebox show wrong names
* Duplicate songs on Jukebox
I haven't extensively tested this, only loaded a savegame and walked
around a bit. However the changes are only fixes and there aren't any
changes that would be relevant for our packaging.
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Packaging is a bit similar to what we had to do back then with Opus
Magnum (see commit 523dcef1f77251a4cfeb3428a0b13c0ec1d9c342) where some
game data files were tried to open in read-write mode.
I'm using the same patcher (which is using Mono.Cecil) that I have used
for Opus Magnum back then but I've cleaned it up a bit.
In the long term I'd try to make the patcher a bit more generic so that
it can be used for other Mono-based games, because opening game data
files in read-only mode seems to be fairly common among a few other
games I haven't fully packaged yet.
The game also tries to execute "xdg-open error_log.txt" in the event a
uncaught exception occurs, which then fails because no xdg-open is
available. So instead, I made a small dummy wrapper which just runs
"head" on the error.log instead.
Another thing which unfortunately is currently not working is the
editor, because it tries to create a directory ("Workshop") within the
game's content directory, which - again - doesn't work within the
read-only Nix store.
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some games (well, currently just one, Dungeons 3) come with a .app
directory that contains additional game data which includes package
.unity3d files.
Such directories will be searched relative from the current working
directory, so let's actually set the working directory to
$out/share/something and copy the .app directory to that if it exists.
Tested with Dungeons 3 and also with a few other Unity3d games to see
whether they still work.
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
While it would be preferrable to have the current version (1.3.19, which
is not available for GOG GNU/Linux users right now), this update at
least fixes a few of the more nastier bugs.
Fixes for 1.3.12 (22 May 2018):
* All players seeing milking messages
* Object desync on farm between players
* Lighting issue in spa
* Clocks becoming de-synced from server latency (now will disconnect
player)
* Network usage high when NPCs moving
* Delay when using bombs
* Hidden mines ladder to skull cavern
* Erroneous thunderstorm weather forecast in summer
Fixes for 1.3.13 (24 May 2018):
* Added separate chests in the mines for each player
* Fishing tent control lock up
* Duplicate cursors in minigames
* Crashes buying furniture
* Freeze ups when fishing during events
* Crash caused by ordering a building construction the day before a
festival
* Crash breaking certain objects in the skull cavern
* Horse-related bugs with movement between screens/clipping
Fixes for 1.3.14 (25 May 2018):
* Re-enabled moving & demolishing buildings in multiplayer (although
only host can do it)
* Staircases appearing at the bottom of the mines
* Mermaid show not playing if volume is muted
* Added a quest to hint at the magnifying lens
* Crash when selling lots of items to Pierre / through the shipping
bin
Fixes for 1.3.15 (30 May 2018):
* Bundle menu is usable for clients outside of the community center
* Break-up event has been made less harsh
* Crash upon returning to a level of the mines with a chest, after
having just been in it
* Machines breaking themselves sometimes when you're near torches
* Crash caused by attempting to load a quest that hasn't been
localized yet
* Monster cries being heard outside of the mines
Fixes for 1.3.16 (05 June 2018):
* Client 'introductions' quest tracking the wrong number of villagers
* Cabin fridges emptying when host reloads
* Secret Santa assignments changing
* Items missing from festival shops playing in Chinese
* Fishing tackle traded breaking after one use
* Tree seeds not harvestable in multiplayer
* Spouse position issues
* Players stuck in wall after Emily's 10 heart event
* Wallpaper/Floors vanishing and resetting
* Host and client don't sync if a ladder or shaft spawns
* Slimes aggroing player during secret woods event
* Horse becomes unmountable after entering a new location
* Horses vanish when jumping between two quickly
Fixes for 1.3.17 (07 June 2018):
* Farmhands not able to interact with bundles inside community center
* Farmhand tools disappearing after logging out while being upgraded
* Museum donations disappearing
* Farmhand profession sale bonuses not applying
* Artifact donation message appears in English for all languages
* Profit margin mistranslated in German
* Character names appearing in English while playing non-English
character languages
* Unable to walk through animals while inside a building
* Bug which could make farm animals disappear
* Baby gender assignment issue for player/player newborns
This releaso also contains a new feature:
* Invite code now copyable to clipboard
Fixes for 1.3.18 (12 June 2018):
* Active players can cancel new player creation for farmhands
* Mouseover hover missing for buffs
* Horse footsteps using wrong sounds
* Crash whenever Marlon's name is used
* NPCs end of route animation playing at double speed for clients
* NPC positions not syncing at end of route animations (multiple NPCs)
* Extra tools spawning overnight if another player has them
* Gift giving not properly resetting after upgrading from 1.2 to 1.3
* Mistranslated pt-br seed disc saying to plant in winter
* Spa sign in English while playing in Chinese
* Proposals cannot be canceled
* Fishing rod event not triggering for farmhand
* Machines producing 'empty' products
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The hotfix release 1.6.71 contains the following fixes:
* UI: Fixed sorting of UI dialogs when in-match
* UI: Fixed missing Chinese translation for training menu label
* UI: Fixed resolution "free" label value change when changing
languages
New features in version 1.6.70:
* New localization: French
* New localization: Chinese
* UI: Language selector is presented on first launch
* UI: Some title screen layout adjustments for localization (complete
reskin later)
* CRONUS: Finally has a unique victory pose (like the rest of the
cast)
Fixes in version 1.6.70:
* GAME: GIF export files are properly closed when canceling
* GAME: Fixed empty powerup crate falling once on clients if all
powerups are disabled
* GAME: Fixed not being able to split shots on clients if projectile
is already destroyed on the host
* GAME: Fixed possibility for two projectiles to create a blast
barrier instead of hitting objects
* GAME: Fixed missing left ember spawner on The Catacombs
* GAME: Random map is refreshed when returning to the lobby from a
match
* GFX: Fixed the tint of Epi's ghost in his victory pose
* UI: "Keyboard" is now properly localized on player selectors
* UI: Fixed potential for game to stall if localized text parsing
fails in some edge cases
* UI: Better spacing in GIF end cards for multi-line Steam usernames
* UI: Fixed Connect button being selected after removing IP digits
using the GUI
* UI: Various minor layout fixes for different locales
* UI Fixed ready up indicator minor scaling issues
* AUDIO: Fixed replays always playing SFX at max volume
* EPI: Fixed ghost Epi getting hit instead of real Epi if standing in
the same spot
Full upstream change log:
https://s3-us-west-1.amazonaws.com/sombr-invisigun/messages/ReleaseNotes.txt
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>
|
|
|
|
|
|
|
|
|
|
|
| |
So far we only showed the main installer packages that are available for
a certain game. However there are other things such as downloadable
content and related products that we might be interested in.
I needed this mainly because the Stardew Valley beta download is listed
as bonus content.
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
|
|
| |
I haven't bisected this to know the exact commit that made this change
necessary, but it might be that SDL2 now no longer propagates libGL
anymore.
If this is the case for other games as well, I might want to do a
bisect, but for now let's just fix it.
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
| |
Unlike the other Unity3D games, LIADS writes settings and save files to
XDG_DATA_HOME, so we need to add it to the required sandbox paths.
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes since version 1.3.2 (2016-01-20):
1.4.5 (2018-04-27)
* Removed Google Analytics.
* macOS build now supports 64-bit.
* Minor localization fixes.
1.4.4 (2016-09-07)
* XInput now enabled by default on Windows (bypasses some controller
problems with Windows 10 Anniversary).
* Fixed phantom inputs when using XInput.
* Fixed -debuginput launch option not working when XInput is enabled.
* Added -disabledpad launch option to disable default mapping of the
d-pad.
* Updated input device profiles.
1.4.3 (2016-07-22)
* Added debug option to get more information about attached
controllers (available by launching with the argument "-debuginput")
* Updated input device profiles
1.4.2 (2016-07-12)
* Better handling of unrecognized controllers
* Better support for the Steam Controller on Mac
1.4.0 (2016-05-12)
* Four player support!
* New playable character skins
* Difficulty balances
* Automatic support for many controllers (including PlayStation
controllers) with no need to manually remap buttons
* Support for XInput controllers and rumble (Windows only)
* Displays PlayStation button prompts when using PlayStation
controllers
* Better compatibility with non-standard controllers
* Steam Cloud saves are synced cross-platform
* Ability to cap frame rate when vsync is disabled
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
| |
Starbound not only needs libGL but also libGLU, so let's actually
include that dependency in its combined form (libGLU_combined).
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This has been changed in NixOS/nixpkgs@6bf1421f13d667c2997b67728cf777c6,
so let's change it here as well.
Quote from the mentioned commit:
Implement libGL as a symlink package which uses libraries from
libglvnd and headers from Mesa (since ones from libglvnd are
outdated).
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New features:
* UI: Player colors are changeable in the lobby for the match
* UI: Available powerups can be customized in match setup
* UI: Exported animated GIFs have an end card with the winning hero,
date, and Steam name
Updates:
* PROTEUS: Scanner drone shock count reverted to 3 pulses instead of 2
* CRONUS: Bomb drop speed increased from 10 to 12
* CARMEN: Blocks take 3 bumps to remove the reflector shield instead
of 5
* CARMEN: Max simultaneous blocks reduced from 3 to 2
* CARMEN: Spam detection time window increased from 0.5s to 0.75s
after placing a block
* PHOEBE: Phoebe can't teleport back for 0.25s after teleporting
* RONIN: Spam count reduced from 3 to 2 slashes before cooldown sets
in
* GAME: Guardians deploy from powerup pickup position
* GAME: Land Grab default time limit reduced from 150s to 90s
* GAME: Birds will scatter from Aether's pound and Cronus' bombs
* GAME: More heroes can reliably buffer the next shot during their
ability
* NET: Host join key is persistent for the entire game session if the
region is the same
* NET: Last client join key used is saved for the session
* UI: Guardian shows an indicator over targeted players when they are
visible
* UI: Title & Invisigun electricity FX don't continue forever
* UI: Initial player choice is consistent (always begins on Selene)
* UI: Custom phrases show an indicator on the victory phrase dialog
* UI: Changed training pause label from "Exit" to "Menu"
* UI: Updated victory phrase character presentation
* UI: Lobby hero selectors show a loading spinner until they're ready
for input
* UI: Improved some powerup icons
* UI: Added some icons to options buttons
* UI: Smoother and more accurate replays and exported GIFs
* UI: Even faster animated GIF exporting
* UI: Replay GIFs show connection strength for online matches
* UI: Better mini powerup icons on the scoreboard
* SFX: Updated map loading audio cue
* GFX: Power shots have a subtle animation on the front of the
projectile
* GFX: Softer rolloff for lighting fx
Map updates:
* The Conundrum: layout adjustments
* Polar Express: minor tile swap, fewer ember spawns from the edges
Fixes:
* CARRIER: Fixed some bumping and positioning issues
* SELENE: Selene can't evade scanner drone detection by jumping
anymore
* SELENE: Fixed not being able to buffer a shot after a double jump
* CRONUS: Fixed issues with bomb trail timings when the game is paused
* CRONUS: Fixed drop target stopping when bringing up the match menu
during an online game
* CRONUS: Fixed soot tracks sometimes showing up where a player was
before stepping into soot
* PHOEBE: Fixed proper destruction of projectiles teleported under
mine carts
* PHOEBE: Added some failsafe checks to prevent Phoebe getting shot
immediately after teleporting online
* PHOEBE: Potential fix for getting shot right after teleporting
online
* EPI: Fixed real Epi disappearing from spectator view & replays while
ghost Epi is teleporting
* EPI: Fixed possibility for remote client Epi to teleport to ghost's
position on button mash
* EPI: Fixed ghost Epi not leaving soot prints from Cronus' bombs
* IRIS: More accurate powerup pickups while dashing online
* IRIS: Fixed occasional failure for client dashes to work properly on
remote connections
* IRIS: Fixed occasional inability to dash through proximity doors
* RONIN: Fixed some slash FX not showing up for remote clients
* GAME: Fixed incorrect bot showing victory pose
* GAME: Guardians could destroy the wrong shots if the original target
was already destroyed
* GAME: Fixed potential for mine carts to get stuck against some rocks
* GAME: Fixed conveyor belt speed and player positioning due to
physics timestep changes
* GAME: Potential fix for projectiles sometimes stalling
* GAME: Powerups don't repeatedly drop while the match is inactive
* GAME: Fixed potential for projectiles to sometimes ricochet in
diagonal directions
* GAME: Fixed potential for two orthogonal projectiles to sometimes
create diagonal cluster bombs
* GAME: Fixed players not being able to get hit by their own split
shots
* GAME: Fixed players being invulnerable to their own cluster shots
* GAME: Improved accuracy of cluster bomb spawn location
* GAME: Fix for hitting your own resisted shots if walking into them
with lag
* GAME: Fixed an issue causing short stun times canceling existing,
longer stun times
* GAME: Fixed occasional possibility for players to be invisible
during respawns or round resets
* UI: Navigating back from Match Setup after arriving from Host a
Match returns to Join Scene
* UI: Fixed incorrect "up" controller label on player selectors in
lobby
* UI: Fixed traning pause menu input label when switching between
keyboard and controllers
* UI: Fixed spectator replay controls when switching between keyboard
and controllers
* UI: Fixed flickering UI elements on instant replay following export
of GIF
* UI: Fixed erratic replay lengths, playback, timing and GIF exports
depending on device specs
Full upstream change log:
https://s3-us-west-1.amazonaws.com/sombr-invisigun/messages/ReleaseNotes.txt
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I explicitly didn't want to include a \0, but unfortunately with GCC 7 a
check is performed on the size of the format arguments and the build now
fails with:
'__builtin___snprintf_chk' output between 5 and 9 bytes into a
destination of size 4
The dereference of the str pointer gives us one byte, so the size of the
format argument will be 4 in any cases plus the 0 byte at the end. While
we don't need the 0 byte because it will be added later, it doesn't hurt
so let's use a maximum size of 5 to keep GCC 7 silent.
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
| |
These are the patches I forgot to add to
77a0f47d06f3d21b78c7f34a129bc3f75d69fbf7.
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New features:
* Localization: Italian
* New Cerebrus map: Summit
* New Cerebrus map: Yinyang
* New Cerebrus map: Polar Express
Updates:
* CRONUS: Bombs no longer show nearby player indicator
* CRONUS: Bomb impact area powers up the longer the target is left out
* CRONUS: Bombs briefly show the impact area when a target is marked
* CRONUS: Bombs leave soot on the floor which makes players leave a
footprint trail
* PROTEUS: Scanner drone shocks tagged players 2 times instead of 3
* PROTEUS: Scanner drone re-deploy cooldown also applies to
self-destruction
* UI: Simplified lobby host info; better readability and presentation
* UI: "Join Code" is now known as a "Join Key"
* UI: Post-round scoreboard shows Steam nicknames
* UI: Post-match stats table headers changed to icons for localization
space
* UI: Reduced controller vibration in some UI scenes
* GFX: Better tile transitions in maps with very different adjacent
surface types
* GFX: Improved Selene's victory pose sprite
* SFX: Subtle audio cue when you first start moving to another tile, as
input confirmation
Fixes:
* CRONUS: Fixed an issue where the center bomb tiles spawned
simultaneously instead of staggered
* CRONUS: Fixed bomb trails damaging scanner drones by touching their
scan radius
* GAME: Fixed revealer carrying over to the next round
* CARRIER: Fixed carrier ball interactions while players are
teleporting
* UI: Fixed being able to quickly back out of scenes while they are
transitioning in
* UI: Fixed "Player Disconnected" popups when remote clients try to
join an active match
* UI: Fixed spam cooldown indicator still visible when a player dies
* UI: Fixed blank lobby region flag when joining a match in "ANY"
region
* UI: Fixed flag icon showing in lobby when connected via IP
* UI: Long controller names are truncated in lobby player selectors
* GFX: Fixed pit beasts sorting issues with sand piles
* GFX: Fixed y-sorting of Beast Tamer coins
* GFX: Fixed y-sorting of some fence posts on Ice Prison
* GFX: Fixed map objects showing proper bump FX over network
* SFX: Fixed music fade out when exiting challenge mode
Full upstream change log:
https://s3-us-west-1.amazonaws.com/sombr-invisigun/messages/ReleaseNotes.txt
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is quite redundant because autoPatchelfHook already scans all
shared objects and executables for dependencies and bails out with an
error if a dependency isn't found, which is similar to what we're doing
in installCheckPhase.
Removing this should also speed up builds, especially those with lots of
files.
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>
|
|
|
|
|
|
|
|
| |
On some occasions a captcha isn't needed for login (not sure exactly
when this is the case), so we really should just log in without it
instead of bailing out with an error.
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
So far we only checked for the source root by checking only one level of
directories, so for example if the source code is unpacked into
something like "a/b/c" and only "c" contains files, the previous
implementation would set the source root to be "a".
In addition we didn't do a check on the type of the contents, so for
example if the archive contains only *one* file, that *file* itself
would be set as the source root and the chdir to that will fail later.
What we do now is recursively search through directories in order to
find the last directory that does not contain *only* a subdirectory.
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>
|
|
|
|
|
|
|
|
| |
A few attributes weren't re-added to the actual derivation, so for
example whenever we add buildInputs to buildUnity the attribute would be
completely ignored.
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New features:
* New Cerebrus map: Back to the Future
Updates:
* RONIN: Slashed players will incur 0.25s of hard stun / push back, and
0.35s of soft stun
* PROTEUS: Scanner Drone won't continue to shock dead players
* PROTEUS: Next Scanner Drone has a 3s cooldown from the time the last
was destroyed (if shot down)
* CRONUS: Drop target movement speed increased from 0.17s to 0.15s per
tile
* CRONUS: Bomb hit time & lingering fire increased from 1s to 1.5s
* AETHER: Ground pound hit window is active for 0.25s instead of 1
frame
* GAME: Arx-515 teleporters are disabled for 1.25s while being used
* GAME: Reduced visibility time after firing from 0.75s to 0.5s
* GAME: Slightly reduced replay recording memory usage
* GAME: Improved presentation of players visible due to Revealer
powerup
* GAME: Players are snapped to the nearest tile when firing
perpendicular to movement
* GFX: Removed FX when revealer ends, which had the potential to reveal
real Epi's position
* GFX: Clarified readability of some boundaries on Aqueduct
* GFX: Powerup parachute drops are slightly transparent until near the
ground
* UI: Hero Profile demos properly show ability cooldown indicators
Fixes:
* EPI: Fixed cluster shots from ghost Epi breaking shields
* CRONUS: Fixed target disappearing on clients after attempting a drop
over a disallowed area
* CRONUS: Better drop target local simulation and feel for remote
clients
* MAPS: Added missing fence posts around holes on Conundrum
* GAME: Slightly increased physics step rate to prevent some
fast-moving collision misses
* GAME: Fixed bumping builder blocks destruction after the reflection
shield is already gone
* GAME: Fixed potential to get shot in your original spot after
teleporting online
* GFX: Fixed projectile collision visuals' positions due to high-speed
physics
* GFX: Fixed projectile collision visuals' positions on network clients
* GFX: Fixed exported GIF speeds due to vsync differences
* UI: Fixed occasional disappearing in-match pause menu
* UI: Fixed Proteus hero profile demo
* UI: Fixed insane speed when changing controller setup types using
analog sticks
* PREFS: custom config file will no longer be reset during updates
(after this release)
* PREFS: custom config file has option to disable fullscreen FX for
strobe-sensitive players
Full upstream change log:
https://s3-us-west-1.amazonaws.com/sombr-invisigun/messages/ReleaseNotes.txt
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Upstream changelog summarized:
* Switch to DirectSound on Windows.
* Remove iron-on patch link.
* The Hexstabilized Salt puzzle now requires 18 outputs instead of 6.
* Add a new journal issue that is entirely production puzzles.
* Add a hidden option that will hopefully fix some of the sound issues
that were introduced when we rewrote our audio backend.
* Add a new issue to the journal with some "battlefield medicine"
themed puzzles.
* The game's content files are now opened as read-only, which should
hopefully fix some of the antivirus-related crashes some players have
been experiencing.
* Atom spawn/consume effects on glyphs are now cleared when the
simulation is stopped, which should fix a bug causing "ghost atoms" to
linger on the board.
I've made this summary by picking the relevant parts of the upstream
Steam announcement page at:
http://steamcommunity.com/games/558990/announcements
The best part about the changes is that content files are now opened
read-only, so we can finally drop all that patching. This also is the
first time I can say something positive about AV software, so thanks for
bugging Zachtronics into fixing this issue for Nix as well :-)
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
| |
Having a function in autoPatchelfHook that's unused inside the setup
hook is a bit of weird, because the actual usage is within buildGame and
thus it should stay there for now.
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
| |
This is really not game-specific, so let's put it at the top-level and
also make sure we substitute all the commands we're using there, even
though a few of them are in PATH of stdenv so that it will always work
even when the programs available in stdenv should change someday.
Signed-off-by: aszlig <aszlig@nix.build>
|