| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
So far we have searched for methods in two steps: First get all the
types and then find all of the constructors or method definitions.
The match for the actual method definition was done first for the type
and then again for the full definition of the method/constructor.
For the replace-call subcommand this also means that we don't have a
very good way to find the type, because if we wanted to keep doing this
in two steps we would need to parse the type name out of the one given
as the replacement string in replace-call.
So now we recurse through *all* the constructors and methods and do a
full match against the specified replacement string, both for
replace-call and for fix-filestreams.
Compared to the implementation so far we also do this just once instead
of every time we find a call or FileStream constructor.
I also overhauled the way we do testing, because in the end writing
tests using NUnit would introduce a lot of code churn because we need to
make a lot of external calls. The shell is especially useful for exactly
that and our tests are now just a plain shell script.
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mainly this is so we can prepare for running unit tests, so we get the
latest version of NUnit and run the console test runner.
Currently there is only a dummy test which always succeeds, but it's
there so that we can fill out the boilerplate later.
I also moved the option definitions into a separate file so they don't
clutter up the main file.
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|