Home | History | Annotate | Line # | Download | only in DOC
read_me.nr revision 1.1.1.1
      1 .de @h
      2 'sp 4
      3 'tl 'TREK SETUP INSTRUCTIONS''%'
      4 'sp 2
      5 .ns
      6 ..
      7 .de @f
      8 'bp
      9 ..
     10 .wh 0 @h
     11 .wh -6 @f
     12 .de pp
     13 .sp
     14 .ne 2
     15 .ti +5
     16 ..
     17 .de s1
     18 .sp 2
     19 .nr S1 +1
     20 .nr S2 0
     21 .ne 5
     22 .in 4
     23 .ti 0
     24 \\n(S1.\ \ \c
     25 ..
     26 .de s2
     27 .sp 1
     28 .nr S2 +1
     29 .ne 3
     30 .in 8
     31 .ti 4
     32 \\n(S2.\ \ \c
     33 ..
     34 .br
     35 .ce
     36 TREK SETUP INSTRUCTIONS
     37 .sp 2
     38 .pp
     39 This document describes all sorts of nifty things
     40 you should know
     41 before you start to muck around
     42 with the trek source code.
     43 Please read them carefully.
     44 .s1
     45 MAINTENANCE
     46 .s2
     47 There are a number of shell files
     48 which you may use to maintain the system.
     49 "Prtrek" produces a copy of the source code.
     50 It pipes its output to lpr
     51 and runs in background.
     52 "Comp" compiles up to nine source modules
     53 and leaves them in .o files.
     54 "Compile" is the same as "comp"
     55 except that it loads after compiling.
     56 If stated without any arguments,
     57 it loads from .o files.
     58 "Compall" compiles all the .c files
     59 into .o files,
     60 but does not load.
     61 It redirects its output to the file "output".
     62 To recompile the entire system,
     63 type
     64 .ti +8
     65 compall
     66 .ti +8
     67 compile
     68 .br
     69 .s2
     70 Main.c contains a variable called "Mother".
     71 This is initialized to the result of the
     72 "getuid()" call for the maintainer of trek
     73 at your installation.
     74 Only Mother is allowed to set trace flags
     75 and run the game at other than the default priority.
     76 .s2
     77 Speaking of priorities,
     78 trek eats up a lot of system resources.
     79 Hence, it normally runs at a very low priority.
     80 This makes it almost impossible to play
     81 if the system is loaded.
     82 However,
     83 the -pN flag sets the priority to N,
     84 which makes it possible to debug
     85 when the system is loaded.
     86 The default priority is set by a #define of
     87 PRIO,
     88 which is set to 10 in the default system.
     89 .s2
     90 Trace information is provided
     91 which may be useful in debugging things in the system.
     92 If you are in a bad way for space,
     93 comment out the #define xTRACE
     94 which appears in trek.h.
     95 This will cause the trace stuff to not occur
     96 in the object.
     97 .s2
     98 The version of trek released to you
     99 is compiled with the -f flag (for no floating point)
    100 and should work without problems on your machine.
    101 You can edit out the -f flag
    102 in "compile" if you have floating point hardware
    103 on your machine
    104 so that it will take less space.
    105 .s1
    106 THE PORTABLE C LIBRARY
    107 .pp
    108 The portable C library was used
    109 to do I/O in trek.
    110 Unfortunately,
    111 the version which we had at Berkeley
    112 had a number of small bugs
    113 which caused trek to do bad things at times.
    114 For some unknown reason
    115 (temporary insanity perhaps)
    116 I rewrote the portable C library.
    117 This version is much smaller than the old version
    118 and has cleaner code.
    119 It also works right
    120 (???).
    121 However, there are a few minor differences
    122 which you should be aware of.
    123 .s2
    124 Scanf no longer ignores the noise characters "\\n",
    125 "\\t", and space in the format string;
    126 i.e.,
    127 these characters now require a match
    128 in the input stream.
    129 .s2
    130 A variable
    131 f_log
    132 has been added
    133 which is the file descriptor
    134 of a "log" file.
    135 If f_log is greater than zero
    136 a copy of everything read from
    137 the standard input
    138 and written to
    139 the standard output
    140 is written in the file f_log.
    141 .s1
    142 DISCLAIMERS
    143 .s2
    144 Frankly,
    145 I am getting pretty sick of playing this game.
    146 Hence,
    147 the version which you get may have several bugs
    148 in it;
    149 I freely admit
    150 that it is probably buggier
    151 than some previous versions.
    152 Sorry about that.
    153 .s2
    154 Along with being buggy,
    155 the game never had quite everything implemented
    156 that was originally intended.
    157 If you see things that look weird,
    158 that may be why.
    159 There are even some features which I have taken out
    160 (like ghost starsystems)
    161 upon deciding that I didn't have the energy
    162 to implement them correctly.
    163 .s1
    164 REQUESTS
    165 .pp
    166 There are several things that I would like to ask of anyone
    167 who does work on the source code.
    168 .s2
    169 Please let me know of any bugs which you find
    170 in the code,
    171 and any fixes which you may have.
    172 Other copies will probably be going out to other people later,
    173 and it would be nice if those copies where less buggy.
    174 Also,
    175 I would be interested in hearing about any
    176 enhancements of the game which you might install.
    177 .s2
    178 Please note that I have a distinct coding style.
    179 I feel that it is cleaner
    180 and easier to read than a more
    181 casual style.
    182 If possible,
    183 please stick to it,
    184 especially if you end up sending tapes back to me.
    185 This goes along with my whole belief in clean code:
    186 I ask you to please avoid obscure code
    187 whenever possible.
    188 If you throw some in,
    189 please don't let me see it.
    190 It just depresses me.
    191 .s2
    192 Unfortunately,
    193 the game is huge.
    194 There are many neat things
    195 which could go in,
    196 if there were only enough space.
    197 However,
    198 I have specifically not gone to seperated I/D
    199 space.
    200 The main reason is that I would like future versions
    201 of the game
    202 to be 11/40 compatible.
    203 .s1
    204 SUGGESTIONS FOR THE FUTURE
    205 .pp
    206 If you happen to have more energy than I do,
    207 you may want to examine the following areas.
    208 These are things that I may get to,
    209 but don't hold your breath.
    210 .s2
    211 Frankly,
    212 making the portable C library work
    213 (even without bugs)
    214 was a bitch.
    215 I should have done the I/O in a more
    216 ad hoc manner.
    217 It is my intent to rewrite the I/O
    218 routines to bypass the portable C library entirely.
    219 .s2
    220 The routine "capture" is quite unclean.
    221 First, it should have a manner of selecting Klingons
    222 other than random,
    223 either selecting the most likely
    224 or asking the captain (probably best).
    225 It should either be fully implemented,
    226 which includes adding a "board" routine
    227 (half written,
    228 on some tapes as board.x)
    229 which sends a boarding party to forcefully
    230 take over the Klingon,
    231 or it should go out completely,
    232 which is probably what I will end up doing.
    233 When this happens,
    234 the transporter will go completely.
    235 It seems that the space may be better used
    236 for something which more directly enhances the game.
    237 .sp 3
    238 .in 0
    239 Well, that's about it.
    240 To get hold of me,
    241 write to:
    242 .nf
    243 .sp
    244 Eric P Allman
    245 Electronics Research Laboratory
    246 University of California
    247 Berkeley, California  94720
    248 .fi
    249 
    250 Happy trekking!!
    251 .pp
    252