home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / dev / misc / gms_dev.lha / GMS / Includes / games / misc.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-02-10  |  2.7 KB  |  99 lines

  1. #ifndef GMS_MISC_H
  2. #define GMS_MISC_H TRUE
  3.  
  4.  struct ObjectEntry  /* Entry stucture for GetObjectList() */
  5.   {
  6.   char  *Name;       /* Pointer to the name, may be NULL */
  7.   APTR  Object;      /* Object is returned here */
  8.   };
  9.  
  10.  struct DataHeader   /* Private structure for object headers */
  11.   {
  12.   ULONG Type;        /* Type of object, eg STRC, CODE, DATA */
  13.   ULONG Next;        /* Offset towards next object */
  14. /*char Name[];          The name of the object */
  15.   };
  16.  
  17. /* --- Choose one of these for calling Set_Interrupt() --- */
  18.  
  19. #define INTB_INTEN   14   /* Master interrupt (enable only ) */
  20. #define INTB_EXTER   13   /* External interrupt */
  21. #define INTB_DSKSYNC 12   /* Disk re-SYNChronized */
  22. #define INTB_RBF     11   /* serial port Receive Buffer Full */
  23. #define INTB_AUD3    10   /* Audio channel 3 block finished */
  24. #define INTB_AUD2     9   /* Audio channel 2 block finished */
  25. #define INTB_AUD1     8   /* Audio channel 1 block finished */
  26. #define INTB_AUD0     7   /* Audio channel 0 block finished */
  27. #define INTB_BLIT     6   /* Blitter finished */
  28. #define INTB_VERTB    5   /* start of Vertical Blank */
  29. #define INTB_COPER    4   /* Coprocessor */
  30. #define INTB_PORTS    3   /* I/O Ports and timers */
  31. #define INTB_SOFTINT  2   /* software interrupt rest */
  32. #define INTB_DSKBLK   1   /* Disk Block done */
  33. #define INTB_TBE      0   /* serial port Transmit Buffer Empty */
  34.  
  35. /* --- Special Keypresses that can be returned from Read_Key().  All other
  36. ** keys can be considered to be in ASCII format.
  37. */
  38.  
  39.  struct Keys
  40.   {
  41.   WORD  KP_ID;
  42.   BYTE  KP_Key1;
  43.   BYTE  KP_Key2;
  44.   BYTE  KP_Key3;
  45.   BYTE  KP_Key4;
  46.   };
  47.  
  48. #define K_SCS     0x80       /* Screen switch (LEFTAMIGA + M) */
  49. #define K_DEL     0x81
  50. #define K_HELP    0x82
  51.  
  52. #define K_LSHIFT  0x83
  53. #define K_RSHIFT  0x84
  54. #define K_CAPS    0x85
  55. #define K_CTRL    0x86
  56. #define K_LALT    0x87
  57. #define K_RALT    0x88
  58. #define K_LAMIGA  0x89
  59. #define K_RAMIGA  0x8a
  60.  
  61. #define K_F1      0x8b
  62. #define K_F2      0x8c
  63. #define K_F3      0x8d
  64. #define K_F4      0x8e
  65. #define K_F5      0x8f
  66. #define K_F6      0x90
  67. #define K_F7      0x91
  68. #define K_F8      0x92
  69. #define K_F9      0x93
  70. #define K_F10     0x94
  71. #define K_F11     0x95
  72. #define K_F12     0x96
  73. #define K_F13     0x97
  74. #define K_F14     0x98
  75. #define K_F15     0x99
  76. #define K_F16     0x9a
  77. #define K_F17     0x9b
  78. #define K_F18     0x9c
  79. #define K_F19     0x9d
  80. #define K_F20     0x9e
  81.  
  82. #define C_UP      0x9f
  83. #define C_DOWN    0xa0
  84. #define C_RIGHT   0xa1
  85. #define C_LEFT    0xa2
  86.  
  87. #define K_SRIGHT  0xa3       /* Special key on right */
  88. #define K_SLEFT   0xa4       /* Special key on left */
  89.  
  90. /* --- Special keys that are recognised under ASCII (here for convenience)*/
  91.  
  92. #define K_BAKSPC 08
  93. #define K_TAB    09
  94. #define K_ENTER  10
  95. #define K_RETURN 10
  96. #define K_ESC    0x1b
  97.  
  98. #endif
  99.