
1: .\" $NetBSD: read_me.nr,v 1.3 2001/07/22 13:34:01 wiz 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