Online play for Adrift and IFDB

Yes, for some reason all IFIDs of ADRIFT games are like that, e.g. a 3.8 game:
ADRIFT-380-54F4647A8C9C708CD163CABEF08E1A26

True. So for IFDB, all ADRIFT games should go to Parchment once Frankendrift is added to it. So no reason to do a complicated intermediate step to distinguish between the different types on IFDB.

1 Like

The version number is stored in the file header, and though it needs a little bit of decoding, we’d really only need to look at one byte to determine which interpreter to use.

I’ve submitted a pull request to update the Babel spec. Its description of Hugo IFIDs was also not right.

1 Like

@dfabulich , on second thought, there is no need to change anything on IFDB until we have Frankendrift implemented in Parchment. I just realized that with some manual labor I can make the play online button work with Parchment just by doing it as done here:
Trick or Treat - Details (ifdb.org)

No one is making Adrift 4 games anymore so I think this solution is fine for now.

1 Like

I’ve merged this.

Do we think that’s all the spec changes needed for this round? If so, I can call it “revision 12” and push it out.

2 Likes

That’s all the changes I can think of right now. I was hoping to be able to say at what byte offset the Adrift 5 iFiction record is, but I haven’t been able to work out if it’s a fixed or variable offset.

Though thinking for the future, I wonder if it would be helpful to have a distinct section for how to search files for an embedded IFID. Z-Code and Glulx would say to just scan the file, Hugo would explain about de-obfuscating, Adrift would specify whatever the iFiction offset is, TADS would explain its non-iFiction metadata format (or just reference the TADS docs). The legacy IFIDs section would then only need to explain how to generate legacy IFIDs.

Edit: for example, nothing in the Babel spec says that for Alan you should scan the file. You’d only know by checking the babel-tool source code.

3 Likes