forked from alrusdi/foobillardplus
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
468 lines (423 loc) · 16.8 KB
/
ChangeLog
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
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
3.43 beta
=========
- russian localisation from Alrusdi
- collision detection for cue in table
- new pause function with key p on game with AI player
- replace gl_quads, gl_quad_strip with gl_triangle_strip
- zenity (gnome), kdialog (kde), xmessage (X11), MS Windows error dialogs
- replace glbegin/glend/glvertex and so on to vertex arrays
- bugfixing table display
- new default directory /usr/games
- Package Management for debian/ubuntu distribution
- Start of Apple Mac Port from Julian Mayer (thanks)
- old mouse movement is selectable under options
- selectable language option
- correct application restart in menu
- bug-fixes turning around in room
- bug-fixes for WINDOWS-Port SDL 1.2.15
- new high-res graphics, peoples, plants.....
- animated fire in fireplace
3.42 beta
=========
- reorg of sourcecode
- new sound engine inside
- change SDL_Audio to SDL_MIXER
- integration of backgroundmusic (ogg and mp3 support)
- include songs from "Zentriert ins Antlitz" (Marc Friedrich)
- an extern history function
- problems on toggle fullscreen solved
- problems set windowed video mode solved
- start of use SSE intrinsics
3.41 beta
=========
- Bugfix release
new in 3.4 beta
===============
- desktop icon
- textures for room and walls
- routines for displaying walls
- more optimizations in table.c
new in Beta 2
=============
- Tron like game playfield (a little bit like the movie ;-)
- Glass balls (not really perfect, but a beginning
- new network module IPv4
- IPv6 only in the start mode shown, but only IPv4 works now (SDL_net problem)
- all game types can be played in the network gaming mode
- in birds eye view it's now possible to play a game with cue-moving etc.
- the main-menu now shows some more help on every option.
Start of foobillard++
=====================
- a little bit textures for the roomfloor
- new handling of changing to the next shot (more human feeling)
- start to write a whole manual
- start of basic utf8 handling for strings and fonts
- bugfixing
- much code rewriting
- most mouse-commands also with keyboard possible
- some problems with the .rc file solved
- new improved controls direct on the screen (visible with icons)
- some antialiasing filtering functionality
- some anisotropic filtering funcionality
- lost balls from table are detected correctly in jump shots
- switching the jump shots on as default
- more graphics
- more sound
- more options adjustable inside the game
- new options
- carambol play has now a (adjustable) defined ending with winning option
- carambol play has a functional tournament mode
- bug fixing
- SDL is now a must have. Glut isn't supported anymore
- freetype2 is now a must have. Without it, the program won't work
- Snooker shows now the correct balls to play
- new statusline for more info in gameplay
new in 3.2 (not published)
==========
- Start of Localisation
- better orientation for the Fonts
- changed fonts for blueboldttf,iomanoid,youregon because they are not GPL
(thanks to the Meego Port Team)
- Special Options for WeTab Port
- Corrected Game Start
- Corrected Tournament
- Corrected functions in billard3d.c
- Corrected Menu handling
- Improved and corrected moving around in all states
3.1 (internal Version)
======================
- not published (internal Version, pre foobillard++)
new in 3.0a
===========
- 3.0 didnt work because of wrong data-directory (thx to Jens Granseuer)
new in 3.0
==========
- directional lighting working again
- multitex check for table detail map (thx to Alan W. Irwin)
- commandline option for table detail map
- timeout for network-read
- snooker: white potted -> next !act player may place (thx to Peter Lord)
- more realistic near range ball reflection (in fresnel vertex program)
- correct VRPool keybindings for glut (press/release instead of toggle)
- more intuitive --enable-sdl/glut (thx to Mike Frysinger)
- fix: carambol: 2nd player uses yellow ball again
new in 2.9
==========
- added 'struct' before GLUtesselator (thx to Lukasz Szift Hejnak)
- table detail map texture (cloth)
- better mipmap settings for text objects
- internal format for rendered reflection GL_RGB instead of GL_RGB16
- fixed some restart-bugs (player parameters wouldnt be kept)
- undo for training mode
new in 2.8
==========
- new configure option --enable-nvidia=off also disables fresnel reflections
- configure option --enable-bumpref is discarded.
- tournament mode implemented
* several named opponents with different strengths
* a tounament window with status info after every match
* cmdline option for fast motion of AI vs. AI games
- internal changes in the main simulation loop
- segfault fix (uninitialized string for score text in 8ball)
- removed some compile warnings
- sound also with glut (hardcoded for s16le and /dev/dsp for now)
- new configure option "--enable-sound" to explicitly en/disable sound
- VRPool keyfuncs also for glut (toggle instead of press/release)
- also using glutPassiveMotionFunc for mouse movements
- some simplifications of restart menu
new in 2.7
==========
- bugfix: place-ball-texture in reflections always under white ball
- performance gain by whole ball culling (also in reflections)
- fresnel-like reflections using NV_vertex_program
- rendered reflections a bit more decent
- experimental, simple (really simple!) avatar
- bugfix: training mode: if cueball into pocket take next ball still in game
new in 2.6
==========
- switch for debug messages in configure script
- bugfix: dont write .rc when not writeable
- bugfix: segfault when more than 50 display modes (thx to Alan Claunch)
- bumpmaps on table frame
- slight performance gain by triangle strips (experimental)
- variable bird view distance for different table sizes (thx to Stephen Illingworth)
- ball spin prop. to hit strength again (seems i changed this once for testing)
- cushion physics changes
new in 2.5
==========
- polygon offset for reflections due to z-fighting on some hardware (thx to Michel D�nzer)
- bugfix: str_contains didnt check for termination of 1st string (thx to Frank Gevaerts)
- bugfix: fullscreen mode wasn't saved in config file.
- AI-player skill adjustible in menu
- gamemodes match/training
- training mode: free placement and cueball selection
- training mode: tab key to switch cueball
- some VRPool hold-key-funcs implemented (work correctly in SDL only)
* s .... mouse shot
* b .... cue butt up/down
* e .... english
* m .... place cue ball
new in 2.4
==========
- button2 after button1 = toggle cue view
- hold button2 after button1 = place cue ball
- hold button1 after button2 = adjust effet
- black outlines for menu text
- different blending func for rendered reflections
- 8ball rule fix: potting 8 at break caused a win (thx to A. Friesen.)
- manpage (thanx to Wouter Eerdekens)
new in 2.3
==========
- bugfix: bumpref_list was not generated
- fix: cueball could be placed all the time
- new more complete snooker code (thx to Frank Gevaerts)
- sound compatibility fix for big endian machines (thx to Frank Gevaerts)
- table socket and floor
- black ground of holes (no floor see through)
- bugfix for some voodoo drivers (player text and menu didnt show up)
- pool rules fix: no foul when hitting cushion outside the foul-region before ball in the foul-region
- pool rules fix: no foul at break when potting other balltype than 1st hit
- 3D-font rendering for text objects
- 3D winner text
- some debug message cleanup
new in 2.2
==========
- non ANSI conform variable declaration fixed - sloppy me
- only printable characters are accepted in textfield (thx Corey Edwards)
- removed hardcoded "CC=gcc" in Makefile.am (thx Corey Edwards)
new in 2.1
==========
- vast performance improvements of rendered reflections
* cuberef lod (mipmap levels)
* calc only cuberefs of balls in FOV
- human/ai player adjustible in menu
- better sdl friendliness (thx to Michael G. Martin)
- automatically save actual settings into .foobillardrc file on quit
- correct wraping (clamp to edge) of cubemaps
- cue-offset crosshair on ball
new in 2.0
==========
- fallback for systems without sound
- automatically exclude bumpref for non NVIDIA cards at compiletime
- additional configure parameter for enabling/disabling bumpref
(if automatic detection doesnt work)
new in 1.9
==========
- exact table polygons (no more black dots)
- ball traces
- better sound timing
- better sound data
(ball-ball sound borrowed from kbilliards - scaled in time by 0.7 -
thx to Samuele Catuzzi)
- better rendered reflections due to cube offset
- bump reflections on edges using NVIDIA opengl extensions
- place_cue_ball.png real black instead of 0x010101
- removed --netgame and --host=... options
(network game should be started from menu)
- menu code for textfield entry
- menu: added textfield for IP
- menu: added textfield for portnumber
- menu: added textfield for player names
- smaller near clipping value
- fixed shadow flicker bug
new in 1.8
==========
- realtime rendered cubemap ball reflections
- jumpshot code (experimental - not activated yet)
- random seed at startup
- bugfix: "rg on/off" text for lensflare menu
- table theme moved to display menu
- menu and cmdln option entries for cubemap reflections
- cmdln option for cubemap reflection resolution
- 2 GL_LIGHTs instead of one
- rgstereo aim (specify left/middle/right eye for aiming (menu and cmdln))
- player data of both players displayed
- bugfix: intialize scores, when starting a new game
- now also possible to run non-installed (from anywhere in the sourcetree)
- bird view <F2> (external+freemove+centered position)
- <F3> equivalent to <c>
- <F4> equivalent to <f>
new in 1.7
==========
- buxfix: glut linked in SDL binaries (thx to Corey Edwards)
- black-white theme without frame texture
- options_frame_tex now variable options_frame_tex_var
- commandline options for famecolor and blackwhite theme
new in 1.6
==========
- physics adjusted to more realistic speeds and friction coeffs.
- added 0th and 1st order (in speed) cushion damping
- power bar now prop to energy (speed^2) with max 7 m/s.
- non-vertexarray code works again
- ball-ball ang. mom. transfer with rolling cutoff
- more english (spin) according to higher speeds and higher friction.
- help added to menu
- bugfix: wall-ball strobe-apart-check before dt
(balls would leave table on edges)
- bugfix: balls strobe-apart-check before dt
(balls would not collide at flat angles and hight speed )
- added free move mode for external view
- added network game to menu
- configure defaults to SDL instead of glut
new in 1.5
==========
- holes adjusted to norm-sizes (and positions)
- ball colors adjusted to normed colors
- bugfix: create/free_pooltexbinds in MENU_ID_RGSTEREO_ON callback removed
- create_pooltexbinds capsuled from code (only create_texbinds)
- configure and spec files patched for "make srpm" (thx to Michal Ambroz)
new in 1.4
==========
- carambol added (only simplified rules yet)
- rudimentary carambol ai-player
- snooker added (only simplified rules yet)
- rudimentary snooker ai-player
- bugfix: args can be seperated by whitespc in .foobillardrc (thx to Frank)
- bugfix: SDL: keyrepeat used to hang, when toggling fullscreen
- fullscreen also for GLUT
- scoretext or symbol above player name, depending on gametype
- ai_get_stroke_dir gets full player-struct as 3rd arg (instead of full_half)
- menu entry for lensflare and helpline
- stippled helpline
- bugfix: user could place cue offset and cueball of AI-player
new in 1.3
==========
- popup menu for many many options and game settings (ESC)
- many code adapted for "on the fly"-switching in menus
- experimental direct mouse-cue-move shot (using CTRL+button1)
- bigger and seperate winner-text
- no cue offset placement (shift+button2) when in cue view mode
- bugfix: performance used to sink when using vertex arrays
- bugfix: freetype lib used to initialize more than once
- code cleanup: warning-free
new in 1.2
==========
- bugfix: LOD depends on window size again
- bugfix: font rendering: overlapping characters overwrote each other
- fullscreen mode for SDL
- commandline parameter for screen (window) geometry
- darker place-cue-ball-cursor
new in 1.1
==========
- SDL support included "configure --enable-SDL" (thx to Stephane Chauveau)
- proper timing for SDL-version
- simple network game support (--host=HOST_IP, --netgame)
- better LOD-determination
- additional detail level --balldetail=v (very high)
- bugfix: place cue-ball into other balls not possible (+initial placement)
- bugfix: in place-cue-ball-mode help text was brighter
- sound support when compiling with SDL
new in 1.0
==========
- major physics changes:
* ball-ball friction (ang mom transfer, par mom transfer)
* ball-wall friction (ang mom transfer, par mom loss)
- ball cant rebounce on table after falling into hole
- switched to more free fonts. (http://www.larabiefonts.com)
- different fonts for player-, help-, and balltext.
- again autoconf and automake applied (thx to Michal Ambroz)
- again foobillard.spec for rpm (thx to Michal Ambroz)
new in 0.9b
===========
- bugfix: obsolete GLUT_STENCIL caused some problems for depth>16bit.
- wheel support even for non imwheel-ers
new in 0.9a
===========
- bugfix: segfault when no .foobillardrc present
- help line for FOV added
new in 0.9
==========
- freetype fonts for balls and player text
( fonts lent from http://www.pizzadude.dk )
- balls autotextured (colors+text)
- smooth movement (fine adjust per Ctrl obsolete)
- red-green(cyan) stereo !!!!
- symbolic icons for half/full/any
- default ball detail set to high
- bugfix: place cue ball not possible while balls moving
- <F1> for help screen
new in 0.8
==========
- better hole, edge and table surface design
- better structure: HOLE_W substituted by HOLE_TAN (internal)
- balls dropping into holes
- bande: lower edge in line with upper edge
- bande: corrected hit position to z=0
- additional commandline option for balldetail
new in 0.7
==========
- lensflare
- stricter 8pool rules
- correct timing for queue
- more commandline options
- config file (~/.foobillardrc) - takes same args as commandline
- winner/loser bug with 8ball fixed
- better table texture
- positional light
- segmented table area
- table frame specular
- hole bumpers
- segmented cue
- err of ai-players (commandline parameters)
- X11R6 instead of X11 in makefile - thx to Mirco Mueller
new in 0.6
==========
- compiles under windows (but runs?)
- foul - placing of cue ball
- 9-ball game
- 9-ball aiplayer
- commandline options (not for windows) for...
* player names
* player ai setting
* 8/9 ball
* table,edge color
* table size
- smaller default table size (7 ft)
- display next ball for 9ball
new in 0.5
==========
- timing also for zooming
- corrected framerate-independent timing with max 100 fps
- multiple position dependent shadows
- cue shadows added
- slow move also with both mouse buttons
- queue move bound to 0-90
- queue excentricity bound to ball radius
- no shot while balls moving or AI-player
- no power adjustments when AI-player active
new in 0.4
==========
- proceed_dt_euler_new debugged and used
- most sliding and rolling physics corrected
- raii of xxxhedron-balls scaled to match sphere volume
- increased default detail
- detail adjusted for different window sizes
- cue offset adjustible for excentric hit (ctrl+right mouse button)
- diamond normals fixed and calculated concave
- idle callback time triggered and # of proceed_td calls framerate dependent
- billmove.c: replaced wirkabstand by mu*I/(m*d) instead of mu*d/10
- added strength bar and adjustment (CRSR UP/DN)
- players are reset to "any" when <n> pressed
- command line argument "2" for human-human game
- <enter> and <space> for fire
- removed some obsolete pics
new in 0.3
==========
- texture on table
- simple billard rules
- removed freeze bug
- added multitexture reflection (faster but simpler) (<r>-key)
- table foot brown instead of green
- improved shadow map (only 8-bit gray)
- new proceed_dt_euler func (not used yet)
new in 0.2
==========
- better implementation of borders/holes
- nicer table with wood furniture
- gold covers on table edges and golden diamonds
- simple ai-player (space button)
new in 0.1
==========
- table borders linear
- better ball textures
- animated queue with texture