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