Menu

#6 On Mac OS X 10.6.8, can't play BBC demo game Ransom

v1.0 (example)
open
nobody
None
5
2014-03-10
2014-03-06
No

Hi. I compiled grackle on Mac OS X 10.6.8 using "gcc -o grackle grackle-play.c". It compiled without complaint. But when I extracted the DATA file for Ransom from the STH disc image for GAC and tried to play it in grackle, this was the output:

>>_>
$ ./grackle data
Type: 4
Reading dictionary
Reading verbs: 14
Reading nouns: a3
Reading adverbs: d2
Reading objects
Reading rooms: 10d
Reading messages: 625
Reading high priority conditions
Reading low priority conditions: 4a7
Reading room conditions: 362
Reading start room

What now?... l

What now?... look

What now?... help
I'm sorry, but I can't give any clues.
What now?... run
I beg your pardon?

What now?... e
I'm sorry, but you are unable to do that.

What now?... i
I beg your pardon?

What now?... inv
I beg your pardon?

What now?... inventory
You are carring
What now?... ^C
$
<<<_

I really don't know what I'm doing, here, and therefore the source of this error could lie at any point in the procedure I followed, including the point at which I extracted the data file form the .ssd image: I might even have done that wrong.

Anyway, just thought I'd mention it.

Discussion

  • Anthony Hope

    Anthony Hope - 2014-03-08

    Here's the dump, if it helps.

     
  • Anthony Hope

    Anthony Hope - 2014-03-08

    Okay, I've had a quick look at the code, and the source of the problem seems to be line 383:

    header->startptr = get16bit(infile) - header->offset;

    The value of header->startptr is used later, at line, 1838 to initialise header->startroom.

    As it is, the Ransom code initialises the start room to -256. But if you hard-code header->startroom to be equal to 1 at line 1838, the game starts playing normally.

     

    Last edit: Anthony Hope 2014-05-30
  • Anonymous

    Anonymous - 2014-03-10

    This sounds like I messed something up. To be honest, I'm not certain that the version on sourceforge is even the latest and the BBC version was one of the last things added.

    I don't currently have a C compiler on my desktop; so give me a chance to install mingw and I'll try and work out what I was doing.

    As a note, although I've not tried it on Mac OS X; the original code was written both on Windows and Linux so it should work under gcc.

     

    Last edit: Anonymous 2014-03-10
  • Anonymous

    Anonymous - 2014-03-10

    I've looked through the version I have on my hard disk and it appears that the BBC header is severely mangled compared to other GAC formats.

    I'll try and post something up tomorrow, or resync my base code.

     

Log in to post a comment.

MongoDB Logo MongoDB