Home | History | Annotate | Line # | Download | only in warp
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