I prefer not to play with bones, so I tried setting OPTIONS=bones:no
in my .nethackrc
file. When I load nethack (the version compiled from source), it just tells me "Bad syntax in OPTIONS in .nethackrc: bones:no.", even though it worked when I put it in my defaults.nh
file on Windows. All of my other options work properly, so it seems like this one is the only problematic one. I even tried using the nethack.alt.org git repository for the source code, and it still doesn't recognize the option. Is there an option I can set to do this on Linux?
-
Wouldn't it be easier just to run a script that deletes all the bones level files after each time you run nethack?– CanageekJan 17, 2014 at 18:30
-
In most cases, probably. In my particular case, due to my computer's configuration and the way nethack was installed, my main user had execute permissions for nethack but no write permissions in the folder, and because of the way character names are chosen, I didn't want to play as root.– murgatroid99Jan 17, 2014 at 18:33
-
murgatroid99: My *nix is rusty, but couldn't you give the script write permissions for that folder via sudo or root, but run it as a lower-level user? Or, more easily, edit your .nethackrc to move the bones folder to say, /dev/null or at least somewhere you have write permission? It doesn't have to stay with the rest of your nethack stuff.– CanageekJan 17, 2014 at 18:37
-
I'm not actually sure how using sudo in a script works, but I don't think it's that simple. And what you describe isn't an option in .nethackrc. That file only lets you change predefined options.– murgatroid99Jan 17, 2014 at 18:50
-
BONESDIR is an option on windows, along with HACKDIR, LEVELDIR, SAVEDIR, LOCKDIR, and TROUBLEDIR. Is this not the case on *nix? It can be done with a script, though doing it properly would be a bit of a pain.– CanageekJan 18, 2014 at 1:52
2 Answers
bones
is not an option for vanilla nethack.
It is an option, however, in the nethack.alt.org server, which make their source available via git on this repo, if it bothers you.
An alternative would be to reinstall nethack and/or revert any changes to nhdat
made after each session of play, though this will also remove high scores, etc. If you kept a copy of the "default" or "clean" version in your home directory, for example, you could copy this over the updated version (containing bones, scores, all other data used in the game) each time your start the game.
Finally, you may un-define DLB
during the compile (which is defaulted to on, IIRC) so that the files in /usr/lib/nethack
are not concatenated as nhdat
and will instead appear as files starting with bones
in that directory and you can then remove them manually before or after each play-through.
-
Building NAOhack for a machine that's not configured exactly like NAO is, unfortunately, non-trivial. As far as I can tell the patch that adds the
bones
option is also not available separately on bilious, although I could just be having trouble with the search interface.– WoobleDec 19, 2013 at 13:56 -
Yes, I tried using the NAO version from their git repo, and it still tells me that the
bones:no
option has bad syntax. Everything else still works though. Dec 19, 2013 at 17:17 -
Also, the bones files are already generated as separate files prefixed with "bon", but I would prefer to just not have them at all. Dec 20, 2013 at 5:28
I decided to achieve this by manually modding my source files. In particular, I modified the src/bones.c
by replacing the function body of can_make_bones()
with
#ifdef BONES
// the function body
#else
return FALSE
#endif
And I just did not #define BONES
anywhere.