Next
Previous
Contents
GTKPool is a 2D pool game using the GTK+ toolkit. It should run on Unix
and Linux variants. It currently supports playing 8-ball, 9-ball and Rotation
as well as a "No Rules" option for practice/just messing around. It supports
many options and has configurable physics so you can do almost anything.
The table and balls are scaled to a eight foot by four foot table. It uses seven pixels
to represent one inch. Currently the physics are a little weak, but I will continually
try to upgrade them to make it as real as possible.
Generally it is a pleasant way to spend time that you should be spending with
your friends and family. I hope you enjoy it as much as I do. I, of course,
welcome your suggestions, so send anything to
gtkpool@seul.org
0.5.0
Jul. 28, 2002
- Broke the Spot Last Ball function (still works kinda)
- Added New Game option "No Rules"
- Replaced ball hit sound
- Added ball going in pocket sound (Really need new sound handler)
- Added "Players"
- Created Rule enforcement system for 8-Ball
- Created Rule enforcement system for 9-Ball
- Created Rule enforcement system for Rotation
- Created Rule non-enforcement system for No Rules ;)
- Added new Racking alignment for Rotation
- Started implementing comment system
- You can now WIN a game and it displays it at the bottom
- Fixed signal handler errors
- Fixed Clicking on "Ball in Hand" more than once error
- Added toggle for sound in options panel
0.4.3
Jul. 03, 2002
- Fixed compile bug on BSD/OS 4.2 (Thanks Bruce Momjian)
- Improved accuracy of aiming (Thanks to Mani Sadeghi for inspiration and some sample code)
- Improved Ball collisions (Again thanks to Mani Sadeghi)
0.4.2
Mar. 06, 2002
- Added option to turn off aiming line (for the real hotshots ;)
- Added patch provided by Philip Martin to allow to compile using GCC 3.0
- Fixed bug that prevented use of --enable-final configure option (Thanks Marcus Fritzsch for pointing this out)
- Fixed bug that Resetting the table did not clear the last sunk ball and extra balls could be placed on the table. (Thanks Marcus Fritzsch)
0.4.1
Jan. 20, 2002
- Got rid of error on closing (pixmap no longer used)
- Got rid of some compiler warnings
- More code clean-up
- Made it so in 9-ball cue can be placed anywhere and 8-ball its still behind the foul line
- Made it so cue ball can be "picked-up"
- Started using Vector functions for drawing shooting and aiming lines
- Made cue stick one size all the time and added "power" line
- Aiming line more consistent now (always the same size)
- Tweaked cue ball placement for 9-ball start-up
- Tweaked cue replacement area (couldn't get all the way over to foul line)
- Changing Games in the options dialog now resets game (and table)
- Window position starts at center of screen (easier for shooting)
0.4.0
Jan. 12, 2002
- Implemented use of autoconf, automake, configure
- Split up some of the classes to use more files
- Redid Options Dialog (used Glade)
- Added ability to change table being played on
- Changed image (xpm) loading to seach multiple directories for easier installs
- Same for the sound loading
- More code cleanup and commenting
- Fixed install routines to put images where the program will find them
0.3.6
Jan. 3, 2002
- added new table(s) and balls (pixmaps)
- Resized table and balls for new pixmaps. All set to scale of real life.
- Changed location of initial rack and cue placement on start-up/reset
- Made it so cue ball can only be placed behind foul line
- Made it so only cue ball can be shot
- Started adding code for placing a foul ball back on table
- Set the #define statements in pool.hh related to the balls to match their numbers (cue=0)
- Started cleaning up code and adding comments
- Got rid of some compiler warnings
- Added aiming line (dashed)
- Made shot line thicker and longer
0.3.4
January 2, 2000
- removed useless include of popt.h
0.3.3
December 15, 1999
- replaced balls.clear in resetTable with balls.erase(balls.begin(), balls.end()) for compatibility with BSD
- replaced draw_circle functor with draw_ball
- added checking of app.sound variable to prepare for use of nosound option
- changed checking of return fragment size so that only size is checked -- not limit, which caused problems with newer versions of OSS
- folded useless Circle class into Ball
- took care of complaint about passing const this to non-const draw -- made draw const
- started adding GUI elements for multiplayer/network mode -- chat box
- added table pixmap from Daniele Madri
- removed gdk specific drawing code from class Ball and put it it the draw_ball function, found in application.cc
- added nineball option
0.3.2
August 13, 1999
- added casts to get rid of annoying warnings
- changed mouse_drag() function to reduce useless redrawing while aiming
- changed "install-script" to "./install-script" in makefile's install rule
- fixed bug where sunk balls are not always erased (if they didn't move perceptibly when falling in -- see changes for 0.3)
- fixed bug #2 -- where balls right up against and moving parallel to the horizontal bumpers won't sink
- if hit_moving is on, the aimer is now redrawn to fix BUG #2
- a new option is available that allows you to make "superhuman shots"
- added convenience/legibility function Application::load_pixmap which includes error checking
- fixed bug #4 -- purple cue-ball
- added convenience/legibility function Application::new_ball
- removed useless colours
- fixed bug #3 -- aimer gets stuck when released over a button
- added the beginnings of a sound system
0.3.1
July 17, 1999
- fixed install-script for 3rd option
0.3
July 15, 1999
- made it possible to position the queue ball after it is sunk -- look for the circle cursor
- fixed bug so that table now resets when everything except queue ball is sunk
- added 3d balls provided by Bruce Smith <9401962@ml.petech.ac.za>
- added options dialog -- currently control friction, collide_drag, and bumper_drag, and make it possible to shoot balls that are already in motion
- fixed bug where if table is reset but cue ball is sunk, it still wants you to position a new cue ball, resulting in two cue balls
- cue ball should no longer show up as purple ball in rack stopped mis-spelling cue
- fixed aiming pointer droppings
- dirty rectangle is only updated if ball has moved perceptibly -- ie, int values of position before and after move are differnet -- will reduce inefficiency caused by "shivering" in 0 friction
0.2
- added install-script so that program can now be run from any directory
- added rack at bottom of screen showing which balls have been sunk
- made queue-ball reappear when it is sunk
- added a dirty-rectangle type system, so that only those parts that need to updated are updated
- removed the redraw on every other frame thing
Next
Previous
Contents