home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / Games / warp / util.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-05-03  |  2.0 KB  |  85 lines

  1. /* $Header: util.h,v 7.0 86/10/08 15:14:37 lwall Exp $ */
  2.  
  3. /* $Log:    util.h,v $
  4.  * Revision 7.0  86/10/08  15:14:37  lwall
  5.  * Split into separate files.  Added amoebas and pirates.
  6.  * 
  7.  */
  8.  
  9. #if RANDBITS < 15 || defined(lint)
  10. #define rand_mod(m) getpid()
  11. #define RANDRAND 0.0
  12. #define HALFRAND 0
  13. #define myrand() getpid()
  14. #else
  15. #if RANDBITS == 15    /* 15 bits of rand()? */
  16. #define RANDRAND 268435456.0 /* that's 2**28 */
  17. #define HALFRAND 0x4000 /* that's 2**14 */
  18. int rand();
  19. #define myrand() (rand()&32767)
  20. #define rand_mod(m) ((int)((double)myrand() / 32768.0 * ((double)(m))))
  21. /* pick number in 0..m-1 */
  22.  
  23. #else
  24.  
  25. #if RANDBITS < 31    /* 16 bits of rand()? */
  26. #define RANDRAND 1073741824.0 /* that's 2**30 */
  27. #define HALFRAND 0x8000 /* that's 2**15 */
  28. unsigned rand();
  29. #define myrand() (rand()&65535)
  30. #define rand_mod(m) ((int)((double)myrand() / 65536.0 * ((double)(m))))
  31. /* pick number in 0..m-1 */
  32.  
  33. #else        /* assume 31 bits */
  34. #define RANDRAND 1152921504606846976.0 /* that's 2**60 */
  35. #define HALFRAND 0x40000000 /* that's 2**30 */
  36. long rand();
  37. #define myrand() rand()
  38. #define rand_mod(m) ((myrand() / 37) % (m)) /* pick number in 0..m-1 */
  39. /*
  40.  * The reason for the /37 above is that our random number generator yields
  41.  * successive evens and odds, for some reason.  This makes strange star maps.
  42.  */
  43. #endif
  44. #endif
  45. #endif
  46.  
  47.  
  48.     /* we get fractions of seconds from calling ftime on timebuf */
  49.  
  50. EXT struct timeb timebuf;
  51. #define roundsleep(x) (ftime(&timebuf),sleep(timebuf.millitm > 500?x+1:x))
  52.  
  53. void movc3();
  54. void no_can_do();
  55. int exdis();
  56.  
  57. EXT bool waiting INIT(FALSE);        /* are we waiting for subprocess (in doshell)? */
  58.  
  59. #ifdef NOTDEF
  60. EXT int len_last_line_got INIT(0);
  61.             /* strlen of some_buf after */
  62.             /*  some_buf = get_a_line(bufptr,buffersize,fp) */
  63. #endif
  64.  
  65. #ifdef NOTDEF
  66. /* is the string for makedir a directory name or a filename? */
  67.  
  68. #define MD_DIR 0
  69. #define MD_FILE 1
  70. #endif
  71.  
  72. void util_init();
  73. char    *safemalloc();
  74. char    *safecpy();
  75. char    *cpytill();
  76. char    *instr();
  77. #ifdef SETUIDGID
  78.     int        eaccess();
  79. #endif
  80. char    *getwd();
  81. void    cat();
  82. void    prexit();
  83. char    *savestr();
  84. char    *getval();
  85.