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 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518
|
1999-09-14 12:50:21 Brent M. Hendricks <brentmh@ece.rice.edu>
* src/gtk_play.c:
- Handle case when requested font is not available.
* BUGS, TODO, configure.in:
- Doc fixes.
- Bumped version to 4.2.0
1999-09-08 02:04:48 Brent M. Hendricks <brentmh@ece.rice.edu>
* README.NetGames, TODO:
- Added README.NetGames
1999-08-26 14:34:21 Brent M. Hendricks <brentmh@ece.rice.edu>
* src/sl_io.c:
- When displaying statistics, count from 1, not 0.
* ChangeLog: *** empty log message ***
* src/gtk_dlg_stat.c:
- Display game numbers starting at 1, not 0 (thanks Brian)
1999-08-25 02:10:11 Brent M. Hendricks <brentmh@ece.rice.edu>
* src/.cvsignore:
- Added .deps to .cvsignore
* src/.cvsignore, install-sh, missing, mkinstalldirs, stamp-h.in, aclocal.m4, autogen.sh, config.h.in, configure, .cvsignore, ChangeLog, Makefile.in:
- Fixed up repository not to include platform-specific files
1999-08-24 15:34:54 Brent M. Hendricks <brentmh@ece.rice.edu>
* src/Makefile.in, src/client_func.c, src/display.h, src/listen.c, src/sl_io.c, src/sl_io.h, src/Makefile.am:
- New -o option
- Fixed slang client to handle options and new Card defs.
* configure.in, README, README.slang, configure:
- Document new -o option
- Bumped version to 4.2pre3
* slspades.6, gspades.6:
- Updated man pages for -o option
1999-08-16 15:14:38 Brent M. Hendricks <brentmh@ece.rice.edu>
* src/card.c, src/card.h, src/engine.h, src/engine_func.c, src/engine_main.c, src/ai.c:
- Massive AI updates (it works now).
- Some engine changes so Britt's AI functions can be incorporated.
- Small changes to the card implmentation.
* AUTHORS, BUGS, INSTALL:
- Small updates/typos.
1999-08-16 02:57:36 Brent M. Hendricks <brentmh@ece.rice.edu>
* src/engine_main.c, src/gtk_connect.c, src/gtk_io.c,
src/gtk_play.c, src/sl_io.c, src/Makefile.in, src/client.h,
src/client_func.c, src/client_main.c, src/display.h, src/engine.h,
src/engine_func.c:
- Added new debugging flags DEBUG_BID and DEBUG_PLAY.
- Adapted to new Card type and functions.
- Started integrating AI functions.
* configure.in, acconfig.h, config.h.in, configure:
- Added new debugging flags DEBUG_BID and DEBUG_PLAY
* AUTHORS:
- Added Britt Yenne (AI functions) to list
* src/card.c, src/card.h:
- Redo card implementation as typedef'd int.
- Redefine and rename all card functions.
* src/Makefile.am, src/ai.c:
- New file ai.c to hold ai functions
- Added ai.c to list of sources
- Begin adapting Britt's AI functions to my code
1999-08-15 21:44:06 Brent M. Hendricks <brentmh@ece.rice.edu>
* configure.in:
- Updated version to 4.2pre1
1999-08-02 00:05:46 Brent M. Hendricks <brentmh@ece.rice.edu>
* src/gtk_taunt.c:
- Make taunt display word wrapped.
1999-08-01 02:05:23 Brent M. Hendricks <brentmh@ece.rice.edu>
* src/scroll.c, src/scroll.h, src/sl_io.c, src/sl_io.h,
src/socketfunc.c, src/socketfunc.h, src/taunt.c, src/taunt.h,
src/gtk_dlg_stat.h, src/gtk_io.c, src/gtk_io.h, src/gtk_menu.c,
src/gtk_menu.h, src/gtk_play.c, src/gtk_play.h, src/gtk_taunt.c,
src/gtk_taunt.h, src/listen.c, src/options.h, src/gtk_connect.h,
src/gtk_dlg_about.c, src/gtk_dlg_about.h, src/gtk_dlg_disconnect.c,
src/gtk_dlg_disconnect.h, src/gtk_dlg_error.c, src/gtk_dlg_error.h,
src/gtk_dlg_exit.c, src/gtk_dlg_exit.h, src/gtk_dlg_options.c,
src/gtk_dlg_options.h, src/gtk_dlg_stat.c, src/card.h, src/client.h,
src/client_func.c, src/client_main.c, src/display.h, src/engine.h,
src/engine_func.c, src/engine_main.c, src/gtk_connect.c, src/card.c:
- Changed header to mention copyright and removed mods.
1999-07-28 19:07:28 Megan Terrazzino <terrame@ece.rice.edu>
* AUTHORS:
- Fixed conflict
* TODO:
- Small improvement in description
1999-07-28 19:02:50 Brent M. Hendricks <brentmh@ece.rice.edu>
* TODO:
- Moved offline play up to 4.2.0
* AUTHORS:
- Stated adding entry for AI author
* src/gtk_connect.c:
- Changed PF_LOCAL to PF_UNIX for better platform compat.
1999-07-26 07:34:35 Brent M. Hendricks <brentmh@ece.rice.edu>
* src/client_func.c, src/engine.h, src/engine_func.c, src/gtk_connect.c:
- Better handling of child process death.
* src/engine_func.c:
- Use new function Quit() rather than exit(), to decide how to exit
properly whether we're the server or client (exit vs. _exit)
* src/client.h, src/client_func.c, src/client_main.c, src/gtk_connect.c:
- Added DeadEngine() function to handle SIGCHLD signal.
- Kill child process when game is over.
- Set gameInfo.gamePid to 0 at beginning of every session, and after
child process is dead.
* src/gtk_connect.c:
- Added warning messages for when taunting is disabled and options
are ignored.
* src/gtk_dlg_error.c, src/gtk_dlg_error.h:
- New function DisplayMessage() takes over functionality of
DisplyError(), but adds gboolean quit parameter for optionally
ending the current game.
- DisplayError() now a wrapper for DisplayMessage( , TRUE).
- DisplayWarning() now a wrapper for DisplayMessage( , FALSE).
* NEWS, gspades.6, spadesd.6:
- Doumentation updates
1999-07-25 23:17:08 Brent M. Hendricks <brentmh@ece.rice.edu>
* README.gtk, README.porting, spadesd.6, README:
- Documentation updates
* ChangeLog, src/Makefile.in: *** empty log message ***
* src/client_func.c, src/gtk_connect.c, src/gtk_connect.h, src/gtk_dlg_options.c, src/gtk_dlg_options.h, src/gtk_menu.c:
- Name now defaults to login name.
- Added GAME_SPADES and MSK_BAGS to initial options even though
they do not really do anything yet.
- Fork new process and call engine() if playing offline
- Initialze spadesHandle and tauntHandle to 0. Only call
gdk_input_remove() if handle is non-zero.
- Rename menu items Connect/Disconnect to New/End.
- New function PlayOffline() called instead of Connect() when
an offline game is desired.
- Only make tauntBox sensitive if able to connect to taunt server.
- New function SafeClosedialog() called to close options dialog
without ending game (removed dirty hack).
* src/socketfunc.c: *** empty log message ***
* src/listen.c:
- Added more checking of option bits.
* src/gtk_taunt.c:
- Made tauntBox a global variable and set to insensitive by
default.
* src/engine.h, src/engine_func.c, src/engine_main.c:
- Renamed NetClose(), CheckReadInt(), and CheckWriteInt() called
from the engine, so there is no namespace clash now that engine()
is called on the client side.
* src/options.h:
- Restructured a bit, and added new game options.
- Added #ifndef _OPTIONS_H around file
* src/Makefile.am:
- Added engine_func.c and engine_main.c to list of source
files for gspades.
* SocketSpec.txt:
- Updated for new option bits.
- Better description of option passing.
1999-07-25 22:14:51 Brent M. Hendricks <brentmh@ece.rice.edu>
* src/client_func.c, src/gtk_connect.c, src/gtk_connect.h, src/gtk_dlg_options.c, src/gtk_dlg_options.h, src/gtk_menu.c:
- Name now defaults to login name.
- Added GAME_SPADES and MSK_BAGS to initial options even though
they do not really do anything yet.
- Fork new process and call engine() if playing offline
- Initialze spadesHandle and tauntHandle to 0. Only call
gdk_input_remove() if handle is non-zero.
- Rename menu items Connect/Disconnect to New/End.
- New function PlayOffline() called instead of Connect() when
an offline game is desired.
- Only make tauntBox sensitive if able to connect to taunt server.
- New function SafeClosedialog() called to close options dialog
without ending game (removed dirty hack).
* src/listen.c:
- Added more checking of option bits.
* src/gtk_taunt.c:
- Made tauntBox a global variable and set to insensitive by
default.
* src/engine.h, src/engine_func.c, src/engine_main.c:
- Renamed NetClose(), CheckReadInt(), and CheckWriteInt() called
from the engine, so there is no namespace clash now that engine()
is called on the client side.
* src/options.h:
- Restructured a bit, and added new game options.
- Added #ifndef _OPTIONS_H around file
* src/Makefile.am:
- Added engine_func.c and engine_main.c to list of source
files for gspades.
* SocketSpec.txt:
- Updated for new option bits.
- Better description of option passing.
1999-07-23 03:57:15 Brent M. Hendricks <brentmh@ece.rice.edu>
* src/socketfunc.c, src/client.h, src/client_func.c, src/client_main.c, src/gtk_connect.c, src/gtk_dlg_options.c, src/gtk_dlg_options.h, src/gtk_dlg_stat.c, src/gtk_io.c:
- New function AppInit() to do one-time initializations.
- Renamed StartProgressBar() to StartSession() and call
SessionInit() there.
- GameInit() only at start of new games.
- Free memory allocated for player names and game records
at start of each session and at end of game.
- Allocate *two* ints for each game record, not one.
- Clear table and display at start of new game
- Set End-game spinbutton to steps of 50
- Give appropriate message in stat. dialog if no
statistics yet
* src/engine.h, src/engine_func.c, src/engine_main.c, src/listen.c:
- Skip registration for computer players
- New functions AIBid() and AIPlay() to handle computer
players.
- Modified all functions not to attempt socket communication.
with computer plaers.
- Only free player name memory for human players.
- Name computer players after stooges.
* SocketSpec.txt:
- Added description of option passing
1999-07-20 22:44:58 Brent M. Hendricks <brentmh@ece.rice.edu>
* src/gtk_menu.c, src/gtk_io.c:
- Deleted files gtk_dlg_connect.[ch] obsoleted by gtk_dlg_options.[ch]
and changed necessary #includes
* src/gtk_dlg_options.h, src/listen.c, src/options.h, src/Makefile.am,
src/client.h, src/client_func.c, src/engine.h, src/engine_func.c,
src/gtk_dlg_connect.c, src/gtk_dlg_connect.h, src/gtk_dlg_options.c:
- Fix masks in options.h and include it where needed.
- Initialize options to defaults on client and server side.
- Set playerSock to SOCK_COMP on server side for all computer players.
- Use endGame and minBid options in game engine.
- Do option passing error checking on client side.
- Code cleanups in gtk_dlg_options.c
- Move server tab code after other tabs since callback for online
toggle gets called immediately and needs to access other tabs'
widgets
- Default label for player toggles is "Human" since that is the
"unpressed" state.
- Set minimum size for player toggle and nil toggle buttons.
- Use present option values when setting up options dialog
(persistence of options).
- Temporarily disable nil toggle button since it pobably won't make it
into 4.2.
- De-sensitize server-entry widgets when online toggle is depressed.
1999-07-14 Brent M. Hendricks <brentmh@ece.rice.edu>
* src/listen.c:
- Have ReadOptions() read a fuller option set and check for errors.
* src/options.h: New file containing options structure and masks
* src/gtk_dlg_options.c, src/gtk_dlg_options.h:
- Created and use input_t struct to pass input widgets from the dialog.
- Created InputOptions() to handle inputing all options.
- Set notebook, connect and apply buttons to un-sensitive while
connecting.
- Use new options external global.
- Created OfflineToggled() to handle offline toggle button.
- Removed all references to DeadDialog.
* src/gtk_connect.c:
- Better handling of Connect/Disconnect menu sensitivity
- Updated hack to find window parent of pbar (still a hack though)
* src/engine_main.c: Formatting
* src/client_func.c:
- Create global options variable and send its members to server
during options passing stage
* src/client.h: Include options.h
1999-07-13 Brent M. Hendricks <brentmh@ece.rice.edu>
* src/client_func.c, src/gtk_dlg_options.c, src/gtk_dlg_options.h,
src/listen.c:
- Added callbacks to read some of the entries in option dialog.
- Hacked in an option passing test.
- Added code to read client's PID after options.
* src/gtk_play.c:
- Removed bad #ifdef 0
* configure.in, configure:
- Bumped version to 4.2pre
* sp.test: Added sp.test script for testing
* src/listen.c, src/engine.h:
- Added server infrastructure to support reading options from
first client
1999-07-10 Brent M. Hendricks <brentmh@ece.rice.edu>
* src/gtk_dlg_options.c:
- Fixed toggle button length problems
- Default to computer players
1999-07-03 Brent M. Hendricks <brentmh@valinor.dhis.org>
* Added all files to CVS repository
* Makefile.in, TODO, src/Makefile.am, src/Makefile.in,
src/gtk_dlg_options.c, src/gtk_dlg_options.h:
- Brought up to date with current development.
- Added gtk_dlg_options.[ch] to eventually replace gtk_dlg_connect.[ch]
Version 4.1.4
- Added manpages ( thanks Chris! )
Version 4.1.3
- Error checking on all server-side socket functions
- Better socket error checking on client side
- SLang client times out while registering if server doesn't respond
- GTK client no longer sleeps after a trick
- Improved Connect dialog box for GTK client
- Removed 2AB-isms :(
- Better README
- Now records and displays session statistics
- Fixed hard-coded score comparison for end of game
- GTK client no longer will send blank taunts
- Fixed seffault and bus error problems on platforms that don't
initialize memory to zero
- GTK Bid spinbutton displays "nil" rather than -1 (Woohoo!)
Version 4.1.2
- Added --enable-debug-gdb option to configure
- Rmoved some left-over debugging stuff from 4.1.1
- Better error checking of sockets
- Now send winning team number as 3rd bit of gameOver flag
- SLang version checks for "who won" bit
Version 4.1.1
- GTK client should compile on systems without asprintf()
- Default buttons on all GTK dialog boxes
- Fixed GTK client so that you may click anywhere on a card
to select it
- Fixed SLang client so it should work again
- Better updating of tallies/scores on SLang client
- Added stub for displaying session statistics on SLang client
- Made server comply better with endgame protocol
- Removed all references to asprintf().
Version 4.1.0
- New client-server protocol for endgame -see socket spec
- Minor logging updates
- Added a session statistics window displayed at the
end of every game (currently empty)
- Query for new game from statistics window
Version 4.0.2
- Include SocketSpec.txt with distribution
- Update ChangeLog (oops!)
- Added --enable-debug-taunt option to configure
- Fixed up logging and debugging info
- Now use GtkItemFactory() for menus
- Added some keyboard shortcuts
- Connect/Disconnect menus appropriately greyed out
- Bid button appropriately greyed out
- Now possible to play another game after disconnecting
- For server logging, -l option replaces -d
- TauntServer(tm) port now configurable
Version 4.0.1
- Slightly better socket debugging
- Fixed endian problems
Version 4.0.0
- New! GTK+ client!
- SLang client now named slspades, GTK+ client named gspades
- Port number command line option for both server and client
- Major restructuring of code ( see source )
Version 3.3.5
- Added the basename() macro to listen.c so we can compile on sparc
Version 3.3.4
- Added --enable-debug_socket option to configure
- Increased default max games to 5
- Server is silent by default (use -d option for debug messages)
- Server now accepts command line options
- Fixed memory leaks on the server side
- Server notifies TauntServer(tm) when game is over
- Better error checking in TauntServer(tm)
Version 3.3.3
- Server (not client) determines end of game
- Number of points in game is now a #define constant in engine.h
- Try to cut down on memory leaks by freeing data read using
readstring() and messaged allocated with asprintf
- Server asks first player for another game
- Added --enable-debug_mem option to configure
- Display game and session over messages
Version 3.3.2
- updates to configure.in
- configure now supports --disable-server, --disable-client, and
--disable-history
- lack of SLang or readline libs just disables client now
- check for socket in -lsocket
- check for gethostbyname and inet_ntoa in -lnsl
- Finally able to compile on Sparc (still untested)
Version 3.3.1
- fixed bug where client was hard-coded to use my machine for the
TauntServer (thanks Brian!)
- consolidated server regitration to one routine
Version 3.3
- history library now optional to compile
- Use RETSIGTYPE for signal handler return type
- Add screen refresh on Ctrl-l
- Updated client/server protocol
- Added minimum/valid bid checking on server
Version 3.2
- Now uses autoconf/automake for easy configuration
- Fixed multi-game capability
- Improved error handling on server side
Version 3.1
- Added ability to input taunts on client side using readline
- Cleaned up client side code
Version 3.0 (not released)
- Added TauntServer for badgering teammates and opponents
- Use global gameInfo object to store information about each game
- Server forks a new process for each game: enables server to run
multiple simultaneous games transparently
Version 2.0
- Completely rewrote networking using sockets rather than RPCs
Version 1.3.1
- Some game flow cleanup
- Created StateOfGame struct
Version 1.3
- Rewrote client in a more "event" driven manner to wait for
messages from server of for user input
- Display cards on table when played
- Put scores, bids, and trick tallys in side windows
Version 1.2
- Rewrote display routines using SLang rather than curses.
- Fixed miscellaneous SLang bugs
Version 1.1.4
- Fixed display.c to compile under libc5
Version 1.1.3
- Rewrote card class as C-style card struct. Took out default
function values and pass-by-reference. Netspades now compiles
entirely in C.
Version 1.1.2
- Fixed up some includes and added -D_USE_GNU so we can compile
under libc6
- Added signal handling routines for SIGINT to client side so that
the display gets cleanup, the RPC ports get cleared and all
child processes die.
Version 1.1.1
- Added -V (version) option to client
- Obtain client hostname through gethostbyname()
Version 1.1
- Initial "release"
|