billr@saab.CNA.TEK.COM (Bill Randle) (04/24/91)
Submitted-by: routley@tle.ENET.DEC.COM (Kevin Routley) Posting-number: Volume 12, Issue 60 Archive-name: larn2/Part07 Supersedes: larn: Volume 11, Issue 84-94 Environment: Unix, VMS, MS-DOS, OS/2, termcap #! /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 7 (of 12)." # Contents: larn.maz larn123.doc tputs.c # Wrapped by billr@saab on Tue Apr 23 13:50:32 1991 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f 'larn.maz' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'larn.maz'\" else echo shar: Extracting \"'larn.maz'\" \(27768 characters\) sed "s/^X//" >'larn.maz' <<'END_OF_FILE' XD################################################################### X# # . # # # # # . # X# D D . . D . # X###D########################################## # # ###D### X# -# #. # # ################ . .# X# ####### ######## ############ D #### # # # X# ... #.# # # # . # # # #### # ############ # ###D### X# #.# # # ## # # # ############ #### # #- # # # #. # X# . # # # # ## #- # # # - D #### # # . D # #.# # ... # X# # #.# # # # # # . . # # # # # # #-# # ~.! # X###D### ### #######D## # ############ ###### ########## ### ####### X# # @ .# # ..... ...# X###D###########################################################D### X# . #.....# # # # -# # # # # # X# ..... . D D D D. # X# #.....# # # # # # .# # # # X################################################################### X X################################################################### X#.. . D # . # #- # X############# ######### # ## ### ##### ## #### ###### ####### ### # X#.#!#~# # # .-# # #- # # # # -# # # # X# # #.# . # ####### # # # # # # # # # ##### X# # ..# ##### # # # #### # ## ## ## # ###### ####### # # X# - ..D # D # . D # # # #.##### ## ## # #. #.# #..# # ### # X####### ####### ### # # # # # # D # D D #..D # # X#- # # # #### # ###### # ## # #. # #..# ##### X### #######################- # # # ###################### # # X# ... # . #..# ### # - .. . #. ### # X# # # # ### #################### # # # X# ### # X################################################################# # X#- D ### # # # # X# . # # # D # X################################################################### X X################################################################### X# .. # X# ############## ############################################## # # X# # # # # .. # # # X# #D## # # ############D################# ########### # # # X######### #- # # # #- D # # ~ # # # # # # # X# # # # # # # ### # # # D - # # ####### # # # # X# .... # #### # # # #!# # # ###### .. #.# # # # # # # X# .... # # # # ### # # # # #########D#### # ### # # # # # X# .... ######## # # D # #- # #.. # ...#.# # #.# # # # # # X# # # ### # #### #.- D - #.# #.#.# # # # # # X#####DD## ######## # # D D. # # # #...# # # # # # X# # ..# # # # ############################## # ##### # # # # # X# ......# # # # # # # # # # X# ####### ###### ################################ ######### # ### # X# .D. # # X################################################################### X X################################################################### X# ## ## ### ## # X# ##### ## ..- ## ##.## ## # X# # ! ## ## . ## ## .## .. ## # X# #....###### ## ## ## . ## ## # X# # - # ## ##D# ## . ## ## # X# #####D ~ ####### ###........ ## ... ## ## # X# # # ## ## .... ## . ## ## # X# #. ######## ## ## . - ####D#### - # X# #.- #...## ## ... ## ### ...... ## ## # X# #. #..## ## ######### ## ... ## ### ## .. # X# #.. #.## ## ## - ## . #### ## ## ##### ## # X# #####D## ## ## ###### ## ## ####### ## # X# D -.## #### ######## ##DD## ######## #D # X# ###### ... ## ########## ## # X#### . . ### X################################################################### X X################################################################### X# # X# ####.########################################## ## ########## X# # #.#.#.# #.. #. # # # X####### # # # # # ##### #! # ########### # ### # X# # # # # # # ##...## # # # # # #-# # X# ..- D # # # # # ## . ## ####D##### .. ### # # # # X# # # # ##. ~ .## # # ### # # ##### # # X############ # # # # ## . . .## #...# .. #.# # # # # X# .. .# # # # # ## - ## # # D.D # ######### # X# . D # # # # ##.......## ####D#####.# # # X# - . # # # # # ## ## # . # ### ########### # X############ #.#.# # ###D### # . #....# # # X# # #-# D .. # .# ###....## ##-### # X#### ########################################## ###### ### # X# . # X################################################################### X X################################################################### X# # X# ###########################D####### ## # X# ####################### # ##...... ## ## # X# ########D###### # # !##.... ## ## # X# ############ ## ## ... # # #...## ~ ## ###### # X# # # # # ...... # # # .. ##### ## # X# # - .. # # # ########### # # . ######### ## # X# ##### ##### # # # # #... ## ## # X# # # ########## ######## ########DD#### ####### # X# # # .... # # # # # ## ## # X# ##### # # ....# # ######### # # ##### ## # X# #- ######D##########..# # ######### # - #.. ## ## # X# ##### # # # #... #.....## # X# # ################### ###############... #### # ###### X# # # X################################################################### X X################################################################### X# # X########### ##### ##### #####D#### ##### ###### # X#.. # #-..D ###### ## # ## # ## ..## ### #### # X# #### ### ##### # ## # ##### # ## ### ## # # # X# # # # # # ##### # ## # # #### # #..##### - ### # X# # # ####### ### #...# # ######## # # #~. .... # # X# # # # #...# # # ######### ############## # X# # ###### ####### # ### ### # .. # # X# # # - # #-#####!# # # #### ## #### # # X# ###### # ########## #.. ....# # ######## # # # ## ## # X# -.# ##### ####...## # . .# #..# # ## # # X# #### ###### #.### #####.#### #### ### ## # # X# #- #######....#### ...... #.# . # ## # # X# ####### ##### ###########.############### ### # X# . # X################################################################### X X################################################################### X# # #- . # # # # # # # # # X# # # #####.##### # # # # # # # # # # ###########D########### # X# # ##### # # ### # # # # # # # # # ### #.... # # # # X# # # # # # # # # # # # # # #.!. -.. #.##.# # # X# # . - # # ####### # # # # # # # # # ########## ## # # X#.####### # # D # . # # # X#. -# ################################################### # X# ##### D. . # X# # ### ###D### ### ### ###D### ### ### ###D### ###.### # X# # ###### ### .# .# #. # # # # # # # # . # # X# ### # -# ### .#. - .# # # #...- # # .. # # -..# # . # # X# # # ### #. ~ .# # # # # # # # .. .# # # # X#.###### # ### # # #.....# # # # # # # # # # X# # ####### ####### ####### ####### ####### ####### ####### # X# # ... .. # X################################################################### X X################################################################### X# # . # ### # # # # . # X# D D . # . D . # X############################################### # # ###D### X# -# #. # # ################ . .# X# #######D######## ############ # #### # # # X# ... #. # #!~ . # # # #--# # ############ #####D### X# #.# # # ## # # # ############ #--# # #- # # # #. # X# . # #-# # ## #- # # # - D ## # # # . D #### #.# # ... # X# # #-# # # # # # . . # # # # # # #-# # -.- # X###D### ### ####### ## # ############ ###### ########## ### ###D### X# # @ . ..... ...# X##################################### ###############D### X# . #.....# # # # -# # # # # X# ..... . D D D D. # X# #.....# # # # # .# # # # X################################################################### X X################################################################### X#.. . # D . #- # X### ######### ######### # ## ### ##### ## ########### ####### ### # X#.# # # # .-# # #- # # # # -# # # # X# # #.# . # ####### # # # # # # # # # ##### X# # ..####### # # # #### # ## ## ##!# ###### ####### # # X# - ..D # D # . D # # # #.##### ## ## # #. #.# #..# # ### # X####### ####### ### # # # # # # D # D D #..D # # X#- # # # #### # ###### # ## # #. # #..# ##### X### #######################- # # # ###################### # # X# ... # . #..# ### # - .. . #. ### # X# # # # #-# #################### # # # X# # -# # X################################-################################ # X#-..... # ####D ### # # # # X#~..... # # # # D # X################################################################### X X################################################################### X# .. # X# ############## ############################################## # # X# # # # # .. # # # X# #D## # # ############D################# ########### # # # X######### #- # # # #- D # #.!..# # # # # # # X# # # # # # # # ### ## # #....D - # # ####### # # # # X# .... # #### # # # #~# # # ###### .. #.# # # # # # # X###....## # # # ###.# # # #########D## # # ### # # # # # X# .... ######## # # D .# #- # .. # ...#.# # #.# # # # # # X# # ## # ### .# #### .- D - #.# #.#.# # # # # # X#####DD## ######## #... .# . # # # #.#. # # # # # X# # ..# # # ############################## # # ##### # # # # X# ......# # # # # # # # # # # X# ####### ###### ################################D# ######### ### # X# .D. #-.-# X################################################################### X X################################################################### X# ## ## ## ## ## # X# ############## ## ..- ## ## . ## ## # X# # # ## ## . ## ## . ##.. ## # X# #....###### ## ## ######## ####### . ## ## # X# # - # ## ## ##D# ## . ## ## # X# # D###### ###........ ## ... ## ###### # X# # # ## ## .... ## . ## ## - # # X# #. ######## ## ## . - ####D####.. D # X# #.- #...## ## ... ## ### ...... ## ##### # X# #. #..## ## ######### ## ... ## ### ## .. # X# #.. #.## ## ## - ## . #### ## ## ##### ## # X# #####D####### # ## ## ##..## ## ## ## ## ## # X# D -.## # # #### ##.-.-## ##DD## ### #### ## # X# ######. ...# #### ## #### ##### ## ##D# X####~!.... D . . # X################################################################### X X################################################################### X# # X# ####.########################################## ## ########## X# # #.#.#.# #.. . # # # X####### # # # # # ############# # ########### # ### # X# # # # # # # --##...##-- # # # # #-# # X# ..- D # # # # # #-## . ##-# ####D##### .. ### # # # # X# # # # ###. .### # ~ # ### ### ##### # # X############ # # # # ## . . .## #...# .. #.# # # X# .. .# # # # # ## - ## # # D. # ######### # X# . D # # # # ###.......### ####D#####.# # # X# - . # # # # # -## ##- # . ### ########### # X############ #.#.# # ######D###### # . ....# # # X# #!#-# # .. # . ###....## ##-### # X#### ############################## ########## ###### ### # X# D . # X################################################################### X X################################################################### X# # X# ###############D####################D# # X# ####################### # ##...... # # X# ########D###### # # ##.... # # X# ############### ## ## ... # # #...## ##### # X# # ~ # # #!...... # # # .. ##### # # X# # - .. # # # ########### # # . ######### # # X# ##### ######## # # # # # #... ## # # X# # # # ########## ######## ########D #### ###### # X# # # ....# # # # # # ## # # X# ##### # ###### # ....# # ######### # # #####D# # X# #- ## # #######..# # ######### # - #.. # X# ##### # # # #... #..... # X# # ################### ###############... #### ###### X# # # X################################################################### X X################################################################### X# # # X########### ##### # #####D#### ##### ###### # X#.. # #~..D ###### ## # ## # ## ..## ### #### # X# #### ### ##### # ## # ##### # ## ### ## # # # X# # # # # # ##### # ## # # #### # #..##### - ### # X# # # ####### ### #...# # ######## # # #!. .... # # X# # # # #...# # # ######### ############## # X# # ###### ####### # ### ### # .. # # X# # # - # #- # # # ######## #### # # X# # # ########## #.. ....# # ######## # ## ## # X# # -. ##### ####...## # . .# .. # # # X# # ###### ##### #####.#### ####### # # X# # - #######....#### ...... #.# . # ## # # X# ######### ##### ###########.############### ### # X# . # X################################################################### X X################################################################### X# D D #-..........# # # # # # X#D#D# #####.#####.# # # # # # #############D########### # X# # ##### #.#~###.# # # # # # ### .... # # # # X#D# # #.......# # # # # # # . . -.. #. #.# # # X# # . - # #.####### # # # # # ################## # # X#D####### #. # D # . # # # X#. D D -# ################################################### # X# ###### . . # X# # D ### ###D### ####### ###D### ####### ###D### ####### # X# # ###### # # .# .# #. # # # # # # # # . # # X# ### -# # # .#. - .# # # #...- # # .. # # -..# # . # # X#DD# # # # #. .# # # # # # # # .. .# # # # X#.###### # # # # #.....# # # # # # ! # # # # X# # ####### ####### ### ### ####### ### ### ####### ### ### # X# # ... .. # X################################################################### X X################################################################### X# D ## ## ## ## # # # X# - . # ####### ## -.- ## ## ## #### D # X#### # #.#-#.# .#. # .## ## # ####### . ### # # X# # - ##-#.#D ### # ..## ## ##D ### ### ### ##### # X# . # # # #.# .#. #- ##...##..###### # # # # # # X# #### ####### ### -## ##--######## #### # -.D # X# # # # ######D############# ########### # # X#####D# ########### D D # # # .##D## # X# # # # # #### # #####D############ ###- D ## #### X# ##### ####### # #!.#-# # # . D ## # # .# #~.# X# # # # # #..#####.# # ### # ## ##D###### #..# X##### # D #.# # - # # # ### ##### # # .# # ##.##..# X# . # # # # #D## # ####### . # .## .D ## # # X##### # ####### # # # ### # # ## # -# # D # X# # # ########### # ### ##### # # X################################################################### X X################################################################### X# # # # # X# # D # ######### #########################.#### # X#####.# # # ####D#### # #.#.#.# # # X# # # # # ##### # # # # # #D# # # # # # ####### X# # ##### # #...# # . # - # # ## ## # # # # # # . # X# # ## # - # D.#~#-# # # # ##...## # # # # # D..! # X# #### ### ###.. #.####D#### # ## ## # # # # # # . # X# # # # #####.# # # # #. - .# D D D D ############ X# ## # ## # # . # # ## ## # # # # #. .. # X# ######.### # ## ## # # # ## ## # # # # D . # X# ## # ## ##..##D#### # ## ## # # # # # . - # X# #. # #D## ## ## # # #. ### # #.#.# # ############ X# ### ### #### # #-. # #-# # D # X# # #. # ### # # - # ########D#################### . #### X# # # # # # # # D # X################################################################### X X################################################################### X# # - # ## ### # # X# ## # ################## # ## #### # ##### #D### # X# . # # # ##### D # # - # .. # # # X# #### # # ###D### - # -- . D D # ### # # # # X# ### # ## ## # ###### #### # # # # # # # X### #### ## ##### # ###### ### # # # # # X# # ########- ## ## # # ############################## # X# # ### ## ## ### D . # X# # ## #### ## ##!# # ###D### ####### ###D### ####### ###D### # X# # ## ## .###..##### # # #..~..# # # # # # . # # X###D#D### ##..#..## # # .- .# # . # # .. # # -..# # . # # X# # # ##...## - # # . .# # # # # # .. .# # # # X# . # .. ###### # # .# #. # # # # # # # # X# D ######### # ####### ###D### ####### ###D### ####### # X# # # D # # X################################################################### X X################################################################### X# # # # ## ## ## ## D # X# #. # -# # # # # ####### D##...## ####### ### ###### ###### # X# # # ## ## #! .##.# ## ## D.# # #~.. D # X####D###### # # .####...## ## # #######D### #######. # # .### ## X# # # ## ####D## ## # # ## .. # #### # ## X# ######## # ## ### ### ## ## #### ### # ## # # # X# ######## ###### # . ## ### # # ######D############# # X# . ## - ####### # # # X# ####### # . ## ### ## D. #####D###########D### X#####D##### # # ###. ### ##### ### - ## ### # # # # # X#. -# #.# # ####### ## # # ## # # . - . D # X#####D##### # # # ## # # ###### # # # # # # X#- .# # # #####D###### # # . # # #### ######D########### X##### ##### # # D # # D # # # # #### # X# D # D # # D # # .. # X################################################################### X X################################################################### X# D ## ## ## ## # # # X# - . # ####### ## -.- ## ## ## #### D # X#### # #.#-#.# .#. # .## ## # ####### . ### # # X# # - ##-#.#D ### # ..## ## ##D ### ### ### ##### # X# . # # # #.# .#. #- ##...##..###### # # # # # # X# #### ####### # ### -## ##--## ##### ### # -.D # X# # # # ## ######D###### ##### ####D###### # # X#####D# ########### D D # # ..##D## # X# # # # # #### # #####D############ ###- D ## #### X# ##### ####### # # .#-# # # . D ## # # .!# # # X# # # .. # # #. #####.# # ### # ## ######### . # # X##### # D #.#~# - # # # ### ##### # # .# # ##D##..# X# . # # .. # # #D## # ####### . # .## .D ## # # X##### # ####### # # # ### # # ## # -# # D # X# # # # # # ### ##### # # X################################################################### X X################################################################### X# # . # # # X# # D .!# ######### #########################.#### # X#####.# . # # ####D#### # #.#.#.# # # X# # #.. # # ##### # # # # ## #D# ## # # # # # ###D### X# # ##### # #. # # . # - # # #- ## ## -# # # # # # # . # X# # ## # - # D.# #-# # # # ##...## # # # # # #..! # X# #### ### ###. #.######### # ## ## # # # # # # . # X# # # #~#####.# # # D #. - .# # D D D ############ X# ## # .## # # . # # ## ## # # # # #. .. # X# ######.### #...## #.. # # # ## ## # # # # D . # X# ## #..## #####D#### # # ## ## # # # # # # . - # X# #. # #D## # # # #.## ### ## #.#.# # ############ X# ### ### #### # #-. # #-# # D # X# # #. # ### # # - # ############################# . #### X# # # # # # # # D # X################################################################### X X################################################################### X# # - # # # ### # # X# ## # ################## # # # #### # ##### #D### # X# . # # # ##### D # - # .. # # # X# #### # # ###D##### - # -- . D D # ### # # # # X# ### # ## ## D # ##### #### # # # # # # # X### #### ## ##### # ##### ### # # # # # X# # ########- ## ## # # ############################## # X# # ###~.## ## ### D . # X# # ##..#### ## ## # # ###D### ####### ###D### ####### ###D### # X# #. ## ## .###. ##### # # #. .# # # # # #.....# # X##D##D### ##. #. ## # # .- .# # . # # .. # # -..# #.....# # X# # # ##. ## - # # . .# # # # # # .. .# # # # X# . # .. ###### .. # # .# #. # # # # # # ! # # X# D #########D## ####### ### ### ####### ### ### ####### # X# # # D # # X################################################################### X X################################################################### X# # # # ## ## # # D # X# #. # -# # # # # ####### D##...## ####### ### ###### ###### # X# # # # # # ## ## # .. ##.# ## ## D.# # # . D # X# . # # # .#### ### # # #######D### #######. # # .### ## X####D###### # ## ####D## # # # # # ##. # #### # ## X# # # ## ### #### # ## #### ### # # . # # # X# ##### # ###### # . ## ### # # ######D############# # X# ##### # . ## - ####### # # X# ####### # . ## ## # D. ##D################### X#####D##### # # ###. ### ### # # - ## # # # # # ...# X#. -# #.# # ####### ## # # ## # . - . D ..!# X########### # # # ## # ########### # # # # ...# X#- .# # # #####D###### # # . # # ##D################### X##### ##### # # D #..# D # # # # # # # X# D # D #.~# D # # # .. # X################################################################### END_OF_FILE if test 27768 -ne `wc -c <'larn.maz'`; then echo shar: \"'larn.maz'\" unpacked with wrong size! fi # end of 'larn.maz' fi if test -f 'larn123.doc' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'larn123.doc'\" else echo shar: Extracting \"'larn123.doc'\" \(18665 characters\) sed "s/^X//" >'larn123.doc' <<'END_OF_FILE' X X X PC LARN version 12.3 for IBM PC Compatibles X ------------------------------------------- X X X Table of contents X ----------------- X X X 1. Introduction X 2. System requirements X 3. Files Supplied X 4. Installation X 5. Configuration X 6. Command line options X 7. TERMCAP X 8. WIZARD mode X 9. History and other Information X X X X X 1. Introduction X --------------- X X LARN is a dungeon type adventure game similar in concept to HACK, ROGUE X or MORIA, but with a different feel and winning criteria. LARN was X released for the UNIX environment in 1986 by Noah Morgan. It was X subsequently ported to the MS-DOS environment by Don Kneller. Kevin X Routley has been working on enhancements to LARN on and off for the X past two years. X X X 2. System requirements X ---------------------- X X PC LARN requires: X X - MS-DOS or PC-DOS 2.x or above. X X - at least 256K of RAM. X X - disk storage capacity of at least 360K, although twice that much is X preferred if you want to "checkpoint" your game to prevent X accidental lose due to a system failure. X X - the ANSI.SYS device driver must be installed (although the NANSI.SYS X driver is *strongly* preferred and has been included in this X distribution). You should install either ANSI.SYS or NANSI.SYS, but X not both. To install NANSI.SYS, put the line "device=NANSI.SYS" in X your CONFIG.SYS file. See the TERMCAP section for further details. X X X 3. Files supplied X ----------------- X X The following files should be included in this LARN123.ZIP file: X X LARN123.DOC This documentation. X X LARN123.FIX Changes made between LARN V12.2 and V12.3. X X LARN123.EXE The executable file. X X LARN.FTN Fortune cookie messages. X X LARN.HLP A help file, which can be read with the "?" X command in LARN. X X LARN.MAZ Some maze levels are pre-calculated and X stored here. X X LARN.OPT An example LARN.OPT file (see the CONFIGURATION X section). X X TERMCAP A file describing the escape sequences to send X to the terminal. The supplied TERMCAP file is X for monochrome systems. See the TERMCAP section X for details on changing TERMCAP. X X NANSI.DOC The documentation for NANSI.SYS. X X NANSI.SYS A new ANSI.SYS that is *much* faster than X ANSI.SYS and supports the line insert and line X delete escape sequence that LARN uses. This X excellent product is written by Daniel Kegel. X See the TERMCAP section and NANSI.DOC for more X details. X X X 4. Installation X --------------- X X NANSI.SYS or ANSI.SYS must be installed as a device driver on your X system in order for LARN to work (see System Requirements above). X X For a hard disk system I suggest creating a \GAMES\LARN directory and X placing LARN and the provided support files in that directory. Following X that, you would place \GAMES\LARN in your PATH. X X LARN will create several other files (LARN.SCR, LARN.PID, LARN.LOG) X in that directory. Also, save files (LARN.SAV) and checkpoint files X (LARN.CKP) will go in there by default. You will want to set the X 'larndir:' option in your LARN.OPT file (see the Configuration section X below) to point to this directory. X X For two-floppy systems, I would suggest the following: X X o place LARN123.EXE, LARN.OPT and TERMCAP. on disk one. X X o place LARN.FTN, LARN.MAZ, and LARN.HLP on disk two. This will X be the 'larndir:' disk (see the Configuration section below). X LARN.SCR, LARN.PID, LARN.LOG, save files, and checkpoint files X will go on this disk. X X X 5. Configuration X ---------------- X X PC LARN is configured by options placed in the file LARN.OPT. X When PC LARN starts up, it looks in the current directory for X this file, then in directories along your PATH. Here are the X options that can be put in LARN.OPT. X X Options that are followed with a colon, ":", take at least one X argument. Options without a colon are boolean, meaning you select X that option merely by mentioning it. X X Comments can be entered in the options file by using the '#' X character. X X These options are only in PC LARN: X X cursor: start-line end-line X Normally, LARN uses the standard DOS cursor (the flashing X underscore) to show where your player is located. This can be X difficult to see. This option results in a *BIOS* call to change X the cursor size. For a monochrome display, the normal value of X start-line and end-line is 11 and 12. Values of 4 and 9 give a X larger cursor which is not too obtrusive. X X If "cursor" is not specified, no BIOS call is made. X X DECRainbow X Put this in LARN.OPT if your computer is a DEC Rainbow and you X want to use graphics characters for drawing the maze. You can X use any characters from the ASCII character set and from the X "line-drawing" character set. To use line-drawing characters, X take the decimal value of the character and add 128 to it. This X makes the values of line-drawing characters lie between decimal X 128 and 255 and tells PC LARN you want a line-drawing character. X X Every attempt has been made with PC LARN V12.3 to maintain X DECRainbow compatibility as provided by Don Kneller. X Unfortunately, since I do not have access to a Rainbow, I cannot X make any guarentees. X X graphics: wallc floorc X In UNIX LARN, the wall character is a # and the floor character X is a blank (which makes it almost impossible to tell where you've X been). In PC LARN, the default wall character is also a # but X the default floor character is a period. X X This option allows you to change these characters to something X you like. Suggested characters are 176 (a graphic block) and X 249 (a central dot). X X Almost all ASCII (non-graphics) characters already represent X objects in LARN, so you should only choose numbers that are X in the graphics character set (i.e. those with decimal values X greater than 128). X X keypad X This enables the keypad for use with LARN. A *BIOS* call is used X to read the keypad. The correspondance between keypad and game X command is: X X Keypad Command X 7 8 9 u+l(y) up(k) u+r(u) X \ | / \ | / X 4 -5- 6 left(h) nothing right(l) X / | \ / | \ X 1 2 3 d+l(b) down(j) d+r(n) X Ins inventory(i) X X The letter in () is the game command letter. "u+l" means up and X left. The keypad "7" is translated to the command for moving one X space up and left. With shift the commands are the same as the X uppercase letters. X X larndir: directory X Sets "directory" to be the place LARN looks for files. For hard X disks set this to be \GAMES\LARN. For 2-floppy systems, use B: X X If "larndir" is not specified, the current directory is assumed. X X ramlevels: number X This number is the maximum number of levels PC LARN will keep in X memory. The number can be between 1 and 14. Normally, PC LARN X will use as much memory as available, but you may want to use X less so there will be enough memory to start up a second copy of X COMMAND.COM with the LARN command `!'. If there isn't enough X memory for COMMAND.COM, LARN will clear the screen and prompt X with "A>" until return is struck, then go back to the game. X X If "ramlevels" is not specified, a value of 14 is used. If X "number" is less than 14, LARN will use a swapfile to store the X oldest levels. Note that a level takes about 8K of memory. X X rawio X This option causes the input and output of your computer to be X switched to "raw" mode. The advantage of this is faster output X and better handling of special characters ^S and ^P. X X =========== WARNING ========== X Some computers (eg. DEC Rainbows) hang if rawio is attempted. X ============================== X X swapfile: filename X This is the name of the swap file that will be used if ramlevels X is less than 14. If all the levels fit in memory, no swap file X will be used. You may want to put the swapfile on a RAMdisk. X If "swapfile" is not specified, LARN.SWP in directory larndir X will be used. X X X X The following are options usable with UNIX LARN as well: X X auto-pickup X Starts you out in 'automatic pickup' mode. Whenever the player X moves onto an object, it will be picked up. This mode can be X toggled with the '@' command while in the game. X X bold-objects X By specifying this option, all objects in the game will be X highlighted. The 'highlight-objects' and 'inverse-objects' X specify which highlighting method will be used. X X The default is non-bold objects, except if the 'original-objects' X option is specified, when it is *forced* on (to distinguish X monsters and objects that are represented by the same X character). X X enable-checkpointing X With this option, the game is saved every 400 moves. If your X system crashes it is possible to recover from the last checkpoint X file (LARN.CPK in the LARN directory) with the command "larn ++". X X highlight-objects X If the 'bold-objects' option is specified, this option causes X objects to be highlighted with bolding. X X inverse-objects X If the 'bold-objects' option is specified, this option causes X objects to be highlighted with inverse video. The default is X 'highlight-objects'. X X monster: name X Sets the name of a monster. If the name has a space in it, X enclose it in double quotes (eg "tooth fairy"). The leading X character determines which monster the name goes with (e.g. X "monster: bee" and "monster: Buzzbomb" change the names of X bugbears and Bats, respectively). X X name: yourname X Sets the name of the player. If you want a space in your name, X enclose it in double quotes (eg "Mad Max"). X X no-introduction X Skip displaying the opening messages. X X no-beep X Disable sound from the speaker. X X original-objects X Like 'prompting' mode, this mode is provided for compatibility X with LARN V12.0. By specifying this option, the characters X used to show objects in the game are the same as in 12.0. The X default is to use characters that are closer to those used with X HACK, ROGUE and MORIA. X X prompt-on-objects X By specifying this option, you enable 'prompting' mode. In this X mode, the player is prompted for the action to perform when X encountering an object (e.g. 'Eat, pick up, or ignore?'). X Prompting mode is provided for compatibility with LARN V12.0, and X is off by default. X X savefile: filename X The filename to use for saving the game. The default is LARN.SAV X in the LARN directory. For a 2-floppy system you might try X B:LARN.SAV if the LARN directory is on the A disk drive. X X X 6. Command line options X ----------------------- X X There are several command line options that can modify the behavior of X LARN. These are: X X -o optionfile Use this as the option file rather than LARN.OPT. As X with LARN.OPT, the current directory then directories X along your path are searched for this file which X supplies configuration information. X X -s Show scores. X X -l Show log file. You have to know the Wizard's password X to do this. X X -i Show all scores including the inventories of dead X players. X X -c Create a new score file. You have to know the Wizard's X password to do this. Erasing LARN.SCR has the same X effect. X X -n No welcoming message. Prevents printing of the short X introduction to LARN. Putting the "no-introduction" X configuration option in LARN.OPT has the same effect. X X -# Where # is a number from 0 to 9. This sets the X difficulty of LARN to this level. Normally, LARN X starts out with difficulty 0 and increases in X difficulty by 1 when you win at the current level. X Thus the game automatically gets more difficult. X X -h, -? A help screen that shows the command line arguments. X X -p Prompt for actions on objects. Specifying the X 'prompt-on-objects' option in LARN.OPT has the same X affect. X X ++ Restore a game from a checkpoint file. If you have X checkpointing enabled (with the "enable-checkpointing" X configuration option in LARN.OPT) then LARN writes a X checkpoint file every 400 moves. Should your system X crash you can recover the game from the checkpoint file X with this command line option X X For example: "larn -n -o bobslarn.opt" starts up LARN with no X introductory message and uses bobslarn.opt file for configuration X options. "larn ++" tries to restore LARN from a checkpoint file. X X X 7. TERMCAP X ---------- X X LARN uses the UNIX "termcap" to select escape sequences to be sent to X the terminal driver (either ANSI.SYS or NANSI.SYS) to change video modes. X When LARN starts up, it checks in the environment for the variable called X "TERM". The DOS command: X set TERM ibmpc-ega X will give the environment variable "TERM" the value "ibmpc-ega". By X default, LARN assumes the value of TERM is "ibmpc-mono". X X Then LARN looks in the file called "TERMCAP" for a termininiefinition X with the same name as the value of TERM. LARN first looks for TERMCAP in X the current directory, then in directory "\ETC" (the normal UNIX place), X then in directories along your PATH. X X The TERMCAP file uses 2 letter codes to describe each escape sequence X and \E to mean ESC (the escape character is decimal 27). Each entry is X enclosed in colons. For example, to start underscore mode on a monochrome X display, we want to send the sequence "ESC[4m". This looks like X ":us=\E4m:" as a termcap entry. X X The following sequences are used by LARN: X X ti terminal initialization. You could have something like: X :ti=\E44;37m: X which would mean to select blue background and white foreground. X X te terminal end. To reset your terminal to white on black: X :te=\E0m: X X so stand out. Select red forground, keeping the blue background: X :so=\E31m: X X se standout end. Back to white on blue: X :se=\E44;37m: X X al insert line. This is *not* available in ANSI.SYS, so remove this X entry if you're using ANSI. X X dl delete line. This is *not* available in ANSI.SYS, so remove this X entry if you're using ANSI. X X If you want to make your own TERMCAP entry, copy the "ibmpc-mono" X entry, replace the name (eg use "ibmpc-color" or "ibmpc-ega" or whatever), X then replace the sequences with whatever you please. The possible escape X sequences are generally listed in the DOS manual in the description of X ANSI.SYS, as well as in the NANSI.DOC file. X X Remember to change the environment variable "TERM" to reflect which X TERMCAP entry you want! You should probably put a "set TERM=..." line in X your AUTOEXEC.BAT file. X X X 8. WIZARD mode X -------------- X X There is a WIZARD mode for testing features of the game. To get into X WIZARD mode, type in an underscore "_" and answer the prompt for the X password with "pvnert(x)" (do not enter the quotes). Wizards are X non-scoring characters that get enlightenment, everlasting expanded X awareness and one of every object in the game. X X X 9. History and Other Information X -------------------------------- X X Noah Morgan originally created LARN 12.0 and released the UNIX X version to the USENET in 1986. Don Kneller ported the UNIX X version to MSDOS (both IBM PCs and DEC Rainbows). X X Kevin Routley has been working on LARN enhancements on and off for X the past two years. Version 12.1 had a limited distribution. X Version 12.2 was distributed to the Usenet community. Version 12.3 X may be last version from Kevin that will maintain savefile compatibility X with version 12.0 savefiles. Some future version will be released X as Shareware. X X Other editions of Larn have been distributed by others, namely X LARN13 and Ultra-Larn. X X I hope you enjoy this version of LARN. Please send any questions, X suggestions, requests, or comments regarding LARN and LARN V12.3 X in particular to: X X Kevin Routley X 9 Aster Court X Nashua, NH 03062 X ARPA: routley@tle.dec.com X BITNET: routley@tle.dec.com X X March 23, 1991 END_OF_FILE if test 18665 -ne `wc -c <'larn123.doc'`; then echo shar: \"'larn123.doc'\" unpacked with wrong size! fi # end of 'larn123.doc' fi if test -f 'tputs.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'tputs.c'\" else echo shar: Extracting \"'tputs.c'\" \(5800 characters\) sed "s/^X//" >'tputs.c' <<'END_OF_FILE' X/************************************************************************ X * * X * Copyright (c) 1982, Fred Fish * X * All Rights Reserved * X * * X * This software and/or documentation is released for public * X * distribution for personal, non-commercial use only. * X * Limited rights to use, modify, and redistribute are hereby * X * granted for non-commercial purposes, provided that all * X * copyright notices remain intact and all changes are clearly * X * documented. The author makes no warranty of any kind with * X * respect to this product and explicitly disclaims any implied * X * warranties of merchantability or fitness for any particular * X * purpose. * X * * X ************************************************************************ X */ X X X/* X * LIBRARY FUNCTION X * X * tputs output string with appropriate padding X * X * KEY WORDS X * X * termcap X * X * SYNOPSIS X * X * tputs(cp,affcnt,outc) X * char *cp; X * int affcnt; X * int (*outc)(); X * X * DESCRIPTION X * X * Outputs string pointed to by cp, using function outc, and X * following it with the appropriate number of padding characters. X * Affcnt contains the number of lines affected, which is used X * as a multiplier for the specified per line pad time. If X * per line pad count is not applicable, affcnt should be 1, X * NOT zero. X * X * The format of the string pointed to by cp is: X * X * [pad time][*]<string to send> X * X * where: pad time => time to delay in milliseconds X * * => specifies that time is per line X * X * The pad character is assumed to reside in the external X * variable "PC". Also, the external variable "ospeed" X * should contain the output speed of the terminal as X * encoded in /usr/include/sgtty.h (B0-B9600). X * X * BUGS X * X * Digit conversion is based on native character set X * being ASCII. X * X */ X X/* X * Miscellaneous stuff X */ X X#include <stdio.h> X#include <ctype.h> X X# ifndef MSDOS Xextern char PC; /* Pad character to use */ Xextern char ospeed; /* Encoding of output speed */ X Xstatic int times[] = { X 0, /* Tenths of ms per char 0 baud */ X 2000, /* Tenths of ms per char 50 baud */ X 1333, /* Tenths of ms per char 75 baud */ X 909, /* Tenths of ms per char 110 baud */ X 743, /* Tenths of ms per char 134 baud */ X 666, /* Tenths of ms per char 150 baud */ X 500, /* Tenths of ms per char 200 baud */ X 333, /* Tenths of ms per char 300 baud */ X 166, /* Tenths of ms per char 600 baud */ X 83, /* Tenths of ms per char 1200 baud */ X 55, /* Tenths of ms per char 1800 baud */ X 41, /* Tenths of ms per char 2400 baud */ X 20, /* Tenths of ms per char 4800 baud */ X 10 /* Tenths of ms per char 9600 baud */ X}; X# endif X X X/* X * PSEUDO CODE X * X * Begin tgoto X * If string pointer is invalid then X * Return without doing anything. X * Else X * For each pad digit (if any) X * Do decimal left shift. X * Accumulate the lower digit. X * End for X * Adjust scale to tenths of milliseconds X * If there is a fractional field X * Skip the decimal point. X * If there is a valid tenths digit X * Accumulate the tenths. X * End if X * Discard remaining digits. X * End if X * If per line is specified then X * Adjust the pad time. X * Discard the per line flag char. X * End if X * While there are any characters left X * Send them out via output function. X * End while X * Transmit any padding required. X * End if X * End tgoto X * X */ X Xtputs(cp,affcnt,outc) Xchar *cp; Xint affcnt; Xint (*outc)(); X{ X int ptime; /* Pad time in tenths of milliseconds */ X X if (cp == NULL || *cp == NULL) { X return; X } else { X for (ptime = 0; isdigit(*cp); cp++) { X ptime *= 10; X ptime += (*cp - '0'); X } X ptime *= 10; X if (*cp == '.') { X cp++; X if (isdigit(*cp)) { X ptime += (*cp++ - '0'); X } X while (isdigit(*cp)) {cp++;} X } X if (*cp == '*') { X ptime *= affcnt; X cp++; X } X while (*cp != NULL) { X (*outc)(*cp++); X } X# ifndef MSDOS X# ifndef VMS X do_padding(ptime,outc); X# endif X# endif X } X} X X# ifndef MSDOS X/* X * FUNCTION X * X * do_padding transmit any pad characters required X * X * SYNOPSIS X * X * static do_padding(ptime,outc) X * int ptime; X * int (*outc)(); X * X * DESCRIPTION X * X * Does any padding required as specified by ptime (in tenths X * of milliseconds), the output speed given in the external X * variable ospeed, and the pad character given in the X * external variable PC. X * X */ X X/* X * PSEUDO CODE X * X * Begin do_padding X * If there is a non-zero pad time then X * If the external speed is in range then X * Look up the delay per pad character. X * Round pad time up by half a character. X * Compute number of characters to send. X * For each pad character to send X * Transmit the pad character. X * End for X * End if X * End if X * End do_padding X * X */ X Xstatic do_padding(ptime,outc) Xint ptime; Xint (*outc)(); X{ X register int nchars; X register int tpc; X X if (ptime != 0) { X if (ospeed > 0 && ospeed <= (sizeof(times)/ sizeof(int))) { X tpc = times[ospeed]; X ptime += (tpc / 2); X nchars = ptime / tpc; X for ( ; nchars > 0; --nchars) { X (*outc)(PC); X } X } X } X} X# endif END_OF_FILE if test 5800 -ne `wc -c <'tputs.c'`; then echo shar: \"'tputs.c'\" unpacked with wrong size! fi # end of 'tputs.c' fi echo shar: End of archive 7 \(of 12\). cp /dev/null ark7isdone MISSING="" for I in 1 2 3 4 5 6 7 8 9 10 11 12 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have unpacked all 12 archives. rm -f ark[1-9]isdone ark[1-9][0-9]isdone else echo You still need to unpack the following archives: echo " " ${MISSING} fi ## End of shell archive. exit 0