home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / gnu / nethack-3.1 / sys / amiga / wbdefs.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-01-22  |  4.9 KB  |  216 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_EDNEW        4*/
  47. #define ITEM_EDDEF    4
  48. #define ITEM_CONFIG    5
  49. #define ITEM_QUIT    6
  50.  
  51. #define MENU_GAME    1
  52. #define ITEM_INFO    0
  53. #define ITEM_SETCOMMENT    1
  54. #define ITEM_SETOPT    2
  55. #define ITEM_COPYOPT    3
  56. #define ITEM_DISCARD    4
  57. #define ITEM_RENAME    5
  58.  
  59. #define GADSCROLL    1   /* The scroll bar */
  60. #define GADNEWGAME    2   /* New Game requested */
  61.  
  62. #define GADSCRLUP    3   /* Scroll Up Gadget */
  63. #define GADSCRLDOWN    4   /* Scroll Down Gadget */
  64. #define GADINFOSCRL    5   /* The scroll bar */
  65.  
  66. #define GADQUESTYES    6
  67. #define GADQUESTNO    7
  68.  
  69. #define GADCOMSTR    8
  70.  
  71. #define GADCHARNAME    9
  72. #define GADOUTFILE    10
  73. #define GADCATNAME    11
  74. #define GADDOGNAME    12
  75. #define GADDEFLOAD    13
  76. #define GADDEFSAVE    14
  77.  
  78. #define GADSTRSAVE    15
  79. #define GADSTRLEVELS    16
  80. #define GADSTRPATH    17
  81. #define GADSTRPENS    18
  82. #define GADSTRHACKDIR    19
  83. #define GADEDOPTIONS    20
  84. #define GADCONFSAVE    21
  85. #define GADCONFLOAD    22
  86. #define GADCONFNAME    23
  87. #define GADTOOLUP    24
  88. #define GADTOOLDOWN    25
  89. #define GADADDTOOL    26
  90. #define GADDELTOOL    27
  91. #define GADTOOLTYPES    28
  92. #define GADSTRCANCEL    29
  93. #define GADHELPOKAY    30
  94. #define GADHELPFRWD    31
  95. #define GADHELPBKWD    32
  96. #define GADEDDEF    33
  97.  
  98. #define GADRESTDIR    34
  99. #define GADRESTOLD    35
  100. #define GADRESTNEW    36
  101. #define GADRESTCAN    37
  102. #define GADRESTOKAY    38
  103.  
  104. /*
  105.  *  Option gadgets GadgetID's
  106.  */
  107. #define GADOCOLOR    101
  108. #define GADOCONFIRM    102
  109. #define GADODISCLOSE    103
  110. #define GADOFIXINV    104
  111. #define GADONULL    105
  112. #define GADOTIME    106
  113. #define GADONEWS    107
  114. #define GADOHELP    108
  115. #define GADOFLUSH    109
  116. #define GADORESTONSPACE    110
  117. #define GADOPICKUP    111
  118. #define GADOSOUND    112
  119. #define GADONUMBERPAD    113
  120. #define GADOSAFEPET    114
  121. #define GADOSILENT    115
  122. #define GADOTOMBSTONE    116
  123. #define GADOVERBOSE    117
  124. #define GADOSTANDOUT    118
  125. #define GADOSORTPACK    119
  126. #define GADOFEMALE    120
  127. #define GADOIGNINTR    121
  128. #define GADOPACKORDER    122
  129. #define GADODOGNAME    123
  130. #define GADOCATNAME    124
  131. #define GADOFRUIT    125
  132. #define GADOOBJECTS    126
  133. #define GADOASKSAVE    127
  134. #define GADOCANCEL    128
  135. #define GADOOKAY    129
  136. #define GADOCHKPOINT    130
  137. #define GADOHILITEPET    131
  138. #define GADOLEGACY    132
  139. #define GADOLITCORRIDOR    133
  140. #define GADOSHOWEXP    134
  141. #define GADOSHOWSCORE    135
  142.  
  143. /* Definition of workbench size layout */
  144.  
  145. #define ORIGINX ( win->BorderLeft + 5 )
  146. #define ORIGINY ( win->BorderTop + Message.Height + 5 )
  147. #define CORNERX ( win->Width - win->BorderRight )
  148. #define CORNERY ( win->Height - win->BorderBottom )
  149.  
  150. /* String buffer in String Gadget */
  151.  
  152. #define Sbuff(gd)    (((struct StringInfo*)((gd)->SpecialInfo))->Buffer)
  153.  
  154. /* The string gadgets' buffers */
  155.  
  156. #define StrPath        (Sbuff(&Conf_StrPath))
  157. #define StrOptions    (Sbuff(&Conf_StrOptions))
  158. #define StrHackdir    (Sbuff(&Conf_StrHackdir))
  159. #define StrPens        (Sbuff(&Conf_StrPens))
  160. #define StrLevels    (Sbuff(&Conf_StrLevels))
  161. #define StrSave        (Sbuff(&Conf_StrSave))
  162. #define NetHackCnf    (Sbuff(&Conf_ConfigName))
  163.  
  164. #define RstDir        (Sbuff(&Rst_RestDir))
  165. #define RstOld        (Sbuff(&Rst_RestOld))
  166. #define RstNew        (Sbuff(&Rst_RestNew))
  167.  
  168. #define DefPlayerName    (Sbuff(&Defs_PlayerName))
  169. #define DefOutFile    (Sbuff(&Defs_DefaultName))
  170.  
  171. #define StrString    (Sbuff(&Str_String))
  172.  
  173. #define StrTools    (Sbuff(&Info_ToolTypes))
  174.  
  175. #define GAMEIMAGE    "HackExe:NetHack"
  176. #define GAMESTACK    50000
  177.  
  178. #define PATH_IDX    0
  179. #define OPTIONS_IDX    1
  180. #define HACKDIR_IDX    2
  181. #define LEVELS_IDX    3
  182. #define SAVE_IDX    4
  183. #define PENS_IDX    5
  184.  
  185. #define NUMIDX        6
  186.  
  187. #define PL_RANDOM    0
  188. #define PL_ARCHEOLOGIST    1
  189. #define PL_BARBARIAN    2
  190. #define PL_CAVEMAN    3
  191. #define PL_ELF        4
  192. #define PL_HEALER    5
  193. #define PL_KNIGHT    6
  194. #define PL_PRIEST    7
  195. #define PL_ROGUE    8
  196. #define PL_SAMURAI    9
  197. #define PL_TOURIST    10
  198. #define PL_VALKYRIE    11
  199. #define PL_WIZARD    12
  200.  
  201. #define MENUITEMNO( menu, itm, sitm ) FULLMENUNUM( menu, itm, sitm )
  202. #define GADWIDTH( gad )     max((gad)->Width, \
  203.             strlen((gad)->GadgetText->IText) * win->RPort->TxWidth)
  204.  
  205. /* Horizontal space between gadgets */
  206. #define GADINCX        10
  207.  
  208. /* Vertical space between gadgets */
  209. #define GADINCY        (win->RPort->TxHeight + 1)
  210.  
  211. #define NO_FLASH    0
  212. #define FLASH        1
  213.  
  214. #define GAME_FROM_DEFAULT   0
  215. #define GAME_FROM_INFO      1
  216.