diff options
author | jmc <jmc@NetBSD.org> | 2004-12-09 05:15:59 +0000 |
---|---|---|
committer | jmc <jmc@NetBSD.org> | 2004-12-09 05:15:59 +0000 |
commit | 4a8f378569210334d20eb525298086b7ea2eb672 (patch) | |
tree | 6f3b777f63a5fdca2370e27a17df4ba1219a297d /phantasia/main.c | |
parent | 0fbe5608ca10d704142f0c4b1c5b92a7ccde7379 (diff) | |
download | bsdgames-darwin-4a8f378569210334d20eb525298086b7ea2eb672.tar.gz bsdgames-darwin-4a8f378569210334d20eb525298086b7ea2eb672.tar.zst bsdgames-darwin-4a8f378569210334d20eb525298086b7ea2eb672.zip |
Redo how void gets init'd.
setup now just creates an empty file. When main starts and loads it in,
it stats and if zero size init's a new location and saves it back out.
Now games.tgz can be shared among MACHINE_ARCH's
Diffstat (limited to 'phantasia/main.c')
-rw-r--r-- | phantasia/main.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/phantasia/main.c b/phantasia/main.c index b18b3240..9096e9f8 100644 --- a/phantasia/main.c +++ b/phantasia/main.c @@ -1,4 +1,4 @@ -/* $NetBSD: main.c,v 1.14 2004/04/11 13:35:06 he Exp $ */ +/* $NetBSD: main.c,v 1.15 2004/12/09 05:15:59 jmc Exp $ */ /* * Phantasia 3.3.2 -- Interterminal fantasy game @@ -27,6 +27,7 @@ * AT&T is in no way connected with this game. */ +#include <sys/stat.h> #include <sys/types.h> #include <pwd.h> @@ -271,6 +272,8 @@ main(argc, argv) void initialstate() { + struct stat sb; + Beyond = FALSE; Marsh = FALSE; Throne = FALSE; @@ -302,6 +305,16 @@ initialstate() if ((Energyvoidfp = fopen(_PATH_VOID, "r+")) == NULL) error(_PATH_VOID); + if (fstat(fileno(Energyvoidfp), &sb) == -1) + error("stat"); + if (sb.st_size == 0) { + /* initialize grail to new location */ + Enrgyvoid.ev_active = TRUE; + Enrgyvoid.ev_x = ROLL(-1.0e6, 2.0e6); + Enrgyvoid.ev_y = ROLL(-1.0e6, 2.0e6); + writevoid(&Enrgyvoid, 0L); + } + /* NOTREACHED */ srandom((unsigned) time(NULL)); /* prime random numbers */ |