home *** CD-ROM | disk | FTP | other *** search
/ Giga Games 1 / Giga Games.iso / net / hack / 3_1_3 / sys / amiga / wbdefs.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-05-05  |  4.9 KB  |  215 lines

  1. /*    SCCS Id: @(#)wbdefs.h     3.1    93/01/08
  2. /* Copyright (c) Kenneth Lorber, Bethesda, Maryland, 1992, 1993.  */
  3. /* NetHack may be freely redistributed.  See license for details. */
  4.  
  5. #include <exec/types.h>
  6. #include <exec/memory.h>
  7. #include <graphics/gfxmacros.h>
  8. #include <graphics/gfxbase.h>
  9. #include <workbench/workbench.h>
  10. #include <workbench/startup.h>
  11. #include <intuition/intuition.h>
  12. #include <intuition/intuitionbase.h>
  13.  
  14. #ifdef AZTEC_C
  15. #include <libraries/dosextens.h>
  16. #include <functions.h>
  17. #else
  18. #include <proto/exec.h>
  19. #include <proto/dos.h>
  20. #include <proto/intuition.h>
  21. #include <proto/icon.h>
  22. #include <proto/graphics.h>
  23. #endif
  24.  
  25. #include <stdlib.h>
  26. #include <stdarg.h>
  27. #include <string.h>
  28. #include <ctype.h>
  29. #include <stdio.h>
  30.  
  31. #ifdef  IDCMP_CLOSEWINDOW
  32. #define INTUI_NEW_LOOK  1
  33. #endif
  34.  
  35. #define R_DISK        1   /* Refresh reasons */
  36. #define R_WINDOW    2
  37. #define R_SCROLL    3
  38.  
  39. #define PLAYERMENU    0
  40.  
  41. #define MENU_PROJECT    0   /* so we can shuffle them around easily */
  42. #define ITEM_HELP    0
  43. #define ITEM_ABOUT    1
  44. #define ITEM_SCORES    2
  45. #define ITEM_RECOVER    3
  46. #define ITEM_CONFIG    4
  47. #define ITEM_QUIT    5
  48.  
  49. #define MENU_GAME    1
  50. #define ITEM_INFO    0
  51. #define ITEM_COPYOPT    1
  52. #define ITEM_DISCARD    2
  53. #define ITEM_RENAME    3
  54.  
  55. #define GADSCROLL    1   /* The scroll bar */
  56. #define GADNEWGAME    2   /* New Game requested */
  57.  
  58. #define GADSCRLUP    3   /* Scroll Up Gadget */
  59. #define GADSCRLDOWN    4   /* Scroll Down Gadget */
  60. #define GADINFOSCRL    5   /* The scroll bar */
  61.  
  62. #define GADQUESTYES    6
  63. #define GADQUESTNO    7
  64.  
  65. #define GADCOMSTR    8
  66.  
  67. #define GADCHARNAME    9
  68. #define GADOUTFILE    10
  69. #define GADCATNAME    11
  70. #define GADDOGNAME    12
  71.  
  72. #define GADSTRSAVE    15
  73. #define GADSTRLEVELS    16
  74. #define GADSTRPATH    17
  75. #define GADSTRPENS    18
  76. #define GADSTRHACKDIR    19
  77. #define GADCONFSAVE    21
  78. #define GADCONFLOAD    22
  79. #define GADCONFNAME    23
  80. #define GADTOOLUP    24
  81. #define GADTOOLDOWN    25
  82. #define GADADDTOOL    26
  83. #define GADDELTOOL    27
  84. #define GADTOOLTYPES    28
  85. #define GADSTRCANCEL    29
  86. #define GADHELPOKAY    30
  87. #define GADHELPFRWD    31
  88. #define GADHELPBKWD    32
  89. #define GADEDITOPTS    33
  90.  
  91. #define GADRESTDIR    34
  92. #define GADRESTOLD    35
  93. #define GADRESTNEW    36
  94. #define GADRESTCAN    37
  95. #define GADRESTOKAY    38
  96. #define GADSAVEINFO    39
  97. #define GADUSEINFO    40
  98. #define GADQUITINFO    41
  99. #define GADPLNAME    42
  100.  
  101. /*
  102.  *  Option gadgets GadgetID's
  103.  */
  104. #define GADOCOLOR    101
  105. #define GADOCONFIRM    102
  106. #define GADODISCLOSE    103
  107. #define GADOFIXINV    104
  108. #define GADONULL    105
  109. #define GADOTIME    106
  110. #define GADONEWS    107
  111. #define GADOHELP    108
  112. #define GADOFLUSH    109
  113. #define GADORESTONSPACE    110
  114. #define GADOPICKUP    111
  115. #define GADOSOUND    112
  116. #define GADONUMBERPAD    113
  117. #define GADOSAFEPET    114
  118. #define GADOSILENT    115
  119. #define GADOTOMBSTONE    116
  120. #define GADOVERBOSE    117
  121. #define GADOSTANDOUT    118
  122. #define GADOSORTPACK    119
  123. #define GADOFEMALE    120
  124. #define GADOIGNINTR    121
  125. #define GADOPACKORDER    122
  126. #define GADODOGNAME    123
  127. #define GADOCATNAME    124
  128. #define GADOFRUIT    125
  129. #define GADOOBJECTS    126
  130. #define GADOASKSAVE    127
  131. #define GADOCANCEL    128
  132. #define GADOOKAY    129
  133. #define GADOCHKPOINT    130
  134. #define GADOHILITEPET    131
  135. #define GADOLEGACY    132
  136. #define GADOLITCORRIDOR    133
  137. #define GADOSHOWEXP    134
  138. #define GADOSHOWSCORE    135
  139. #define    GADONAME    136
  140. #define    GADOSCORE    137
  141. #define    GADOPALETTE    138
  142. #define    GADOWINDOWTYPE    139
  143. #define    GADOMSGHISTORY    140
  144. #define    GADOPICKUPTYPES    141
  145. #define    GADOPETTYPE    142
  146.  
  147. /* Definition of workbench size layout */
  148.  
  149. #define ORIGINX ( win->BorderLeft + 5 )
  150. #define ORIGINY ( win->BorderTop + Message.Height + 5 )
  151. #define CORNERX ( win->Width - win->BorderRight )
  152. #define CORNERY ( win->Height - win->BorderBottom )
  153.  
  154. /* String buffer in String Gadget */
  155.  
  156. #define Sbuff(gd)    (((struct StringInfo*)((gd)->SpecialInfo))->Buffer)
  157.  
  158. /* The string gadgets' buffers */
  159.  
  160. #define StrPath        (Sbuff(&Conf_StrPath))
  161. #define StrOptions    (Sbuff(&Conf_StrOptions))
  162. #define StrHackdir    (Sbuff(&Conf_StrHackdir))
  163. #define StrPens        (Sbuff(&Conf_StrPens))
  164. #define StrLevels    (Sbuff(&Conf_StrLevels))
  165. #define StrSave        (Sbuff(&Conf_StrSave))
  166. #define StrConf        (Sbuff(&Conf_ConfigName))
  167.  
  168. #define RstDir        (Sbuff(&Rst_RestDir))
  169. #define RstOld        (Sbuff(&Rst_RestOld))
  170. #define RstNew        (Sbuff(&Rst_RestNew))
  171.  
  172. #define StrString    (Sbuff(&Str_String))
  173.  
  174. #define StrTools    (Sbuff(&Info_ToolTypes))
  175. #define StrPlayer    (Sbuff(&Info_Player))
  176.  
  177. #define GAMEIMAGE    "HackExe:NetHack"
  178. #define GAMESTACK    50000
  179.  
  180. #define PATH_IDX    0
  181. #define OPTIONS_IDX    1
  182. #define HACKDIR_IDX    2
  183. #define LEVELS_IDX    3
  184. #define SAVE_IDX    4
  185. #define PENS_IDX    5
  186.  
  187. #define NUMIDX        6
  188.  
  189. #define PL_RANDOM    0
  190. #define PL_ARCHEOLOGIST    1
  191. #define PL_BARBARIAN    2
  192. #define PL_CAVEMAN    3
  193. #define PL_ELF        4
  194. #define PL_HEALER    5
  195. #define PL_KNIGHT    6
  196. #define PL_PRIEST    7
  197. #define PL_ROGUE    8
  198. #define PL_SAMURAI    9
  199. #define PL_TOURIST    10
  200. #define PL_VALKYRIE    11
  201. #define PL_WIZARD    12
  202.  
  203. #define MENUITEMNO( menu, itm, sitm ) FULLMENUNUM( menu, itm, sitm )
  204. #define GADWIDTH( gad )     max((gad)->Width, \
  205.             strlen((gad)->GadgetText->IText) * win->RPort->TxWidth)
  206.  
  207. /* Horizontal space between gadgets */
  208. #define GADINCX        10
  209.  
  210. /* Vertical space between gadgets */
  211. #define GADINCY        (win->RPort->TxHeight + 1)
  212.  
  213. #define NO_FLASH    0
  214. #define FLASH        1
  215.