home *** CD-ROM | disk | FTP | other *** search
- Path: uunet!news.tek.com!master!saab!billr
- From: billr@saab.CNA.TEK.COM (Bill Randle)
- Newsgroups: comp.sources.games
- Subject: v15i036: dinkum2 - australian text adventure game, Part01/07
- Message-ID: <4192@master.CNA.TEK.COM>
- Date: 14 Jan 93 03:24:50 GMT
- Sender: news@master.CNA.TEK.COM
- Lines: 1105
- Approved: billr@saab.CNA.TEK.COM
- Xref: uunet comp.sources.games:1535
-
- Submitted-by: Gary Allen <gary@sun.mech.uq.oz.au>
- Posting-number: Volume 15, Issue 36
- Archive-name: dinkum2/Part01
- Supersedes: dinkum: Volume 15, Issue 21-26
- Environment: Unix, DOS
-
- [The context diffs for this version were almost as large as the
- source, so the new source is being posted in its entirety. -br]
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 1 (of 7)."
- # Contents: README MANIFEST dink_glb.h make.dos make.unx makefile
- # Wrapped by billr@saab on Wed Jan 13 19:20:18 1993
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'README' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'README'\"
- else
- echo shar: Extracting \"'README'\" \(5908 characters\)
- sed "s/^X//" >'README' <<'END_OF_FILE'
- X Comments on the Revised Version of Dinkum
- X 5 January 1993
- X
- XThis version of Dinkum (Ver. 2.3) has several slight improvements
- Xperceptible to the user and significant improvements perceptible to the
- Xprogrammer. Because the improvements are slight from the user's
- Xperspective, a non-programming user should not delete the older version
- Xof Dinkum until it has been established that this newer version will
- Xcompile on the user's computer. The user will notice some minor bugs
- Xcorrected and there being more "Australia content" in the above ground,
- Xpre-game component of Dinkum. There were some fairly glaring omissions
- Xin the earlier version of the game concerning Australia content, i.e.
- Xthere is a road in Dinkum but the earlier version had no road trains or
- Xdead kangaroos (the two most striking characteristics of Australian
- Xroads). Many people complained about the lack of a Save command in
- XDinkum. My original omission of the Save command was deliberate. The
- Xtwo main reasons why people play a text adventure game is either to be a
- Xan active participant in an action/fantasy story or to experience
- Xcommunicating through natural language to a computer. Both of these
- Xaspects are defeated by using a Save command. However my impression is
- Xthat many people insist on having a Save command and won't play the game
- Xif it isn't there. Consequently I've come up with a compromise. If you
- Xstart the game by typing "dinkum -s" rather than simply "dinkum" then the
- Xgame creates a "data recorder" which appears in the beginning of the
- Xgame. The data recorder acts like a tape recorder allowing the user to
- Xsave moves and play them back in the current or later games. The
- Xgenerated file is in ASCII format and can be edited after finishing
- XDinkum. Type "examine recorder" after having taken it and Dinkum will
- Xexplain how to use it. This data recorder has a couple of important
- Xlimitations: Unlike most adventure games, Dinkum is dynamic, viz. the
- Xgame changes every time you play it. So if you record a script for a
- Xgame which takes you to a room where you find a weapon and then to
- Xanother room where you find a monster, then the next time you use that
- Xscript you may find the monster where you previously found the weapon
- X(leading to a fairly short game). The other limitation of the data
- Xrecorder is if you use the "dinkum -s" switch then you will not be
- Xadmitted into the end game with the consequence being that "winning"
- XDinkum is impossible. To win Dinkum you must play it "on your own"
- Xwithout the unfair advantage of script files and a data recorder.
- X
- XIn the "dinkum -h" help description I have a strict "NO MODIFICATION"
- Xrule for Dinkum. This rule is to protect myself against people hacking
- Xon Dinkum and releasing to the public indecent or buggy versions of the
- Xgame with my name on it. Despite this rule I strongly encourage people
- Xto hack on Dinkum provided they comment all of their modifications and
- Xdon't release their hacked versions directly to the public. If you think
- Xyou have an improvement to Dinkum then please send me a copy and if I
- Xagree that it benefits the game then I'll incorporate it into the next
- Xrelease with suitable acknowledgements to yourself.
- X
- XI've significantly improved the coding style of Dinkum from the earlier
- Xversion, i.e. you won't find a single "goto" in Dinkum. Dinkum is much
- Xbetter structured than it was before and makes better use of the C
- Xprogramming language. Dinkum has lots of scope for improvement and is
- Xstill full of blemishes. However I would like to limit the scope of
- Xmodifications to Dinkum in some significant ways: First, no enhancement
- Xto Dinkum can be allowed that reduces portability. If anything
- Xportability needs to be enhanced. Dinkum is designed for both the Unix
- Xand DOS operating systems. Dinkum will presently compile without
- Xwarnings in DOS/TURBO-C Ver. 2, Sun OS, IBM RISC/6000, 386BSD and on the
- XSGI Iris. The Dinkum executable must remain a single file and be small
- Xenough that the uncompressed DOS executable can fit on a double sided,
- Xdouble density floppy disk. This insures naive DOS users with old PCs
- Xcan easily use Dinkum. The central layout of the game from the user's
- Xperspective should remain unchanged. Improvements should focus instead
- Xon enhancing natural language recognition, for example: Dinkum can not
- Xcurrently support compound sentences, i.e. "Take the whidjitty grub after
- Xlifting the rock and eat the grub". Dinkum does not really support
- Xquestions, i.e. a character appears and the user asks the character "How
- Xdo I unlock the door?". Questions represent an entirely different syntax
- Xfrom imperative commands. Also question answering capability would allow
- Xfor inclusion of an ELIZA type subroutine for responding to questions not
- Xaccounted for in the game's context. This could allow for the game going
- Xthrough many question/answer cycles before failing the Turing test.
- XThere are many words and synonyms that Dinkum does not recognize even
- Xthough these words appear in the game. Anyway these are the improvements
- XI would like to see in Dinkum and over the years will probably write them
- Xin myself if someone else doesn't beat me to it. Any suggestions or
- Xsoftware contributions along these lines would be gratefully received.
- X
- XI hope you enjoy playing Dinkum. If you succeed in winning at Dinkum (it
- Xisn't easy) then please let me know, my address appears if you type
- X"dinkum -h".
- X
- X Gary A. Allen, Jr.
- END_OF_FILE
- if test 5908 -ne `wc -c <'README'`; then
- echo shar: \"'README'\" unpacked with wrong size!
- fi
- # end of 'README'
- fi
- if test -f 'MANIFEST' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'MANIFEST'\"
- else
- echo shar: Extracting \"'MANIFEST'\" \(641 characters\)
- sed "s/^X//" >'MANIFEST' <<'END_OF_FILE'
- X File Name Archive # Description
- X-----------------------------------------------------------
- X MANIFEST 1 This shipping list
- X README 1
- X actor.c 3
- X describe.c 6
- X dink_glb.h 1
- X dink_sym.h 7
- X dinkum.c 2
- X longdsc.c 5
- X make.dos 1
- X make.unx 1
- X makefile 1
- X monster.c 4
- X objlook.c 4
- X opener.c 5
- X parse.c 6
- X pusher.c 2
- X taker.c 3
- END_OF_FILE
- if test 641 -ne `wc -c <'MANIFEST'`; then
- echo shar: \"'MANIFEST'\" unpacked with wrong size!
- fi
- # end of 'MANIFEST'
- fi
- if test -f 'dink_glb.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'dink_glb.h'\"
- else
- echo shar: Extracting \"'dink_glb.h'\" \(37337 characters\)
- sed "s/^X//" >'dink_glb.h' <<'END_OF_FILE'
- X/***************************************************************/
- X/* */
- X/* --- Global Variables Header File --- */
- X/* */
- X/* Software by Gary A. Allen, Jr. 3 January 1993 */
- X/* (c) Copyright 1993 by Gary A. Allen, Jr. */
- X/* */
- X/***************************************************************/
- X
- X/* repeated global varaiable dimenions */
- X#define DM_letmax 322 /* DM_letmax = DM_vocab - 1 */
- X#define DM_vocab 323
- X#define DM_tag 324 /* DM_tag = DM_vocab + 1 */
- X
- X#define DM_room 249
- X
- X#define DM_object 69
- X#define DM_objcnt 68 /* DM_objcnt = DM_object - 1 */
- X
- X#define DM_enemy_cnt_m1 14
- X#define DM_enemy_cnt 15
- X
- X/***************************************************************/
- X
- X#ifdef DINKUM
- Xextern int room[DM_room][16] ;
- Xextern int objcnt ;
- Xextern int object[DM_object][6] ;
- Xextern int tag[DM_tag] ;
- Xextern int sw_transport ;
- Xint gleep_count = 0 ; /* gleeps being carried */
- Xint verb, max_score = 1100 ;
- Xint sw_wizard = FALSE, sw_script = FALSE ;
- Xlong clock_explode ;
- Xint sw_warned, flag_clock, sw_clock = FALSE, i_poison = 0 ;
- X
- X/* gleep initialization matrix */
- Xint gleep_init[10][4] = {
- X97, 98, 101, 102,
- X98, 99, 102, 103,
- X99, 100, 103, 96,
- X100, 101, 96, 97,
- X101, 102, 97, 98,
- X102, 103, 98, 99,
- X103, 96, 99, 100,
- X134, 132, 136, 137,
- X69, 66, 90, 89,
- X74, 72, 68, 92
- X};
- Xint gleep_spot[10] ; /* gleep reproduction room pointer array */
- Xint gleep_score = 0 ; /* gleeps dropped in the gleep tank */
- X
- X/* monster matrix initialization matrix */
- X/* --- NEVER have a monster initialized next to the */
- X/* Mutant Wombat. This leads to an intractable bug */
- X/* which need to be solved for eventually but is currently */
- X/* swept under the carpet. */
- Xint mon_init[DM_enemy_cnt][4] = {
- X/* Mutant Wombat */
- X139, 67, 86, 115,
- X/* Drop Bears */
- X77, 75, 78, 79,
- X103, 97, 98, 71,
- X64, 60, 62, 93,
- X67, 81, 66, 75,
- X/* Hoop Snakes */
- X93, 95, 94, 64,
- X75, 73, 76, 67,
- X71, 128, 67, 77,
- X52, 53, 51, 103,
- X115, 114, 113, 129,
- X131, 130, 129, 80,
- X119, 120, 118, 84,
- X109, 87, 83, 52,
- X/* Revolutionary Guards */
- X241, 241, 241, 241,
- X/* Chief Mullah */
- X242, 242, 242, 242
- X} ;
- X
- X/* object matrix initialization matrix */
- X/* --- The orange ammo clip should not be set in a dead end, otherwise */
- X/* that version of the game is almost unwinnable due to the wombat. */
- Xint obj_init_max = 50 ;
- Xint obj_init[51][5] = {
- XO_can, 1, 1, 1, 1,
- XO_butt, 165, 166, 161, 152,
- XO_bottle, 2, 2, 2, 2,
- XO_gold, 54, 53, 55, 56,
- XO_dynamite, 78, 91, 69, 117,
- XO_clip, 48, 52, 52, 48,
- XO_org_clip, 80, 68, 113, 99,
- XO_rifle, 48, 56, 48, 52,
- XO_cap, 183, 184, 183, 184,
- XO_matches, 69, 85, 78, 121,
- XO_ring, 87, 135, 127, 105,
- XO_ruby, 99, 106, 114, 74,
- XO_coin, 127, 127, 87, 87,
- XO_bill, 135, 87, 135, 127,
- XO_pills, 85, 83, 91, 78,
- XO_saphire, 91, 78, 85, 69,
- XO_emerald, 68, 74, 117, 66,
- XO_letter, 177, 177, 177, 177,
- XO_torch, 92, 114, 66, 53,
- XO_cube, 202, 202, 202, 202,
- XO_wrapper, 171, 216, 239, 101,
- XO_tire, 47, 47, 47, 47,
- XO_shell, 82, 107, 213, 175,
- XO_brick, 33, 33, 33, 33,
- XO_rope, 209, 179, 181, 155,
- XO_package, 156, 137, 95, 113,
- XO_belt, 21, 21, 21, 21,
- XO_filter, 142, 142, 142, 142,
- XO_string, 204, 88, 118, 167,
- XO_umbrella, 37, 37, 37, 37,
- XO_tackle, 9, 9, 9, 9,
- XO_bit, 105, 117, 90, 184,
- XO_jack, 81, 81, 81, 81,
- XO_pen, 177, 177, 177, 177,
- XO_pencil, 202, 202, 202, 202,
- XO_wire, 214, 154, 159, 151,
- XO_pipe, 206, 239, 166, 151,
- XO_opener, 63, 62, 61, 60,
- XO_cord, 80, 131, 119, 79,
- XO_photo, 206, 160, 155, 180,
- XO_chair, 177, 177, 177, 177,
- XO_bulb, 154, 162, 164, 181,
- XO_rag, 92, 89, 73, 132,
- XO_tube, 139, 121, 129, 132,
- XO_carpet, 41, 41, 41, 41,
- XO_branch, 28, 28, 28, 28,
- XO_cork, 130, 122, 115, 109,
- XO_trap, 146, 146, 146, 146,
- XO_lighter, 210, 213, 46, 79,
- XO_lace, 126, 136, 67, 72,
- XO_comb, 164, 157, 156, 172
- X} ;
- X
- X/************************************************/
- X/* --- Monster Types --- */
- X/* */
- X/* Monster Type */
- X/* = 0 = N_ned = Ned Kelly */
- X/* = 1 = N_wombat = Mutant Wombat */
- X/* = (2 - 5) = Drop Bears (four total) */
- X/* = (6 - 13) = Hoop Snakes (eight total) */
- X/* = 14 = Revolutionary Guards */
- X/* = 15 = Chief Mullah */
- X/* */
- X/************************************************/
- Xint enemy_max = DM_enemy_cnt ;
- Xstruct monster_struct *monster_start ;
- Xstruct monster_struct *Ned ;
- Xstruct monster_struct *Guards ;
- Xstruct monster_struct *Wombat ;
- Xstruct monster_struct *Mullah ;
- X
- Xint score = 0 ;
- Xint monster_flag = F_no_monster ;
- Xint carry_count, carry_weight ;
- X#endif
- X
- X/***************************************************************/
- X
- X#ifdef OBJLKR
- Xextern int tag[DM_tag] ;
- Xextern int sw_warned, score, gleep_score, max_score, sw_wizard, sw_script ;
- Xextern struct monster_struct *Ned ;
- X
- X/* a switch used in the "kelly" subroutine */
- Xint sw_valuable = FALSE ;
- X
- X/* layout matrix for game */
- X/* n = room number */
- X
- X/* The direction elements contain the adjoining room or a wall */
- X/* if the element value is negative. */
- X/* room[n][0] = north direction */
- X/* room[n][1] = south direction */
- X/* room[n][2] = east direction */
- X/* room[n][3] = west direction */
- X/* room[n][4] = up direction */
- X/* room[n][5] = down direction */
- X/* room[n][6] = north-east direction */
- X/* room[n][7] = north-west direction */
- X/* room[n][8] = south-east direction */
- X/* room[n][9] = south-west direction */
- X
- X/* room[n][10] points to the room type */
- X/* = -1 == instantly lethal */
- X/* = 1 == long description */
- X/* = 2 == contains a nonmovable action device */
- X/* = 3 == used to have a long description */
- X/* = 4 == contains a nonmovable device */
- X/* = 5 == room goes into itself (looping) */
- X/* room[n][11] flag indicates number of objects in room. */
- X/* room[n][12] is the room status number as refered by type */
- X/* room[n][13] is the monster indicater, 0 = no monsters */
- X/* room[n][14] is the gleep count */
- X/* room[n][15] points to the description text file */
- X
- Xint room [DM_room][16] = {
- X 3, 2, 1, 15, -1, -1, 1, 15, 3, 2, 0, 0, 0, 0, 0, 0,
- X 6, 2, 20, 0, -1, -1, 0, 3, 0, 2, 0, 0, 0, 0, 0, 1,
- X 28, 11, 29,148, -1, -1, 29, 11, 28,148, 0, 0, 0, 0, 0, 2,
- X 4, 0, 6, 4, -1, -1, 2, 1, 4, 2, 0, 0, 0, 0, 0, 3,
- X 5, 9, 4, 4, -1, -1, 5, 5, 9, 9, 5, 0, 0, 0, 0, 4,
- X -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 5,
- X 3, 14, 47, 3, -1, -1, 2, 3, 14, 3, 1, 0, 0, 0, 0, 6,
- X 14, 8, 14, 8, -1, -1, 14, 14, 8, 8, 0, 0, 0, 0, 0, 7,
- X -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 8,
- X 4, 1, 6, 4, -1, -1, 0, 2, 0, 1, 0, 0, 0, 0, 0, 9,
- X 14, 6, 14, 3, -1, -1, 6, 14, 6, 14, 0, 0, 0, 0, 0, 10,
- X 28, 12, 28, 12, -1, -1, 12, 28, 3, 6, 1, 0, 0, 0, 0, 11,
- X 11, 13, 12, 13, -1, -1, 13, 12, 11, 13, 5, 0, 0, 0, 0, 12,
- X 13, 13, 13, 13, -1, -1, 13, 13, 13, 12, 5, 0, 0, 0, 0, 13,
- X 6, 7, 7, 10, -1, -1, 6, 10, 7, 7, 0, 0, 0, 0, 0, 14,
- X147,148, 0, 16, -1, -1, 0,147, 0,148, 0, 0, 0, 0, 0, 15,
- X 19, 19, 16, 17, -1, -1, 19, 19, 17, 17, 5, 0, 0, 0, 0, 16,
- X 16, 16, 16, 18, -1, -1, 16, 16, 18, 16, 0, 0, 0, 0, 0, 17,
- X -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 18,
- X 3, 2, 0, 16, -1, -1, 0, 16, 2, 16, 0, 0, 0, 0, 0, 19,
- X 21,142, 22, 1, -1, -1, 23, 2,141, 1, 0, 0, 0, 0, 0, 20,
- X 42, 20,145, 47, -1, -1,145, 1,145, 6, 0, 0, 0, 0, 0, 21,
- X 36, 27, -1, 20, -1, -1, -1, 20, -1, 20, 1, 0, 0, 0, 0, 22,
- X 25, 24, 25,145, -1, -1, 25,145, 25, 34, 4, 0, 0, 0, 0, 23,
- X 23, 26, 25, 33, -1, -1, 25, 33, 25, 32, 0, 0, 0, 0, 0, 24,
- X 25, 25, 25, 25, -1, -1,143, 23, 25, 26, 5, 0, 0, 0, 0, 25,
- X 24, 25, 25,141, -1, -1, 25, 31, 25,141, 4, 0, 0, 0, 0, 26,
- X 22, 30, -1, 20, -1, -1, -1, 20, -1, 20, 2, 0, 0, 0, 0, 27,
- X 0, 2, 29,148, -1, -1, 29, 11, 0, 2, 0, 0, 0, 0, 0, 28,
- X142,243,141, 2, -1, -1,141, 2,141, 2, 1, 0, 0, 0, 0, 29,
- X 27,141, 31, 20, -1, -1, -1, 20,141,141, 0, 0, 0, 0, 0, 30,
- X 32,141, 24, 30, -1, -1, 24, -1, 26,141, 0, 0, 0, 0, 0, 31,
- X 33, 31, 24, -1, -1, -1, 24, -1, 24, -1, 0, 0, 0, 0, 0, 32,
- X 34, 32, 24, -1, -1, -1, 24, -1, 24, -1, 0, 0, 0, 0, 0, 33,
- X145, 33, 24, 35, -1, -1, 23,145, 24, -1, 0, 0, 0, 0, 0, 34,
- X145, 36, 34, 20, -1, -1,145,145, -1, 20, 0, 0, 0, 0, 0, 35,
- X 35, 22, -1, 20, -1, -1, 35, 20, -1, 20, 2, 0, 0, 0, 0, 36,
- X 38, 39, -1, 36, -1, -1, 38, 36, 39, 36, 0, 0, 0, 0, 0, 37,
- X -1, 37, -1, -1, -1, -1, -1, -1, -1, 37, 1, 0, 0, 0, 0, 38,
- X 37, -1, 41, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0, 39,
- X -1, 41, -1, -1, -1, -1, -1, -1, -1, 41, 2, 0, 0, 0, 0, 40,
- X 40, -1, -1, 39, -1, -1, 40, -1, -1, -1, 4, 0, 0, 0, 0, 41,
- X246, 21,145, 6, -1, -1,145, 1,145, 6, 0, 0, 0, 0, 0, 42,
- X -1, -1, -1, 27, -1, -1, -1, 27, -1, -1, 1, 0, 4, 0, 0, 43,
- X -1, -1, 43, 48, -1, -1, -1, -1, 43, -1, 0, 0, 0, 0, 0, 44,
- X -1,204, 43,149, -1, -1, -1, -1, 43, -1, 0, 0, 0, 0, 0, 45,
- X239, -1, 43, -1, -1, -1, -1, -1, 43, -1, 0, 0, 0, 0, 0, 46,
- X 3, 20, 21, 6, -1, -1, 21, 3, 20, 6, 0, 0, 0, 0, 0, 47,
- X 49, 50, 44, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 48, /*48*/
- X 51, 48, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 55, /*49*/
- X 48, 56, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 55, /*50*/
- X -1, 49, 52, 53, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 51, /*51*/
- X -1, -1, 54, 51, -1, 88, -1, -1, -1, -1, 0, 0, 0, 0, 0, 59, /*52*/
- X -1, -1, 51, 55, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56, /*53*/
- X -1, -1, -1, 52, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 91, /*54*/
- X -1, -1, 53, -1, 57, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 62, /*54*/
- X 50, -1, -1, -1, -1, -1, -1, -1, 74, 72, 0, 0, 0, 0, 0, 64, /*56*/
- X -1, -1, -1, -1, -1, 55, -1, 58, -1, 59, 0, 0, 0, 0, 0, 76, /*57*/
- X -1, -1, -1, -1, -1, -1, -1, 60, 57, -1, 0, 0, 0, 0, 0, 57, /*58*/
- X -1, -1, -1, -1, -1, -1, 57, -1, -1, 61, 0, 0, 0, 0, 0, 58, /*59*/
- X -1, -1, -1, -1, -1, -1, -1, -1, 58, 62, 0, 0, 0, 0, 0, 84, /*60*/
- X -1, -1, -1, -1, -1, -1, 59, 63, -1, -1, 0, 0, 0, 0, 0, 87, /*61*/
- X -1, -1, -1, -1, -1, -1, 60, -1, -1, 64, 0, 0, 0, 0, 0, 58, /*62*/
- X -1, -1, -1, -1, -1, -1, -1, 64, 61, -1, 0, 0, 0, 0, 0, 57, /*63*/
- X -1, -1, -1, -1, -1, 65, 62, -1, 63, -1, 0, 0, 0, 0, 0, 77, /*64*/
- X -1, 66, -1, -1, 64, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 61, /*65*/
- X 65, 67, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 55, /*66*/
- X 66, 69, 68, 70, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 78, /*67*/
- X -1, -1, 71, 67, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56, /*68*/
- X 67, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 92, /*69*/
- X121,128, 67, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 48, /*70*/
- X -1, -1, -1, 68, -1, -1, 72, -1, 73, -1, 0, 0, 0, 0, 0, 66, /*71*/
- X -1, -1, -1, -1, -1, -1, 56, -1, -1, 71, 0, 0, 0, 0, 0, 58, /*72*/
- X -1, -1, -1, -1, -1, -1, -1, 71, 75, -1, 0, 0, 0, 0, 0, 57, /*73*/
- X -1, -1, -1, -1, -1, -1, -1, 56, 77, -1, 0, 0, 0, 0, 0, 57, /*74*/
- X -1, -1, -1, -1, -1, -1, 76, 73, -1, 80, 0, 0, 0, 0, 0, 52, /*75*/
- X -1, -1, -1, -1, -1, -1, 77, -1, -1, 75, 0, 0, 0, 0, 0, 58, /*76*/
- X -1, -1, -1, -1, -1, -1, 79, 74, 78, 76, 0, 0, 0, 0, 0, 79, /*77*/
- X -1, -1, -1, -1, -1, -1, -1, 77, -1, -1, 0, 0, 0, 0, 0, 90, /*78*/
- X -1, -1, -1, -1, -1, -1,108, -1, -1, 77, 0, 0, 0, 0, 0, 58, /*79*/
- X -1, -1, 81, 82, -1, -1, 75, -1, -1, -1, 0, 0, 0, 0, 0, 74, /*80*/
- X -1, -1, -1, 80, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 93, /*81*/
- X -1, -1, 80, 83, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56, /*82*/
- X -1, 84, 82, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 81, /*83*/
- X 83, -1, 85, 86, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 50, /*84*/
- X -1, -1, -1, 84, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 90, /*85*/
- X 87, -1, 84, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 83, /*86*/
- X -1, 86, -1,109, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 94, /*87*/
- X -1, -1, -1, -1, 52, -1, 92, -1, -1, 89, 0, 0, 0, 0, 0, 96, /*88*/
- X -1, -1, -1, -1, -1, -1, 88, -1, -1, 90, 0, 0, 0, 0, 0, 58, /*89*/
- X -1, -1, -1, -1, -1, -1, 89, -1, -1, 91, 0, 0, 0, 0, 0, 58, /*90*/
- X -1, -1, -1, -1, -1, -1, 90, -1, -1, -1, 0, 0, 0, 0, 0, 90, /*91*/
- X -1, -1, -1, -1, -1, -1, 93, -1, -1, 88, 0, 0, 0, 0, 0, 58, /*92*/
- X -1, -1, -1, -1, -1, -1, -1, 94, 95, 92, 0, 0, 0, 0, 0, 95, /*93*/
- X -1, -1, -1, -1, 96, -1, -1, -1, 93, -1, 0, 0, 0, 0, 0, 60, /*94*/
- X -1, -1, -1, -1, -1, -1, -1, 93,104, -1, 0, 0, 0, 0, 0, 57, /*95*/
- X 97, -1,103, -1, -1, 94, -1, -1, -1, -1, 0, 0, 0, 0, 0, 97, /*96*/
- X 98, 96, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 55, /*97*/
- X -1, 97, 99, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 81, /*98*/
- X -1, -1,100, 98, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56, /*99*/
- X -1,101, -1, 99, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 80,/*100*/
- X100,102, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 55,/*101*/
- X101, -1, -1,103, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 82,/*102*/
- X -1, -1,102, 96, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*103*/
- X -1, -1, -1, -1, -1, -1, -1, 95,105, -1, 0, 0, 0, 0, 0, 57,/*104*/
- X -1, -1, -1, -1, -1, -1, -1,104, -1,106, 0, 0, 0, 0, 0, 86,/*105*/
- X -1, -1, -1, -1, -1, -1,105, -1, -1,107, 0, 0, 0, 0, 0, 58,/*106*/
- X -1, -1, -1, -1, 79, -1,106, -1, -1, -1, 0, 0, 0, 0, 0, 89,/*107*/
- X -1, -1, -1, -1, -1,106, -1, -1, -1, 79, 0, 0, 0, 0, 0, 88,/*108*/
- X -1, -1, 87,110, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*109*/
- X -1, -1,109, -1, -1,140, -1, -1, -1, -1, 0, 0, 0, 0, 0, 99,/*110*/
- X -1, -1, -1,140,109, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 98,/*111*/
- X -1, -1,140, -1,113, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 62,/*112*/
- X114, -1, -1, -1, -1,112, -1, -1, -1, -1, 0, 0, 0, 0, 0,100,/*113*/
- X115,113, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 55,/*114*/
- X -1,114,118,116, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 51,/*115*/
- X -1,117,115, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 81,/*116*/
- X116, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0,101,/*117*/
- X -1, -1,119,115, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*118*/
- X -1,125,120,118, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 51,/*119*/
- X -1,122, -1,119, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 80,/*120*/
- X -1, 70, -1,122, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 80,/*121*/
- X120,123,121, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 48,/*122*/
- X122, -1, -1,124, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 82,/*123*/
- X -1, -1,123, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 90,/*124*/
- X119, -1, -1,126, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 82,/*125*/
- X -1,127,125, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 81,/*126*/
- X126, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 90,/*127*/
- X 70, -1, -1,129, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 82,/*128*/
- X130,136,128, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 48,/*129*/
- X -1,129, -1,131, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 80,/*130*/
- X134,132,130, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 48,/*131*/
- X131, -1, -1,133, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 82,/*132*/
- X -1, -1,132, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 90,/*133*/
- X -1,131, -1,135, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 80,/*134*/
- X -1, -1,134, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 90,/*135*/
- X129, -1, -1,137, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 82,/*136*/
- X -1, -1,136,138, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*137*/
- X139, -1,137, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 83,/*138*/
- X -1,138, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 90,/*139*/
- X -1, -1,111,112, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*140*/
- X 30, 26, 26,142, -1, -1, 24, 20, 26,142, 0, 0, 0, 0, 0,102,/*141*/
- X 20, 29,141, 2, -1, -1,141, 2,141, 2, 0, 0, 0, 0, 0,103,/*142*/
- X 25, 25, 25, 25, -1, -1, 25, 25,144, 25, 0, 0, 0, 0, 0,104,/*143*/
- X143,143,146,143, -1, -1,143,143,143,143, 1, 0, 0, 0, 0,105,/*144*/
- X 23, 35, 23, 21, -1, -1, 23, 21, 35, 34, 0, 0, 0, 0, 0,106,/*145*/
- X -1, -1, -1,144, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0,107,/*146*/
- X 3, 15, 3, 3, -1, -1, 3, 3, 15, 15, 1, 0, 0, 0, 0,108,/*147*/
- X 15, 2, 2, 15, -1, -1, 15, 15, 2, 2, 0, 0, 0, 0, 0,109,/*148*/
- X -1, -1, 45, -1, -1,150, -1, -1, -1, -1, 0, 0, 0, 0, 0,110,/*149*/
- X -1,151, -1, -1,149, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 61,/*150*/
- X150,152, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 55,/*151*/
- X151,153, -1,159, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 49,/*152*/
- X152,154, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 55,/*153*/
- X153, -1, -1,155, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 82,/*154*/
- X -1, -1,154,156, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*155*/
- X157, -1,155, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 83,/*156*/
- X158,156, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 55,/*157*/
- X -1,157,159,160, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 51,/*158*/
- X -1, -1,152,158, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0,132,/*159*/
- X -1, -1,158,161, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*160*/
- X -1, -1,160,162, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*161*/
- X -1, -1,161,163, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*162*/
- X -1, -1,162,164, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*163*/
- X -1, -1,163,165, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*164*/
- X -1, -1,164, -1, -1,166, -1, -1, -1, -1, 0, 0, 0, 0, 0,110,/*165*/
- X -1, -1,167,178,165, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0,111,/*166*/
- X168, -1, -1,166, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 82,/*167*/
- X169,167, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 55,/*168*/
- X170,168, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 55,/*169*/
- X -1,169, -1, -1,171, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 61,/*170*/
- X -1, -1,172, -1, -1,170, -1, -1, -1, -1, 0, 0, 0, 0, 0,110,/*171*/
- X -1, -1,173,171, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*172*/
- X -1, -1,174,172, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*173*/
- X -1, -1,175,173, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*174*/
- X -1, -1,176,174, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*175*/
- X -1, -1,177,175, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*176*/
- X -1, -1, -1,176, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0,112,/*177*/
- X -1, -1,166,179, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*178*/
- X -1, -1,178,180, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*179*/
- X -1,181,179, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 81,/*180*/
- X180,182, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 55,/*181*/
- X181,185,184,183, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 78,/*182*/
- X -1, -1,182, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 90,/*183*/
- X -1, -1, -1,182, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 90,/*184*/
- X182, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 90,/*185*/
- X185,187, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 55,/*186*/
- X186,189,190,188, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 78,/*187*/
- X -1, -1,187, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 90,/*188*/
- X187, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 90,/*189*/
- X -1, -1,191,187, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*190*/
- X192,198, -1,190, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0,113,/*191*/
- X -1,191, -1, -1, -1, -1,193, -1, -1, -1, 1, 0, 0, 0, 0,114,/*192*/
- X -1, -1, -1, -1, -1, -1, -1, -1,194,192, 1, 0, 0, 0, 0,115,/*193*/
- X -1,195, -1, -1, -1, -1, -1,193, -1, -1, 1, 0, 0, 0, 0,116,/*194*/
- X194,196, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0,117,/*195*/
- X195, -1, -1, -1,199, -1, -1, -1, -1,197, 1, 0, 0, 0, 0,118,/*196*/
- X -1, -1, -1, -1, -1, -1,196,198, -1, -1, 1, 0, 0, 0, 0,119,/*197*/
- X191, -1, -1, -1, -1, -1, -1, -1,197, -1, 1, 0, 0, 0, 0,120,/*198*/
- X200, -1, -1, -1, -1,196, -1, -1, -1, -1, 1, 0, 0, 0, 0,121,/*199*/
- X -1,199,201,202, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0,122,/*200*/
- X -1, -1, -1,200, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0,123,/*201*/
- X -1, -1,200,203, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0,124,/*202*/
- X -1, -1,202, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0,125,/*203*/
- X 45,205, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 55,/*204*/
- X204, -1,206, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 83,/*205*/
- X -1, -1, -1,205, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0,126,/*206*/
- X -1,208,227, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 81,/*207*/
- X207,209,226, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 48,/*208*/
- X208,210,225, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 48,/*209*/
- X209,211,224, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 48,/*210*/
- X210,217,223, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 48,/*211*/
- X217,213,222, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 48,/*212*/
- X212,214,221, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 48,/*213*/
- X213,215,220, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 48,/*214*/
- X214,216,219, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 48,/*215*/
- X215, -1,218, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 83,/*216*/
- X211,212, -1,239, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0,128,/*217*/
- X -1, -1,237,216, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 56,/*218*/
- X -1, -1,236,215, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 56,/*219*/
- X -1, -1,235,214, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 56,/*220*/
- X -1, -1,234,213, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 56,/*221*/
- X -1, -1,233,212, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 56,/*222*/
- X -1, -1,232,211, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 56,/*223*/
- X -1, -1,231,210, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 56,/*224*/
- X -1, -1,230,209, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 56,/*225*/
- X -1, -1,229,208, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 56,/*226*/
- X -1, -1,228,207, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 56,/*227*/
- X -1,229, -1,227, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 80,/*228*/
- X228,230, -1,226, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 49,/*229*/
- X229,231, -1,225, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 49,/*230*/
- X230,232, -1,224, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 49,/*231*/
- X231,233, -1,223, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 49,/*232*/
- X232,234, -1,222, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 49,/*233*/
- X233,235, -1,221, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 49,/*234*/
- X234,236, -1,220, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 49,/*235*/
- X235,237, -1,219, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 49,/*236*/
- X236,238, -1,218, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 49,/*237*/
- X237, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0,127,/*238*/
- X -1, 46,217, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 81,/*239*/
- X241, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0,129,/*240*/
- X -1,240,242, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0,130,/*241*/
- X -1, -1, -1,241, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0,131,/*242*/
- X 29,244,141, 2, -1, -1,141, 2,141, 2, 4, 0, 0, 0, 0,133,/*243*/
- X243,245,141, 2, -1, -1,141, 2,141, 2, 0, 0, 0, 0, 0,134,/*244*/
- X244, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0,135,/*245*/
- X247, 42,145, 6, -1, -1,145, 1,145, 6, 4, 0, 0, 0, 0,136,/*246*/
- X248,246,145, 6, -1, -1,145, 1,145, 6, 0, 0, 0, 0, 0,134,/*247*/
- X -1,247, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0,135 /*248*/
- X};
- X
- X/* Object file */
- X/* object [n][0] = room location if =>0, else =-1 is in possesion */
- X/* of player, = -2 means unmade, = -3 means it is destroyed, */
- X/* = -5 means the object is in the safe. */
- X/* object [n][1] = object's value */
- X/* object [n][2] = external property of the object */
- X/* = 1 indicates special action on taking */
- X/* = 2 alias */
- X/* = 3 nonmovable object which has no actions */
- X/* object [n][3] = object parse id name */
- X/* object [n][4] = object's weight */
- X/* object [n][5] = internal property of the object */
- Xint objcnt = DM_objcnt;
- Xint object[DM_object][6] = {
- X 0, 0, 0, V_can, 10, 0,
- X 0, 0, 0, V_butt, 1, 0,
- X 0, 0, 0, V_bottle, 20, 0,
- X36, 0, Z_transform, V_mat, 300, 0,
- X-2, 0, 0, V_key, 5, 0,
- X 0, 0, 0, V_umbrella, 100, 0,
- X 0, 0, 0, V_tackle, 50, 0,
- X 0, 0, 0, V_bit, 10, 0,
- X38, 0, Z_transform, V_map, 10, 0,
- X-2, 0, 0, V_map, 10, 0,
- X-5, 0, 0, V_paper, 10, 0,
- X 0, 200, 0, V_gold, 500, 0,
- X 0, 0, 0, V_jack, 400, 0,
- X 0, 0, 0, V_dynamite, 100, 0,
- X 0, 0, 0, V_clip, 50, 150,
- X 0, 0, 0, V_pen, 5, 0,
- X 0, 0, 0, V_org_clip, 50, 5,
- X 0, 0, 0, V_pencil, 5, 0,
- X 0, 0, 0, V_rifle, 300, 0,
- X 0, 0, 0, V_wire, 100, 0,
- X 0, 0, 0, V_pipe, 200, 0,
- X 0, 0, 0, V_cap, 5, 0,
- X 0, 0, 0, V_matches, 2, 0,
- X 0, 100, 0, V_ring, 5, 0,
- X 0, 0, 0, V_opener, 10, 0,
- X 0, 100, 0, V_ruby, 30, 0,
- X-2, 200, 0, V_teapot, 50, 0,
- X 0, 150, 0, V_coin, 7, 0,
- X 0, 0, 0, V_cord, 70, 0,
- X 0, 100, 0, V_bill, 5, 0,
- X 0, 0, 0, V_photo, 5, 0,
- X 0, 0, 0, V_chair, 500, 0,
- X 0, 0, 0, V_bulb, 10, 0,
- X 0, 0, 0, V_pills, 10, 0,
- X 0, 150, 0, V_saphire, 30, 0,
- X 0, 100, 0, V_emerald, 30, 0,
- X 0, 0, 0, V_rag, 50, 0,
- X 0, 0, 0, V_tube, 50, 0,
- X 0, 0, 0, V_carpet, 400, 0,
- X 0, 0, 0, V_branch, 400, 0,
- X 0, 0, 0, V_letter, 10, 0,
- X 0, 0, 0, V_cork, 5, 0,
- X 0, 0, 0, V_torch, 100, 0,
- X 0, 0, 0, V_trap, 5, 0,
- X 0, 0, 0, V_lighter, 5, 0,
- X 0, 0, 0, V_cube, 50, 0,
- X-2, 700, 0, V_clapper, 100, 0,
- X-2, 0, 0, V_detector, 100, 0,
- X 0, 0, 0, V_lace, 2, 0,
- X 0, 0, 0, V_comb, 5, 0,
- X 0, 0, 0, V_wrapper, 3, 0,
- X 0, 0, 0, V_tire, 400, 0,
- X 0, 0, 0, V_shell, 3, 0,
- X 0, 0, 0, V_brick, 100, 0,
- X 0, 0, 0, V_rope, 100, 0,
- X 0, 0, 0, V_package, 5, 0,
- X 0, 0, 0, V_belt, 10, 0,
- X 0, 0, 0, V_filter, 50, 0,
- X 0, 0, 0, V_string, 5, 0,
- X-2, 0, 0, V_recorder, 0, 0,
- X39, 0, Z_unmovable, V_poster, 0, 0,
- X41, 0, Z_unmovable, V_poster, 0, 0,
- X39, 0, Z_unmovable, V_cockroach, 0, 0,
- X41, 0, Z_unmovable, V_cockroach, 0, 0,
- X243, 0, Z_unmovable, V_kangaroo, 0, 0,
- X246, 0, Z_unmovable, V_kangaroo, 0, 0,
- X26, 0, Z_unmovable, V_spinifex, 0, 0,
- X238, 0, Z_unmovable, V_gong, 0, 0,
- X23, 0, Z_unmovable, V_bulldust, 0, 0
- X};
- X
- X#endif
- X
- X/***************************************************************/
- X
- X#ifdef DSCRB
- Xint pill_count = 7 ;
- Xextern int room[DM_room][16] ;
- Xextern int sw_active ;
- Xint rifle_flag = F_safety ;
- Xextern int clip_flag ;
- Xextern int object[DM_object][6] ;
- Xextern struct monster_struct *Ned ;
- X#endif
- X
- X/***************************************************************/
- X
- X#ifdef PUSHER
- X/* subroutines: new_score, pusher, switcher */
- Xextern int room[DM_room][16] ;
- Xextern int tag[DM_tag] ;
- Xextern int objcnt ;
- Xextern int object[DM_object][6] ;
- Xextern int monster_flag, rifle_flag, sw_script ;
- Xint sw_transport = FALSE, sw_recording = FALSE, sw_playing = FALSE ;
- Xextern int verb, score;
- XFILE *fp ;
- X#endif
- X
- X/***************************************************************/
- X
- X#ifdef LONG_DESCP
- Xextern int room[DM_room][16] ;
- Xextern int objcnt ;
- Xextern int object[DM_object][6] ;
- Xextern int monster_flag ;
- X#endif
- X
- X/***************************************************************/
- X
- X#ifdef ACTOR
- Xextern int room[DM_room][16], tag[DM_tag] ;
- Xextern int objcnt, gleep_safe, object[DM_object][6], verb ;
- Xextern int clip_flag, rifle_flag, monster_flag ;
- Xextern struct monster_struct *Ned ;
- Xextern struct monster_struct *Wombat ;
- Xextern struct monster_struct *monster_start ;
- X#endif
- X
- X/***************************************************************/
- X
- X#ifdef MNSTR
- Xextern int room[DM_room][16] ;
- Xextern int objcnt ;
- Xextern int object[DM_object][6] ;
- Xextern int enemy_max ;
- Xextern int monster_flag ;
- Xextern int carry_count, carry_weight ;
- Xextern struct monster_struct *Ned ;
- Xextern struct monster_struct *Wombat ;
- Xextern struct monster_struct *Guards ;
- Xextern struct monster_struct *Mullah ;
- Xextern struct monster_struct *monster_start ;
- X#endif
- X
- X/***************************************************************/
- X
- X#ifdef OPNR
- Xint sw_active = FALSE ;
- Xextern int room[DM_room][16] ;
- Xextern int objcnt ;
- Xextern int object[DM_object][6] ;
- Xextern int sent[20];
- Xextern int gleep_count ;
- Xextern int tag[DM_tag] ;
- Xextern int sw_active ;
- Xextern int pill_count ;
- Xextern int gleep_spot[10] ;
- Xextern int score, gleep_score, clip_flag ;
- Xextern int carry_count, carry_weight ;
- Xextern long clock_explode ;
- Xextern int flag_clock, sw_clock, i_poison ;
- X#endif
- X
- X/***************************************************************/
- X
- X#ifdef PARSE
- Xint sent[20];
- Xextern int verb ;
- Xextern int sw_wizard ;
- Xextern int room[DM_room][16] ;
- Xextern int gleep_score ;
- Xextern int object[DM_object][6] ;
- Xint tag[DM_tag], tag_max = DM_vocab ;
- Xextern int sw_recording, sw_playing ;
- Xextern FILE *fp ;
- X
- X/* Game vocabulary */
- Xint letmax = DM_letmax ;
- Xchar *vocab[DM_vocab] = {
- X"north","south","east","west","up",
- X"down","northeast","northwest","southeast","southwest",
- X"n","s","e","w","u", /* "u" = 15 */
- X"d","ne","nw","se","sw", /* "sw" = 20 */
- X"quit","unlock","lock","take","leave", /* "leave" = 25 */
- X"drop","can","bottle","mat","key", /* "key" = 30 */
- X"butt","look","door","open","get", /* "get" = 35 */
- X"throw","turn","on","off","push", /* "push" = 40 */
- X"button","enter","switch","zero","forty-nine", /* "forty-nine" = 45 */
- X"sixty-seven","eighty-two","0","49","67", /* "67" = 50 */
- X"82","beer","lager","doormat","lift", /* "lift" = 55 */
- X"'on'","'off'","SVC","map","picture", /* "picture" = 60 */
- X"safe","dial","paper","put","close", /* "close" = 65 */
- X"read","gold","bar","dynamite","rifle", /* "rifle" = 70 */
- X"M16","m16","cap","matches","diamond", /* "diamond" = 75 */
- X"ring","ruby","silver","coin","bill", /* "bill" = 80 */
- X"money","teapot","clip","ammo","box", /* "box" = 85 */
- X"stick","pills","orange","glowing","saphire", /* "saphire" = 90 */
- X"emerald","score","inventory","examine","describe",
- X"drink","fill","water","fourex","invent", /* "invent" = 100 */
- X"l","press","exit","all","Fourex", /* "Fourex" = 105 */
- X"everything","shoot","kill","ned","Ned", /* "Ned" = 110 */
- X"kelly","Kelly","pick","grab","combination", /* "combination"= 115 */
- X"select","safety","SAFE","triple","III", /* "III" = 120 */
- X"single","I","auto","AUTO","automatic", /* "automatic" = 125 */
- X"set","insert","attach","plan","gun", /* "gun" = 130 */
- X"magazine","hoop","snake","bear","wombat", /* "wombat" = 135 */
- X"remove","eject","org_clip","shut","gleep", /* "gleep" = 140 */
- X"gleeps","letter","envelope","torch","mail", /* "mail" = 145 */
- X"tank","carefully","gently","softly","slow_drop",
- X"light","ignite","fuse","slowly","match", /* "match" = 155 */
- X"cube","blue","blue-button","gray","gray-button",
- X"clapper","sound","bang","hit","strike", /* "strike" = 160 */
- X"gong","detector","give","STATS","JSYS",
- X"SU","yellow","yellow-button","poster","eat",
- X"swallow","pill","atropine","packet","wrapper",
- X"tyre","shell","brick","rope","package",
- X"belt","filter","string","cabinet","calendar",
- X"tackle","bit","jack","pen","pencil",
- X"wire","pipe","panel","opener","cord",
- X"photo","chair","bulb","rag","tube", /* "tube" = 200 */
- X"carpet","branch","cork","trap","lighter",
- X"lace","comb","umbrella","meadow","billabong",
- X"river","road","forest","grass","stream",
- X"desert","building","office","hideout","dust",
- X"mine","tunnel","tree","spinifex","hexagon",
- X"spacecaft","airlock","wing","hole","tray",
- X"liquid","cockroach","go","scream","yell",
- X"bring","help","dump","attack","check",
- X"inspect","place","touch","pull","extinguish",
- X"ask","talk","tell","find","move", /* "move" = 250 */
- X"break","kick","smash","feed","taste",
- X"smell","slam","desk","in","into",
- X"under","out","from","by","with",
- X"fling","what","where","are","am", /* "am" = 275 */
- X"have","QUESTION","how","why","who", /* "who" = 280 */
- X"when","bop","walk","run","jump", /* "jump" = 285 */
- X"hop","stroll","saunter","swagger","swing", /* "swing" = 290 */
- X"dig","swim","depart","info","back", /* "back" = 295 */
- X"hold","fire","stand","painting","doors", /* "doors" = 300 */
- X"treasure","trigger","load","unload","sand", /* "sand" = 305 */
- X"cockroaches","kangaroo","climb","bulldust","kangaroos",
- X"spinifexes","fuze","message","wall","recorder",
- X"red","white","green","red-button","white-button",
- X"green-button","grey","matchbox"
- X};
- X
- X/* Question Table */
- Xint quest_max = 8 ;
- Xint quest[9] = {
- XV_what, V_where, V_are, V_am, V_have,
- XV_how, V_why, V_who, V_when
- X} ;
- X
- X/* Adjective Table */
- Xint adj_max = 17 ;
- Xint adjective[18][4] = { /* first element points to adjective */
- XV_drop, V_bear,F_ignore,F_ignore, /* drop bear */
- XV_gold, V_bar,F_ignore,F_ignore, /* gold bar */
- XV_orange,V_clip,V_org_clip,F_replace, /* orange clip */
- XV_glowing, V_clip, V_org_clip,F_replace, /* glowing clip */
- XV_blue,V_switch,V_blue_button,F_replace, /* blue switch */
- XV_blue,V_button,V_blue_button,F_replace, /* blue button */
- XV_gray,V_switch,V_gray_button,F_replace, /* gray switch */
- XV_gray,V_button,V_gray_button,F_replace, /* gray button */
- XV_yellow,V_switch,V_yellow_button,F_replace, /* yellow switch */
- XV_yellow,V_button,V_yellow_button,F_replace, /* yellow button */
- XV_red,V_switch,V_red_button,F_replace, /* red switch */
- XV_red,V_button,V_red_button,F_replace, /* red button */
- XV_white,V_switch,V_white_button,F_replace, /* white switch */
- XV_white,V_button,V_white_button,F_replace, /* white button */
- XV_green,V_switch,V_green_button,F_replace, /* green switch */
- XV_green,V_button,V_green_button,F_replace, /* green button */
- XV_grey,V_switch,V_gray_button,F_replace, /* grey switch */
- XV_grey,V_button,V_gray_button,F_replace /* grey button */
- X} ;
- X
- X/* Adverb Table */
- Xint adv_max = 29 ;
- Xint adverb[30][3] = { /* first element points to adverb */
- XV_down, V_put, V_drop, /* put down */
- XV_down, V_set, V_drop, /* set down */
- XV_carefully, V_drop, V_slow_drop, /* drop carefully */
- XV_gently, V_drop, V_slow_drop, /* drop slowly */
- XV_softly, V_drop, V_slow_drop, /* drop softly */
- XV_slowly, V_drop, V_slow_drop, /* drop slowly */
- XV_carefully, V_put, V_slow_drop, /* put carefully */
- XV_gently, V_put, V_slow_drop, /* put slowly */
- XV_softly, V_put, V_slow_drop, /* put softly */
- XV_slowly, V_put, V_slow_drop, /* put slowly */
- XV_in, V_go, V_enter, /* go in */
- XV_in, V_move, V_enter, /* move in */
- XV_in, V_bop, V_enter, /* bop in */
- XV_in, V_walk, V_enter, /* walk in */
- XV_in, V_run, V_enter, /* run in */
- XV_in, V_jump, V_enter, /* jump in */
- XV_in, V_hop, V_enter, /* hop in */
- XV_in, V_stroll, V_enter, /* stroll in */
- XV_in, V_saunter, V_enter, /* saunter in */
- XV_in, V_swagger, V_enter, /* swagger in */
- XV_out, V_go, V_exit, /* go out */
- XV_out, V_move, V_exit, /* move out */
- XV_out, V_bop, V_exit, /* bop out */
- XV_out, V_walk, V_exit, /* walk out */
- XV_out, V_run, V_exit, /* run out */
- XV_out, V_jump, V_exit, /* jump out */
- XV_out, V_hop, V_exit, /* hop out */
- XV_out, V_stroll, V_exit, /* stroll out */
- XV_out, V_saunter, V_exit, /* saunter out */
- XV_out, V_swagger, V_exit /* swagger out */
- X} ;
- X
- X/* Verb Table */
- Xint verb_max = 78 ;
- Xint verb_table[79] = {
- XV_quit,V_unlock,V_lock,V_take,V_leave,
- XV_drop,V_look,V_open,V_get,V_throw,
- XV_turn,V_push,V_enter,V_switch,V_lift,
- XV_svc,V_dial,V_put,V_close,V_read,
- XV_score,V_inventory,V_examine,V_describe,V_drink,
- XV_fill,V_invent,V_l,V_press,V_exit,
- XV_shoot,V_kill,V_pick,V_grab,V_combination,
- XV_select,V_set,V_insert,V_attach,V_remove,
- XV_eject,V_shut,V_light,V_ignite,V_sound,
- XV_bang,V_hit,V_strike,V_give,V_stats,
- XV_jsys,V_su,V_eat,V_swallow,V_fling,
- XV_help,V_bop,V_walk,V_run,V_jump,
- XV_hop,V_stroll,V_saunter,V_swagger,V_go,
- XV_move,V_swing,V_dig,V_swim,V_depart,
- XV_info,V_back,V_hold,V_fire,V_pull,
- XV_stand,V_load,V_unload,V_climb
- X};
- X
- X#endif
- X
- X/***************************************************************/
- X
- X#ifdef TAKER
- Xint clip_flag = F_no_clip ;
- X/* gleep_drop triggers gleep destruction */
- Xint gleep_safe, gleep_drop = FALSE ;
- Xextern char *vocab[DM_vocab] ;
- Xextern int room[DM_room][16] ;
- Xextern int objcnt, rifle_flag ;
- Xextern int object[DM_object][6] ;
- Xextern int carry_count, carry_weight ;
- Xextern int gleep_count, gleep_score, verb, sent[20], tag[DM_tag] ;
- Xextern int sw_valuable ;
- X#endif
- END_OF_FILE
- if test 37337 -ne `wc -c <'dink_glb.h'`; then
- echo shar: \"'dink_glb.h'\" unpacked with wrong size!
- fi
- # end of 'dink_glb.h'
- fi
- if test -f 'make.dos' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'make.dos'\"
- else
- echo shar: Extracting \"'make.dos'\" \(921 characters\)
- sed "s/^X//" >'make.dos' <<'END_OF_FILE'
- XCFLAGS = -c -w -mh -O
- XHEAD = dink_sym.h dink_glb.h
- X
- X# The Ver. 2 Borland Tlink will malfunction if more Obj files are added.
- X
- Xdinkum.exe: dinkum.obj describe.obj longdsc.obj objlook.obj actor.obj \
- Xmonster.obj opener.obj pusher.obj parse.obj taker.obj
- X tlink /x c:\tc\lib\c0h dinkum describe longdsc objlook actor monster \
- Xpusher opener parse taker, dinkum, dinkum, c:\tc\lib\ch
- X
- Xdinkum.obj: dinkum.c $(HEAD)
- X tcc $(CFLAGS) dinkum.c
- Xdescribe.obj: describe.c $(HEAD)
- X tcc $(CFLAGS) describe.c
- Xlongdsc.obj: longdsc.c $(HEAD)
- X tcc $(CFLAGS) longdsc.c
- Xobjlook.obj: objlook.c $(HEAD)
- X tcc $(CFLAGS) objlook.c
- Xparse.obj: parse.c $(HEAD)
- X tcc $(CFLAGS) parse.c
- Xactor.obj: actor.c $(HEAD)
- X tcc $(CFLAGS) actor.c
- Xpusher.obj: pusher.c $(HEAD)
- X tcc $(CFLAGS) pusher.c
- Xmonster.obj: monster.c $(HEAD)
- X tcc $(CFLAGS) monster.c
- Xopener.obj: opener.c $(HEAD)
- X tcc $(CFLAGS) opener.c
- Xtaker.obj: taker.c $(HEAD)
- X tcc $(CFLAGS) taker.c
- X
- END_OF_FILE
- if test 921 -ne `wc -c <'make.dos'`; then
- echo shar: \"'make.dos'\" unpacked with wrong size!
- fi
- # end of 'make.dos'
- fi
- if test -f 'make.unx' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'make.unx'\"
- else
- echo shar: Extracting \"'make.unx'\" \(801 characters\)
- sed "s/^X//" >'make.unx' <<'END_OF_FILE'
- XCFLAGS = -c
- XHEAD = dink_sym.h dink_glb.h
- X
- X# Don't add anymore files because the makefile with the Borland Ver. 2
- X# Tlink will choke and die.
- X
- XOBJECTS = dinkum.o describe.o longdsc.o objlook.o actor.o \
- Xpusher.o monster.o opener.o parse.o taker.o
- Xdinkum: $(OBJECTS)
- X cc $(OBJECTS) -o dinkum
- Xdinkum.o: dinkum.c $(HEAD)
- X cc $(CFLAGS) dinkum.c
- Xdescribe.o: describe.c $(HEAD)
- X cc $(CFLAGS) describe.c
- Xlongdsc.o: longdsc.c $(HEAD)
- X cc $(CFLAGS) longdsc.c
- Xobjlook.o: objlook.c $(HEAD)
- X cc $(CFLAGS) objlook.c
- Xparse.o: parse.c $(HEAD)
- X cc $(CFLAGS) parse.c
- Xpusher.o: pusher.c $(HEAD)
- X cc $(CFLAGS) pusher.c
- Xactor.o: actor.c $(HEAD)
- X cc $(CFLAGS) actor.c
- Xmonster.o: monster.c $(HEAD)
- X cc $(CFLAGS) monster.c
- Xopener.o: opener.c $(HEAD)
- X cc $(CFLAGS) opener.c
- Xtaker.o: taker.c $(HEAD)
- X cc $(CFLAGS) taker.c
- X
- END_OF_FILE
- if test 801 -ne `wc -c <'make.unx'`; then
- echo shar: \"'make.unx'\" unpacked with wrong size!
- fi
- # end of 'make.unx'
- fi
- if test -f 'makefile' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'makefile'\"
- else
- echo shar: Extracting \"'makefile'\" \(801 characters\)
- sed "s/^X//" >'makefile' <<'END_OF_FILE'
- XCFLAGS = -c
- XHEAD = dink_sym.h dink_glb.h
- X
- X# Don't add anymore files because the makefile with the Borland Ver. 2
- X# Tlink will choke and die.
- X
- XOBJECTS = dinkum.o describe.o longdsc.o objlook.o actor.o \
- Xpusher.o monster.o opener.o parse.o taker.o
- Xdinkum: $(OBJECTS)
- X cc $(OBJECTS) -o dinkum
- Xdinkum.o: dinkum.c $(HEAD)
- X cc $(CFLAGS) dinkum.c
- Xdescribe.o: describe.c $(HEAD)
- X cc $(CFLAGS) describe.c
- Xlongdsc.o: longdsc.c $(HEAD)
- X cc $(CFLAGS) longdsc.c
- Xobjlook.o: objlook.c $(HEAD)
- X cc $(CFLAGS) objlook.c
- Xparse.o: parse.c $(HEAD)
- X cc $(CFLAGS) parse.c
- Xpusher.o: pusher.c $(HEAD)
- X cc $(CFLAGS) pusher.c
- Xactor.o: actor.c $(HEAD)
- X cc $(CFLAGS) actor.c
- Xmonster.o: monster.c $(HEAD)
- X cc $(CFLAGS) monster.c
- Xopener.o: opener.c $(HEAD)
- X cc $(CFLAGS) opener.c
- Xtaker.o: taker.c $(HEAD)
- X cc $(CFLAGS) taker.c
- X
- END_OF_FILE
- if test 801 -ne `wc -c <'makefile'`; then
- echo shar: \"'makefile'\" unpacked with wrong size!
- fi
- # end of 'makefile'
- fi
- echo shar: End of archive 1 \(of 7\).
- cp /dev/null ark1isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 7 archives.
- rm -f ark[1-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
-