-
Notifications
You must be signed in to change notification settings - Fork 3
/
README
436 lines (280 loc) · 13.6 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
BillardGL README 1.70
---------------------------------------------------------------------
"Anderungen 1.62->1.70
* Schiedsrichter gibt Begruendungen
* Fullscreen, wenn von glut unterstuetzt
* Weiter Steuerungsmoeglichkeit bei gedrueckter rechter Maustaste
---------------------------------------------------------------------
"Anderungen 1.61->1.62
* Tutorial, alle Regeln und Tastenbelegung innerhalb des Spiels
verf"ugbar, beides mit komplett neu geschriebenen Texten in
Deutsch und Englisch.
* Nahezu jedes Menu wurde erweitert, besondes das Grafik-Menu
hat nun viel mehr Optionen.
* Fast alle Texturen abgeschafft, alle Texte und Beschriftungen
werden jetzt aus einzelnen Buchstaben zusammengesetzt.
* Alle Texte werden aus einem Textfile geladen, so da"s jetzt
problemlos auch mehrere Sprachen m"oglich sind.
---------------------------------------------------------------------
"Anderungen 1.60->1.61
* Kugeltexturgr"o"se nun auch von der Entfernung abh"angig
* Startet im Fullscreen-Modus
* Texturierung optimiert und fehlerbereinigt
(nicht optisch, aber logisch)
* Komplett Vorbereitet f"ur Planeten-BillardGL
---------------------------------------------------------------------
"Anderungen 1.50->1.60
* Neue Kugelgeometrie mit verschiedenen Detailstufen abhaengig
von der Entfernung der Kamera
* Namen der beiden Spieler koennen eingegeben werden und werden
waehrend des Spiels angezeigt.
* Neuere glut-dll (v3.7.6) f"ur Windows
* Bugfixes... jede Menge Bugfixes.
Dank an Alle, die mir beim Aufsp"uren geholfen haben!
"Anderungen 1.22->1.50
* Zwei-Spieler-Modus mit Schiedsrichter
* Neuere Physik
* Neuer Tisch mit Linien und Diamanten
* Alle Einstellungen werden in einem File gespeichert.
Windows: ...\Programme\BillardGL ...\BillardGL.conf
Linux : ~/.BillardGL.conf
* Statt der versenkten werden jetzt die noch im Spiel befindlichen
Kugeln angezeigt - ein Klick auf eine der Kugeln in der Anzeige
zentriert ihr "Aquivalent auf dem Tisch.
* Buchstaben-Texturen
* Bug bei Wei"se versetzen behoben
* Der Sto"sabbruch wurde deaktiviert
---------------------------------------------------------------------
"Anderungen 1.21->1.22
* Dank neuerer glut.dll jetzt auch fl"ussig unter Windows 98 etc.
spielbar (17.8 Frames/sec -> 85.7 Frames/sec)
* Mausgeschwindigkeit einstellbar, das Menu ist komplett (f"ur die
bisher existierenden Modi)
* Beim Zielen ist die Rotationsgeschwindigkeit jetzt abh"angig vom
Abstand der Kamera zur Wei"sen
* Hoch/Runter ist wieder existent, liegt aber jetzt auf Einf"ugen
und Entfernen
* Intelligenteres Management der Texturen spart RAM und Ladezeit,
desweiteren wurden viele Texturen 'abgespeckt'
* Diverse Bugfixes beim Positionieren der Wei"sen, beim Zoomen...
"Anderungen 1.20->1.21
* Aufgrund der Vielzahl von Texturen, die im Menu verwendet werden,
(Die Texturen sind inzwischen "uber 26 MB gro"s!) wird jedes
zuk"unftige Release in sieben statt in drei Versionen ins Netz
gestellt:
1. BGL-?-oT.zip nur die Sourcen ohne Texturen,
2. BGL-?-aT.zip wie fr"uher alleTexturen.zip mit allen Texturen,
3. BGL-?-de.zip mit nur den deutschen Texturen, die man bei
realistischen Einstellungen braucht (Texturen/1 ist fast leer)
Die englischen Texturen fehlen komplett.
4. BGL-?-en.zip wie BGL-?-de.zip, nur mit englischen Texturen
5. BGL-?-aT.exe Setup-Programm f"ur Windows mit allen
Texturen (entspricht BGL-?-aT.zip)
6. BGL-?-de.exe Setup-Programm f"ur Windows mit abgespeckten, nur
deutschen Texturen (entspricht BGL-?-de.zip)
7. BGL-?-en.exe Setup-Programm f"ur Windows mit abgespeckten, nur
englischen Texturen (entspricht BGL-?-en.zip)
* es gibt auch ein 'make install'. BillardGL bzw. billardGL werden
in /usr/X11R6/bin, Texturen in /usr/lib/BillardGL und README in
/usr/share/doc/packages/BillardGL installiert.
Um ein 'make install' machen zu k"onnen, mu"s man allerdings in
Namen.h die Zeile //#define PFAD "/usr/lib/BillardGL/" wieder
einkommentieren.
WICHTIG: Die Texturen werden dann in /usr/lib/BillardGL/Texturen
gesucht - wenn dort nichts liegt, l"auft das Programm nicht.
* Die meisten Tastenbelegungen sind jetzt durch einen 'Cheat-Code'
'gesch"utzt', da w"ahrend eines 'richtigen' Spiels solche Dinge
ja eh nicht erw"unscht sind... der Code lautet "ubrigens 'xnor' ;)
* Deutsche und englische Menustruktur, schon vorbereitet f"ur die
noch fehlenden Modi Zweispieler und Netzwerk. Die Menuroutinen
ersetzen auch komplett die Anzeige-Klasse, da sie wesentlich
flexibler sind.
* Die Wei"se ist jetzt nach Versenken nur noch dort aufsetzbar,
wo es laut Regel erlaubt ist, und wo kein anderer Ball liegt.
Das Spiel beginnt nun (nach Regel!) mit dem freien
Positionieren der Wei"sen im Kopffeld.
"Anderungen 1.11->1.20
* Kamera "gleitet" jetzt immer, das erschwert zwar das Handling,
erh"oht aber meines Erachtens den Realismus. Damit erledigen sich
auch viele Probleme der Kamerabewegung (insbesondere Spr"unge).
* L"ast sich jetzt (nach einigem Umstell-Aufwand) auch problemlos mit
Visual Studio unter Win32 compilieren und ausf"uhren.
* ACHTUNG: Viele #includes und .h-Files haben sich ver"andert, einige
Dateien sind sogar vollkommen verschwunden. ARBEITET BITTE NUR MIT
DER NEUEN VERSION!
"Anderungen 1.10->1.11
* QT ist tot, es lebe GLUT.
* In Ermangelung einer Doppelklick-Erkenn-Events bei GLUT ist der
Zustand-Umschalter auf die mittlere Maustaste oder alternativ
auf die Leertaste gewandert.
"Anderungen 1.00->1.10
* Physik-Version von der Pr"asentation
* Die versenkten B"alle werden angezeigt
* "e" (Standardsto"s) und "d" (Standardsto"spreview)
machen das Leben ein wenig einfacher
"Anderungen 0.28->1.00
* Bugfixes
* Versenken geht
* High-Quality-Kurzkommandozeilenoption
"Anderungen 0.27->0.28
* Schatten (fertig ;)
* Wenn die Weisse versenkt wird, kann man sie neu setzen (Pfeiltasten)
* Stossstaerkenanzeige beim "Ausholen"
* z-Buffer-Optimierung
* -z schaltet die Z- und Color-Buffer-Clears ab, man kann sie dann
mit "c" und "r" manuell loeschen.
* -s/-schatten schaltet die Schatten AUS
* Soundtest in der Konfigurationsanzeige - leider meint mein QT,
keinen Sound abspielen zu k"onnen. Wie steht's hier mit den O2s?
* 3-dimensionale Positionstabelle
* z-Buffer-Optimierung
* simple Abfrage auf Versenken
* Vollbild-Modus (Fenster: "f")
"Anderungen 0.26->0.27
* Verkleinerung der Balltexturen auf die H"alfte der Gr"o"se ohne
Qualit"atsverlust, daf"ur aber mit Geschwindigkeitsgewinn
* "r" spielt den letzten Stoss nochmal ab
* Texturinterpolation abschaltbar
* Kamerafahrten zwischen den gespeicherten Positionen und vom
Betrachten- in den Zielen-Modus - geht jetzt auch bei
niederen Frameraten - sorry ;)
* Andere Steuerung im Zielen- und Ausholen-Modus
* Tisch hat Lochverkleidungen (innen+aussen) und Holzbanden,
L"ocher sind an den richtigen Stellen.
Der Tisch an sich d"urfte damit bis auf Lichter, Lampe und
Textur auf der Oberfl"ache (Linien!) erledigt sein.
* Tischtextur (Holz) per Kommandozeilenoption konfigurierbar
"Anderungen 0.25->0.26
* Abbruch der Stossanimation springt jetzt direkt auf den Endzustand,
allerdings nur bei Doppelklick mit der linken Maustaste. Bei
Einfachklick mit der rechten bleibt die Wei"se stehen (positionieren!)
* Stoss beliebig steuerbar, die Wei"se bewegt sich stets genau von
der Kamera weg (die Entfernung der Kamera zur Wei"sen ist dabei
egal). Die L"ange des Maustastendrucks reguliert die
Geschwindigkeit.
* Primitive Anzeige mit Zustandsanzeige und >>> LOGO <<< ;))
* Physik-Simulation von Stefan (ohne Normierung)
* Tinas wiederentdeckter Tisch
* Neue Kommandozeilenoptionen f"ur die Physikfrequenz, den Reibungs-,
Banden- und Kollisionsfaktor.
* Neue Kommandozeilenoption f"ur die Texturen der Anzeige
* Achtung: Aus -kugel/-k ist -geometrie/-g geworden.
Ebenso: -spiel/-g -> -aufstellung/-a
* Derzeitige Projektgr"o"se: 3165 Zeilen (mit LA.* und bmp.*:4154)
"Anderungen 0.24->0.25
* Ausf"uhrlichere Dokumentierung der meisten Files
* Hintergrundfarbe zwischen Schwarz und Weiss umschaltbar ("h") -
hilft bei dunklen Stellen im Wireframe
* Zwei neue Bewegungsmodi:
- Rein/Raus (Bild auf/ab)
- Zoom Rein/Raus (Pos1/Ende)
"Anderungen 0.21->0.24
* Anzeige umschaltbar zwischen Punkte/Linien/Fl"achen
* Erste Tischversion von Tina
* README
"Anderungen 0.19->0.21
* Mouselook ist verf"ugbar, kann mit Mousespeed (-m) reguliert werden
* mit 1-8 lassen sich Kamerapositionen speichern und mit F1-F8 wieder
aufrufen.
"Anderungen 0.18->0.19
* diverse Szenarien, die mit Tasten und Kommandozeilenoptionen aufgerufen
werden k"onnen
* Einführung von Epsilon mit Epsilon Minimal- und 3*Epsilon Maximalabstand
der B"alle bei der Startaufstellung
"Anderungen 0.15->0.18
* Kommandozeilen funzen f"ur Texturen, Ballgeometrie und
Y-Achsen-Vertauschung
-t bzw. -texturen mit 1,2,4,8,0 setzt die Texturgr"o"se
1=gr"o"ste, 8=kleinste, 0=keine
BillardGL -t 0 schaltet Texturen aus
Default: 4
-k bzw. -kugel setzt die Ballgeometrie
BillardGL -k 2 20 generiert B"alle mit Latitudes=2
und Latitudes=20 (Kreisel ;)
-y bzw. -inverty invertiert die y-Achse bei der Drehung
* Rubrik sinnvoll: Nach Ablauf der Sto"s-Animation wird die
Framerate angezeigt ;))
"Anderungen 0.01->0.15
* Ich habe die while-Schleife durch einen Timer ersetzt, dadurch ist die
CPU-Usage von "uber 90% auf unter 2% gefallen (daheim ;)
* Dadurch kann QT jetzt auch nebenher (w"ahrend der Animation) was
machen, etwa die Kamera steuern:
Pfeiltasten: Vor/Zur"uck/Seitw"arts
8,4,5,6(Numblock) : Drehen.
Shift/Ctrl: Hoch/Runter
Das nach oben/unten-Drehen ist noch Verkehrtherum f"ur euch beide, ich
werd's aber umschaltbar machen.
* Der "Stoss" wird durch einen Linksklick mit der Maus ausgel"ost.
* Die B"alle drehen sich jetzt und sind auch mit Texturen bepflastert.
Das funktioniert auf den SGIs leider nur recht m"a"sig, also werde ich
auch die Texturen abschaltbar machen.
* Ein sehr einfacher Tisch (Rechteck ;) existiert auch schon.
* "make clear" funktioniert jetzt wie "make clean" (und ich mu"s mich
nicht mehr "argern)
---------------------------------------------------------------------
Kommandozeilenoptionen:
-hq High-Quality-Modus: Kurz f"ur:
-t 2
-at 1
-tt 1
-g 20 30
-texturen (-t) Ball-Texturgr"o"se
1: Ganz (256x256 - 2880 KB)
2: Halb (128x128 - 720 KB)
4: Viertel ( 64x64 - 190 KB) (default)
8: Achtel ( 32x32 - 45 KB)
-atexturen (-at) Anzeige-Texturgr"o"se
1: Ganz
2: Halb (default)
4: Viertel
8: Achtel
-ttexturen (-tt) Tisch-Texturgr"o"se
1: Ganz
2: Halb (default)
4: Viertel
8: Achtel
0: Keine Tischtextur
-nearest (-n) Texturinterpolation abschalten
-zbuffer (-z) Z- und Color-Buffer-Clear abschalten
-geometrie (-g) Ballgeometrie
a: #L"angengrade
b: #Breitengrade
(default: 15x25)
-invertx (-x) Invertiert die Drehung in x-Richtung
-inverty (-y) Invertiert die Drehung in y-Richtung
-schatten (-s) Schatten Aus
-mousespeed (-m) Mausgeschwindigkeit (default: 0.4)
-epsilon (-e) Setzt den minimalen Abstand (in cm) der B"alle zueinander
bei der Startaufstellung (default: 0.1)
-aufstellung(-a) Anfangs gesetzte Spielaufstellung:
2: Zwei B"alle
8: 8-Ball (default)
9: 9-Ball
z: Zuf"allige Verteilung
-physik (-p) Physik-Frequenz (default: 400)
-reibung (-r) Reibungsfaktor (default: 1.2)
-bande (-b) Bandenfaktor (default: 0.4)
-kollision (-k) Kollisionsfaktor (default: 0.95)
---------------------------------------------------------------------
Tastaturbelegung:
Pfeiltasten: Bewegen der Kamera in Pfeilrichtung
Shift/Strg: Bewegen der Kamera nach oben/unten
Mausbewegung mit
linker Taste: Drehen der Kamera in Bewegungsrichtung
(kann mit -x/-y invertiert werden)
Bild auf/ab: Hinein/Hinausbewegung in die Szene
Pos1/Ende: Zoom Rein/Raus
1..6: Abspeichern einer Kameraposition
F1..F6: Wiederaufrufen einer Kameraposition, F1 bis F4 sind vorbelegt.
r: "Replay" des letzten Stosses
Nur noch mit Cheat erreichbar:
s,a,n,z,l: 2-B"alle-, 8-Ball-, 9-Ball-, Zufalls-, leere Aufstellung
8,9: 8-Ball-, 9-Ball-Aufstellung
w: Wechselt zwischen Fl"achen-, Punkt- und
Liniendarstellung
h: Wechselt die Hintergrundfarbe zwischen Schwarz und Weiss
Backspace: Schaltet die State-Maschin' in den BETRACHTEN-Modus
c: L"oscht den Z- und den Color-Buffer
f: Schaltet zwischen Vollbild- und Fenster-Modus um
e: Schnellschuss
d: Zeigt die Folgen des Schnellschusses