fixed code to compile with current gcc and 64-bit systems
[rocksndiamonds.git] / README
1 Welcome to
2
3    R O C K S   ' N '   D I A M O N D S
4    -----------------------------------
5
6 A game for Unix/X11 by Holger Schemel, (c) 1995 by Holger Schemel.
7
8 Introduction
9 ============
10 This is a nice little game with color graphics and sound for your
11 Unix system with color X11. You need an 8-Bit color display or better.
12 It is not recommended on black&white systems, and maybe not on gray
13 scale systems.
14
15 If you know the game "Boulderdash" (Commodore C64) or "Emerald Mine"
16 (Amiga), you know what "ROCKS'N'DIAMONDS" is about.
17
18
19 Getting started
20 ===============
21 Just 'cd' to the 'rocks_n_diamonds' directory and type 'rocksndiamonds'!
22 This works only on Linux boxes, because the included binary was
23 compiled for Linux systems. If you have another Unix system like
24 HPUX, NetBSD or SUN, you first have to type 'make' to compile it.
25 This may be needed on Linux systems, too, if you have an older
26 system (kernel, libraries, ...) or if you have only ELF libraries.
27
28 (The included binary was compiled on the following system:
29 Kernel 1.2.13, libc 4.5.26, GCC 2.5.8, 'a.out' format)
30
31 The Menues
32 ==========
33 You can see eight blue circles on the left side of the eight green menu
34 texts; these are buttons to activate the menu commands by simply clicking
35 on them with the left mouse button. The button will then change to red.
36 (You can control the menues over the keyboard or joystick, too. Just use
37 the arrow keys and the 'Return' or 'Enter' key or, if you use a joystick,
38 the appropriate direction and the fire button.)
39
40 The menu 'name'
41 ---------------
42 When you start the game the first time, your login name will appear in
43 the 'NAME:' field. If you want to use a different name for playing, for
44 example a funny player name or a name for cheating, you can click on the
45 button and enter a new name.
46
47 If you choose a certain special name, you will be in a cheat mode where
48 you can choose all levels without playing the lower levels before... :)
49
50 The menue 'level'
51 -----------------
52 If you have played some levels of this game, you can choose the already
53 played levels at any time, but you cannot choose the higher levels. This
54 means, you can choose levels from level 0 to the highest level that you
55 have ever won. This is known as your 'handicap'.
56
57 If the level number is red, you have choosen a 'ready' level, if it is
58 yellow, you have choosen a 'user' level, which is blank and can be
59 edited by yourself with the built-in level editor (see below).
60
61 To choose new level series, click on the button on the left and choose
62 the new level serie.
63
64 Hall of fame
65 ------------
66 Click on this button to see a list of the best players of this level.
67 Click again to go back to the main menu.
68
69 Level creator
70 -------------
71 This brings you to the level editor, if you have switched to a 'yellow'
72 level, which are empty and can be filled by yourself. See below.
73
74 Info screen
75 -----------
76 This screen shows you all elements which appear in the game and presents
77 you the background music loops which you can listen to while playing the
78 levels (only available on Linux systems).
79
80 Start game
81 ----------
82 This will start the game.
83
84 Setup
85 -----
86 To change some things in the game, use the setup menu.
87 You can enable/disable "Sound" (enables/disables _all_ sounds in
88 the game), "Sound loops" (only allowed on Linux systems with
89 VoxWare[tm] sound driver; don't worry if you never heard of it --
90 it's the name of the standard Linux sound driver), "Game music"
91 (can always be enabled on very fast systems [exception: you don't
92 like it], on slower systems it will take some percent of CPU time
93 which will slow things down a bit) and "Toons", which will forbid/
94 permit the little animated toons.
95
96 "Buffered Gfx" can be set to "off" on slower systems, "Fading" gives
97 a nice fading effect when displaying new screens, but unfortunately
98 I haven't found a system which is fast enough to display it so far.
99 (Maybe this works better on highly accelerated X servers.) Better set
100 this to "off" if you have a normal system...
101
102 Set "auto-record" to "on" if you want to automatically record each game
103 to tape.
104
105 If you have a Linux system with a joystick, you can choose the "1st" or
106 the "2nd" joystick port and use "Cal. Joystick" to calibrate it. Use
107 "Save and exit" after calibration to save it for later playing sessions.
108
109 "Exit" quits the setup menu without saving the changes, "Save and exit"
110 will save and then return to the main menu.
111
112 Quit
113 ----
114 Exit the game.
115
116
117 How To Play The Game
118 ====================
119 When the game has started, you can see the playfield on the left side
120 and a control field on the right side. The control field contains the
121 following elements:
122
123 Level indicator         Tells you which level you are playing.
124
125 Emeralds                Shows you how many emeralds you still need
126                         to win the current level.
127
128 Dynamite                Shows you how many dynamite bombs you have.
129
130 Keys                    Shows you which keys you have in your inventory.
131
132 Score                   Shows the current score. In some levels there
133                         are some extra items giving extra score points.
134
135 Time                    The seconds you have still left to play the level.
136
137 Stop/Pause/Play         Game controls to stop the game, pause it and go on
138                         playing. If the tape recorder is recording your
139                         game, it is stopping/pausing/playing as well.
140
141 Music buttons           The three music buttons can be used to control the
142                         background music loop, the 'looping' sounds and
143                         all other sounds. The little red light shows you
144                         if it is enabled or disabled. On slower systems
145                         (and a 486DX33 with Soundblaster _is_ a slower
146                         system) it increases the game speed to turn off
147                         background music. You can completely turn off all
148                         sound effects in the setup menu, although it is
149                         much more fun to have them enabled when it
150                         doesn't eats up to much speed.
151
152                         (A little note: The sound server currently needs
153                         about 10% CPU time on my 486DX/33/SBPro system
154                         when playing background music. I wonder if this
155                         would get better with a better soundcard, like
156                         Gravis Ultrasound, or if only pure CPU power
157                         helps in this case...)
158
159 About the game itself: Of course you know Boulderdash, so you will know
160 how to play the game. :)
161 If not: You can move your playing figure (the smiley) with the arrow
162 keys or with the joystick (if you have no joystick and even no arrow
163 keys on your keyboard, you can use the keys 'i', 'j', 'k' and 'm' for
164 the directions. To 'snap' a field near you without moving to it, you
165 can use the left fire button on your joystick (hold it down, move the
166 stick to 'snap' the field, release the button) or the keys 'e', 's',
167 'd' and 'x'. To place a piece of dynamite, use the right fire button
168 on your joystick or use the 'b' key (and, after placing the dynamite,
169 better see to move away from this field...).
170
171 Just try the levels from the 'tutorial' level serie to see what most
172 of the elements do or have a look at the info screen!
173
174 Note: It is *highly recommended* to use a joystick for playing this
175 game! It is possible to play it with the keyboard, but it is *much
176 more fun* to play with a joystick, and some levels are very difficult
177 to solve with the keyboard. So, the best platform for this game is a
178 Linux system (which gives you background music, too).
179
180 The Level Editor
181 ================
182 To build your own levels, just choose a 'yellow', empty level. If you
183 cannot find any 'yellow' levels, choose a different level serie or
184 choose the higher level numbers (if you have a small 'handicap' number,
185 the higher levels will be skipped to reach the 'empty' levels.
186
187 Another way is to create your own level series. Just add a line to the
188 file 'levels/ROCKS.levelinfo' with the following entries:
189 - the name of the level directory (create this directory under 'levels')
190 - the name of the level serie (don't use any whitespaces within the name)
191 - the 'ready' (red) levels (start with zero)
192 - the 'empty' (yellow) levels (set this to some number of blank levels)
193
194 To edit a level, you can use all three mouse buttons to draw in the
195 level window. Click into the elements field with one of the three buttons
196 to remap it to the new element. Use the arrow widgets to scroll around in
197 the level. Use the 'flood fill' field to init exactly ony flood fill
198 operation in the level field (you will be prompted). Click on 'control
199 window' to switch to the control window.
200
201 In the control window you can modify different parameters like the size
202 of the level playfield, the name of the level, the scores for different
203 elements and something like that. The four 3x3 field on the upper left
204 can be edited like the level field and indicate the 'contents' of smashed
205 crunchers (just try it out with some crunchers in one of your own levels).
206
207 'Undo & Exit' leaves the level editor, throwing away all the changes you
208 have done to the level.
209 'Save & Exit' leveas the level editor and saves the new level (the old one
210 will be deleted).
211
212
213 The Tape Recorder
214 =================
215 You can use the tape recorder to record games and play tapes of previously
216 played games. Just use them like a normal video recorder.
217
218 Recording a game on tape:
219 -------------------------
220 Just press the 'record' button (the one with the red point on it) and
221 either press 'Start Game' or press on 'record' or 'pause' to end the
222 pause mode and start playing and recording.
223
224 If you have set "auto record" in the setup menu to "on", you just have
225 to press 'Start Game' as usual.
226
227 Saving a game tape:
228 -------------------
229 To save a tape to the tape file corresponding to the level (that means
230 that you can only save one tape file for each level), just press the
231 'eject' button (the very left button). Then you will be prompted if
232 you really want to replace the old tape (if an old tape exists).
233
234 Playing a tape:
235 ---------------
236 Just press 'play' and then either 'play' or 'pause'.
237
238 While recording or playing, you can press 'pause' to stop the recording
239 or the playing of the tape and continue by pressing 'pause' again.
240 You can use either the tape recorder buttons or the game control buttons
241 for this purpose.
242
243
244 And Now Have Fun!
245 =================
246 Have fun playing the game, building new levels and breaking all high
247 scores! ;)
248
249 If you have any comments, problems, suggestions, donations, flames,
250 send them to
251
252         aeglos@valinor.owl.de
253 or      aeglos@uni-paderborn.de
254
255 or Snail Mail
256
257         Holger Schemel
258         Sennehof 28
259         33659 Bielefeld
260         GERMANY
261
262 Have fun,
263                 Holger