util.h revision 1.1 1 1.1 kamil /* $Header: /tank/opengrok/rsync2/NetBSD/src/games/warp/util.h,v 1.1 2020/11/09 23:37:05 kamil Exp $ */
2 1.1 kamil
3 1.1 kamil /* $Log: util.h,v $
4 1.1 kamil /* Revision 1.1 2020/11/09 23:37:05 kamil
5 1.1 kamil /* Add Warp Kit, Version 7.0 by Larry Wall
6 1.1 kamil /*
7 1.1 kamil /* Warp is a real-time space war game that doesn't get boring very quickly.
8 1.1 kamil /* Read warp.doc and the manual page for more information.
9 1.1 kamil /*
10 1.1 kamil /* games/warp originally distributed with 4.3BSD-Reno, is back to the BSD
11 1.1 kamil /* world via NetBSD. Its remnants were still mentioned in games/Makefile.
12 1.1 kamil /*
13 1.1 kamil /* Larry Wall, the original author and the copyright holder, generously
14 1.1 kamil /* donated the game and copyright to The NetBSD Foundation, Inc.
15 1.1 kamil /*
16 1.1 kamil /* Import the game sources as-is from 4.3BSD-Reno, with the cession
17 1.1 kamil /* of the copyright and license to BSD-2-clause NetBSD-style.
18 1.1 kamil /*
19 1.1 kamil /* Signed-off-by: Larry Wall <larry (at) wall.org>
20 1.1 kamil /* Signed-off-by: Kamil Rytarowski <kamil (at) netbsd.org>
21 1.1 kamil /*
22 1.1 kamil * Revision 7.0 86/10/08 15:14:37 lwall
23 1.1 kamil * Split into separate files. Added amoebas and pirates.
24 1.1 kamil *
25 1.1 kamil */
26 1.1 kamil
27 1.1 kamil #if RANDBITS < 15 || defined(lint)
28 1.1 kamil #define rand_mod(m) getpid()
29 1.1 kamil #define RANDRAND 0.0
30 1.1 kamil #define HALFRAND 0
31 1.1 kamil #define myrand() getpid()
32 1.1 kamil #else
33 1.1 kamil #if RANDBITS == 15 /* 15 bits of rand()? */
34 1.1 kamil #define RANDRAND 268435456.0 /* that's 2**28 */
35 1.1 kamil #define HALFRAND 0x4000 /* that's 2**14 */
36 1.1 kamil int rand();
37 1.1 kamil #define myrand() (rand()&32767)
38 1.1 kamil #define rand_mod(m) ((int)((double)myrand() / 32768.0 * ((double)(m))))
39 1.1 kamil /* pick number in 0..m-1 */
40 1.1 kamil
41 1.1 kamil #else
42 1.1 kamil
43 1.1 kamil #if RANDBITS < 31 /* 16 bits of rand()? */
44 1.1 kamil #define RANDRAND 1073741824.0 /* that's 2**30 */
45 1.1 kamil #define HALFRAND 0x8000 /* that's 2**15 */
46 1.1 kamil unsigned rand();
47 1.1 kamil #define myrand() (rand()&65535)
48 1.1 kamil #define rand_mod(m) ((int)((double)myrand() / 65536.0 * ((double)(m))))
49 1.1 kamil /* pick number in 0..m-1 */
50 1.1 kamil
51 1.1 kamil #else /* assume 31 bits */
52 1.1 kamil #define RANDRAND 1152921504606846976.0 /* that's 2**60 */
53 1.1 kamil #define HALFRAND 0x40000000 /* that's 2**30 */
54 1.1 kamil long rand();
55 1.1 kamil #define myrand() rand()
56 1.1 kamil #define rand_mod(m) ((myrand() / 37) % (m)) /* pick number in 0..m-1 */
57 1.1 kamil /*
58 1.1 kamil * The reason for the /37 above is that our random number generator yields
59 1.1 kamil * successive evens and odds, for some reason. This makes strange star maps.
60 1.1 kamil */
61 1.1 kamil #endif
62 1.1 kamil #endif
63 1.1 kamil #endif
64 1.1 kamil
65 1.1 kamil
66 1.1 kamil /* we get fractions of seconds from calling ftime on timebuf */
67 1.1 kamil
68 1.1 kamil EXT struct timeb timebuf;
69 1.1 kamil #define roundsleep(x) (ftime(&timebuf),sleep(timebuf.millitm > 500?x+1:x))
70 1.1 kamil
71 1.1 kamil void movc3();
72 1.1 kamil void no_can_do();
73 1.1 kamil int exdis();
74 1.1 kamil
75 1.1 kamil EXT bool waiting INIT(FALSE); /* are we waiting for subprocess (in doshell)? */
76 1.1 kamil
77 1.1 kamil #ifdef NOTDEF
78 1.1 kamil EXT int len_last_line_got INIT(0);
79 1.1 kamil /* strlen of some_buf after */
80 1.1 kamil /* some_buf = get_a_line(bufptr,buffersize,fp) */
81 1.1 kamil #endif
82 1.1 kamil
83 1.1 kamil #ifdef NOTDEF
84 1.1 kamil /* is the string for makedir a directory name or a filename? */
85
86 #define MD_DIR 0
87 #define MD_FILE 1
88 #endif
89
90 void util_init();
91 char *safemalloc();
92 char *safecpy();
93 char *cpytill();
94 char *instr();
95 #ifdef SETUIDGID
96 int eaccess();
97 #endif
98 char *getwd();
99 void cat();
100 void prexit();
101 char *savestr();
102 char *getval();
103