bones-info - display information about a Nethack bones file
bones-info [-a | --auto] [-b | --big-endian] [--debug] [--help] [-x | --hexadecimal] [-l | --little-endian] [-v | --verbose] [--version] file...
bones-info displays information about a Nethack bones file. By default it shows what byte sex it used to read the file and the 4 version numbers which constitute the feature set and platform for the Nethack binary which generated it.
Normally bones-info reads the bones file in little endian order, regardless of the byte sex of the current system, mostly because it was originally written to help with diagnosing problems with hearse and that's the most useful behavior for that purpose. You can use the --auto, --big-endian, and --little-endian switches to change this.
--auto is particularly useful (and appropriate) when using --verbose.
Output the values as used by the hearse server:
$ bones-info * bonD0.0 sex=l v1=1 v2=2 v3=3 v4=4 bonD0.4.gz sex=l v1=50593792 v2=10357958 v3=555422078 v4=2759955912 bonD0.8.Z sex=l v1=1027 v2=3322682880 v3=2115050273 v4=3365241252 bonD0.19 sex=l v1=50528512 v2=10357830 v3=555409789 v4=2558629316 bonM0.1 sex=l v1=50593792 v2=404622406 v3=555417981 v4=2759955916 bonM0.T sex=l v1=50593792 v2=1969222 v3=555417981 v4=2759955912
Output the real values as seen on the system which wrote the file (by guessing the byte sex of the file):
$ bones-info --auto * bones-info: can't intuit byte sex of bonD0.0 bonD0.4.gz sex=l v1=50593792 v2=10357958 v3=555422078 v4=2759955912 bonD0.8.Z sex=b v1=50593792 v2=1969350 v3=555422078 v4=2759955912 bonD0.19 sex=l v1=50528512 v2=10357830 v3=555409789 v4=2558629316 bonM0.1 sex=l v1=50593792 v2=404622406 v3=555417981 v4=2759955916 bonM0.T sex=l v1=50593792 v2=1969222 v3=555417981 v4=2759955912 zsh: exit 1 bones-info --auto *
Decode the version numbers:
$ bones-info --auto --verbose bonD0.4.gz bonD0.8.Z bonD0.4.gz: 18389 bytes read as: little endian incarnation: 50593792 (3.4.0.0) feature_set: 10357958 (REINCARNATION SINKS KOPS MAIL TOURIST STEED TEXTCOLOR INSURANCE ELBERETH EXP_ON_BOTL TIMED_DELAY) entity_count: 555422078 (33 artifacts, 433 objects, 382 monsters) struct_sizes: 2759955912 (164 flag, 64 obj, 101 monst, 456 you)
bonD0.8.Z: 22296 bytes read as: big endian incarnation: 50593792 (3.4.0.0) feature_set: 1969350 (REINCARNATION SINKS KOPS MAIL TOURIST STEED TEXTCOLOR INSURANCE ELBERETH EXP_ON_BOTL) entity_count: 555422078 (33 artifacts, 433 objects, 382 monsters) struct_sizes: 2759955912 (164 flag, 64 obj, 101 monst, 456 you)
$ _
Unsigned longs are assumed to be 4 bytes.
The --auto byte sex detection isn't robust.
It'd be nice to be provide --verbose output for bones files from older versions.
This program is distributed with the Unix Hearse client. The code is licensed under the GNU GPL. Check http://www.argon.org/~roderick/hearse/ for updated versions.
Roderick Schertler <roderick@argon.org>