Offline Bones Sharing


If it doesn't fit anywhere else, it belongs here. Also, come here if you just need to get hammered.

Tartarus Sorceror

Posts: 1822

Joined: Thursday, 31st May 2012, 15:45

Post Tuesday, 29th September 2015, 18:11

Offline Bones Sharing

I was curious whether there is a mechanism for sharing bones files between offline players. A search revealed Geistwagen, but it appears to be defunct. A simple ftp might work, except that I don't know whether it is possible and/or necessary to inspect a bones file to see how many ghosts are in it.
Won (52). Remaining (15): 5 species: Ba, Fe, Mu, Na, Op; 5 Backgrounds: AM, Wr, Su, AE, Ar; 5 gods: Jiyv, newNem, WJC, newSif, newFedh

Ziggurat Zagger

Posts: 6454

Joined: Tuesday, 30th October 2012, 19:06

Post Tuesday, 29th September 2015, 18:52

Re: Offline Bones Sharing

You could probably set something up with like google drive or dropbox or copy or something.

Any general purpose file sharing mechanism would probably work fine.
Spoiler: show
This high quality signature has been hidden for your protection. To unlock it's secret, send 3 easy payments of $9.99 to me, by way of your nearest theta band or ley line. Complete your transmission by midnight tonight for a special free gift!

Tartarus Sorceror

Posts: 1822

Joined: Thursday, 31st May 2012, 15:45

Post Tuesday, 29th September 2015, 19:00

Re: Offline Bones Sharing

If we were to do this do we need to have different folders for different versions of Crawl?
Won (52). Remaining (15): 5 species: Ba, Fe, Mu, Na, Op; 5 Backgrounds: AM, Wr, Su, AE, Ar; 5 gods: Jiyv, newNem, WJC, newSif, newFedh

Tartarus Sorceror

Posts: 1822

Joined: Thursday, 31st May 2012, 15:45

Post Tuesday, 29th September 2015, 19:02

Re: Offline Bones Sharing

I noticed too that the bones files themselves are very small, so the information they need is in another file or files somewhere that would need to be uploaded too and kept together.

EDIT: I'm guessing it's just the morgue .txt file that has the same timestamp in the filename as the bones file's "date created" OS timestamp.
Won (52). Remaining (15): 5 species: Ba, Fe, Mu, Na, Op; 5 Backgrounds: AM, Wr, Su, AE, Ar; 5 gods: Jiyv, newNem, WJC, newSif, newFedh
User avatar

Dungeon Master

Posts: 502

Joined: Wednesday, 7th March 2012, 13:25

Location: Lexington, KY, US

Post Thursday, 1st October 2015, 16:46

Re: Offline Bones Sharing

MainiacJoe wrote:I noticed too that the bones files themselves are very small, so the information they need is in another file or files somewhere that would need to be uploaded too and kept together.

EDIT: I'm guessing it's just the morgue .txt file that has the same timestamp in the filename as the bones file's "date created" OS timestamp.


The bones file is all you need. Remember that bones in Crawl don't include the level, only the ghost(s) itself. There's not all that much info for a ghost, and it is all encoded numerically other than the name. Some of the values are only relevant for panlords, ugly things, or dancing weapons (which use the same data structure), but they are stored anyway:
  • name (2 bytes + length of name)
  • species (2 bytes)
  • job (2 bytes)
  • religion (1 byte)
  • best skill (2 bytes)
  • level of best skill (2 bytes)
  • xl (2 bytes)
  • maxhp (2 bytes)
  • evasion (2 bytes)
  • AC (2 bytes)
  • base damage (2 bytes)
  • speed (2 bytes)
  • move energy (move speed) (2 bytes)
  • see invis (1 byte)
  • attack brand (2 bytes)
  • attack type (not used for player ghosts) (2 bytes)
  • attack flavor (not used for player ghosts) (2 bytes)
  • resistances (2-5 bytes-ish)
  • colour (not used for player ghosts) (1 byte)
  • flying (always true for player ghosts) (1 byte)
  • spells (1 byte + 5 bytes per spell)

So somewhere around 37-70 bytes per ghost, plus the length of the name, plus a little extra for file headers, number of ghosts, etc.

As for versions: Crawl can detect when the bones file is for too old or too new a version, and just refuses to load it. But you can determine that a priori by looking at the first couple of bytes and comparing those to the "Save file version" printed by crawl -version. If the first byte equals the major version (currently 34, since 0.12 or so) and the second byte is less than or equal to the minor version (currently 157 in trunk), then the bones file can be loaded.

Edit: forgot the name

For this message the author neil has received thanks: 4
MainiacJoe, rockygargoyle, Sar, tv1990

Return to Crazy Yiuf's Corner

Who is online

Users browsing this forum: No registered users and 21 guests

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.