.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.42) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "BONES-INFO 1" .TH BONES-INFO 1 "2022-10-13" "perl v5.34.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" bones\-info \- display information about a Nethack bones file .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBbones-info\fR [\fB\-a | \-\-auto\fR] [\fB\-b | \-\-big\-endian\fR] [\fB\-\-debug\fR] [\fB\-\-help\fR] [\fB\-x | \-\-hexadecimal\fR] [\fB\-l | \-\-little\-endian\fR] [\fB\-v | \-\-verbose\fR] [\fB\-\-version\fR] \&\fIfile\fR... .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fBbones-info\fR 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. .SH "ENDIANNESS (aka BYTE SEX)" .IX Header "ENDIANNESS (aka BYTE SEX)" Normally \fBbones-info\fR 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 \fB\-\-auto\fR, \fB\-\-big\-endian\fR, and \fB\-\-little\-endian\fR switches to change this. .PP \&\fB\-\-auto\fR is particularly useful (and appropriate) when using \fB\-\-verbose\fR. .SH "OPTIONS" .IX Header "OPTIONS" .IP "\fB\-a\fR, \fB\-\-auto\fR" 4 .IX Item "-a, --auto" Try to guess the right byte sex (little endian or big endian) for each input file. If there doesn't seem to be a right choice, \fBbones-info\fR will output a warning, set a non-zero exit status, and move on to the next file. .IP "\fB\-b\fR, \fB\-\-big\-endian\fR" 4 .IX Item "-b, --big-endian" Read the bones files in big endian order, such as is used by Macs. See also \*(L"\-\-auto\*(R". .IP "\fB\-\-debug\fR" 4 .IX Item "--debug" Turn debugging on. .IP "\fB\-\-help\fR" 4 .IX Item "--help" Show the usage message and die. .IP "\fB\-x\fR, \fB\-\-hexadecimal\fR" 4 .IX Item "-x, --hexadecimal" Output numbers in hexadecimal form. .IP "\fB\-l\fR, \fB\-\-little\-endian\fR" 4 .IX Item "-l, --little-endian" Read the bones files in little endian order, such as is used by Intel hardware. This is the default, I include it so that you don't have to check what the default is if you know you want it a certain way. .IP "\fB\-v\fR, \fB\-\-verbose\fR" 4 .IX Item "-v, --verbose" Output more info about the bones file. This tries to decode the 4 version numbers. Its useful when you want to see what the differences are between two sets of version numbers. You'd normally want to use \&\fB\-\-auto\fR when you use \fB\-\-verbose\fR. .IP "\fB\-\-version\fR" 4 .IX Item "--version" Show the version number and exit. .SH "EXAMPLES" .IX Header "EXAMPLES" Output the values as used by the hearse server: .PP .Vb 7 \& $ 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 .Ve .PP Output the real values as seen on the system which wrote the file (by guessing the byte sex of the file): .PP .Vb 8 \& $ bones\-info \-\-auto * \& bones\-info: can\*(Aqt 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 * .Ve .PP Decode the version numbers: .PP .Vb 9 \& $ 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) \& \& $ _ .Ve .SH "BUGS" .IX Header "BUGS" Unsigned longs are assumed to be 4 bytes. .PP The \-\-auto byte sex detection isn't robust. .PP It'd be nice to be provide \-\-verbose output for bones files from older versions. .SH "AVAILABILITY" .IX Header "AVAILABILITY" This program is distributed with the Unix Hearse client. The code is licensed under the \s-1GNU GPL.\s0 Check http://www.argon.org/~roderick/hearse/ for updated versions. .SH "AUTHOR" .IX Header "AUTHOR" Roderick Schertler