You are right, this no longer works for me either - this is an important hint though, seems in my fumbling earlier I somehow managed to get a save file that worked. So the issue seems to be that you can’t start from a normal save file. Indeed, the following code now works:
if (f_setup.restore_mode == 1) {
FILE *gfp = fopen(f_setup.save_name, "rb");
if (gfp) {
restore_quetzal(gfp, story_fp);
fclose (gfp);
}
f_setup.restore_mode = 0;
}
Note that for the following sequence there is no zork1.tmp
file when starting:
$ ./dfrotz -B "look" -L zork1.tmp -R . -m zork1.z3
>look
West of House
You are standing in an open field west of a white house, with a boarded
front door.
There is a small mailbox here.
$ ./dfrotz -B "open mailbox" -L zork1.tmp -R . -m zork1.z3
>open mailbox
Opening the small mailbox reveals a leaflet.
$ ./dfrotz -B "read leaflet" -L zork1.tmp -R . -m zork1.z3
>read leaflet
(Taken)
"WELCOME TO ZORK!
ZORK is a game of adventure, danger, and low cunning. In it you will
explore some of the most amazing territory ever seen by mortals. No
computer should be without one!"
Unfortunately, I don’t have the time to investigate more.
Edit: the file used for saving above is zork1.tmp.qzl
and not zork1.tmp
. Note that it can’t be restored as a normal save file.