New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
nxengine-evo: init at 2.6.4 #64408
nxengine-evo: init at 2.6.4 #64408
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fails for me after installation with:
$ nx
Loading settings...
Couldn't open file settings.dat.
No saved settings; using defaults.
videoinfo: desktop bpp 32
Graphics::SetResolution(2)
Setting scaling 2 and fullscreen=no
SDL_SetVideoMode: 640x480 @ 32bpp
Graphics::FlushAll()
error << SIFLoader::LoadHeader: failed to open file 'sprites.sif' >>
error << Failed to initialize graphics. >>
@GrahamcOfBorg build nxengine |
Yes. This is intentional as written. I looked around to see what other tools do. I found archlinux does this: I can set it up with a script like that one, if so desired. Then, it would start the game right away, which is convenient. Please tell me your preference. |
@scubed2 I think it would be nice to have this working out of box. So a kind of script/wrapper to do that, plus moving the package to unfree if required. |
It wasn't immediately obviously to me where to get the data from when looking at the homepage. Is the data unfree and not redistributable? |
Okay, the package should be completely working now. mmahut:
aanderse: The game assets are redistributable. |
For reference, the patches have been sent as: |
@scubed2 I see your changes have been merged upstream. Great work! |
I've downloaded the patches from upstream and put them into pixtone.patch. So, now it matches. Either way, the patches wouldn't need to be maintained, since the next release would make both patches obsolete. I also recompiled and ran it for a few minutes to sanity check. |
@scubed2 I was referring to using |
I've changed it to use fetchpatch from the github commits of the upstream changes. So, hopefully it should be good now. For my own curiosity, how different is it to have the patch locally vs. using fetchpatch? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't like to maintain patches in nixpkgs
if they exist elsewhere and can be pulled down. Duplication of code, among other things.
I ran the game and had a few errors like this:
error << pxt->load: file '/nix/store/gds3sl3alkqwzzd9wk47xywldvy224lb-nxengine-evo-2.6.4/share/nxengine/data/pxt/fx08.pxt' not found. >>
The game seemed booted up, so I'm not sure if that is a problem or not.
I've switched to using nativeBuildInputs. It still builds and runs. The pxt files are the sound effects. If some are missing, then it just won't play that sound effect (that is, it will be silent). So, missing some would be innocuous. I've played the game and haven't noticed anything missing. So, it seems to be working. I'm not sure how to be certain if sound effect 8 is used. That is, at worst it will cause some sound effects to be missing, but likely it is working as intended. |
@scubed2 You should add yourself to Aside from that, we're good to go. Thanks! |
Added myself as a maintainer in a separate commit. |
@GrahamcOfBorg build nxengine-evo |
Motivation for this change
Add a game.
Things done
sandbox
innix.conf
on non-NixOS)nix-shell -p nix-review --run "nix-review wip"
./result/bin/
)nix path-info -S
before and after)So far, I've done:
nix-env -i nxengine
to install it, then started a new game and played a bit. For some reason, the music seems to be going fast, but that's the only issue I've encountered. (So, only a cosmetic bug. It is still fully playable, and the game itself is at the right speed.)
I see that the instructions say there should be a maintainer, but I don't know what to put there.
Note that the game has 2 parts:
the engine, which is opensource
the data, which is freeware and obtained separately
This package only has the engine. So, it is not playable by itself.