home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / games / volume15 / dinkum2 / part01 < prev    next >
Encoding:
Internet Message Format  |  1993-01-26  |  49.9 KB

  1. Path: uunet!news.tek.com!master!saab!billr
  2. From: billr@saab.CNA.TEK.COM (Bill Randle)
  3. Newsgroups: comp.sources.games
  4. Subject: v15i036:  dinkum2 - australian text adventure game, Part01/07
  5. Message-ID: <4192@master.CNA.TEK.COM>
  6. Date: 14 Jan 93 03:24:50 GMT
  7. Sender: news@master.CNA.TEK.COM
  8. Lines: 1105
  9. Approved: billr@saab.CNA.TEK.COM
  10. Xref: uunet comp.sources.games:1535
  11.  
  12. Submitted-by: Gary Allen <gary@sun.mech.uq.oz.au>
  13. Posting-number: Volume 15, Issue 36
  14. Archive-name: dinkum2/Part01
  15. Supersedes: dinkum: Volume 15, Issue 21-26
  16. Environment: Unix, DOS
  17.  
  18.     [The context diffs for this version were almost as large as the
  19.      source, so the new source is being posted in its entirety.  -br]
  20.  
  21. #! /bin/sh
  22. # This is a shell archive.  Remove anything before this line, then unpack
  23. # it by saving it into a file and typing "sh file".  To overwrite existing
  24. # files, type "sh file -c".  You can also feed this as standard input via
  25. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  26. # will see the following message at the end:
  27. #        "End of archive 1 (of 7)."
  28. # Contents:  README MANIFEST dink_glb.h make.dos make.unx makefile
  29. # Wrapped by billr@saab on Wed Jan 13 19:20:18 1993
  30. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  31. if test -f 'README' -a "${1}" != "-c" ; then 
  32.   echo shar: Will not clobber existing file \"'README'\"
  33. else
  34. echo shar: Extracting \"'README'\" \(5908 characters\)
  35. sed "s/^X//" >'README' <<'END_OF_FILE'
  36. X                Comments on the Revised Version of Dinkum                
  37. X                              5 January 1993                            
  38. X
  39. XThis version  of  Dinkum  (Ver.  2.3)  has  several  slight  improvements 
  40. Xperceptible to the user and significant improvements perceptible  to  the 
  41. Xprogrammer.   Because  the  improvements  are  slight  from  the   user's 
  42. Xperspective, a non-programming user should not delete the  older  version 
  43. Xof Dinkum until it has been established  that  this  newer  version  will 
  44. Xcompile on the user's computer.  The user will  notice  some  minor  bugs 
  45. Xcorrected and there being more "Australia content" in the  above  ground, 
  46. Xpre-game component of Dinkum.  There were some fairly  glaring  omissions 
  47. Xin the earlier version of the game  concerning  Australia  content,  i.e. 
  48. Xthere is a road in Dinkum but the earlier version had no  road trains  or 
  49. Xdead kangaroos (the  two  most  striking  characteristics  of  Australian 
  50. Xroads).  Many people complained about the  lack  of  a  Save  command  in 
  51. XDinkum.  My original omission of the Save command  was  deliberate.   The 
  52. Xtwo main reasons why people play a text adventure game is either to be  a 
  53. Xan active  participant  in  an  action/fantasy  story  or  to  experience 
  54. Xcommunicating through natural language to  a  computer.   Both  of  these 
  55. Xaspects are defeated by using a Save command.  However my  impression  is 
  56. Xthat many people insist on having a Save command and won't play the  game 
  57. Xif it isn't there.  Consequently I've come up with a compromise.  If  you 
  58. Xstart the game by typing "dinkum -s" rather than simply "dinkum" then the 
  59. Xgame creates a "data recorder" which appears  in  the  beginning  of  the 
  60. Xgame.  The data recorder acts like a tape recorder allowing the  user  to 
  61. Xsave moves and play them  back  in  the  current  or  later  games.   The 
  62. Xgenerated file is in ASCII format  and  can  be  edited  after  finishing 
  63. XDinkum.  Type "examine recorder" after having taken it  and  Dinkum  will 
  64. Xexplain how to use it.  This data recorder  has  a  couple  of  important 
  65. Xlimitations:  Unlike most adventure games, Dinkum is  dynamic,  viz.  the 
  66. Xgame changes every time you play it.  So if you record  a  script  for  a 
  67. Xgame which takes you to a room where  you  find  a  weapon  and  then  to 
  68. Xanother room where you find a monster, then the next time  you  use  that 
  69. Xscript you may find the monster where you  previously  found  the  weapon 
  70. X(leading to a fairly short game).   The  other  limitation  of  the  data 
  71. Xrecorder is if you use the  "dinkum -s"  switch  then  you  will  not  be 
  72. Xadmitted into the end game with  the  consequence  being  that  "winning" 
  73. XDinkum is impossible.  To win Dinkum you  must  play  it  "on  your  own" 
  74. Xwithout the unfair advantage of script files and a data recorder.
  75. X
  76. XIn the "dinkum -h" help description I have  a  strict  "NO  MODIFICATION" 
  77. Xrule for Dinkum.  This rule is to protect myself against  people  hacking 
  78. Xon Dinkum and releasing to the public indecent or buggy versions  of  the 
  79. Xgame with my name on it.  Despite this rule I strongly  encourage  people 
  80. Xto hack on Dinkum provided they comment all of  their  modifications  and 
  81. Xdon't release their hacked versions directly to the public.  If you think 
  82. Xyou have an improvement to Dinkum then please send me a  copy  and  if  I 
  83. Xagree that it benefits the game then I'll incorporate it  into  the  next 
  84. Xrelease with suitable acknowledgements to yourself.  
  85. X
  86. XI've significantly improved the coding style of Dinkum from  the  earlier 
  87. Xversion, i.e. you won't find a single "goto" in Dinkum.  Dinkum  is  much 
  88. Xbetter structured than it was before  and  makes  better  use  of  the  C 
  89. Xprogramming language.  Dinkum has lots of scope for  improvement  and  is 
  90. Xstill full of blemishes.  However I would like  to  limit  the  scope  of 
  91. Xmodifications to Dinkum in some significant ways:  First, no  enhancement 
  92. Xto  Dinkum  can  be  allowed  that  reduces  portability.   If   anything 
  93. Xportability needs to be enhanced.  Dinkum is designed for both  the  Unix 
  94. Xand  DOS  operating  systems.   Dinkum  will  presently  compile  without 
  95. Xwarnings in DOS/TURBO-C Ver. 2, Sun OS, IBM RISC/6000, 386BSD  and on the 
  96. XSGI Iris.   The Dinkum executable must remain a single file and be  small 
  97. Xenough that the uncompressed DOS executable can fit on  a  double  sided, 
  98. Xdouble density floppy disk.  This insures naive DOS users  with  old  PCs 
  99. Xcan easily use Dinkum.  The central layout of the game  from  the  user's 
  100. Xperspective should remain unchanged.  Improvements should  focus  instead 
  101. Xon enhancing natural language recognition, for example:  Dinkum  can  not 
  102. Xcurrently support compound sentences, i.e. "Take the whidjitty grub after 
  103. Xlifting the rock and eat the  grub".   Dinkum  does  not  really  support 
  104. Xquestions, i.e. a character appears and the user asks the character  "How 
  105. Xdo I unlock the door?".  Questions represent an entirely different syntax 
  106. Xfrom imperative commands.  Also question answering capability would allow 
  107. Xfor inclusion of an ELIZA type subroutine for responding to questions not 
  108. Xaccounted for in the game's context.  This could allow for the game going 
  109. Xthrough many question/answer  cycles  before  failing  the  Turing  test.  
  110. XThere are many words and synonyms that Dinkum  does  not  recognize  even 
  111. Xthough these words appear in the game.  Anyway these are the improvements 
  112. XI would like to see in Dinkum and over the years will probably write them 
  113. Xin myself if someone else doesn't beat me  to  it.   Any  suggestions  or 
  114. Xsoftware contributions along these lines would be gratefully received.  
  115. X
  116. XI hope you enjoy playing Dinkum.  If you succeed in winning at Dinkum (it 
  117. Xisn't easy) then please let me know,  my  address  appears  if  you  type 
  118. X"dinkum -h".
  119. X
  120. X                            Gary A. Allen, Jr.                           
  121. END_OF_FILE
  122. if test 5908 -ne `wc -c <'README'`; then
  123.     echo shar: \"'README'\" unpacked with wrong size!
  124. fi
  125. # end of 'README'
  126. fi
  127. if test -f 'MANIFEST' -a "${1}" != "-c" ; then 
  128.   echo shar: Will not clobber existing file \"'MANIFEST'\"
  129. else
  130. echo shar: Extracting \"'MANIFEST'\" \(641 characters\)
  131. sed "s/^X//" >'MANIFEST' <<'END_OF_FILE'
  132. X   File Name        Archive #    Description
  133. X-----------------------------------------------------------
  134. X MANIFEST                   1    This shipping list
  135. X README                     1    
  136. X actor.c                    3    
  137. X describe.c                 6    
  138. X dink_glb.h                 1    
  139. X dink_sym.h                 7    
  140. X dinkum.c                   2    
  141. X longdsc.c                  5    
  142. X make.dos                   1    
  143. X make.unx                   1    
  144. X makefile                   1    
  145. X monster.c                  4    
  146. X objlook.c                  4    
  147. X opener.c                   5    
  148. X parse.c                    6    
  149. X pusher.c                   2    
  150. X taker.c                    3    
  151. END_OF_FILE
  152. if test 641 -ne `wc -c <'MANIFEST'`; then
  153.     echo shar: \"'MANIFEST'\" unpacked with wrong size!
  154. fi
  155. # end of 'MANIFEST'
  156. fi
  157. if test -f 'dink_glb.h' -a "${1}" != "-c" ; then 
  158.   echo shar: Will not clobber existing file \"'dink_glb.h'\"
  159. else
  160. echo shar: Extracting \"'dink_glb.h'\" \(37337 characters\)
  161. sed "s/^X//" >'dink_glb.h' <<'END_OF_FILE'
  162. X/***************************************************************/
  163. X/*                                                             */
  164. X/*             --- Global Variables Header File ---            */
  165. X/*                                                             */
  166. X/*        Software by Gary A. Allen, Jr.  3 January 1993       */
  167. X/*           (c) Copyright 1993 by Gary A. Allen, Jr.          */
  168. X/*                                                             */
  169. X/***************************************************************/
  170. X/* repeated global varaiable dimenions */
  171. X#define DM_letmax        322    /* DM_letmax = DM_vocab - 1 */
  172. X#define DM_vocab        323
  173. X#define DM_tag            324    /* DM_tag    = DM_vocab + 1 */
  174. X
  175. X#define DM_room             249
  176. X
  177. X#define DM_object        69
  178. X#define DM_objcnt        68    /* DM_objcnt = DM_object - 1 */
  179. X
  180. X#define DM_enemy_cnt_m1        14 
  181. X#define DM_enemy_cnt         15 
  182. X
  183. X/***************************************************************/
  184. X
  185. X#ifdef DINKUM
  186. Xextern int room[DM_room][16] ;
  187. Xextern int objcnt ; 
  188. Xextern int object[DM_object][6] ;
  189. Xextern int tag[DM_tag] ;
  190. Xextern int sw_transport ;
  191. Xint gleep_count = 0 ; /* gleeps being carried */
  192. Xint verb, max_score = 1100 ;
  193. Xint sw_wizard = FALSE, sw_script = FALSE ;
  194. Xlong clock_explode ;
  195. Xint sw_warned, flag_clock, sw_clock = FALSE, i_poison = 0 ;
  196. X/* gleep initialization matrix */
  197. Xint gleep_init[10][4] = {
  198. X97,    98,    101,    102,
  199. X98,    99,    102,    103,
  200. X99,    100,    103,    96,
  201. X100,    101,    96,    97,
  202. X101,    102,    97,    98,
  203. X102,    103,    98,    99,
  204. X103,    96,    99,    100,
  205. X134,    132,    136,    137,
  206. X69,    66,    90,    89,
  207. X74,    72,    68,    92 
  208. X};
  209. Xint gleep_spot[10] ; /* gleep reproduction room pointer array */
  210. Xint gleep_score = 0 ; /* gleeps dropped in the gleep tank */
  211. X
  212. X/* monster matrix initialization matrix */
  213. X/*  --- NEVER have a monster initialized next to the        */
  214. X/*  Mutant Wombat.  This leads to an intractable bug        */
  215. X/*  which need to be solved for eventually but is currently */
  216. X/*  swept under the carpet.                                 */
  217. Xint mon_init[DM_enemy_cnt][4] = {
  218. X/* Mutant Wombat */
  219. X139,    67,    86,    115,
  220. X/* Drop Bears    */
  221. X77,    75,    78,    79,
  222. X103,    97,    98,    71,
  223. X64,    60,    62,    93,
  224. X67,    81,    66,    75,
  225. X/* Hoop Snakes   */
  226. X93,    95,    94,    64,
  227. X75,    73,    76,    67,
  228. X71,    128,    67,    77,
  229. X52,    53,    51,    103,
  230. X115,    114,    113,    129,
  231. X131,    130,    129,    80,
  232. X119,    120,    118,    84,
  233. X109,    87,    83,    52,
  234. X/* Revolutionary Guards */
  235. X241,    241,    241,    241,
  236. X/* Chief Mullah */
  237. X242,    242,    242,    242
  238. X} ;
  239. X/* object matrix initialization matrix */
  240. X/* --- The orange ammo clip should not be set in a dead end, otherwise  */
  241. X/*     that version of the game is almost unwinnable due to the wombat. */
  242. Xint obj_init_max = 50 ;
  243. Xint obj_init[51][5] = {
  244. XO_can,        1,    1,    1,    1,
  245. XO_butt,        165,    166,    161,    152,
  246. XO_bottle,    2,    2,     2,    2,
  247. XO_gold,        54,    53,    55,    56,
  248. XO_dynamite,    78,    91,    69,    117,
  249. XO_clip,        48,    52,    52,    48,
  250. XO_org_clip,    80,    68,    113,    99,
  251. XO_rifle,    48,    56,    48,    52,
  252. XO_cap,        183,    184,    183,    184,
  253. XO_matches,    69,    85,    78,    121,
  254. XO_ring,        87,    135,    127,    105,
  255. XO_ruby,        99,    106,    114,    74,
  256. XO_coin,        127,    127,    87,    87,
  257. XO_bill,        135,    87,    135,    127,
  258. XO_pills,    85,    83,    91,    78,
  259. XO_saphire,    91,    78,    85,    69,
  260. XO_emerald,    68,    74,    117,    66,
  261. XO_letter,    177,    177,    177,    177,
  262. XO_torch,    92,    114,    66,    53,
  263. XO_cube,        202,    202,    202,    202,
  264. XO_wrapper,    171,    216,    239,    101,
  265. XO_tire,        47,    47,    47,    47,
  266. XO_shell,    82,    107,    213,    175,
  267. XO_brick,    33,    33,    33,    33,
  268. XO_rope,        209,    179,    181,    155,
  269. XO_package,    156,    137,    95,    113,
  270. XO_belt,        21,    21,    21,    21,
  271. XO_filter,    142,    142,    142,    142,
  272. XO_string,    204,    88,    118,    167,
  273. XO_umbrella,    37,    37,    37,    37,
  274. XO_tackle,    9,    9,    9,    9,
  275. XO_bit,        105,    117,    90,    184,
  276. XO_jack,        81,    81,    81,    81,
  277. XO_pen,        177,    177,    177,    177,
  278. XO_pencil,    202,    202,    202,    202,
  279. XO_wire,        214,    154,    159,    151,
  280. XO_pipe,        206,    239,    166,    151,
  281. XO_opener,    63,    62,    61,    60,
  282. XO_cord,        80,    131,    119,    79,
  283. XO_photo,    206,    160,    155,    180,
  284. XO_chair,    177,    177,    177,    177,
  285. XO_bulb,        154,    162,    164,    181,
  286. XO_rag,        92,    89,    73,    132,
  287. XO_tube,        139,    121,    129,    132,
  288. XO_carpet,    41,    41,    41,    41,
  289. XO_branch,    28,    28,    28,    28,
  290. XO_cork,        130,    122,    115,    109,
  291. XO_trap,        146,    146,    146,    146,
  292. XO_lighter,    210,    213,    46,    79,
  293. XO_lace,        126,    136,    67,    72,
  294. XO_comb,        164,    157,    156,    172
  295. X} ;
  296. X
  297. X/************************************************/
  298. X/*           --- Monster Types ---        */
  299. X/*                                              */
  300. X/*   Monster Type                   */
  301. X/*      = 0 = N_ned = Ned Kelly            */
  302. X/*      = 1 = N_wombat = Mutant Wombat        */
  303. X/*      = (2 - 5) = Drop Bears (four total)    */
  304. X/*      = (6 - 13) = Hoop Snakes (eight total)    */
  305. X/*      = 14 = Revolutionary Guards             */
  306. X/*      = 15 = Chief Mullah                        */
  307. X/*                                              */
  308. X/************************************************/
  309. Xint enemy_max = DM_enemy_cnt ;
  310. Xstruct monster_struct *monster_start ;
  311. Xstruct monster_struct *Ned ;
  312. Xstruct monster_struct *Guards ;
  313. Xstruct monster_struct *Wombat ;
  314. Xstruct monster_struct *Mullah ;
  315. X
  316. Xint score = 0 ;
  317. Xint monster_flag = F_no_monster ;
  318. Xint carry_count, carry_weight ;
  319. X#endif
  320. X
  321. X/***************************************************************/
  322. X
  323. X#ifdef OBJLKR
  324. Xextern int tag[DM_tag] ;
  325. Xextern int sw_warned, score, gleep_score, max_score, sw_wizard, sw_script ;
  326. Xextern struct monster_struct *Ned ;
  327. X
  328. X/* a switch used in the "kelly" subroutine */
  329. Xint sw_valuable = FALSE ;
  330. X
  331. X/* layout matrix for game */
  332. X/*   n = room number      */ 
  333. X
  334. X/*   The direction elements contain the adjoining room or a wall */
  335. X/*   if the element value is negative.                           */
  336. X/*     room[n][0] = north direction      */
  337. X/*     room[n][1] = south direction      */
  338. X/*     room[n][2] = east direction       */
  339. X/*     room[n][3] = west direction       */
  340. X/*     room[n][4] = up direction         */
  341. X/*     room[n][5] = down direction       */
  342. X/*     room[n][6] = north-east direction */
  343. X/*     room[n][7] = north-west direction */
  344. X/*     room[n][8] = south-east direction */
  345. X/*     room[n][9] = south-west direction */
  346. X
  347. X/*  room[n][10] points to the room type                      */
  348. X/*               = -1 == instantly lethal                    */
  349. X/*               =  1 == long description                    */
  350. X/*               =  2 == contains a nonmovable action device */
  351. X/*               =  3 == used to have a long description     */
  352. X/*               =  4 == contains a nonmovable device        */
  353. X/*               =  5 == room goes into itself (looping)     */
  354. X/*  room[n][11] flag indicates number of objects in room.    */
  355. X/*  room[n][12] is the room status number as refered by type */
  356. X/*  room[n][13] is the monster indicater, 0 = no monsters    */
  357. X/*  room[n][14] is the gleep count                           */
  358. X/*  room[n][15] points to the description text file          */
  359. X
  360. Xint room [DM_room][16] = {
  361. X  3,  2,  1, 15, -1, -1,  1, 15,  3,  2,  0,  0,  0,  0,  0,  0, 
  362. X  6,  2, 20,  0, -1, -1,  0,  3,  0,  2,  0,  0,  0,  0,  0,  1,
  363. X 28, 11, 29,148, -1, -1, 29, 11, 28,148,  0,  0,  0,  0,  0,  2, 
  364. X  4,  0,  6,  4, -1, -1,  2,  1,  4,  2,  0,  0,  0,  0,  0,  3, 
  365. X  5,  9,  4,  4, -1, -1,  5,  5,  9,  9,  5,  0,  0,  0,  0,  4,
  366. X -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  5,
  367. X  3, 14, 47,  3, -1, -1,  2,  3, 14,  3,  1,  0,  0,  0,  0,  6,
  368. X 14,  8, 14,  8, -1, -1, 14, 14,  8,  8,  0,  0,  0,  0,  0,  7,
  369. X -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  8,
  370. X  4,  1,  6,  4, -1, -1,  0,  2,  0,  1,  0,  0,  0,  0,  0,  9, 
  371. X 14,  6, 14,  3, -1, -1,  6, 14,  6, 14,  0,  0,  0,  0,  0, 10,
  372. X 28, 12, 28, 12, -1, -1, 12, 28,  3,  6,  1,  0,  0,  0,  0, 11,
  373. X 11, 13, 12, 13, -1, -1, 13, 12, 11, 13,  5,  0,  0,  0,  0, 12,
  374. X 13, 13, 13, 13, -1, -1, 13, 13, 13, 12,  5,  0,  0,  0,  0, 13,
  375. X  6,  7,  7, 10, -1, -1,  6, 10,  7,  7,  0,  0,  0,  0,  0, 14,
  376. X147,148,  0, 16, -1, -1,  0,147,  0,148,  0,  0,  0,  0,  0, 15,
  377. X 19, 19, 16, 17, -1, -1, 19, 19, 17, 17,  5,  0,  0,  0,  0, 16,
  378. X 16, 16, 16, 18, -1, -1, 16, 16, 18, 16,  0,  0,  0,  0,  0, 17,
  379. X -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0, 18,
  380. X  3,  2,  0, 16, -1, -1,  0, 16,  2, 16,  0,  0,  0,  0,  0, 19,
  381. X 21,142, 22,  1, -1, -1, 23,  2,141,  1,  0,  0,  0,  0,  0, 20,
  382. X 42, 20,145, 47, -1, -1,145,  1,145,  6,  0,  0,  0,  0,  0, 21,
  383. X 36, 27, -1, 20, -1, -1, -1, 20, -1, 20,  1,  0,  0,  0,  0, 22,
  384. X 25, 24, 25,145, -1, -1, 25,145, 25, 34,  4,  0,  0,  0,  0, 23,
  385. X 23, 26, 25, 33, -1, -1, 25, 33, 25, 32,  0,  0,  0,  0,  0, 24,
  386. X 25, 25, 25, 25, -1, -1,143, 23, 25, 26,  5,  0,  0,  0,  0, 25,
  387. X 24, 25, 25,141, -1, -1, 25, 31, 25,141,  4,  0,  0,  0,  0, 26,
  388. X 22, 30, -1, 20, -1, -1, -1, 20, -1, 20,  2,  0,  0,  0,  0, 27,
  389. X  0,  2, 29,148, -1, -1, 29, 11,  0,  2,  0,  0,  0,  0,  0, 28, 
  390. X142,243,141,  2, -1, -1,141,  2,141,  2,  1,  0,  0,  0,  0, 29,
  391. X 27,141, 31, 20, -1, -1, -1, 20,141,141,  0,  0,  0,  0,  0, 30,
  392. X 32,141, 24, 30, -1, -1, 24, -1, 26,141,  0,  0,  0,  0,  0, 31,
  393. X 33, 31, 24, -1, -1, -1, 24, -1, 24, -1,  0,  0,  0,  0,  0, 32,
  394. X 34, 32, 24, -1, -1, -1, 24, -1, 24, -1,  0,  0,  0,  0,  0, 33,
  395. X145, 33, 24, 35, -1, -1, 23,145, 24, -1,  0,  0,  0,  0,  0, 34,
  396. X145, 36, 34, 20, -1, -1,145,145, -1, 20,  0,  0,  0,  0,  0, 35,
  397. X 35, 22, -1, 20, -1, -1, 35, 20, -1, 20,  2,  0,  0,  0,  0, 36,
  398. X 38, 39, -1, 36, -1, -1, 38, 36, 39, 36,  0,  0,  0,  0,  0, 37,
  399. X -1, 37, -1, -1, -1, -1, -1, -1, -1, 37,  1,  0,  0,  0,  0, 38,
  400. X 37, -1, 41, -1, -1, -1, -1, -1, -1, -1,  1,  0,  0,  0,  0, 39,
  401. X -1, 41, -1, -1, -1, -1, -1, -1, -1, 41,  2,  0,  0,  0,  0, 40,
  402. X 40, -1, -1, 39, -1, -1, 40, -1, -1, -1,  4,  0,  0,  0,  0, 41,
  403. X246, 21,145,  6, -1, -1,145,  1,145,  6,  0,  0,  0,  0,  0, 42,
  404. X -1, -1, -1, 27, -1, -1, -1, 27, -1, -1,  1,  0,  4,  0,  0, 43,
  405. X -1, -1, 43, 48, -1, -1, -1, -1, 43, -1,  0,  0,  0,  0,  0, 44,
  406. X -1,204, 43,149, -1, -1, -1, -1, 43, -1,  0,  0,  0,  0,  0, 45,
  407. X239, -1, 43, -1, -1, -1, -1, -1, 43, -1,  0,  0,  0,  0,  0, 46,
  408. X  3, 20, 21,  6, -1, -1, 21,  3, 20,  6,  0,  0,  0,  0,  0, 47, 
  409. X 49, 50, 44, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 48, /*48*/
  410. X 51, 48, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 55, /*49*/
  411. X 48, 56, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 55, /*50*/
  412. X -1, 49, 52, 53, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 51, /*51*/
  413. X -1, -1, 54, 51, -1, 88, -1, -1, -1, -1,  0,  0,  0,  0,  0, 59, /*52*/
  414. X -1, -1, 51, 55, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56, /*53*/
  415. X -1, -1, -1, 52, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 91, /*54*/
  416. X -1, -1, 53, -1, 57, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 62, /*54*/
  417. X 50, -1, -1, -1, -1, -1, -1, -1, 74, 72,  0,  0,  0,  0,  0, 64, /*56*/
  418. X -1, -1, -1, -1, -1, 55, -1, 58, -1, 59,  0,  0,  0,  0,  0, 76, /*57*/
  419. X -1, -1, -1, -1, -1, -1, -1, 60, 57, -1,  0,  0,  0,  0,  0, 57, /*58*/
  420. X -1, -1, -1, -1, -1, -1, 57, -1, -1, 61,  0,  0,  0,  0,  0, 58, /*59*/
  421. X -1, -1, -1, -1, -1, -1, -1, -1, 58, 62,  0,  0,  0,  0,  0, 84, /*60*/
  422. X -1, -1, -1, -1, -1, -1, 59, 63, -1, -1,  0,  0,  0,  0,  0, 87, /*61*/
  423. X -1, -1, -1, -1, -1, -1, 60, -1, -1, 64,  0,  0,  0,  0,  0, 58, /*62*/
  424. X -1, -1, -1, -1, -1, -1, -1, 64, 61, -1,  0,  0,  0,  0,  0, 57, /*63*/
  425. X -1, -1, -1, -1, -1, 65, 62, -1, 63, -1,  0,  0,  0,  0,  0, 77, /*64*/
  426. X -1, 66, -1, -1, 64, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 61, /*65*/
  427. X 65, 67, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 55, /*66*/
  428. X 66, 69, 68, 70, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 78, /*67*/
  429. X -1, -1, 71, 67, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56, /*68*/
  430. X 67, -1, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 92, /*69*/
  431. X121,128, 67, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 48, /*70*/
  432. X -1, -1, -1, 68, -1, -1, 72, -1, 73, -1,  0,  0,  0,  0,  0, 66, /*71*/
  433. X -1, -1, -1, -1, -1, -1, 56, -1, -1, 71,  0,  0,  0,  0,  0, 58, /*72*/
  434. X -1, -1, -1, -1, -1, -1, -1, 71, 75, -1,  0,  0,  0,  0,  0, 57, /*73*/
  435. X -1, -1, -1, -1, -1, -1, -1, 56, 77, -1,  0,  0,  0,  0,  0, 57, /*74*/
  436. X -1, -1, -1, -1, -1, -1, 76, 73, -1, 80,  0,  0,  0,  0,  0, 52, /*75*/
  437. X -1, -1, -1, -1, -1, -1, 77, -1, -1, 75,  0,  0,  0,  0,  0, 58, /*76*/
  438. X -1, -1, -1, -1, -1, -1, 79, 74, 78, 76,  0,  0,  0,  0,  0, 79, /*77*/
  439. X -1, -1, -1, -1, -1, -1, -1, 77, -1, -1,  0,  0,  0,  0,  0, 90, /*78*/
  440. X -1, -1, -1, -1, -1, -1,108, -1, -1, 77,  0,  0,  0,  0,  0, 58, /*79*/
  441. X -1, -1, 81, 82, -1, -1, 75, -1, -1, -1,  0,  0,  0,  0,  0, 74, /*80*/
  442. X -1, -1, -1, 80, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 93, /*81*/
  443. X -1, -1, 80, 83, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56, /*82*/
  444. X -1, 84, 82, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 81, /*83*/
  445. X 83, -1, 85, 86, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 50, /*84*/
  446. X -1, -1, -1, 84, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 90, /*85*/
  447. X 87, -1, 84, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 83, /*86*/
  448. X -1, 86, -1,109, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 94, /*87*/
  449. X -1, -1, -1, -1, 52, -1, 92, -1, -1, 89,  0,  0,  0,  0,  0, 96, /*88*/
  450. X -1, -1, -1, -1, -1, -1, 88, -1, -1, 90,  0,  0,  0,  0,  0, 58, /*89*/
  451. X -1, -1, -1, -1, -1, -1, 89, -1, -1, 91,  0,  0,  0,  0,  0, 58, /*90*/
  452. X -1, -1, -1, -1, -1, -1, 90, -1, -1, -1,  0,  0,  0,  0,  0, 90, /*91*/
  453. X -1, -1, -1, -1, -1, -1, 93, -1, -1, 88,  0,  0,  0,  0,  0, 58, /*92*/
  454. X -1, -1, -1, -1, -1, -1, -1, 94, 95, 92,  0,  0,  0,  0,  0, 95, /*93*/
  455. X -1, -1, -1, -1, 96, -1, -1, -1, 93, -1,  0,  0,  0,  0,  0, 60, /*94*/
  456. X -1, -1, -1, -1, -1, -1, -1, 93,104, -1,  0,  0,  0,  0,  0, 57, /*95*/
  457. X 97, -1,103, -1, -1, 94, -1, -1, -1, -1,  0,  0,  0,  0,  0, 97, /*96*/
  458. X 98, 96, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 55, /*97*/
  459. X -1, 97, 99, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 81, /*98*/
  460. X -1, -1,100, 98, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56, /*99*/
  461. X -1,101, -1, 99, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 80,/*100*/
  462. X100,102, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 55,/*101*/
  463. X101, -1, -1,103, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 82,/*102*/
  464. X -1, -1,102, 96, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*103*/
  465. X -1, -1, -1, -1, -1, -1, -1, 95,105, -1,  0,  0,  0,  0,  0, 57,/*104*/
  466. X -1, -1, -1, -1, -1, -1, -1,104, -1,106,  0,  0,  0,  0,  0, 86,/*105*/
  467. X -1, -1, -1, -1, -1, -1,105, -1, -1,107,  0,  0,  0,  0,  0, 58,/*106*/
  468. X -1, -1, -1, -1, 79, -1,106, -1, -1, -1,  0,  0,  0,  0,  0, 89,/*107*/
  469. X -1, -1, -1, -1, -1,106, -1, -1, -1, 79,  0,  0,  0,  0,  0, 88,/*108*/
  470. X -1, -1, 87,110, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*109*/
  471. X -1, -1,109, -1, -1,140, -1, -1, -1, -1,  0,  0,  0,  0,  0, 99,/*110*/
  472. X -1, -1, -1,140,109, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 98,/*111*/
  473. X -1, -1,140, -1,113, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 62,/*112*/
  474. X114, -1, -1, -1, -1,112, -1, -1, -1, -1,  0,  0,  0,  0,  0,100,/*113*/
  475. X115,113, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 55,/*114*/
  476. X -1,114,118,116, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 51,/*115*/
  477. X -1,117,115, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 81,/*116*/
  478. X116, -1, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0,101,/*117*/
  479. X -1, -1,119,115, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*118*/
  480. X -1,125,120,118, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 51,/*119*/
  481. X -1,122, -1,119, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 80,/*120*/
  482. X -1, 70, -1,122, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 80,/*121*/
  483. X120,123,121, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 48,/*122*/
  484. X122, -1, -1,124, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 82,/*123*/
  485. X -1, -1,123, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 90,/*124*/
  486. X119, -1, -1,126, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 82,/*125*/
  487. X -1,127,125, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 81,/*126*/
  488. X126, -1, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 90,/*127*/
  489. X 70, -1, -1,129, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 82,/*128*/
  490. X130,136,128, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 48,/*129*/
  491. X -1,129, -1,131, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 80,/*130*/
  492. X134,132,130, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 48,/*131*/
  493. X131, -1, -1,133, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 82,/*132*/
  494. X -1, -1,132, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 90,/*133*/
  495. X -1,131, -1,135, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 80,/*134*/
  496. X -1, -1,134, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 90,/*135*/
  497. X129, -1, -1,137, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 82,/*136*/
  498. X -1, -1,136,138, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*137*/
  499. X139, -1,137, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 83,/*138*/
  500. X -1,138, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 90,/*139*/
  501. X -1, -1,111,112, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*140*/
  502. X 30, 26, 26,142, -1, -1, 24, 20, 26,142,  0,  0,  0,  0,  0,102,/*141*/
  503. X 20, 29,141,  2, -1, -1,141,  2,141,  2,  0,  0,  0,  0,  0,103,/*142*/
  504. X 25, 25, 25, 25, -1, -1, 25, 25,144, 25,  0,  0,  0,  0,  0,104,/*143*/
  505. X143,143,146,143, -1, -1,143,143,143,143,  1,  0,  0,  0,  0,105,/*144*/
  506. X 23, 35, 23, 21, -1, -1, 23, 21, 35, 34,  0,  0,  0,  0,  0,106,/*145*/
  507. X -1, -1, -1,144, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0,107,/*146*/
  508. X  3, 15,  3,  3, -1, -1,  3,  3, 15, 15,  1,  0,  0,  0,  0,108,/*147*/
  509. X 15,  2,  2, 15, -1, -1, 15, 15,  2,  2,  0,  0,  0,  0,  0,109,/*148*/
  510. X -1, -1, 45, -1, -1,150, -1, -1, -1, -1,  0,  0,  0,  0,  0,110,/*149*/
  511. X -1,151, -1, -1,149, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 61,/*150*/
  512. X150,152, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 55,/*151*/
  513. X151,153, -1,159, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 49,/*152*/
  514. X152,154, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 55,/*153*/
  515. X153, -1, -1,155, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 82,/*154*/
  516. X -1, -1,154,156, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*155*/
  517. X157, -1,155, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 83,/*156*/
  518. X158,156, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 55,/*157*/
  519. X -1,157,159,160, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 51,/*158*/
  520. X -1, -1,152,158, -1, -1, -1, -1, -1, -1,  1,  0,  0,  0,  0,132,/*159*/
  521. X -1, -1,158,161, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*160*/
  522. X -1, -1,160,162, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*161*/
  523. X -1, -1,161,163, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*162*/
  524. X -1, -1,162,164, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*163*/
  525. X -1, -1,163,165, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*164*/
  526. X -1, -1,164, -1, -1,166, -1, -1, -1, -1,  0,  0,  0,  0,  0,110,/*165*/
  527. X -1, -1,167,178,165, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0,111,/*166*/
  528. X168, -1, -1,166, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 82,/*167*/
  529. X169,167, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 55,/*168*/
  530. X170,168, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 55,/*169*/
  531. X -1,169, -1, -1,171, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 61,/*170*/
  532. X -1, -1,172, -1, -1,170, -1, -1, -1, -1,  0,  0,  0,  0,  0,110,/*171*/
  533. X -1, -1,173,171, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*172*/
  534. X -1, -1,174,172, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*173*/
  535. X -1, -1,175,173, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*174*/
  536. X -1, -1,176,174, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*175*/
  537. X -1, -1,177,175, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*176*/
  538. X -1, -1, -1,176, -1, -1, -1, -1, -1, -1,  1,  0,  0,  0,  0,112,/*177*/
  539. X -1, -1,166,179, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*178*/
  540. X -1, -1,178,180, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*179*/
  541. X -1,181,179, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 81,/*180*/
  542. X180,182, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 55,/*181*/
  543. X181,185,184,183, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 78,/*182*/
  544. X -1, -1,182, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 90,/*183*/
  545. X -1, -1, -1,182, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 90,/*184*/
  546. X182, -1, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 90,/*185*/
  547. X185,187, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 55,/*186*/
  548. X186,189,190,188, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 78,/*187*/
  549. X -1, -1,187, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 90,/*188*/
  550. X187, -1, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 90,/*189*/
  551. X -1, -1,191,187, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*190*/
  552. X192,198, -1,190, -1, -1, -1, -1, -1, -1,  1,  0,  0,  0,  0,113,/*191*/
  553. X -1,191, -1, -1, -1, -1,193, -1, -1, -1,  1,  0,  0,  0,  0,114,/*192*/
  554. X -1, -1, -1, -1, -1, -1, -1, -1,194,192,  1,  0,  0,  0,  0,115,/*193*/
  555. X -1,195, -1, -1, -1, -1, -1,193, -1, -1,  1,  0,  0,  0,  0,116,/*194*/
  556. X194,196, -1, -1, -1, -1, -1, -1, -1, -1,  1,  0,  0,  0,  0,117,/*195*/
  557. X195, -1, -1, -1,199, -1, -1, -1, -1,197,  1,  0,  0,  0,  0,118,/*196*/
  558. X -1, -1, -1, -1, -1, -1,196,198, -1, -1,  1,  0,  0,  0,  0,119,/*197*/
  559. X191, -1, -1, -1, -1, -1, -1, -1,197, -1,  1,  0,  0,  0,  0,120,/*198*/
  560. X200, -1, -1, -1, -1,196, -1, -1, -1, -1,  1,  0,  0,  0,  0,121,/*199*/
  561. X -1,199,201,202, -1, -1, -1, -1, -1, -1,  1,  0,  0,  0,  0,122,/*200*/
  562. X -1, -1, -1,200, -1, -1, -1, -1, -1, -1,  1,  0,  0,  0,  0,123,/*201*/
  563. X -1, -1,200,203, -1, -1, -1, -1, -1, -1,  1,  0,  0,  0,  0,124,/*202*/
  564. X -1, -1,202, -1, -1, -1, -1, -1, -1, -1,  1,  0,  0,  0,  0,125,/*203*/
  565. X 45,205, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 55,/*204*/
  566. X204, -1,206, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 83,/*205*/
  567. X -1, -1, -1,205, -1, -1, -1, -1, -1, -1,  1,  0,  0,  0,  0,126,/*206*/
  568. X -1,208,227, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 81,/*207*/
  569. X207,209,226, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 48,/*208*/
  570. X208,210,225, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 48,/*209*/
  571. X209,211,224, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 48,/*210*/
  572. X210,217,223, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 48,/*211*/
  573. X217,213,222, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 48,/*212*/
  574. X212,214,221, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 48,/*213*/
  575. X213,215,220, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 48,/*214*/
  576. X214,216,219, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 48,/*215*/
  577. X215, -1,218, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 83,/*216*/
  578. X211,212, -1,239, -1, -1, -1, -1, -1, -1,  1,  0,  0,  0,  0,128,/*217*/
  579. X -1, -1,237,216, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0, 56,/*218*/
  580. X -1, -1,236,215, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0, 56,/*219*/
  581. X -1, -1,235,214, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0, 56,/*220*/
  582. X -1, -1,234,213, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0, 56,/*221*/
  583. X -1, -1,233,212, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0, 56,/*222*/
  584. X -1, -1,232,211, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0, 56,/*223*/
  585. X -1, -1,231,210, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0, 56,/*224*/
  586. X -1, -1,230,209, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0, 56,/*225*/
  587. X -1, -1,229,208, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0, 56,/*226*/
  588. X -1, -1,228,207, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0, 56,/*227*/
  589. X -1,229, -1,227, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 80,/*228*/
  590. X228,230, -1,226, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 49,/*229*/
  591. X229,231, -1,225, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 49,/*230*/
  592. X230,232, -1,224, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 49,/*231*/
  593. X231,233, -1,223, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 49,/*232*/
  594. X232,234, -1,222, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 49,/*233*/
  595. X233,235, -1,221, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 49,/*234*/
  596. X234,236, -1,220, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 49,/*235*/
  597. X235,237, -1,219, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 49,/*236*/
  598. X236,238, -1,218, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 49,/*237*/
  599. X237, -1, -1, -1, -1, -1, -1, -1, -1, -1,  1,  0,  0,  0,  0,127,/*238*/
  600. X -1, 46,217, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 81,/*239*/
  601. X241, -1, -1, -1, -1, -1, -1, -1, -1, -1,  1,  0,  0,  0,  0,129,/*240*/
  602. X -1,240,242, -1, -1, -1, -1, -1, -1, -1,  1,  0,  0,  0,  0,130,/*241*/
  603. X -1, -1, -1,241, -1, -1, -1, -1, -1, -1,  1,  0,  0,  0,  0,131,/*242*/
  604. X 29,244,141,  2, -1, -1,141,  2,141,  2,  4,  0,  0,  0,  0,133,/*243*/
  605. X243,245,141,  2, -1, -1,141,  2,141,  2,  0,  0,  0,  0,  0,134,/*244*/
  606. X244, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,135,/*245*/
  607. X247, 42,145,  6, -1, -1,145,  1,145,  6,  4,  0,  0,  0,  0,136,/*246*/
  608. X248,246,145,  6, -1, -1,145,  1,145,  6,  0,  0,  0,  0,  0,134,/*247*/
  609. X -1,247, -1, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,135 /*248*/
  610. X};
  611. X/* Object file */
  612. X/*    object [n][0] = room location if =>0, else =-1 is in possesion */
  613. X/*        of player, = -2 means unmade, = -3 means it is destroyed,  */
  614. X/*        = -5 means the object is in the safe.                      */
  615. X/*    object [n][1] = object's value                                 */
  616. X/*    object [n][2] = external property of the object                */
  617. X/*                  = 1  indicates special action on taking          */
  618. X/*                  = 2  alias                         */
  619. X/*                  = 3  nonmovable object which has no actions      */
  620. X/*    object [n][3] = object parse id name                           */
  621. X/*    object [n][4] = object's weight                                */
  622. X/*    object [n][5] = internal property of the object                */
  623. Xint objcnt = DM_objcnt;
  624. Xint object[DM_object][6] = {
  625. X 0, 0,      0,      V_can,        10,    0,        
  626. X 0, 0,      0,      V_butt,        1,     0,
  627. X 0, 0,      0,      V_bottle,    20,     0,
  628. X36, 0,  Z_transform,      V_mat,         300,     0,
  629. X-2, 0,      0,      V_key,         5,     0,
  630. X 0, 0,        0,    V_umbrella,    100,     0,
  631. X 0, 0,        0,    V_tackle,     50,     0,
  632. X 0, 0,        0,    V_bit,         10,     0,
  633. X38, 0,  Z_transform,      V_map,        10,     0,
  634. X-2, 0,      0,      V_map,        10,     0,
  635. X-5, 0,      0,      V_paper,    10,     0,
  636. X 0, 200,        0,    V_gold,     500,     0,
  637. X 0, 0,        0,    V_jack,        400,     0,
  638. X 0, 0,        0,    V_dynamite,    100,     0,
  639. X 0, 0,      0,    V_clip,     50,     150,
  640. X 0, 0,        0,    V_pen,         5,     0,
  641. X 0, 0,      0,    V_org_clip,    50,     5,
  642. X 0, 0,        0,    V_pencil,     5,     0,
  643. X 0, 0,      0,    V_rifle,     300,     0,
  644. X 0, 0,        0,    V_wire,     100,     0,
  645. X 0, 0,        0,    V_pipe,        200,     0,
  646. X 0, 0,      0,    V_cap,        5,     0,
  647. X 0, 0,      0,      V_matches,    2,     0,
  648. X 0, 100,      0,      V_ring,     5,     0,
  649. X 0, 0,        0,    V_opener,    10,     0,
  650. X 0, 100,      0,      V_ruby,     30,     0,
  651. X-2, 200,      0,      V_teapot,    50,     0,
  652. X 0, 150,      0,      V_coin,     7,     0,
  653. X 0, 0,        0,    V_cord,        70,     0,
  654. X 0, 100,    0,    V_bill,        5,     0,
  655. X 0, 0,        0,    V_photo,    5,     0,
  656. X 0, 0,        0,    V_chair,    500,     0,
  657. X 0, 0,        0,    V_bulb,        10,     0,
  658. X 0, 0,        0,      V_pills,    10,     0,
  659. X 0, 150,    0,      V_saphire,    30,     0,
  660. X 0, 100,    0,      V_emerald,    30,     0,
  661. X 0, 0,        0,    V_rag,          50,     0,
  662. X 0, 0,        0,    V_tube,        50,     0,
  663. X 0, 0,        0,    V_carpet,    400,     0,
  664. X 0, 0,        0,    V_branch,    400,     0,
  665. X 0, 0,        0,      V_letter,    10,     0,
  666. X 0, 0,        0,    V_cork,     5,     0,
  667. X 0, 0,        0,      V_torch,    100,     0,
  668. X 0, 0,        0,    V_trap,        5,     0,
  669. X 0, 0,        0,    V_lighter,    5,     0,
  670. X 0, 0,        0,      V_cube,     50,     0,
  671. X-2, 700,      0,      V_clapper,    100,     0,
  672. X-2, 0,      0,      V_detector,    100,     0,
  673. X 0, 0,        0,    V_lace,        2,     0,
  674. X 0, 0,        0,    V_comb,        5,     0,
  675. X 0, 0,        0,    V_wrapper,    3,     0,
  676. X 0, 0,        0,    V_tire,        400,     0,
  677. X 0, 0,        0,    V_shell,    3,     0,
  678. X 0, 0,        0,    V_brick,    100,     0,
  679. X 0, 0,        0,    V_rope,        100,     0,
  680. X 0, 0,        0,    V_package,    5,     0,
  681. X 0, 0,        0,    V_belt,        10,     0,
  682. X 0, 0,        0,    V_filter,    50,     0,
  683. X 0, 0,        0,    V_string,    5,    0,
  684. X-2, 0,      0,      V_recorder,    0,     0,
  685. X39, 0,    Z_unmovable,    V_poster,    0,    0,
  686. X41, 0,    Z_unmovable,    V_poster,    0,    0,
  687. X39, 0,    Z_unmovable,    V_cockroach,    0,    0,
  688. X41, 0,    Z_unmovable,    V_cockroach,    0,    0,
  689. X243, 0,    Z_unmovable,    V_kangaroo,    0,    0,
  690. X246, 0,    Z_unmovable,    V_kangaroo,    0,    0,
  691. X26, 0,    Z_unmovable,    V_spinifex,    0,    0,
  692. X238, 0,    Z_unmovable,    V_gong,     0,    0,
  693. X23, 0,    Z_unmovable,    V_bulldust,    0,    0
  694. X};     
  695. X
  696. X#endif
  697. X
  698. X/***************************************************************/
  699. X
  700. X#ifdef DSCRB
  701. Xint pill_count = 7 ;
  702. Xextern int room[DM_room][16] ;
  703. Xextern int sw_active ;
  704. Xint rifle_flag = F_safety ;
  705. Xextern int clip_flag ;
  706. Xextern int object[DM_object][6] ;
  707. Xextern struct monster_struct *Ned ;
  708. X#endif
  709. X
  710. X/***************************************************************/
  711. X
  712. X#ifdef PUSHER
  713. X/* subroutines: new_score, pusher, switcher */
  714. Xextern int room[DM_room][16] ;
  715. Xextern int tag[DM_tag] ;
  716. Xextern int objcnt ; 
  717. Xextern int object[DM_object][6] ;
  718. Xextern int monster_flag, rifle_flag, sw_script ;
  719. Xint sw_transport = FALSE, sw_recording = FALSE, sw_playing = FALSE ;
  720. Xextern int verb, score;
  721. XFILE *fp ;
  722. X#endif
  723. X
  724. X/***************************************************************/
  725. X
  726. X#ifdef LONG_DESCP
  727. Xextern int room[DM_room][16] ;
  728. Xextern int objcnt ; 
  729. Xextern int object[DM_object][6] ;
  730. Xextern int monster_flag ;
  731. X#endif
  732. X
  733. X/***************************************************************/
  734. X
  735. X#ifdef ACTOR
  736. Xextern int room[DM_room][16], tag[DM_tag] ;
  737. Xextern int objcnt, gleep_safe, object[DM_object][6], verb ;
  738. Xextern int clip_flag, rifle_flag, monster_flag ;
  739. Xextern struct monster_struct *Ned ;
  740. Xextern struct monster_struct *Wombat ;
  741. Xextern struct monster_struct *monster_start ;
  742. X#endif
  743. X
  744. X/***************************************************************/
  745. X
  746. X#ifdef MNSTR
  747. Xextern int room[DM_room][16] ;
  748. Xextern int objcnt ; 
  749. Xextern int object[DM_object][6] ;
  750. Xextern int enemy_max ;
  751. Xextern int monster_flag ;
  752. Xextern int carry_count, carry_weight ;
  753. Xextern struct monster_struct *Ned ;
  754. Xextern struct monster_struct *Wombat ;
  755. Xextern struct monster_struct *Guards ;
  756. Xextern struct monster_struct *Mullah ;
  757. Xextern struct monster_struct *monster_start ;
  758. X#endif
  759. X
  760. X/***************************************************************/
  761. X
  762. X#ifdef OPNR
  763. Xint sw_active = FALSE ;
  764. Xextern int room[DM_room][16] ;
  765. Xextern int objcnt ; 
  766. Xextern int object[DM_object][6] ;
  767. Xextern int sent[20];
  768. Xextern int gleep_count ;
  769. Xextern int tag[DM_tag] ;
  770. Xextern int sw_active ;
  771. Xextern int pill_count ;
  772. Xextern int gleep_spot[10] ;
  773. Xextern int score, gleep_score, clip_flag ;
  774. Xextern int carry_count, carry_weight ;
  775. Xextern long clock_explode ;
  776. Xextern int flag_clock, sw_clock, i_poison ;
  777. X#endif
  778. X  
  779. X/***************************************************************/
  780. X
  781. X#ifdef PARSE
  782. Xint sent[20];
  783. Xextern int verb ;
  784. Xextern int sw_wizard ; 
  785. Xextern int room[DM_room][16] ;
  786. Xextern int gleep_score ;
  787. Xextern int object[DM_object][6] ;
  788. Xint tag[DM_tag], tag_max = DM_vocab ;
  789. Xextern int sw_recording, sw_playing ;
  790. Xextern FILE *fp ;
  791. X
  792. X/* Game vocabulary */
  793. Xint letmax = DM_letmax ;
  794. Xchar *vocab[DM_vocab] = {
  795. X"north","south","east","west","up",
  796. X"down","northeast","northwest","southeast","southwest",
  797. X"n","s","e","w","u",                            /* "u"          = 15 */
  798. X"d","ne","nw","se","sw",                        /* "sw"         = 20 */
  799. X"quit","unlock","lock","take","leave",          /* "leave"      = 25 */
  800. X"drop","can","bottle","mat","key",              /* "key"        = 30 */
  801. X"butt","look","door","open","get",              /* "get"        = 35 */
  802. X"throw","turn","on","off","push",               /* "push"       = 40 */
  803. X"button","enter","switch","zero","forty-nine",  /* "forty-nine" = 45 */
  804. X"sixty-seven","eighty-two","0","49","67",       /* "67"         = 50 */
  805. X"82","beer","lager","doormat","lift",           /* "lift"       = 55 */ 
  806. X"'on'","'off'","SVC","map","picture",           /* "picture"    = 60 */
  807. X"safe","dial","paper","put","close",            /* "close"      = 65 */
  808. X"read","gold","bar","dynamite","rifle",         /* "rifle"      = 70 */
  809. X"M16","m16","cap","matches","diamond",          /* "diamond"    = 75 */
  810. X"ring","ruby","silver","coin","bill",           /* "bill"       = 80 */
  811. X"money","teapot","clip","ammo","box",           /* "box"        = 85 */
  812. X"stick","pills","orange","glowing","saphire",   /* "saphire"    = 90 */
  813. X"emerald","score","inventory","examine","describe",
  814. X"drink","fill","water","fourex","invent",    /* "invent"    = 100 */
  815. X"l","press","exit","all","Fourex",        /* "Fourex"    = 105 */
  816. X"everything","shoot","kill","ned","Ned",    /* "Ned"    = 110 */
  817. X"kelly","Kelly","pick","grab","combination",    /* "combination"= 115 */
  818. X"select","safety","SAFE","triple","III",    /* "III"    = 120 */
  819. X"single","I","auto","AUTO","automatic",        /* "automatic"    = 125 */
  820. X"set","insert","attach","plan","gun",           /* "gun"        = 130 */
  821. X"magazine","hoop","snake","bear","wombat",    /* "wombat"     = 135 */
  822. X"remove","eject","org_clip","shut","gleep",    /* "gleep"    = 140 */
  823. X"gleeps","letter","envelope","torch","mail",    /* "mail"       = 145 */
  824. X"tank","carefully","gently","softly","slow_drop",
  825. X"light","ignite","fuse","slowly","match",    /* "match"    = 155 */
  826. X"cube","blue","blue-button","gray","gray-button",
  827. X"clapper","sound","bang","hit","strike",    /* "strike"    = 160 */
  828. X"gong","detector","give","STATS","JSYS",
  829. X"SU","yellow","yellow-button","poster","eat",
  830. X"swallow","pill","atropine","packet","wrapper",
  831. X"tyre","shell","brick","rope","package",
  832. X"belt","filter","string","cabinet","calendar",
  833. X"tackle","bit","jack","pen","pencil",
  834. X"wire","pipe","panel","opener","cord",
  835. X"photo","chair","bulb","rag","tube",        /* "tube"    = 200 */
  836. X"carpet","branch","cork","trap","lighter",
  837. X"lace","comb","umbrella","meadow","billabong",
  838. X"river","road","forest","grass","stream",
  839. X"desert","building","office","hideout","dust",
  840. X"mine","tunnel","tree","spinifex","hexagon",
  841. X"spacecaft","airlock","wing","hole","tray",
  842. X"liquid","cockroach","go","scream","yell",
  843. X"bring","help","dump","attack","check",
  844. X"inspect","place","touch","pull","extinguish",
  845. X"ask","talk","tell","find","move",        /* "move"    = 250 */
  846. X"break","kick","smash","feed","taste",
  847. X"smell","slam","desk","in","into",
  848. X"under","out","from","by","with",
  849. X"fling","what","where","are","am",        /* "am"        = 275 */
  850. X"have","QUESTION","how","why","who",        /* "who"    = 280 */
  851. X"when","bop","walk","run","jump",        /* "jump"       = 285 */
  852. X"hop","stroll","saunter","swagger","swing",    /* "swing"        = 290 */
  853. X"dig","swim","depart","info","back",        /* "back"    = 295 */
  854. X"hold","fire","stand","painting","doors",    /* "doors"    = 300 */
  855. X"treasure","trigger","load","unload","sand",    /* "sand"    = 305 */
  856. X"cockroaches","kangaroo","climb","bulldust","kangaroos",
  857. X"spinifexes","fuze","message","wall","recorder",
  858. X"red","white","green","red-button","white-button",
  859. X"green-button","grey","matchbox"
  860. X};
  861. X
  862. X/* Question Table */
  863. Xint quest_max = 8 ;
  864. Xint quest[9] = {
  865. XV_what, V_where, V_are, V_am, V_have,
  866. XV_how, V_why, V_who, V_when
  867. X} ;
  868. X
  869. X/* Adjective Table */
  870. Xint adj_max = 17 ;
  871. Xint adjective[18][4] = {  /* first element points to adjective */
  872. XV_drop, V_bear,F_ignore,F_ignore,        /* drop bear */
  873. XV_gold, V_bar,F_ignore,F_ignore,        /* gold bar */
  874. XV_orange,V_clip,V_org_clip,F_replace,        /* orange clip */
  875. XV_glowing, V_clip, V_org_clip,F_replace,    /* glowing clip */
  876. XV_blue,V_switch,V_blue_button,F_replace,    /* blue switch */
  877. XV_blue,V_button,V_blue_button,F_replace,    /* blue button */
  878. XV_gray,V_switch,V_gray_button,F_replace,    /* gray switch */
  879. XV_gray,V_button,V_gray_button,F_replace,    /* gray button */
  880. XV_yellow,V_switch,V_yellow_button,F_replace,    /* yellow switch */
  881. XV_yellow,V_button,V_yellow_button,F_replace,    /* yellow button */
  882. XV_red,V_switch,V_red_button,F_replace,        /* red switch */
  883. XV_red,V_button,V_red_button,F_replace,        /* red button */
  884. XV_white,V_switch,V_white_button,F_replace,    /* white switch */
  885. XV_white,V_button,V_white_button,F_replace,    /* white button */
  886. XV_green,V_switch,V_green_button,F_replace,    /* green switch */
  887. XV_green,V_button,V_green_button,F_replace,    /* green button */
  888. XV_grey,V_switch,V_gray_button,F_replace,    /* grey switch */
  889. XV_grey,V_button,V_gray_button,F_replace     /* grey button */
  890. X} ;
  891. X
  892. X/* Adverb Table */
  893. Xint adv_max = 29 ;
  894. Xint adverb[30][3] = { /* first element points to adverb */
  895. XV_down, V_put, V_drop,                /* put down */
  896. XV_down, V_set, V_drop,                /* set down */
  897. XV_carefully, V_drop, V_slow_drop,        /* drop carefully */
  898. XV_gently, V_drop, V_slow_drop,            /* drop slowly */
  899. XV_softly, V_drop, V_slow_drop,            /* drop softly */
  900. XV_slowly, V_drop, V_slow_drop,            /* drop slowly */
  901. XV_carefully, V_put, V_slow_drop,        /* put carefully */
  902. XV_gently, V_put, V_slow_drop,            /* put slowly */
  903. XV_softly, V_put, V_slow_drop,            /* put softly */
  904. XV_slowly, V_put, V_slow_drop,            /* put slowly */
  905. XV_in, V_go, V_enter,                /* go in */
  906. XV_in, V_move, V_enter,                /* move in */
  907. XV_in, V_bop, V_enter,                /* bop in */
  908. XV_in, V_walk, V_enter,                /* walk in */
  909. XV_in, V_run, V_enter,                /* run in */
  910. XV_in, V_jump, V_enter,                /* jump in */
  911. XV_in, V_hop, V_enter,                /* hop in */
  912. XV_in, V_stroll, V_enter,            /* stroll in */
  913. XV_in, V_saunter, V_enter,             /* saunter in */
  914. XV_in, V_swagger, V_enter,            /* swagger in */
  915. XV_out, V_go, V_exit,                /* go out */
  916. XV_out, V_move, V_exit,                /* move out */
  917. XV_out, V_bop, V_exit,                /* bop out */
  918. XV_out, V_walk, V_exit,                /* walk out */
  919. XV_out, V_run, V_exit,                /* run out */
  920. XV_out, V_jump, V_exit,                /* jump out */
  921. XV_out, V_hop, V_exit,                /* hop out */
  922. XV_out, V_stroll, V_exit,            /* stroll out */
  923. XV_out, V_saunter, V_exit,             /* saunter out */
  924. XV_out, V_swagger, V_exit            /* swagger out */
  925. X} ;
  926. X
  927. X/* Verb Table */
  928. Xint  verb_max = 78 ;
  929. Xint verb_table[79] = {
  930. XV_quit,V_unlock,V_lock,V_take,V_leave,
  931. XV_drop,V_look,V_open,V_get,V_throw,
  932. XV_turn,V_push,V_enter,V_switch,V_lift,
  933. XV_svc,V_dial,V_put,V_close,V_read,
  934. XV_score,V_inventory,V_examine,V_describe,V_drink,
  935. XV_fill,V_invent,V_l,V_press,V_exit,
  936. XV_shoot,V_kill,V_pick,V_grab,V_combination,
  937. XV_select,V_set,V_insert,V_attach,V_remove,
  938. XV_eject,V_shut,V_light,V_ignite,V_sound,
  939. XV_bang,V_hit,V_strike,V_give,V_stats,
  940. XV_jsys,V_su,V_eat,V_swallow,V_fling,
  941. XV_help,V_bop,V_walk,V_run,V_jump,
  942. XV_hop,V_stroll,V_saunter,V_swagger,V_go,
  943. XV_move,V_swing,V_dig,V_swim,V_depart,
  944. XV_info,V_back,V_hold,V_fire,V_pull,
  945. XV_stand,V_load,V_unload,V_climb
  946. X};
  947. X#endif
  948. X
  949. X/***************************************************************/
  950. X
  951. X#ifdef TAKER
  952. Xint clip_flag = F_no_clip ;
  953. X/* gleep_drop triggers gleep destruction */
  954. Xint gleep_safe, gleep_drop = FALSE ;
  955. Xextern char *vocab[DM_vocab] ;
  956. Xextern int room[DM_room][16] ;
  957. Xextern int objcnt, rifle_flag ; 
  958. Xextern int object[DM_object][6] ;
  959. Xextern int carry_count, carry_weight ;
  960. Xextern int gleep_count, gleep_score, verb, sent[20], tag[DM_tag] ;
  961. Xextern int sw_valuable ;
  962. X#endif
  963. END_OF_FILE
  964. if test 37337 -ne `wc -c <'dink_glb.h'`; then
  965.     echo shar: \"'dink_glb.h'\" unpacked with wrong size!
  966. fi
  967. # end of 'dink_glb.h'
  968. fi
  969. if test -f 'make.dos' -a "${1}" != "-c" ; then 
  970.   echo shar: Will not clobber existing file \"'make.dos'\"
  971. else
  972. echo shar: Extracting \"'make.dos'\" \(921 characters\)
  973. sed "s/^X//" >'make.dos' <<'END_OF_FILE'
  974. XCFLAGS =  -c -w -mh -O
  975. XHEAD = dink_sym.h dink_glb.h
  976. X
  977. X# The Ver. 2 Borland Tlink will malfunction if more Obj files are added.
  978. X
  979. Xdinkum.exe: dinkum.obj describe.obj longdsc.obj objlook.obj actor.obj \
  980. Xmonster.obj opener.obj pusher.obj parse.obj taker.obj
  981. X   tlink /x c:\tc\lib\c0h dinkum describe longdsc objlook actor monster \
  982. Xpusher opener parse taker, dinkum, dinkum, c:\tc\lib\ch
  983. X
  984. Xdinkum.obj: dinkum.c $(HEAD)
  985. X    tcc $(CFLAGS) dinkum.c
  986. Xdescribe.obj: describe.c $(HEAD)
  987. X    tcc $(CFLAGS) describe.c
  988. Xlongdsc.obj: longdsc.c $(HEAD)
  989. X    tcc $(CFLAGS) longdsc.c
  990. Xobjlook.obj: objlook.c $(HEAD)
  991. X    tcc $(CFLAGS) objlook.c
  992. Xparse.obj: parse.c $(HEAD)
  993. X    tcc $(CFLAGS) parse.c
  994. Xactor.obj: actor.c $(HEAD)
  995. X    tcc $(CFLAGS) actor.c
  996. Xpusher.obj: pusher.c $(HEAD)
  997. X    tcc $(CFLAGS) pusher.c
  998. Xmonster.obj: monster.c $(HEAD)
  999. X    tcc $(CFLAGS) monster.c
  1000. Xopener.obj: opener.c $(HEAD)
  1001. X    tcc $(CFLAGS) opener.c
  1002. Xtaker.obj: taker.c $(HEAD)
  1003. X    tcc $(CFLAGS) taker.c
  1004. X
  1005. END_OF_FILE
  1006. if test 921 -ne `wc -c <'make.dos'`; then
  1007.     echo shar: \"'make.dos'\" unpacked with wrong size!
  1008. fi
  1009. # end of 'make.dos'
  1010. fi
  1011. if test -f 'make.unx' -a "${1}" != "-c" ; then 
  1012.   echo shar: Will not clobber existing file \"'make.unx'\"
  1013. else
  1014. echo shar: Extracting \"'make.unx'\" \(801 characters\)
  1015. sed "s/^X//" >'make.unx' <<'END_OF_FILE'
  1016. XCFLAGS =  -c
  1017. XHEAD = dink_sym.h dink_glb.h
  1018. X
  1019. X# Don't add anymore files because the makefile with the Borland Ver. 2
  1020. X#    Tlink will choke and die.
  1021. X
  1022. XOBJECTS = dinkum.o describe.o longdsc.o objlook.o actor.o \
  1023. Xpusher.o monster.o opener.o parse.o taker.o
  1024. Xdinkum: $(OBJECTS)
  1025. X    cc $(OBJECTS) -o dinkum
  1026. Xdinkum.o: dinkum.c $(HEAD)
  1027. X    cc $(CFLAGS) dinkum.c
  1028. Xdescribe.o: describe.c $(HEAD)
  1029. X    cc $(CFLAGS) describe.c
  1030. Xlongdsc.o: longdsc.c $(HEAD)
  1031. X    cc $(CFLAGS) longdsc.c
  1032. Xobjlook.o: objlook.c $(HEAD)
  1033. X    cc $(CFLAGS) objlook.c
  1034. Xparse.o: parse.c $(HEAD)
  1035. X    cc $(CFLAGS) parse.c
  1036. Xpusher.o: pusher.c $(HEAD)
  1037. X    cc $(CFLAGS) pusher.c
  1038. Xactor.o: actor.c $(HEAD)
  1039. X    cc $(CFLAGS) actor.c
  1040. Xmonster.o: monster.c $(HEAD)
  1041. X    cc $(CFLAGS) monster.c
  1042. Xopener.o: opener.c $(HEAD)
  1043. X    cc $(CFLAGS) opener.c
  1044. Xtaker.o: taker.c $(HEAD)
  1045. X    cc $(CFLAGS) taker.c
  1046. X
  1047. END_OF_FILE
  1048. if test 801 -ne `wc -c <'make.unx'`; then
  1049.     echo shar: \"'make.unx'\" unpacked with wrong size!
  1050. fi
  1051. # end of 'make.unx'
  1052. fi
  1053. if test -f 'makefile' -a "${1}" != "-c" ; then 
  1054.   echo shar: Will not clobber existing file \"'makefile'\"
  1055. else
  1056. echo shar: Extracting \"'makefile'\" \(801 characters\)
  1057. sed "s/^X//" >'makefile' <<'END_OF_FILE'
  1058. XCFLAGS =  -c
  1059. XHEAD = dink_sym.h dink_glb.h
  1060. X
  1061. X# Don't add anymore files because the makefile with the Borland Ver. 2
  1062. X#    Tlink will choke and die.
  1063. X
  1064. XOBJECTS = dinkum.o describe.o longdsc.o objlook.o actor.o \
  1065. Xpusher.o monster.o opener.o parse.o taker.o
  1066. Xdinkum: $(OBJECTS)
  1067. X    cc $(OBJECTS) -o dinkum
  1068. Xdinkum.o: dinkum.c $(HEAD)
  1069. X    cc $(CFLAGS) dinkum.c
  1070. Xdescribe.o: describe.c $(HEAD)
  1071. X    cc $(CFLAGS) describe.c
  1072. Xlongdsc.o: longdsc.c $(HEAD)
  1073. X    cc $(CFLAGS) longdsc.c
  1074. Xobjlook.o: objlook.c $(HEAD)
  1075. X    cc $(CFLAGS) objlook.c
  1076. Xparse.o: parse.c $(HEAD)
  1077. X    cc $(CFLAGS) parse.c
  1078. Xpusher.o: pusher.c $(HEAD)
  1079. X    cc $(CFLAGS) pusher.c
  1080. Xactor.o: actor.c $(HEAD)
  1081. X    cc $(CFLAGS) actor.c
  1082. Xmonster.o: monster.c $(HEAD)
  1083. X    cc $(CFLAGS) monster.c
  1084. Xopener.o: opener.c $(HEAD)
  1085. X    cc $(CFLAGS) opener.c
  1086. Xtaker.o: taker.c $(HEAD)
  1087. X    cc $(CFLAGS) taker.c
  1088. X
  1089. END_OF_FILE
  1090. if test 801 -ne `wc -c <'makefile'`; then
  1091.     echo shar: \"'makefile'\" unpacked with wrong size!
  1092. fi
  1093. # end of 'makefile'
  1094. fi
  1095. echo shar: End of archive 1 \(of 7\).
  1096. cp /dev/null ark1isdone
  1097. MISSING=""
  1098. for I in 1 2 3 4 5 6 7 ; do
  1099.     if test ! -f ark${I}isdone ; then
  1100.     MISSING="${MISSING} ${I}"
  1101.     fi
  1102. done
  1103. if test "${MISSING}" = "" ; then
  1104.     echo You have unpacked all 7 archives.
  1105.     rm -f ark[1-9]isdone
  1106. else
  1107.     echo You still need to unpack the following archives:
  1108.     echo "        " ${MISSING}
  1109. fi
  1110. ##  End of shell archive.
  1111. exit 0
  1112.