home *** CD-ROM | disk | FTP | other *** search
/ Computer Panoráma / computer_panorama_1997-12-hibas.iso / SHARE / GRAPH / PTC051.ZIP / SRC / MISC.H < prev    next >
C/C++ Source or Header  |  1997-09-20  |  2KB  |  150 lines

  1. /////////////////////////
  2. // miscellaneous stuff //
  3. /////////////////////////
  4.  
  5. #ifndef __MISC_H
  6. #define __MISC_H
  7.  
  8. #include "lang.h"
  9. #include <time.h>
  10. #include <math.h>
  11. #include <stdlib.h>
  12.  
  13. #ifndef __LINUX__
  14. #include <conio.h>
  15. #else
  16. #include <iostream.h>
  17. #endif
  18.  
  19.  
  20.  
  21.  
  22.  
  23. // nice types
  24. typedef unsigned char  uchar;
  25. typedef unsigned short ushort;
  26. typedef unsigned int   uint;
  27.  
  28.  
  29.  
  30.  
  31. // NULL if needed
  32. #ifndef NULL                                       
  33. #define NULL 0
  34. #endif
  35.  
  36.  
  37.  
  38.  
  39. // randomize
  40. #ifndef randomize
  41. #define randomize() srand((uint)time(NULL))
  42. #endif
  43.  
  44. // randoms
  45. #ifndef random
  46. inline int random(int max)
  47. {
  48.     float n=(float)rand()/((float)(RAND_MAX));
  49.     int val=(int)floor(n*max);
  50.     if (val>=max) val=max-1;
  51.     return val;
  52. }
  53. #endif
  54.  
  55.  
  56.  
  57.  
  58. // inp | outp for VC++
  59. #ifdef __VISUALC__
  60. #define outp _outp
  61. #define inp _inp
  62. #endif
  63.  
  64. // inp | outp for djgpp
  65. #ifdef __DJGPP__
  66. #include <pc.h>
  67. #endif
  68.  
  69.  
  70.  
  71.  
  72. // include memory routines
  73. #if defined(__VISUALC__) || defined(__POSIX__)
  74. #include <memory.h>
  75. #include <string.h>
  76. #endif
  77.  
  78. #ifdef __WATCOMC__
  79. #include <mem.h>
  80. #include <string.h>
  81. #endif
  82.  
  83.  
  84.  
  85.  
  86. // fixup icky kbhit #defines in DJGPP - replace with inline wrapper
  87. #ifdef __DJGPP__
  88.     #if kbhit == _conio_kbhit
  89.     #undef kbhit
  90.     inline int kbhit() { return _conio_kbhit(); }
  91.     #endif
  92. #endif
  93.  
  94.  
  95.  
  96.  
  97. // define "PACKED"
  98. #if defined (__DJGPP__)
  99.     #define PACKED __attribute__ ((packed))        
  100. #else
  101.     #define PACKED 
  102. #endif
  103.  
  104.  
  105.  
  106.  
  107. // linux stricmp
  108. #ifdef __LINUX__
  109.     #define stricmp strcasecmp
  110. #endif
  111.  
  112.  
  113.  
  114.  
  115.  
  116. // undefine "ABSOLUTE"
  117. #undef ABSOLUTE
  118.  
  119.  
  120.  
  121.  
  122.  
  123. // HWINDOW
  124. #ifdef __WIN32__
  125.  
  126.     // win32 HWND
  127.     #define HWINDOW HWND
  128.  
  129. #elif __X11__
  130.  
  131.     // X11 Window
  132.     #define HWINDOW (*Window)
  133.  
  134. #else
  135.     
  136.     // dummy window
  137.     typedef struct STUPIDWINDOW
  138.     {
  139.         int bah;
  140.     } * HWINDOW;
  141.  
  142. #endif
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149. #endif
  150.