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