home *** CD-ROM | disk | FTP | other *** search
/ Virtual Reality Zone / VRZONE.ISO / mac / PC / PCGLOVE / GLOVE / OBJGLV.ZIP / INCLUDE / DEMO4B / SEGASUPP.HPP < prev    next >
C/C++ Source or Header  |  1992-12-07  |  2KB  |  85 lines

  1. /* Prototypes for Sega and Powerglove (and timer) support */
  2.  
  3. /* Copyright 1992 by Dave Stampe and Bernie Roehl.
  4.    May be freely used to write software for release into the public domain;
  5.    all commercial endeavours MUST contact Bernie Roehl and Dave Stampe
  6.    for permission to incorporate any part of this software into their
  7.    products!
  8.  */
  9.  
  10. #include "standard.hpp"
  11.  
  12. /*
  13.  sega_switcher is called just before the vertical retrace
  14.  use NULL if no video synchronization desired
  15.  
  16.  glove_handler is called once or more per screen time
  17.  use NULL if not required
  18.  
  19.  glove_tc is period in timer clocks (1.19 * microseconds) desired between
  20.  glove_handler calls.  If sega_switcher is also used, this will be an
  21.  integer number per screen time.  Use 6500 for best results, as this
  22.  gives the least glitches (2xscreen for 72 Hz, 3xscreen for 60 Hz VGA cards
  23. */
  24.  
  25.  
  26. #define G_NOKEY 0xFF
  27. #define G_START 0x82
  28. #define G_SEL   0x83
  29. #define G_AKEY  0x0A
  30. #define G_BKEY  0x0B
  31. #define G_UP    0x0D
  32. #define G_DOWN  0x0E
  33. #define G_LEFT  0x0C
  34. #define G_RIGHT 0x0F
  35.  
  36. #define G_RECENTER 0
  37.  
  38.                                     /*         2 if rxflags also valid */
  39. #define DEGLITCH   1
  40. #define NODEGLITCH 0
  41.  
  42. /* gesture recognition */
  43.  
  44. #define G_FLAT      0           /* std. gesture classification */
  45. #define G_THUMB_IN  1
  46. #define G_INDEX_IN  2
  47. #define G_MIDDLE_IN 3
  48. #define G_RING_IN   4
  49. #define G_PINCH     5
  50. #define G_FIST      6
  51. #define G_THUMB_OUT 7
  52. #define G_POINT     8
  53. #define G_BADFINGER 9
  54. #define G_RING_OUT  10
  55. #define G_UNKNOWN   11
  56.  
  57.  
  58. /**************** SEGA SUPPORT ****************/
  59.  
  60. extern int left_page;     /* video page with current left image */
  61. extern int right_page;    /* video page with current right image */
  62. extern int has_switched;  /* = 3 once both switched in */
  63.  
  64. // Following modified by mark:
  65. //  Returns zero instead of exit()ing in case of error.
  66. extern Boolean init_switch_driver(char *sdname);
  67.  
  68. extern void switch_sega(int to_go);     /* video, glasses switcher: pass to SGinit */
  69.  
  70. extern void sega_off();        /* turn off glasses at exit (longer life) */
  71.  
  72. extern void select_sega_port(int port);
  73.  
  74. /************** SEGA/GLOVE PARAMETERS *************/
  75.  
  76. extern int sega_address;
  77. extern int sega_port_image;
  78. extern int sega_mask;
  79.  
  80. extern int sega_left;
  81. extern int sega_right;
  82. extern int sega_doff;
  83.  
  84. /* End of segasupp.h */
  85.