about summary refs log tree commit diff
path: root/pkgs
Commit message (Collapse)AuthorAgeFilesLines
* taalo-build: Switch back to instantiate + realizeaszlig2019-01-041-7/+19
| | | | | | | | | | | | | | | | | | | | I refactored the two tools a while ago but eventually rendered taalo-realize useless, because it doesn't copy the derivation to realize to the remote host. This is done now, plus the taalo-build command now makes sure that we instantiate on the local machine, thus speeding up builds a lot (except maybe if the local host is under very high load). In addition I added an indirect gcroot inside a temporary directory, so that we don't get into a race condition when garbage collecting between instantiate and realize. Instead of nix-copy-closure, I now use "nix copy", which properly supports the ssh-ng store backend. However I didn't use "nix build" and friends, because these commands still lack a few features. Signed-off-by: aszlig <aszlig@nix.build>
* games/crosscode: Update to version 1.0.2aszlig2018-12-081-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This update contains mostly Steam-related changes, which are not relevant to the GOG version. However here are the changes that affect us: * The plaza of the Last Minute Heroes HQ can be entered and it includes the first few statues! The interior is still closed off, but it will open up with the next update. * There are a few more NPCs in CrossWorlds including a new cameo guest role somewhere in Bergen village. * The new stat "Time played with Assist Mode" was added to the Statistics menu. The full upstream blog post can be found at: http://www.radicalfishgames.com/?p=6520 With this update a bunch of different Greenworks[1] versions are now in a new "modules" subdirectory, which I removed because they contain native code for interfacing with Steamworks. This doesn't apply to us, so let's actually make sure that this code never runs by removing the modules directory entirely. [1]: https://github.com/greenheartgames/greenworks Signed-off-by: aszlig <aszlig@nix.build>
* games: Rename the_bridge attribute to the-bridgeaszlig2018-12-082-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
*-. Merge pull requests for Epistory and The Bridgeaszlig2018-12-084-0/+74
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the games Epistory and The Bridge to our games collection, packaged by @layous (thanks a lot). I don't own these games, so I can't really test them, but from looking at the code they look fine to me and even if they'd break it would still only affect the games in question and not other games. Merges: https://github.com/openlab-aux/vuizvui/pull/19 Merges: https://github.com/openlab-aux/vuizvui/pull/20
| | * add The BridgeGuillaume Maudoux2018-11-172-0/+38
| | |
| * | epistory: initGuillaume Maudoux2018-10-032-0/+36
| | |
* | | stardew-valley: Update to version 1.3.32aszlig2018-11-241-2/+2
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upstream changes: * Optimised network performance. * Added more ways for the host to unpause the server (by pressing ESC, B, Back). * Added alternative way to show the chat box (press right stick button on a controller). * Added internal changes for modders (should have no effect on vanilla gameplay). Upstream bug fixes: * Fixed slimes not pouncing correctly. * Fixed items-crafted stat being 0 after loading a file until you craft something again. * Fixed rabbit's foot not affecting the breakup scene in non-English language modes. * Fixed some rare tool-related crashes in multiplayer. * Fixed an audio-related crash often caused when using bombs. * Fixed Junimos dropping crops on the floor instead of collecting them. * Fixed NPCs walking through the saloon doors. * Fixed a few rare-ish crashes that can occur when connecting to another player's game. * Fixed eye color being reset to brown after reloading. * Fixed inability to use rod / slingshot in festival minigames. * Fixed the title menu back button being hidden behind submenus. * Fixed inability to move after receiving a gift at the Feast of the Winter Star. * Fixed crash when saving after the game adds Lewis's shorts to Marnie's house. * Fixed crash viewing the map when another player is in certain events. * Fixed "double sound" when using singing stone. * Fixed a Geneva Convention violation (by replacing red crosses in graphics). * Fixed clicks on the chatbox not being registered when the game is paused. * Fixed players sometimes walking off in a straight line through all terrain when they get disconnected. * Fixed babies sometimes spawning in houses that don't belong to the parents. * Fixed the potential for overnight events to cancel or skip a wedding event. * Fixed a desync that could occur if a player tried to get into the casino after a different player has removed the bouncer. * Fixed players able to simultaneously build overlapping farm buildings. * Fixed only one player being able to get the dark talisman. * Fixed the inability to place donated items on the bottom two rows of the museum. * Fixed farmhands being unable to pick up items they dropped in festivals. * Fixed Pam's upgraded house interior event not happening. * Fixed visual glitches caused by triggering a shared event simultaneously with the return scepter. * Fixed softlock caused by mistaken ability to use daggers during events. * Fixed players all receiving the same personal overnight events on the same day (e.g. spouse asking if you want a baby). * Fixed attempting to demolish cabins of abnormally disconnected farmhands causing the cabin to be destroyed after you leave the buildings menu. * Fixed farmers getting stuck in the fishing casting animation after picking up someone else's rod. * Fixed host sometimes appearing stuck using tool in shared events. * Fixed softlock when you play the Journey of the Prairie King past 2am. * Fixed glitched chest lid appearing when you destroy a cabin. * Fixed duplicate songs in the jukebox. * Fixed only one player's glow ring working at a time. * Fixed farmhands not being able to see each others' bundle changes. * Fixed bug causing some players to become married to two other players in 3-4 player farms. * Fixed player sometimes getting stuck in bed after another player got in and then back got out. The official blog post announcing this release can be found at: https://stardewvalley.net/1-3-32-small-bug-fix-patch-released-on-pc-today/ Versions between 1.3.28 and 1.3.32 were all beta versions, the details about those can be found in section "Beta Versions (1.3.29-1.3.32)": https://stardewvalleywiki.com/Version_History#1.3.32 Signed-off-by: aszlig <aszlig@nix.build>
* | invisigun-heroes: Update to version 1.6.101aszlig2018-11-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upstream changes since version 1.6.100: * UI: Lobby chat messages don't reset the auto countdown timer for Guest Edition matches * NET: Increased connection and idle timeouts to prevent disconnections in some high latency cases Full upstream changelog: https://s3-us-west-1.amazonaws.com/sombr-invisigun/messages/ReleaseNotes.txt Signed-off-by: aszlig <aszlig@nix.build>
* | invisigun-heroes: Update to version 1.6.100aszlig2018-11-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This includes upstream release version 1.6.97 and 1.6.100, the latter being mainly a bugfix release. Version 1.6.100 contains the following changes: * UI: Fixed display of waiting-for-more-players time for Guest Edition * UI: Fixed soft lockup that could occur when randomizing player bot selections * UI: Fixed edge case that could cause the match to not fade in (black screen) * UI: Italian localization updates The major update however is version 1.6.97, which contains the following changes: New features: * New powerup: Ability Boost * UI: You can choose an emote to display on the scoreboard after you die * UI: You can now edit the match settings without leaving the lobby! * UI: Dualshock 4 lights reflect in-game player colors (except via Bluetooth on Mac) * NET: Online matches will auto start from the lobby after 30s of inactivity * NET: All matches will auto return to the lobby after 30s of post-match inactivity Updated features: * Land Grab: Markers appear a little bit faster when you've reached a tile * The Conundrum: Some map layout adjustments * NET: Better selection of open UDP ports * NET: Remote players option is now 3 choices: None (local only), IP/LAN, or Online * UI: Unified inputs for all pause- and context-menu interactions (Start/ESC to toggle, Fire to interact) * UI: Better render texture selection for screen recording depending on platform * UI: Loading indicator in lobby shows when match is preparing to start * UI: Most menus and options now wrap vertically and horizontally when navigating * UI: Map selectors show an indicator for how many maps there are & which you are on * UI: Updated Cerebrus planet look * UI: Unified lobby actions menu and start match behavior / inputs * UI: Hero profile demos updated; some have a second player to show ability interactions * GAME: Improved handling to protect against saved data corruption * SFX: Increased buffer for simultaneous replay audio cues (less dropped replay SFX) Fixes: * EPI: Ghost cluster bombs have much shorter stun time to prevent stun lock * EPI: Fixed situations on ghost death (real Epi dying, position swapping, etc) (regression bug) * RONIN: Slash will correctly hit multiple players and projectiles in its path (but powering up is capped) * SELENE: Fixed Selene leaving soot footprints even if jumping over Cronus' bomb impact tiles * GAME: Fixed potential for minecarts to bump objects on opposite side of a shot hitting them (for real) * GAME: Fixed empty powerup crate falling once on clients if all powerups are disabled (for real) * UI: Some localization fixes for button labels * UI: Fixed being able to navigate to the title screen bulletin items even if they aren't visible * UI: Fixed cooldown indicator errors if pausing and resuming before ever having spammed abilities * UI: Fixed some display issues with hidden indicators in replays * UI: Controller reference in pause menu shows more info about each player (type, ping, nickname, etc) * UI: Partial GIF files are deleted if the export process is canceled * UI: Fixed different spectator modes visibility in time delayed situations * UI: Fixed fade-in on tips screen * UI: Fixed copyright date * UI: Potential fix for instant replay starting too soon, overlapping the "Match Over" message * UI: Some Italian localization corrections and updates * NET: Game doesn't soft-lock on catastrophic network transport layer failures * NET: Fixed edge case that could leave a client in a joining state while the match is being delisted * NET: Fixed potential for online lobbies to fail to continue after playing local matches * NET: Fixed LAN matches not broadcasting for local network discovery after multiple match sessions * NET: Fixed LAN match joining * NET: More reliable LAN broadcasting and discovery * NET: Removed duplicate LAN match listings due to multiple network interface broadcasts * NET: Fixed LAN matches counting as online matches in stats * NET: Fixed delayed spectators end-of-match soft deadlock if the remote kill happens during the countdown * NET: Fixed an issue that could cause some matches to not properly list and delist from the matchmaker You can find the full upstream changelog at: https://s3-us-west-1.amazonaws.com/sombr-invisigun/messages/ReleaseNotes.txt Here is a more shiny blog post about this release: http://www.sombr.com/2018/11/12/v1-6-100-update-ability-boost-and-emotes-d/ Signed-off-by: aszlig <aszlig@nix.build>
* | crosscode: Update to version 1.0.1aszlig2018-11-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upstream changelog: * Introduce new "Assist Mode" that allows to tweak the difficulty of the game in a detailed manner. * The "Screen shake" option is now properly applied on all screen shake effects of the game. * A new guest role character showed up in Rhombus Square. * The new Ninja Skin has been properly implemented. * Progress for each trophy can now be viewed in the trophy menu. The full announcement can be found here: https://steamcommunity.com/games/368340/announcements/detail/1688180265711126610 Signed-off-by: aszlig <aszlig@nix.build>
* | pkgs/santander: Fix library path for pcscliteaszlig2018-10-211-1/+1
| | | | | | | | | | | | | | | | The pcsclite derivation results in multiple outputs, so let's make sure we actually get the right path to the library instead of ending up using that from the "bin" output (which obviously doesn't exist). Signed-off-by: aszlig <aszlig@nix.build>
* | pkgs/vim: Use flake8 from python3Packagesaszlig2018-10-131-2/+2
| | | | | | | | | | | | | | | | Constantly getting errors on type hints and "unknown" print() arguments is very annoying, especially because I almost exclusively use Python 3 nowadays. Signed-off-by: aszlig <aszlig@nix.build>
* | pkgs/vim: Add syntax highlighting for mesonaszlig2018-10-021-1/+12
| | | | | | | | | | | | | | | | | | | | | | The upstream project already provides a Vim plugin so we only need to reference that using the existing meson.src attribute. However, I needed to patch out a very annoying thing, which would echom every time the indentexpr is called. Most likely this was left in for debugging. Signed-off-by: aszlig <aszlig@nix.build>
* | pkgs.profpatsch: switch to different import schemeProfpatsch2018-09-224-45/+52
| | | | | | | | | | Reference files in `bin` outputs for a derivation as an attribute set, with renaming capabilities.
* | pkgs/sandbox: Add dependency on Boostaszlig2018-09-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We're not directly using Boost but some headers are included in the headers we use, which causes the build to fail on newer Nix versions. In theory, this should be propagated by the Nix derivation. See also this comment: https://github.com/NixOS/nixpkgs/issues/39001#issuecomment-381949306 However, when looking at the Nix derivation, it already contains code that takes care of not propagating the boost dependency. Nevertheless, adding the dependency on our end even though it could become redundant some day certainly won't hurt. Signed-off-by: aszlig <aszlig@nix.build>
* | games/gog: Add CrossCodeaszlig2018-09-222-0/+30
| | | | | | | | | | | | | | | | | | 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
* | More execline experiments & testingProfpatsch2018-09-214-22/+257
| | | | | | | | | | | | Improves the “execline experience” and adds some basic tests. The idea is that the final result doesn’t use coreutils and provides a feasible alternative to bash-based tooling.
* | pkgs/sandbox: Add UTS/PID/IPC namespacingaszlig2018-09-201-2/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to isolate processes even further it's a good idea to not let them access information about other PIDs, eg. by enumerating /proc. However, this still bind-mounts /sys from the root namespace, so we might want to restrict /sys further. For our games however we will need /sys because it is used to enumerate gamepads and other input devices. Currently the processes will now be PID 1. I've tested this against a few games and none of them had problems with that so far, so let's keep it that way. Another thing we might want to add and which currently isn't there is a subreaper, which is useful if we have a process that leaves zombie processes around. Signed-off-by: aszlig <aszlig@nix.build>
* | pkgs/vim: Update Nix pluginaszlig2018-09-131-2/+2
| | | | | | | | | | | | | | This includes a revert of the recent indentation changes which introduce more problems than they actually solve. Signed-off-by: aszlig <aszlig@nix.build>
* | games/humblebundle: Add Trine 2aszlig2018-09-102-0/+98
| | | | | | | | | | | | | | | | | | 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>
* | games/invisigun-heroes: Update to version 1.6.81aszlig2018-09-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New content: * New Cerebrus map: Chaos Pit Updates: * SYSTEM: This update will require DirectX 11 or OpenGL on Windows (DirectX 9 won't be supported) * GAME: Player visibility time after using their ability now includes the brief spam window time * UI: Ability recharge bar flashes during the short post-cooldown spam window time * UI: Game base resolution changed from 484x272 to 480x270 (resolution preferences will be reset) * UI: Some Chinese localization edits * UI: Improved progress scene performance * UI: Optimized screen fading transitions * UI: When exiting the lobby, you can choose to go back to match setup or the title screen * UI: Bulletin items on title screen will open associated URLs in your browser when activated Fixes: * EPI: Fix edge case that could cause ghost Epi's position to be out of sync online * GAME: Fix edge case that could cause a downward spiral if save data is corrupt * GAME: Cronus bombs' soot shouldn't affect players with Silent Steps * GAME: Fix potential for minecarts to bump objects on opposite side of a shot hitting them * UI: Fix error that prevented all victory phrases from showing up (custom or default) * UI: Fix loss of UI focus if spamming save/cancel buttons in options sub panels * UI: Fix timing edge case that could cause the cooldown indicator to not show online * UI: Fix edge case that could leave a dialog box onscreen * NET: Fix edge case that leaves the client in lobby-limbo if the host disconnects * NET: Fix remote clients not skipping tips screen when playing consecutive online matches * NET: Handled some edge cases when there is no internet connection present Full upstream changelog: https://s3-us-west-1.amazonaws.com/sombr-invisigun/messages/ReleaseNotes.txt Signed-off-by: aszlig <aszlig@nix.build>
* | games/wfto: Update to version 2.0.4aszlig2018-09-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Gameplay/balance changes for units: * Archon (Titan) * Basic Attack -- Damage decreased from 400 to 350 * Exterminate -- Damage decreased from 500 to 400 * Behemoth (Titan) * Recuperation (Out of combat health regeneration) * Regeneration rate increased from 0.25% to 0.45% of maximum health per second * Relentless (In combat health regeneration) * Regeneration rate increased from 0.025% to 0.045% of maximum health per second * Eternal (Titan) * Time Vortex (Slowing Aura) * Now slows enemies by 50% down from 60% Visual Improvements: * The Evil Arcane theme now has its own worker. Evil dorfs arrive! Audio Changes: * Added Additional Unit VO: * Democorn * Sentinel & Stone Knight * Rat * Highguard * Thunderling Adjusted VO: * Chunder * Miscellaneous Improvements * Users on all platforms who were suffering from abnormally high GPU * Utilisation should no longer suffer from this issue Bug Fixes: * Crashes & Show-stoppers * A number of graphics related Linux crashes should no longer occur Levels / Campaigns: * Fix an issue on Level 13 of the War for the Overworld campaign where Arcane Templar's shields would appear without their texture Miscellaneous: * Fix some minor warnings This release also fixes the crash I encountered when adding the game in 54e484fa385b16858bad77041da19c52238ae1c9. Upstream ticket: https://brightrockgames.userecho.com/communities/1/topics/4685-x Signed-off-by: aszlig <aszlig@nix.build>
* | games/overload: Update to version 1.0.1854aszlig2018-08-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New & Changed Features: * Added a new multiplayer level: Terminal. * Added new graphics options (see second page of Advanced Graphics Options). * Added particle effects to make switches look more interactive. * Added platform identifier icons for MP. * Added some text to clarify successive NG+ runs. * Hacked "Just Practicing" achievement so it will be awarded for unlocking Insane+ on all CM levels. * Updated Rewired input manager to version 1.1.18.0. Provides support for 3Dconnexion SpaceMouse Compact and SpaceMouse Wireless. * Added 30 Hz option to V-Sync setting. * Private Matches now show password in the lobby now (unless it's hidden). Fixes: * Fixed an issue with warpers and chunked-out areas. * Fixed count-based Achievements on GOG Galaxy. * Fixed issue in CM where a robot could be a Variant AND a Super. * Fixed an issue with fabricated bots being invisible in some cases. * Alien secret doors no longer trigger when Flak 'targets' them. * Fixed a graphical glitch with Super Powerups after save/load. * Fixed an issue where completing Ymirus on NG+ wouldn't properly update saved NG+ values. * Fixed an issue where the Super Op warning message could block a the final message in a Secret Level. * Fixed a problem with some bots not activating properly after loading a saved game. * Added translations for cheat messages and other text. * Fixed a couple of minor text issues, including the spelling of "Initiated." Updates/Fixes in Level Editor Build 34: * User level [format] improvements * Automatic chunking is now controlled by a export-time flag and not an ifdef * Support for reference_guid in Entities of an .overload for overriding with inline prefabs. Use "$INTERNAL$:" as a reference to the entity internally to the overload file * Bumped user level version number to 4 * Added LocalPosition and LocalRotation to the ITransformComponent interface * Added UnityEngine.BoneWeight as a native serialized type * Added CreateInlinePrefab as a new command for user level files * User level support for loading asset bundles for OSX and Linux platforms (in addition to the existing Windows) * Updated UnityEngine.Mesh support for colors32, boneWeights, and bindposes * More emulated Unity matrix4x4 support and BoneWeight Signed-off-by: aszlig <aszlig@nix.build>
* | pkgs/logbook: Build only for x86_64-linuxaszlig2018-08-201-0/+1
| | | | | | | | | | | | | | | | | | This build frequently fails for i686-linux and thus blocks the generic channel and I think the demand for a 32bit build is very very low (or maybe there is no demand *at* all). Signed-off-by: aszlig <aszlig@nix.build> Cc: @sternenseemann
* | vim: Add indentation fixes for Nix expressionsaszlig2018-08-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This basically switches the source to my pull request with a few fixes for indentation: https://github.com/LnL7/vim-nix/pull/19 The main annoyance was that writing "with ...;\n\nlet" was indented one level deeper and I'm regularly writing small Nix expressions with something like this, eg. to quickly test things or abuse the Nix sandbox for programs I don't want to run unsandboxed ;-) Signed-off-by: aszlig <aszlig@nix.build>
* | stardew-valley: Update to version 1.3.28aszlig2018-08-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upstream fixes: * Bug preventing buildings from being placed where there would be a path/flooring tile in front of the door. * Music not playing at the Luau festival and in town. * Clients occasionally crashing in rainy weather. * Server crash when there are no available network adapters. * The load menu showing 'no saved games' while searching for files. * Crash that occurred if you collided with a monster on the first frame you entered a new location. * Robin forgetting that she's meant to upgrade a farmhand cabin if the farmhand disconnects abnormally. * Farmhands not being able to set the next day's weather with rain totems. * Farmhands 'swimming' inside their cabins if they're disconnected while swimming in the spa. * Swimming-related visual bugs in on farmers' faces. * Furniture rotation graphical glitch. * A crash that occurs if you try to copy an invite code while remotely logged into the machine the game is running on. * A German localisation issue with '%Farm' appearing in text instead of the farm's name. * Spouse NPCs not kissing farmers. Also some various internal changes requested on the modding wishlist. The upstream URL with the release notes is: https://community.playstarbound.com/threads/stardew-valley-multiplayer-known-issues-fixes.147892/ Signed-off-by: aszlig <aszlig@nix.build>
* | pkgs/vim: Add syntax highlighting for Vue.jsaszlig2018-08-051-0/+28
|/ | | | | | | This is used by Habitica and for maintaining my fork I sometimes[TM] unfortunately have to edit .vue files. Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/vim: Update Nix pluginaszlig2018-08-021-6/+10
| | | | | | | | | | | | | | | | This is mainly to catch up with the syntax highlighting fixes that were done in the respective plugins. The setlocals in ftplugin/nix.vim from LnL7's plugin are now gone and it's one setlocal with line continuation, so I had to turn the simple grep into a small sed script. Another thing I added while at it is to add the single quote to iskeyword, because it can be part of a Nix identifier. I did that by replacing the dash, because the latter now is part of the setlocal of the aforementioned ftplugin. Signed-off-by: aszlig <aszlig@nix.build>
* stardew-valley: Update to version 1.3.27 (stable)aszlig2018-08-012-26/+11
| | | | | | | | | | | | 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>
* games: Add names for setup hooksaszlig2018-07-311-0/+2
| | | | | | | The name "hook" is a not very good derivation name to distinguish it from other hooks, so let's actually name them. Signed-off-by: aszlig <aszlig@nix.build>
* games: Move FMOD fixing from Bastion to setup hookaszlig2018-07-314-50/+76
| | | | | | | | | | | | | | | Thanks to @layus for pointing out that there is at least one other game (Epistory) which has the same FMOD issue as Bastion has. So I decided to move this into a setup hook that automatically discovers whether it's the affected FMOD version and NOPs out the calls to system(). In summary: If another game is affected, all that's needed now is to add fixFmodHook to nativeBuildInputs. Signed-off-by: aszlig <aszlig@nix.build> Cc: @layus
* games/gog: Switch everything to gogUnpackHookaszlig2018-07-3111-56/+26
| | | | | | | | | | | | | | | | | | 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: Add a new gogUnpackHookaszlig2018-07-315-3/+86
| | | | | | | | | | | | | | | | | | This should make all the extra unpackCmd attributes for the GOG games superfluous and make the expression way less convoluted, especially the games based on Unity3D. Right now however, the gogUnpackHook is added to buildGame, which is used for all games, not only for the GOG ones. While it doesn't really hurt or affect non-GOG games, it's still part of the build closure so we might want to apply this to GOG only at some day. For that, we need to restructure our whole packaging layout, because we want to have a way to override buildGame only for a certain namespace but without introducing too much churn or duplicating things. Signed-off-by: aszlig <aszlig@nix.build> Cc: @layus
* games/wizard-of-legend: Update to version 1.033baszlig2018-07-311-2/+2
| | | | | | | | | | | | | | | | | | Upstream fixes: * Bug with Magsphere spell not collecting projectiles as it should * Bug with Frost Feint not freezing enemies when the decoy was struck * Bug that caused Air Burst Dash effect to not show up * Bug where Takeout Box would grant max shield in post boss PvP battles * Armor of Greed causing players to lose gold during post boss PvP battles * Bug that would end the game on double-ko situations during post boss PvP battles * Bug with loading screen not showing 2nd player on the game board * Artifacting on the loading screen Signed-off-by: aszlig <aszlig@nix.build>
* games/bastion: Fix patching of libfmodexaszlig2018-07-291-2/+4
| | | | | | | | | | | | | | I've recently moved the autoPatchelfHook execution to postFixup in NixOS/nixpkgs@f1fbf818c4a94c67fcdb171ba00f1fef4a0aef2a, because it was conflicting with patchelf's own setup hook. So we now need to run the fixup of libfmodex after the autoPatchelfHook, which we do by adding another phase in postPhases. Alongside this I also fixed a small escaping error with ${rpath:+:}, which needs to be quoted using two single quotes. Signed-off-by: aszlig <aszlig@nix.build>
* stardew-valley-beta: Update to version 1.3.26aszlig2018-07-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upstream changes: * Fix Grandpa's event and witch event happening simultaniously can lock the game up * Give full house achievement in player-player marriage births * Fix Black screen (until you click) after player-player childbirth * Fix children not appearing in farmhouse for player-player marriage * Fix buildings evaluating current position as ineligible move space * Fix prismatic shard rate too high after reaching bottom of mines * Fix stardrop not rewarding for player-player marriages * Fix instantly brewing wine * Fix horse duplication bug * Fix Krobus winter event quest typo * Fix crash when entering railroad area * Fix disconnect issues reported in 1.3.25 * Fix fishing rod crash bug * Fix farmhands unable to get rid of children at dark shrine * Allow players to fix their saves by removing duplicate museum items * Fix players are able to simultaneously donate/rearrange the museum * Fix spouse NPCs not kissing back in multiplayer * Fix farmhands talking to NPCs playing unique animations causing them to stop animating * Fix lack of spouse patio animations * Fix host seeing spouse dialogue for farmhand spouses * Allow to mount horse while farmer is playing an animation (e.g. picking up an item) * Fix animals eating twice as much if they're outside while the player sleeps. * Add ValueAdded/ValueRemoved events to NetList Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/profpatsch: WIP execline experimentsProfpatsch2018-07-254-6/+168
| | | | | | | | | | | * runExecline: like runCommand, but a lot more lightweight * symlink: symlink a given list of links together * importer: a small DSL to “import” “modules” into a build context Some highlights: * runExecline does not use any stdenv (apart from the `execline` build) * symlink uses netstrings to pass correct fields into the derivation * no use of bash, everything uses execline.
* monogame-patcher: Fix string antiquotationaszlig2018-07-221-1/+1
| | | | | | | Getting a message like "Type {thetype} not found." is not very helpful, so let's add the $ in front of the string. Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/sandbox: Support overlaying files at runtimeaszlig2018-07-221-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | This introduces a new environment variable called NIX_SANDBOX_DEBUG_INJECT_FILES. The name is intentionally very long so that people hopefully *only* use it for debugging. What this does is to just bind-mount the given source file to a given destination file in the chroot. For example: NIX_SANDBOX_DEBUG_INJECT_FILES=/foo/bar=/bar/foo somethingSandboxed The file /foo/bar outside of the sandbox will be bind-mounted to /bar/foo within the sandbox. Several files can be separated via colon. Of course the most interesting use case here (and the reason for this feature) is that we can overlay files in the Nix store without the need to rebuild anything, so we can quickly patch specific files. In my case I'm using this so I can use radare2 to patch the assembly of some binaries quickly for debugging/reverse engineering. Signed-off-by: aszlig <aszlig@nix.build>
* machines/katara: add more utilsProfpatsch2018-07-202-9/+31
|
* stardew-valley-beta: Update to version 1.3.25aszlig2018-07-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upstream fixes since 1.3.23: 1.3.24 (10 July 2018): * Players stuck on "Connecting to online services..." screen * Crystalarium item swap exploit * Furniture can be used to complete bundles * Milk requirements for certain cooking recipes (now can accept either Milk or Large Milk) * Summer weather forecast bug * Furniture duplication bug * Long tool use animation bug * Warp tile player & shadow animation bug * "Cloud Country" not being added to the jukebox if you create a game via the co-op menu * Cooking food in the kitchen using ingredients from the wrong fridge * Item debris duplication bug 1.3.25 (16 July 2018): * Experimental network usage optimizations * Infinite ingredient use exploit when cooking in the kitchen * NPC marriage dialogue appearing for non-spouse players * Lack of experience gained for harvesting crops with the scythe * Inability to cancel moving a building * Game occasionally locking up on a black screen at 2am Signed-off-by: aszlig <aszlig@nix.build>
* games/gog: Add War for the Overworldaszlig2018-07-192-0/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* monogame-patcher: Allow to define specific methodsaszlig2018-07-192-23/+49
| | | | | | | | | | | | | | So far we only matched a substring of a type, which isn't very exact of course. We also weren't able to specify the method to patch. Now the methods that are being patched can be specified by using Type::Method. If it's just Type without a method all the methods of the type and its subtypes are patched. I also added a small check to make sure that all of these methods were found, and if not an error is thrown. Signed-off-by: aszlig <aszlig@nix.build>
* monogame-patcher: Return exitcode 1 on CLI erroraszlig2018-07-192-2/+13
| | | | | | | | If there is a command line usage error, we really don't want the program to return exit status 0 (success), so let's actually set the return value on WithParsed(). Signed-off-by: aszlig <aszlig@nix.build>
* monogame-patcher: Raise exception on no-opaszlig2018-07-191-1/+10
| | | | | | | We really want to make sure that things were actually patched, so just silently skipping everything is not an option. Signed-off-by: aszlig <aszlig@nix.build>
* monogame-patcher: Allow specifying extra assemblyaszlig2018-07-193-14/+58
| | | | | | | | If we want to replace a call with one that's not in a module which is currently referenced by the target file we now have another command line flag for replace-call (-a) where we can specify the additional DLL file. Signed-off-by: aszlig <aszlig@nix.build>
* monogame-patcher: Use cleanSource for the src attraszlig2018-07-191-2/+2
| | | | | | | | While there won't be any .git directories within ./src, I still create Vim swap files all the time when editing stuff. So let's make sure that those swap files are not included in the src input of the derivation. Signed-off-by: aszlig <aszlig@nix.build>
* monogame-patcher: Fix assembly search directoryaszlig2018-07-192-11/+16
| | | | | | | | | | | | | | By default the assemblies are searched in the current working directory, but when patching an assembly in some other directory than the current the patcher will fail to resolve assemblies residing beneath the target file. So we just add the directory of the target file to the search path. I also moved all of the assemblies in the test to be in a subdir so we can verify that this indeed works and we won't regress in the future. Signed-off-by: aszlig <aszlig@nix.build>
* monogame-patcher: Work around terminal width issueaszlig2018-07-192-1/+13
| | | | | | | | | | | | | | | | | | If the command is not executed inside a terminal the value of Console.WindowWidth is 0 and thus we will get an exception from CommandLineParser: Unhandled Exception: System.ArgumentOutOfRangeException: Length cannot be less than zero. Parameter name: length at System.String.Substring ... at CommandLine.Text.HelpText.AddOption ... ... So let's initialize the parser with settings and if WindowWidth is 0 we just add 80 as the width. Signed-off-by: aszlig <aszlig@nix.build>
* monogame-patcher: Improve values for replace-callaszlig2018-07-192-5/+7
| | | | | | | | | | | | Using an IEnumerable for the search and replace arguments isn't really a very good idea, because it makes command line usage very annoying and messes up the usage description. I originally made this an IEnumerable because I wanted to have a way to specify multiple replacements, but we can simply run the patcher twice or more times. Signed-off-by: aszlig <aszlig@nix.build>