[net.games.rogue] Copying saved games

pearse@hound.UUCP (S.PEARSE) (03/17/85)

Has anyone wrote a program which will copy programs which preserve
the access and modification times of the source file? This would
allow successful copying of saved rogue games. I have a copy of
"cpx", but that only makes one exact copy, changing the access
time of the original. I need a program that can make *two* copies
so I can restart one, leaving another in case I die.

Or am I barking up a tree? Will rogue start up identical copies,
one after the other? Or does it keep track of every saved file,
scratching it off its list when I restore it? 

I am intent on figuring this out. I cannot afford to start at the
beginning of the game each time I slip deep in the dungeon. This 
one is for all you UNIX wizards.

Thanks,
-- 
Steve Pearse
ihnp4!hound!pearse

rick@sesame.UUCP (Rick Richardson) (03/18/85)

> Has anyone wrote a program which will copy programs which preserve
> the access and modification times of the source file? ...
> 
> I am intent on figuring this out. I cannot afford to start at the
> beginning of the game each time I slip deep in the dungeon. ...
> Steve Pearse
> ihnp4!hound!pearse

As far as I remember, rogue stashes the time and the inode number in the
encrypted save file.  The time that is saved is compared to the 'ctime'
of the saved file.  It must be within 15 seconds.  There is no system
call that will let you change the ctime.  You can only change the atime
and the mtime.  At one point, I wrote a program that would go into the
inode using the raw disk device, and change anything you wanted.  It was
for repairing damage that Microsoft's crappy IPC's would do to our
XENIX filesystem.  You have to be root to do this.
Unfortunately,  it wasn't a user friendly program, and a friend
tried to use it to do exactly what you want - change the ctime.
He managed to use it on the wrong inode (somebodies home directory!)
and clobbered it.  Wasn't too bad though, cause we both hated this
particular person anyhow!
-- 
		Rick Richardson, PC Research, Inc.

	{genrad|ihnp4|ima}!wjh12!talcott!sesame!{rick|pcrat!rick}
		{cbosgd|harvard}!talcott!sesame!{rick|pcrat!rick}
			rick%sesame@harvard.ARPA 

engl210w2c@watarts.UUCP (Bill Switzer) (03/20/85)

And if anyone does find out, PLEASE REPLY via news. I'm quite sure all would
like to know.

ix196@sdcc6.UUCP ({) (03/22/85)

> Has anyone wrote a program which will copy programs which preserve
> the access and modification times of the source file? This would
> allow successful copying of saved rogue games. I have a copy of
> "cpx", but that only makes one exact copy, changing the access
> time of the original. I need a program that can make *two* copies
> so I can restart one, leaving another in case I die.
> 
> Or am I barking up a tree? Will rogue start up identical copies,
> one after the other? Or does it keep track of every saved file,
> scratching it off its list when I restore it? 
> 
> I am intent on figuring this out. I cannot afford to start at the
> beginning of the game each time I slip deep in the dungeon. This 
> one is for all you UNIX wizards.
> 
> Thanks,
> -- 
> Steve Pearse
> ihnp4!hound!pearse

I don't know how to do exactly what you want, but I can come 
close.  At the beginning of a game, do the following.
First, save the game to a named file, say SAVE1.  You can
change the save file with Options.  Next, copy SAVE1 to a
new file, say SAVE2.  Then restart SAVE1.  Now, save this
restarted game to a third file, say SAVE3.  Now, go back to
SAVE2 and copy it back to SAVE1 (so it will be in the same
file as far as Rogue is concerned).  You can now start this
copied version of the game, but you will get a message like:
Sorry, this game has been tampered with, so the score can't
be recorded.
     However, all potions, scrolls, rings, and staffs/wands
in this copied game will be identical to the saved game in
SAVE3.  This means that you can play the copied game and
figure out all the goodies in advance.  Then play SAVE3 and you
should still be able to get on the score file.
     Another point is that any time you do this, the layout

of the levels in the good and the copied version is, I think,
exactly the same.  If you wanted to and had the patience, you 
could do this every level and know what to expect each time you
restarted the good version.
     Please note:  I am by no means a computer whiz.  A friend
and I managed to figure this out by brute force.  Also, I have 
no idea if this will work on other or all versions of rogue
or on other systems.  Our version is 5.3 and we run on a 
UNIX of some sort-- I don't know much about it except how to
play rogue and how to use the UNIX help function to try to 
figure things out.  Hope this is helpful.


			   Nom and The Chopper
			   :

srm@nsc.UUCP (Richard Mateosian) (03/24/85)

Here's a way to replay games from a checkpoint.  This was posted to the
net a long time ago (I don't remember by whom), and it works pretty well,
though not perfectly, with 5.3.

You are playing a game that you feel has some promise, and you want to
save a copy to go back to.

	(1) From rogue, save the game.  Assume that your save file is
	    called rogue.save.

	(2) From the shell, do "cp rogue.save goodgame"

	(3) Go back to playing your game (rogue -r rogue.save).

	(4) When you have finished, do "cp goodgame rogue.save"

	(5) Now resume at the checkpoint: "rogue -r rogue.save"

	(6) Goto (4).

At step (5) you will get one of two messages:

	(A) Sorry, file has been touched, so score won't be counted.

	(B) Sorry, saved game is not in the same file.

If you get (A), you can replay from the checkpoint.  If you get (B), you're
finished.  I get (A) much more frequently than (B).  Since I have never
gotten a high enough score from (A) to displace my legitimate scoreboard
entry, I don't know whether the score will be counted or not.
-- 
Richard Mateosian
{allegra,cbosgd,decwrl,hplabs,ihnp4,seismo}!nsc!srm    nsc!srm@decwrl.ARPA

herbie@watdcsu.UUCP (Herb Chong [DCS]) (03/25/85)

In article <1980@sdcc6.UUCP> ix196@sdcc6.UUCP writes:
>I don't know how to do exactly what you want, but I can come 
>close.  At the beginning of a game, do the following.
>First, save the game to a named file, say SAVE1.  You can
>change the save file with Options.  Next, copy SAVE1 to a
>new file, say SAVE2.  Then restart SAVE1.  Now, save this
>restarted game to a third file, say SAVE3.  Now, go back to
>SAVE2 and copy it back to SAVE1 (so it will be in the same
>file as far as Rogue is concerned).  You can now start this
>copied version of the game, but you will get a message like:
>Sorry, this game has been tampered with, so the score can't
>be recorded.
>			   Nom and The Chopper
this will not work on advanced rogues.  it will display a message
that the saved game is altered, delete the saved game, and then exit.

Herb Chong...

I'm user-friendly -- I don't byte, I nybble....

UUCP:  {decvax|utzoo|ihnp4|allegra|clyde}!watmath!water!watdcsu!herbie
CSNET: herbie%watdcsu@waterloo.csnet
ARPA:  herbie%watdcsu%waterloo.csnet@csnet-relay.arpa
NETNORTH, BITNET, EARN: herbie@watdcs, herbie@watdcsu

kyrimis@tilt.FUN (Kriton Kyrimis) (03/26/85)

I think I have found a trick that actually works!
The procedure is the following:

1.  Save the game as normal, in rogue.save
2.  cp rogue.save good.save
3.  rogue rogue.save	/* the first time you can play with no problems */
4.  repeat
5.    cp good.save rogue.save
6.    rogue rogue.save	/* rogue will now complain as usual */
7.    NOW SAVE THE GAME IN rogue.save !!!
8.    rogue rogue.save	/* rogue will not complain, since the saved file
			   is a legitimate one */
9.  until bored with this game
10. rm good.save	/* remember: these files are huge! remove them when
			   you no longer need them! */

The above applies to rogue 5.3. I suppose it also applies to any version that
does not delete saved files when they're touched.

I haven't actually managed to test this procedure by doing a high score
(try doing that easily!) but since I don't get any diagnostics, I believe
it is correct.

			Kriton Kyrimis (princeton!tilt!kyrimis)

wilhite@usceast.UUCP (Robert Wilhite) (03/27/85)

(edited slightly)
In article <2511@nsc.UUCP> srm@nsc.UUCP (Richard Mateosian) writes:
>Here's a way to replay games from a checkpoint.  This was posted to the
>net a long time ago....
>
>	(1) Save the game.  (in rogue.save, for example)
>	(2) From the shell, do "cp rogue.save goodgame"
>	(3) Go back to playing your game (rogue -r rogue.save).
>	(4) When you have finished, do "cp goodgame rogue.save"
>	    Go to (3)
>
>You will get one of two messages:
>	(A) Sorry, file has been touched, so score won't be counted.
>	(B) Sorry, saved game is not in the same file.
>
>If you get (A), you can replay from the checkpoint.  If you get (B), you're
>finished....
>-- 
>Richard Mateosian

(Again, with 5.3)
A slight modification of this will let you replay from a checkpoint and
STILL have your score counted. . .

	* Do (1) and (2) as above.
	* Then restart the game, as in (3) -- still from a legit save-file,
	  but IMMEDIATELY SAVE IT under yet another rogue name ("yarn"?).
	* "cp goodgame rogue.save" and restart.  Here again, you get the
	  "This won't be counted" message.  Play from here 'til you know
	  the map, items, monsters, etc.
	* When you've seen enough, Quit, and restart with the "yarn" file.
	  (You WON'T see the "won't be counted" message.)
	* Repeat as your conscience permits.

Hasn't failed for me yet.          --robert
--
		"Stop the war!  We're out of forms!"
-- 
------------------------
Robert Wilhite
..decvax ! mcnc ! ncsu ! ncrcae ! usceast ! wilhite
			..akgua ! usceast ! wilhite

kyrimis@tilt.FUN (Kriton Kyrimis) (03/31/85)

<Is there really a first-line-eating bug?>

In my last posting I said that saving a game started from a copied save file
would produce a legitimate file and therefore one could use this procedure to
save a good game and start from there each time one wanted to play.

There is a small catch, however: it seems that rogue keeps the date of creation
of the save file in that file (someone posted something to that effect a few
days ago). Therefore, if your backup copy is too old, when you cp it into
rogue.save, rogue will refuse to start. The solution is simple: When you want
to create a backup copy, do the following:

1.  save the game in rogue.save
2.  cp rogue.save temp
3.  rogue rogue.save
4.  save the game in good.save		/* this produces a valid good.save */
5.  cp temp rogue.save
6.  rogue rogue.save			/* rogue will complain, but it will
					   restart the game */
7.  save the game in rogue.save		/* now you have a valid rogue.save */
8.  rm temp

This procedure creates rogue.save and good.save. Rogue may be restarted from
either one. When you get killed (or, for that matter, exit the dungeon),
remember to repeat the above procedure, so that you have TWO save files of the
same game.

I'm sorry if you lost any good games following my previous hints. I found out
about my mistake the hard way too. I had to abandon my best game ever.

			I hope I've got it correct this time.

			Kriton Kyrimis (princeton!tilt!kyrimis)

rob@osiris.UUCP (Robert St. Aardvarks) (04/01/85)

> (Again, with 5.3)
> A slight modification of this will let you replay from a checkpoint and
> STILL have your score counted. . .
> 
> 	* Do (1) and (2) as above.
> 	* Then restart the game, as in (3) -- still from a legit save-file,
> 	  but IMMEDIATELY SAVE IT under yet another rogue name ("yarn"?).
> 	* "cp goodgame rogue.save" and restart.  Here again, you get the
> 	  "This won't be counted" message.  Play from here 'til you know
> 	  the map, items, monsters, etc.
> 	* When you've seen enough, Quit, and restart with the "yarn" file.
> 	  (You WON'T see the "won't be counted" message.)
> 	* Repeat as your conscience permits.
> 
> Hasn't failed for me yet.          --robert

It's failed for me.  Not directly, though.  Sometimes when I restart one
of those saved games, I make a few moves and then the cursor stops moving
and the characters I type are echoed to the screen.  I have to hit
interrupt.  The game is usually saved, but sometimes isn't usable,
having been 'touched.'  Any clues?

Rob St. Amant

kyrimis@tilt.FUN (Kriton Kyrimis) (04/05/85)

<Is there really a first-line-eating bug?>

I guess I owe everyone an apology: my method of converting "bad" saved files
by loading them and immediately saving them, DOES NOT seem to WORK after all.
To quote R.C. (Is it good manners to mention names, when referring to other
fellow roguers who PLAY(!!!) instead of work at the computer?):

> The trick of saving a game that says "score won't be recorded"
> and restarting it (which, as we know, DOESN'T give that message)
> DOES NOT WORK.  I did not get an updated score on the scoreboard
> when I beat my old score.

Again, I apologise.

Kriton Kyrimis (princeton!tilt!kyrimis)