| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We don't want this little helper to leave all kinds of junk on the disk,
so let's enable offTheRecord mode for the default QtWebEngine profile.
This in turn causes all stuff like cache, cookies, local storage and
whatnot to only reside in memory.
For example on my machine I had lots of files like this in
~/.local/share and ~/.cache:
* 014bxyklf1xm99jd5rg8y4q0blmqw6yc-get-captcha
* 18j0knrwrsamsrpwjz741midspxbqmpp-get-captcha
* 4817rvjnj249ifvk7dsvv2p0kxi2jwkg-get-captcha
So if you ran this helper you should probably remove *-get-captcha in
XDG_DATA_HOME (by default ~/.local/share) and XDG_CACHE_HOME (by default
~/.cache).
Signed-off-by: aszlig <aszlig@nix.build>
Cc: @Profpatsch, @Sternenseemann, @layus
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Upstream URL: http://www.zachtronics.com/opus-magnum/
For this I've ripped apart all of the bundled shared objects including
Mono itself, so we're using Mono from <nixpkgs> instead of the provided
one.
In addition to that I had to patch the intermediate language because the
game really doesn't cope very well when the data files are read-only,
which is the case in the Nix store.
Instead of replacing the CIL, I could have used an LD preloader as well,
but I think this is way less error-prone even though we had to patch a
few internal classes where we couldn't match the name properly.
Compared to this an LD preloader would involve patching several symbols
and also implement some logic to distinguish between files read from the
data directory and files read/written to XDG_DATA_HOME.
The reason why I added $HOME/Desktop to the required sandbox paths is
because the game saves gif images into that directory.
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
| |
This is used for sandboxing and instead of letting all Unity games
access the data of every other Unity game we now restrict it to its own
save directory only.
Signed-off-by: aszlig <aszlig@nix.build>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes a crash when switching between weapons of the same type and also
adds category tags for the Steam workshop. The latter isn't really
relevent for us however.
The full upstream release notes can be found at:
https://playstarbound.com/133-patchnotes/
Tested using the games.starbound VM test.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Both of these games weren't working at all. Megabyte Punch was
completely broken and the expression wasn't even finished and Lovers In
A Dangerous Spacetime wasn't up to date (unfortunately we can't pin on a
specific version).
Megabyte Punch now also uses callPackage_i686, because it only comes
with a 32 bit binary.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
|
| |
The login URL for HumbleBundle has changed from /login to /processlogin,
so let's fix it quickly via sed.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Issue: saik0/humblebundle-python#16
Cc: @saik0
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Pull request is from @layus and I haven't tested the game, because I
don't own it myself, but apparently @Profpatsch seems to got it working
to the point of having a black screen, but that could be a rendering
issue.
So I'm merging this anyway, because even if only one person (@layus) is
going to play it, it won't hurt and if multiple people using the
expressions we probably get bug reports :-)
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Both are the remastered versions available via Humble Bundle and both
also needed a bit of patching via an LD preloader in order to work as
intended.
Day of the Tentacle conforms to XDG but it assumes that the data
directory is in the same directory of the executable, so we fake
/proc/self/exe to point to the "$out/share/dott/DUMMY". The "DUMMY" here
is because the implementation does a dirname() on the directory.
Grim Fandango on the other hand needs a bit more patching, so we first
of all override the _first_ chdir() the game does to point to the data
directory but we also override fopen64() and opendir() to use the
XDG_DATA_HOME-based save directory whenever one of these calls point to
"./Saves/..." because the data directory resides inside the store and
thus is (of course) read-only.
I had the expressions for these two games laying around for quite a
while, so while merging another game from a PR I thought it would be a
good opportinity to merge them as well.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
| |
This reverts commit 1fcecd0b9d6424f32f304c4fda0598894aac2011.
It was written by @layus and the code came from PR #14.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Additions and changes:
* Reduce cost of player station parts
* Show some system information on hovering over stars in the navigation
interface
* Show system name on the system screen in the navigation interface
* Properly beam away a player's mech when a player beams off the world
* Deploying to asteroid fields puts you in a position related to where
in the field your ship is
* Allow any number of script panes with no source entity
* Add player.interact lua binding
* Keep player from starving when in a mech
Bug fixes:
* Various NPC and Monster behavior fixes
* Fix issue where player ships from other systems would be visible on
the navigation screen
* Fix issue where deploying to a party member could result in deploying
a mech to their ship
* Improve jarring movement of the sky during flying and warping
* Fix issue where inventory items would count twice in crafting
interfaces
* Fix parameters argument for spawnnpc console command
* Fix issue allowing the player to fly the ship before fully repairing
it
The full upstream release announcement can be found at:
http://playstarbound.com/starbound-1-3-2-changelog/
Tested using the games.starbound VM test.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Minor changes / bug fixes:
* Added and improved sound effects for a variety of monsters, weapons
and mech components
* Fixed lots of typos
* Fix "Parts and Labour" quest description not matching its
requirements
* Fix bookmarks not being sorted alphabetically
* Fix players "swimming" off rail stops using rail hooks
* Fix world.spawnLiquid not functioning on tiles with rails/platforms
* Fix a bug allowing placement of blocks on some outside walls of
player stations
* Fix Triplod not registering in monster collection when captured
* Fix final ore type not being listed in navigation interface for some
planets
* Fix placement of a boulder trap in a challenge room
* Fix rustick being affected by physics forces/collisions
* Make airless space areas actually airless and require breath
protection
* Fix tier 4 mech bodies not protecting against radiation
* Fix penguin weapon shop not unlocking when repeating weapon testing
mission
* Fix passive monsters becoming aggressive when player engages hostile
monsters
* Fix some systems not zooming out far enough in nav and planets going
out of view
* Fix a bug causing a navigation crash when selecting gas giants
* Fix objects with minimum / maximum liquid levels not being broken
* Fix item drops being stuck in force regions at top / bottom of world
* Fix quest indicators being affected by world lighting
* Fix bug preventing some background tiles from being painted
* Disable "go to quest" button in nav when that system isn't explored
(e.g. in another universe)
* Fix some bugs when dual wielding rail hooks
* Prevent activating techs during mech deployment
* Don't show the "E" hint in dialog sequences that are not skippable
* Fix a bug where navigation could be canceled after consuming fuel
but before starting flight
* Rework behavior of hoverbikes in zero gravity
* Boats no longer sail out of water
* Add an icon to Tonauac's safe fall blessing
* Add a few more mech horns
* Prevent rail trams from driving off the ends of active stops
Modding API changes:
* Add world.setDungeonId binding
Full upstream release announcement:
http://playstarbound.com/1-3-1-changelog/
Tested using the games.starbound VM test.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
| |
The requests2 package has been merged into the original project
upstream and thus is deprecated.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Major upstream changes are:
* Navigation Overhaul: The cockpit navigation interface has been
completely overhauled. Planets, moons and ships are all visible and
orbit each other in real time. Systems will now contain NPC stations,
friendly and hostile NPC ships, and strange space anomalies to visit!
* Customizable Mechs: Explore these new space locations in customizable
spacefaring mechs! Traverse hostile space in zero gravity, fight
powerful new space monsters, and collect unique rewards as you
upgrade your mech to progress through more difficult hazards. Mechs
can also be deployed to planets, to crush your enemies with
overwhelming firepower!
* Modular Space Stations: Make a permanent home among the stars with
player-owned stations! Use a station transponder to place your
station into orbit, then expand it with modular rooms to suit your
needs.
The full changes can be found at the announcement blog post at:
http://playstarbound.com/spacefarer-update/
One of the changes not listed there is that the archive now consists of
a server_linux and client_linux directory, where the latter is
structured the same as in previous versions. However, both contain the
server binary and both of these binaries match in content.
So I'm assuming that the server_linux directory is only a trimmed-down
version in terms of assets but otherwise pretty much the same.
I've also fixed the VM test, which didn't recognize the font of
"Species" anymore, so we're now matching on "randomise".
In addition to that I've added a sleep of 30 seconds before the final
screenshot, so we get a picture of the fully rendered intro scenario.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is not only a major annoyance for us but seems to bother a few
other people using the humblebundle-python API:
* saik0/humblebundle-python#11
* saik0/humblebundle-python#14
* saik0/humblebundle-python#15
While digging through the reCaptcha2 API and also the implementation of
the Humble Bundle site, I stumbled over this code from
https://www.humblebundle.com/user/captcha:
var captcha = new Recaptcha2('captcha-holder');
$('input[type=submit]').click(function(e){
e.preventDefault();
// recaptcha v2 only cares about response, but we can let the Android app interface stay the same
var challenge = '';
var response = captcha.get_response();
var android_defined = false;
if (typeof Android != 'undefined') {
Android.setCaptchaResponse(challenge, response);
}
})
So we only need the response, which we do now using a very ugly written
Qt 5 QWebEngine GUI which we use to ask the user to solve the captcha.
Combined with our downloader, it works like this:
Whenever the login fails with a HumbleCaptchaException, we print a
message with the store path to the GUI helper. We're inside a
fixed-output derivation builder, so we do have networking.
The GUI helper also runs a small TCP server listening on port 18123 and
the downloader inside the Nix builder constantly tries to connect to
that port and waits until it gets just one string (the connection is
directly closed afterwards and the GUI helper exits), which is the
response. This is then passed as recaptcha_response keyword argument to
the login() method of the HumbleApi object.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
| |
Written by @aszlig.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Upstream changes:
* Fix a bug causing frequent save file corruption on Windows after
power loss
* Fix generated monsters not using their special attacks
* Fix kill achievements not unlocking properly
* Fix several materials being erroneously tillable or tilling with the
wrong tile mod
* Fix a dungeon piece in underwater Hylotl cities occasionally failing
to place
* Fix a dungeon piece in ice vaults occasionally failing to place
* Fix airship dungeon sometimes spawning without a clue object
* Fix Dreadwing not properly dying when killed with Doomcannon
* Fix Mazebound64 game
* Disable Outpost return gate to prevent several potential exploits
* Miscellaneous bug fixes
* Santa has gone ho ho home, to return another Christmas!
URL: http://playstarbound.com/starbound-1-2-2-changelog/
Tested using the games.starbound test on x86_64-linux.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Upstream changes:
* Update bundled steam api
* Various fixes to the ancient vault dungeon
* Fix chat tabs not being clickable
* Fix a potential threading issue related to steam p2p networking
* Allow players to repeat the quest to unlock the vaults in multiple
universes. Fixes an edge case where doing the quest on a server would
make you unable to unlock the key trader in single player, and vice
versa.
* Fix issue where non-vault mission worlds would not reset after
leaving
* Make adjustments to texture atlasing to resolve certain framerate
issues related to using larger texture sizes
* Add "limitTextureAtlasSize" option in starbound.config to manually
limit texture atlas sizes. Should only necessary for video cards
significantly below the minimum requirements.
URL: http://playstarbound.com/starbound-1-2-1-changelog/
Tested using the games.starbound test on x86_64-linux.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Major upstream changes are:
* Ancient Vaults: Players who have completed the main storyline can
visit a mysterious trader on the Outpost who will send them on a
quest to activate and enter the Ancient Gateways found floating in
some systems These gateways provide access to Ancient Vaults:
challenging procedural dungeons left by the ancients, filled with
dangerous guardians (including procedural bosses!) and fantastic lost
technologies.
* Terraforming: Using powerful devices acquired from the Ancient Vaults
along with a new Essence currency, you can now transform regions or
whole planets into entirely different biomes Terraformers can be used
to expand a region across a planet’s surface, replacing natural
blocks, objects and plant life, and eventually changing the type of
the planet itself Microformers are consumable single-use terraformers
which provide even more region types to add to your worlds.
* Weapon Upgrades: Use the ancient anvil available at the end of
Ancient Vaults and spend Essence to upgrade your outdated legendary
weapons, opening up many new options for endgame combat styles
* Elemental Damage: Monsters now have resistance and weakness to
elemental damage types, making your choice of weapons more important
than ever
* Holiday Spirit: Celebrate the holidays with the variety of festive
items bought from Space Santa at the Outpost!
The full changelog can be found at:
http://playstarbound.com/starbound-vault-update/
Tested using the games.starbound NixOS test.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit e3f8d28d6be67257d70035d122263f3a35adc438 and my
attempts to mitigate this in 0a50f5fab1abf2e70fd5d7a2dd717c2f2c1b983b
and 3b91f25b37ea709f5c86e38a50061199bbed5341.
Vuizvui is a repository for experimental stuff, but NOT a dumpster. So
please refrain from pushing waste into this repository, like markers for
a failed merge.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Cc: @Profpatsch
|
| |
|
| |
|
|
|
|
|
|
|
| |
Since 771ed59b48bc1257439b4529426cc9047aebc27b, there is no top-level
attribute anymore, so let's fix this.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The archive format changed back to zip (as it was prior to version
1.1.0) and there is no longer an "update_tilesets" binary in the
upstream distribution.
Also a few library dependencies have been changed, so it's no longer
sufficient to just provide mesa and SDL2 but we now also need to add a
few X libraries.
Upstream changes:
* Make previously captured monsters and previously completed fossils
unlock their relevant collectible entries
* Pets and fossils will need to be dropped and picked back up as item
drops in order to register as collectables
* Better handling of status effects applied by weather, e.g. acid rain
* Fix bug with Snuffish and Gosmet not being properly added to monster
collection
* Fix swapped collection entries for Avian and Apex skeleton fossils
* Prevent critters captured in previous versions from also being
relocatable
* Add a few missing recipe unlocks for cooking recipes to relevant
items
* Add missing documentation for a few new Lua functions
Upstream announcement of version 1.1.1 can be found here:
http://playstarbound.com/1-1-1-changelog/
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The upstream archive is now a RAR archive, so we need to use unrar
instead of unzip.
Major upstream changes:
* Fishing
* Two tiers of fishing rods are now craftable from the Foraging
Table and can be used to fish on ocean planets (including arctic,
toxic and magma oceans)
* Added 48 unique fish types to catch
* Rare fish can give valuable rewards, including reel and lure
upgrades to enhance your fishing rod
* Collections
* New Collections interface tracks various kinds of collectables
including captured pets, figurines, fish, cooking recipes,
fossils, and bugs
* Added the Relocator tool, which allows non-hostile creatures such as
critters, fish, bugs, and farm animals to be moved
* Added friendly Novakid villages including a variety of new
Novakid-themed furniture and objects
The full list of upstream changes can be found at:
http://playstarbound.com/starbound-1-1-changelog/
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
| |
Not really a game but a emulator of an imaginary console, so close
enough.
This package uses the dynamically linked pico-8 version, the (probably)
statically linked one had an inexplicable issue with SDL.
|
| |
|
|
|
|
|
|
|
| |
This should make sure it can be evaluated on NixOS versions where the
closure-size branch has not yet been merged.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
So far we only had the Steam version of Starbound, but since July 22nd
2016 version 1.0 got released and since then had a few bugfixes already.
The Nix implementation here is based on the Steam version but has quite
some improvements: Instead of wrapping the Starbound client and server
with a shell script which sets up the bootconfig, we now use patchelf to
override specific symbols from external libraries and thus can live
without supplying a -bootconfig arg.
By replacing the sbinit.config in the .rdata section of the binaries
with a magic value (13 times the bell character) we can later match the
magic value during open() and provide a default bootconfig using a
temporary file.
Note that it has to be a temporary file instead of fork() and writing to
a pipe() because Starbound is using lseek() during parsing of JSON.
With all this in place we now have everything Starbound related in
$XDG_DATA_HOME/starbound, which is the main reason for doing the
preloading in the first place.
Starbound without patching expects a file called sbinit.config in the
same directory as the executable and even if we'd supply a bootconfig
via the -bootconfig arg, we can only have static paths in there, because
Starbound doesn't do environment variable expansion within paths in the
bootconfig.
Another difference to the Steam packaging is that we now produce
multiple outputs, the default one plus lib for the preload library and
the assets in its own store path.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Just tested it a bit but haven't really played it (and probably won't
have time to during the next weeks).
This is the version that got released on 2016-06-02 and it needs a small
preload wrapper because it tries to load assets and other stuff relative
to the current directory. The preloader makes sure that the correct
store path is read instead.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
| |
Since the merge of the closure-size branch, the curl binary now is in a
dedicated output ".bin".
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
This is a subtree merge of the full nixgames repository including
history. Right now it isn't linked to vuizvui at all but we're going to
do that very soon.
The reason why I'm merging both repositories together is that it's
easier for me to manage updates and also facilitate contributions by
people from the OpenLab.
Another reason to merge it is that we can write more generic functions
for building both, the games and the rest.
Right now the licensing is still the Apache License version 2.0, but
we're going to change it to the vuizvui license as well.
|