Annotation of 43BSDReno/games/dungeon/dmain.F, revision 1.1

1.1     ! root        1: C DUNGEON-- MAIN PROGRAM
        !             2: C
        !             3: C COPYRIGHT 1980, INFOCOM COMPUTERS AND COMMUNICATIONS, CAMBRIDGE MA. 02142
        !             4: C ALL RIGHTS RESERVED, COMMERCIAL USAGE STRICTLY PROHIBITED
        !             5: C WRITTEN BY R. M. SUPNIK
        !             6: C
        !             7:        PROGRAM DUNGEO
        !             8: C
        !             9: C DECLARATIONS
        !            10: C
        !            11:        IMPLICIT INTEGER (A-Z)
        !            12:        LOGICAL INIT
        !            13: #include "parser.h"
        !            14: #include "gamestate.h"
        !            15: #include "state.h"
        !            16: #include "screen.h"
        !            17: #include "puzzle.h"
        !            18: C
        !            19: C MISCELLANEOUS VARIABLES
        !            20: C
        !            21:        CHARACTER VEDIT
        !            22:        COMMON /STAR/ MBASE,STRBIT
        !            23:        COMMON /VERS/ VMAJ,VMIN,VEDIT
        !            24:        COMMON /BATS/ BATDRP(9)
        !            25: #include "io.h"
        !            26: #include "debug.h"
        !            27:        COMMON /HYPER/ HFACTR
        !            28: #include "rooms.h"
        !            29: #include "rflag.h"
        !            30: #include "rindex.h"
        !            31: #include "exits.h"
        !            32: #include "curxt.h"
        !            33: #include "xpars.h"
        !            34: #include "xsrch.h"
        !            35: #include "objects.h"
        !            36: #include "oflags.h"
        !            37: #include "oindex.h"
        !            38: #include "clock.h"
        !            39: 
        !            40: #include "villians.h"
        !            41: #include "advers.h"
        !            42: #include "verbs.h"
        !            43: #include "flags.h"
        !            44: C DUNGEON, PAGE 2
        !            45: C
        !            46: C DATA STATEMENTS FOR CONSTANT ARRAYS
        !            47: C
        !            48:        DATA VMAJ/2/,VMIN/6/,VEDIT/'C'/
        !            49: C
        !            50:        DATA SDIR/o'40000'/,SIND/o'20000'/,SSTD/o'10000'/,
        !            51: &              SFLIP/o'4000'/,SDRIV/o'2000'/,SVMASK/o'777'/
        !            52:        DATA VABIT/o'40000'/,VRBIT/o'20000'/,VTBIT/o'10000'/,
        !            53: &              VCBIT/o'4000'/,VEBIT/o'2000'/,VFBIT/o'1000'/,
        !            54: &              VPMASK/o'777'/
        !            55: C
        !            56:        DATA BATDRP/66,67,68,69,70,71,72,65,73/
        !            57: C
        !            58:        DATA SCOLDR/o'2000',153,o'12000',154,o'6000',152,o'16000',151/
        !            59:        DATA SCOLWL/151,207,o'6000',152,208,o'16000',
        !            60: &              153,206,o'12000',154,205,o'2000'/
        !            61: C
        !            62:        DATA HFACTR/500/
        !            63: C
        !            64:        DATA CPDR/o'2000',-8,o'4000',-7,o'6000',1,o'10000',9,
        !            65: &              o'12000',8,o'14000',7,o'16000',-1,o'20000',-9/
        !            66:        DATA CPWL/205,-8,206,8,207,1,208,-1/
        !            67:        DATA CPVEC/1,1,1,1,1,1,1,1,
        !            68: &              1,0,-1,0,0,-1,0,1,
        !            69: &              1,-1,0,1,0,-2,0,1,
        !            70: &              1,0,0,0,0,1,0,1,
        !            71: &              1,-3,0,0,-1,-1,0,1,
        !            72: &              1,0,0,-1,0,0,0,1,
        !            73: &              1,1,1,0,0,0,1,1,
        !            74: &              1,1,1,1,1,1,1,1/
        !            75: C
        !            76:        DATA CEVCUR/1/,CEVMNT/2/,CEVLNT/3/,CEVMAT/4/,
        !            77: &              CEVCND/5/,CEVBAL/6/,CEVBRN/7/,CEVFUS/8/,
        !            78: &              CEVLED/9/,CEVSAF/10/,CEVVLG/11/,CEVGNO/12/,
        !            79: &              CEVBUC/13/,CEVSPH/14/,CEVEGH/15/,
        !            80: &              CEVFOR/16/,CEVSCL/17/,CEVZGI/18/,CEVZGO/19/,
        !            81: &              CEVSTE/20/,CEVMRS/21/,CEVPIN/22/,CEVINQ/23/,
        !            82: &              CEVFOL/24/
        !            83: C
        !            84:        DATA XRMASK/o'377'/,XDMASK/o'76000'/,XFMASK/3/
        !            85:        DATA XFSHFT/256/,XASHFT/256/
        !            86:        DATA XNORM/1/,XNO/2/,XCOND/3/,XDOOR/4/
        !            87:        DATA XELNT/1,2,3,3/,XLFLAG/o'100000'/
        !            88:        DATA XMIN/o'2000'/,XMAX/o'40000'/,XUP/o'22000'/,XDOWN/o'24000'/
        !            89:        DATA XNORTH/o'2000'/,XSOUTH/o'12000'/,XENTER/o'32000'/,
        !            90: &                      XEXIT/o'34000'/
        !            91:        DATA XEAST/o'6000'/,XWEST/o'16000'/
        !            92: C
        !            93:        DATA PLAYER/1/,AROBOT/2/,AMASTR/3/
        !            94:        DATA ASTAG/o'100000'/
        !            95: C
        !            96:        DATA RSEEN/o'100000'/,RLIGHT/o'40000'/,RLAND/o'20000'/
        !            97:        DATA RWATER/o'10000'/,RAIR/o'4000'/,RSACRD/o'2000'/,
        !            98: &              RFILL/o'1000'/
        !            99:        DATA RMUNG/o'400'/,RBUCK/o'200'/,RHOUSE/o'100'/,
        !           100: &              RNWALL/o'40'/,REND/o'20'/
        !           101: C
        !           102:        DATA WHOUS/2/,LROOM/8/,CELLA/9/
        !           103:        DATA MTROL/10/,MAZE1/11/
        !           104:        DATA MGRAT/25/,MAZ15/30/
        !           105:        DATA FORE1/31/,FORE3/33/,CLEAR/36/,RESER/40/
        !           106:        DATA STREA/42/,EGYPT/44/,ECHOR/49/
        !           107:        DATA TSHAF/61/
        !           108:        DATA BSHAF/76/,MMACH/77/,DOME/79/,MTORC/80/
        !           109:        DATA CAROU/83/
        !           110:        DATA RIDDL/91/,LLD2/94/,TEMP1/96/,TEMP2/97/,MAINT/100/
        !           111:        DATA MCYCL/101/,BLROO/102/,TREAS/103/,RIVR1/107/,RIVR2/108/
        !           112:        DATA    RIVR3/109/
        !           113:        DATA RIVR4/112/,RIVR5/113/,FCHMP/114/,MBARR/119/,FALLS/120/
        !           114:        DATA MRAIN/121/,POG/122/,VLBOT/126/,VAIR1/127/,VAIR2/128/
        !           115:        DATA    VAIR3/129/,VAIR4/130/
        !           116:        DATA LEDG2/131/,LEDG3/132/,LEDG4/133/,MSAFE/135/,CAGER/140/
        !           117:        DATA CAGED/141/,TWELL/142/,BWELL/143/,ALICE/144/,ALISM/145/
        !           118:        DATA    ALITR/146/,MTREE/147/,BKENT/148/
        !           119:        DATA BKVW/151/,BKTWI/153/,BKVAU/154/,BKBOX/155/
        !           120:        DATA    CRYPT/157/,TSTRS/158/,MRANT/159/
        !           121:        DATA MREYE/160/,MRA/161/,MRB/162/,MRC/163/,MRG/164/
        !           122:        DATA    MRD/165/,FDOOR/166/,MRAE/167/
        !           123:        DATA MRCE/171/,MRCW/172/,MRGE/173/,MRGW/174/,MRDW/176/
        !           124:        DATA    INMIR/177/,SCORR/179/
        !           125:        DATA NCORR/182/,PARAP/183/,CELL/184/,PCELL/185/,NCELL/186/
        !           126:        DATA    CPANT/188/,CPOUT/189/
        !           127:        DATA CPUZZ/190/
        !           128: C
        !           129:        DATA CINTW/1/,DEADXW/2/,FRSTQW/3/,INXW/4/
        !           130:        DATA OUTXW/5/,WALKIW/6/,FIGHTW/7/,FOOW/8/
        !           131: C
        !           132:        DATA READW/100/,MELTW/101/
        !           133:        DATA INFLAW/102/,DEFLAW/103/,ALARMW/104/,EXORCW/105/
        !           134:        DATA PLUGW/106/,KICKW/107/,WAVEW/108/,RAISEW/109/,LOWERW/110/
        !           135:        DATA RUBW/111/,PUSHW/112/,UNTIEW/113/,TIEW/114/,TIEUPW/115/
        !           136:        DATA TURNW/116/,BREATW/117/,KNOCKW/118/,LOOKW/119/
        !           137:        DATA EXAMIW/120/,SHAKEW/121/,MOVEW/122/,TRNONW/123/,TRNOFW/124/
        !           138:        DATA OPENW/125/,CLOSEW/126/,FINDW/127/,WAITW/128/,SPINW/129/
        !           139:        DATA BOARDW/130/,UNBOAW/131/,TAKEW/132/,INVENW/133/
        !           140:        DATA FILLW/134/,EATW/135/,DRINKW/136/,BURNW/137/
        !           141:        DATA MUNGW/138/,KILLW/139/,ATTACW/141/
        !           142:        DATA SWINGW/140/,WALKW/142/,TELLW/143/,PUTW/144/
        !           143:        DATA DROPW/145/,GIVEW/146/,POURW/147/,THROWW/148/
        !           144: C
        !           145:        DATA DIGW/89/,LEAPW/91/,STAYW/73/,FOLLOW/85/
        !           146:        DATA HELLOW/151/,LOOKIW/152/,LOOKUW/153/,PUMPW/154/
        !           147:        DATA WINDW/155/,CLMBW/156/,CLMBUW/157/,CLMBDW/158/,TRNTOW/159/
        !           148: C
        !           149:        DATA VISIBT/o'100000'/,READBT/o'40000'/,TAKEBT/o'20000'/,
        !           150: &              DOORBT/o'10000'/,TRANBT/o'4000'/,FOODBT/o'2000'/,
        !           151: &              NDSCBT/o'1000'/,DRNKBT/o'400'/, CONTBT/o'200'/,
        !           152: &              LITEBT/o'100'/,VICTBT/o'40'/,BURNBT/o'20'/,
        !           153: &              FLAMBT/o'10'/,TOOLBT/o'4'/,TURNBT/o'2'/,ONBT/o'1'/
        !           154: C
        !           155:        DATA FINDBT/o'100000'/,SLEPBT/o'40000'/,SCRDBT/o'20000'/,
        !           156: &              TIEBT/o'10000'/, CLMBBT/o'4000'/,ACTRBT/o'2000'/,
        !           157: &              WEAPBT/o'1000'/,FITEBT/o'400'/, VILLBT/o'200'/,
        !           158: &              STAGBT/o'100'/,TRYBT/o'40'/,NOCHBT/o'20'/,
        !           159: &              OPENBT/o'10'/,TCHBT/o'4'/,VEHBT/o'2'/,SCHBT/o'1'/
        !           160: C
        !           161:        DATA GARLI/2/,FOOD/3/,GUNK/4/,COAL/5/,MACHI/7/,DIAMO/8/
        !           162:        DATA    TCASE/9/,BOTTL/10/
        !           163:        DATA WATER/11/,ROPE/12/,KNIFE/13/,SWORD/14/,LAMP/15/,BLAMP/16/
        !           164:        DATA    RUG/17/,LEAVE/18/,TROLL/19/,AXE/20/
        !           165:        DATA RKNIF/21/,KEYS/23/,BAR/26/,ICE/30/
        !           166:        DATA COFFI/33/,TORCH/34/,TBASK/35/,FBASK/36/,IRBOX/39/
        !           167:        DATA GHOST/42/,TRUNK/45/,BELL/46/,BOOK/47/,CANDL/48/
        !           168:        DATA MATCH/51/,TUBE/54/,PUTTY/55/,WRENC/56/,SCREW/57/
        !           169:        DATA    CYCLO/58/,CHALI/59/
        !           170:        DATA THIEF/61/,STILL/62/,WINDO/63/,GRATE/65/,DOOR/66/
        !           171:        DATA HPOLE/71/,RBUTT/79/,LEAK/78/,RAILI/75/
        !           172:        DATA POT/85/,STATU/86/,IBOAT/87/,DBOAT/88/,PUMP/89/,RBOAT/90/
        !           173:        DATA STICK/92/,BUOY/94/,SHOVE/96/,GUANO/97/,BALLO/98/,RECEP/99/
        !           174:        DATA BROPE/101/,HOOK1/102/,HOOK2/103/,SAFE/105/,SSLOT/107/
        !           175:        DATA    BRICK/109/,FUSE/110/
        !           176:        DATA GNOME/111/,BLABE/112/,DBALL/113/,TOMB/119/
        !           177:        DATA LCASE/123/,CAGE/124/,RCAGE/125/,SPHER/126/,SQBUT/127/
        !           178:        DATA FLASK/132/,POOL/133/,SAFFR/134/,BUCKE/137/,ORICE/139/
        !           179:        DATA    ECAKE/138/,RDICE/140/
        !           180:        DATA BLICE/141/,ROBOT/142/,FTREE/145/,BILLS/148/,PORTR/149/
        !           181:        DATA SCOL/151/,ZGNOM/152/,EGG/154/,BEGG/155/,BAUBL/156/
        !           182:        DATA    CANAR/157/,BCANA/158/,YLWAL/159/
        !           183:        DATA RDWAL/161/,PINDR/164/
        !           184:        DATA RBEAM/171/,ODOOR/172/,QDOOR/173/,CDOOR/175/
        !           185:        DATA    NUM1/178/
        !           186:        DATA NUM8/185/,WARNI/186/,CSLIT/187/,GCARD/188/,STLDR/189/
        !           187:        DATA ITOBJ/192/,OPLAY/193/,EVERY/194/
        !           188:        DATA    VALUA/195/,SAILO/196/,TEETH/197/,WALL/198/
        !           189:        DATA HANDS/200/,LUNGS/201/,AVIAT/202/
        !           190:        DATA WNORT/205/,GWATE/209/,MASTER/215/
        !           191: C DUNGEON, PAGE 3
        !           192: C
        !           193: C 1) INITIALIZE DATA STRUCTURES
        !           194: C 2) PLAY GAME
        !           195: C
        !           196:        IF(INIT(X)) CALL GAME
        !           197: C                                              !IF INIT, PLAY GAME.
        !           198:        CALL EXIT
        !           199: C                                              !DONE
        !           200:        END

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.