CardTable - A virtual tabletop for card games Copyright (C) 1999-2002 Ryan Casey Copyright (C) 1998 Chris Gregg Modified 1999-2002 Ryan Casey All versions above 0.04 by Ryan Casey See readme.txt for details --------------------------------------------- What's New in CardTable: CardTable 1.13 * Bugfix: Load Settings The program was loading settings twice. Although this did not affect functionality, it did slow startup slightly. * New Feature: Markers You can now add a marker through the popup menu (see below). Right-clicking on the marker gives you the option of deleting it. * New Feature: Popup Boxes Right-clicking on a card now brings up a popup menu with most of the card actions on it instead of flipping the card. You can double click the right button to flip the card. * Modification: Action Menu The Action menu now has Base Force, Coin Toss, and Dice Roll on it. * Modification: Auto-Download The autodownload has more error checking built in. * Modification: Clear Table Confirmation A confirmation must now be given before the screen will clear at all time, not just loading a game. * Modification: Dice Roller You can now customize the dice roller to automatically roll multiple dice with different numbers of sides. For instance, to roll 2 6-sided dice, put 2x6 in the box. To roll 3 6-sided dice and one 12-sided die, put 3x6,1x12 or 3x6,12 in the box. Further ones can be added with another comma and "Number x Sides". * Modification: Help Menu The Help menu has been moved from the far right to next to the Options menu. Additional options have been added for viewing the bugs and whatsnew in addition to readme. An option for popping up a box about CardTable has also been added. * Modification: Help Screen Added current file open into the title bar. Added close button. * Modification: MenuBar Added the new CardTable logo and rearranged to make it easier to hit the Undo and Phase buttons. * Modification: Phases Using Phases, it now tells you what phase it is as well as what phase was just ended. CardTable 1.12.1 * Bugfix: Card Rotation Sometimes rotating a card would cause an error saying it couldn't find the variable 'standalone'. CardTable 1.12 * Core Change: CardTable is now distributed in two files. One contains the executable. The second is a .tbc. The setup file will install both, but in the future you can just download and overwrite the .tbc to keep updated. This keeps download size to a minimum. If any change is needed to the packages that comprise the core executable, the website will inform you. * Core Change: CardTable is now using a custom built Tcl/Tk interpreter. * Bugfix: Accented/Missing Characters If accented or other extended characters were used to create a card image, the image would fail to create and the program would lock. * Bugfix: Clicking OK Twice On Start Server / Connect Clicking OK twice accidentally on the Start Server or Connect menu caused an error to be raised. The OK button is now grayed out after you press it so that this is not the case. * Bugfix: Deck Reorder Earlier decks were getting reordered to their original stack order if you loaded others later. * Bugfix: Horizontal fan The Horizontal fan was not working correctly. * Bugfix: Missing Image Reporting Missing images were being reported twice. * Bugfix: Restoration of Environment After starting a connection with Start Server or Connect and then canceling or playing a game and quitting, the environment was not being fully reset, and this could cause problems. * Bugfix: Undo of Fans The Undo call for the horizontal, vertical, and diagonal fan was being put into the stack twice if connected. * Bugfix: Undo of Stack Move Undo of a stack was being done one card at a time instead of all at once. * Bugfix: Undo Stack (partial) Sometimes Stack moves are losing the End indicator, so that each action needs to be done individually. This is still a problem, but there is no longer an error being thrown by the program. The issue is being researched. * New Feature: Auto-Download/Install New Version If you check for a new version and a new tbc is found, you have the option of downloading it. Under the new schema, this WILL replace your current version, so backup your cardtable.tbc file if you want to revert. Upgrading will have to close CT, but you will still be able to save games before pressing OK. If there is a new core package, you will need to download it yourself still. * New Feature: AutoMaximize (Windows only) You can now select whether to have the window auto-maximize on startup or not. This can be changed under 'Options->General 2'. * New Feature: AutoSave Dropped Game / Password Save The Options Menu now includes a Password option. This will be the default password popped up in the Password Entry screen and, in conjunction with the other person's password will be used to encrypt a dropped game. If an unexpected disconnect occurs, the other person has the option to save the game. * New Feature: Background Images You can now specify backgrounds for each of the windows. A file called stars.gif is now provided for example. Tiling will occur when neccessary. * New Feature: Base Force Reporter Pressing will now give you a report of the current Light/Dark Base Force showing. (NOTES: This does not take into account Jedi Masters with Force icons at this time, and because of location conversion, it only counts cards face up and on the top of their stack on the table. This means that sites/systems need to be separated by a few pixels.) * New Feature: Bidding Under the Action menu, there is now a Bid option for games that require concurrent bidding (round-robin bidding can be done in the chat window). * New Feature: Card Popup The middle mouse button now pops a card to the top for you to look at. This is not sent to the other player. Card cannot be flipped (prevents 'peeking'). * New Feature: Change Background Color In the spirit of the Background Images change, you can now change the background color of the table and hands. * New Feature: DeckBuilder Deckbuilder .tbc is now distributed with the base install. You can start it from File->DeckBuilder... * New Feature: DeckMaker Integration If you have a deck made with DeckMaker, you can specify the options in the Options screen, then load your .deck files directly. CardTable will start the converter, convert the file, and open it. (NOTES: You must have a version of wd2ctd that supports this, and if your deck does not convert correctly, there is currently no error reported.) * New Feature: End Turn Bell A system bell will be played when either player hits End Turn. This does not occur in Phase transitions. It can be turned off under Options->Phases. * New Feature: GameZip Files DeckBuilder can now read the images contained in GameZip files (games/ subdirectory), and extracts Card Definition Files to data, deck files to decks, and other information to info. Warning: Information extracted from GameZips will be reextracted every time you start CardTable/DeckBuildder to ensure you have the most recent version of the files. * New Feature: Icon in Windows CardTable now uses its own icon instead of the TK icon in Windows. * New Feature: Insert Card Into Deck Hitting 'i' will insert the top card of a deck somewhere into the middle of that deck without affecting the order of the rest of the cards. It is suggested that if you need to use this, drag the card you need to insert onto the appropriate stack, stack them nicely with 's', then hit 'i' to put the card into the deck. * New Feature: Markers Markers will now show up the proper side without the size specified. * New Feature: Paper/Rock/Scissors A Paper/Rock/Scissors feature has been added and can be activated from the Action Menu or Control-P on a card. * New Feature: Phase Control Under Options, you can specify the type of Turns to use. You can select General (just End Turn) or many others. More will be added in future updates. * New Feature: Random Card Toss Control-t will now toss a card in the same window to somewhere in the box formed by the upper leftmost card and lower rightmost card. * New Feature: Symbols in Card Text You can now specify special characters in text of a card. The file called cardtext_symbols.txt shows what can be put in. Just type \XXX where X is the number of the symbol. For instance, the copyright symbol would be \251 in the cardtext. (NOTES: This is not the same as the symbols in card image creation. If an thumbnail image does not exist but was specified, this might fail to build an image at all. If it does, the special characters will not show up on the text image of the card.) * New Feature: User-Defined Popup Delay Under the Options screen, you can now specify how long you want popups to take (in milliseconds). * New Feature: Voice Chat If you download and install Roger Wilco from www.rogerwilco.com, the Voice Chat button to the right of the chat input will start it for you. It will notify the other person in the chat that you did so. It does not start a channel or connect you. * Modification: Check for New Version Check for New Version is now smarter, with timeouts that will return if you do not connect in the specified time (default is 15 seconds for 2 different links), and messages to that effect. * Modification: Clear Screen on Actions Clear Screen is now available on the Actions menu. * Modification: Dice Roll Changed output of Dice Roll to indicate which user rolled. * Modification: Image Rotation All images will now stay proper when rotated. May be slightly slower than before. * Modification: Options Screen Options screen is now a tabbed notebook instead of a single screen. * Modification: Resizing If you hover on the resizing buttons, the cursor will change appropriately. This is the first step on a full set of cursor changes at appropriate times. * Modification: Start Server/Connect Look Modified these windows to look similar. * Modification: Start Server IP The Start Server window now lists your main IP address. You can copy and paste this into another window (like a chat window). CT 1.11b * Bugfix: Shuffling Decks Program would crash if you shuffled a deck twice too fast (when shuffle lines were still on screen). CT 1.11 * Bugfix: Card Stack Algorithm This used to choose cards that really were not in the stack, just close. This is now resolved. This code was contributed by Paul Duffin on comp.lang.tcl. * Bugfix: Hand Scroll Position The view on the hands was not scrolled all the way to the upper left corner...it was a couple pixels in. * Bugfix: Help File Close Help file was not closing properly. * Bugfix: Improper Close CardTable was sometimes leaving processes running if not closed using File->Close. It now exits properly in other situations, including saving settings. * Bugfix: Popup Boxes Popup Boxes such as Deck Select, Save Game, Load Game, etc. now go away immediately, even if processing is still being done (to load cards, etc.). * Bugfix: None.ctd If you do not have the none.ctd required for loading additional decks in connected mode, the program will create it for you instead of erroring. * Bugfix: Save Game Encryption Fixed a bug that caused versions of TCL other than 8.3.0 to fail on encryption/decryption of save games. * Bugfix: Standalone Save Game If you loaded more than 1 deck in a standalone game, you would get extra copies of the cards in each deck, multiplied by how many new decks you loaded. This is now resolved. * New Feature: Diagonal stacking Use x to stack your cards diagonally. * New Feature: Encryption Save games are now encrypted. When you select 'Save Game' in standalone mode, you get one password box. When you select 'Save Game' in multiplayer mode, each person gets a password box. These are used to encrypt the file. WARNING (if using the script, not the executable): Try saving and reloading a test deck. If Load Game does not seem to work, please contact me. Some versions of Tcl/Tk do not save correctly, and you may need a different version. * New Feature: ICQ Integration CardTable can now be added to ICQ as an External Application. See the CardTable website (http://go.to/cardtable) for more information. [NOTE: At this time, ICQ is not handling external applications properly.] * New Feature: Multisize Cards (Markers) CardTable now supports images of any size. This implements images that can be used as markers for any game that uses these. The size of the image (if not standard card size) should be specified in pixels at the END of the card line in the deck file. * New Feature: User Name Under the Options Menu, you can now set a user name. No more wondering who did what. This name is output when you type or 'End Turn'. Name is saved between sessions. In conjuntion with this, the name displayed to the left of the chat input box is what will be presented in the window when you type. * Modification: Automaximize CardTable now maximizes itself to your screen on startup if you are running on Windows. * Modification: Card Move Moving stacks of cards from hand to table and vice versa now keeps their relative positions instead of stacking them. * Modification: Card Rotate Significantly improved the performance of the Card Rotate feature (Regular card tested on a 486 DX/4-100 ThinkPad: Old method: 15 seconds, New method: 3 seconds). * Modification: Clear Table Sped up Clear Table. The program was resetting some variables inside a 'for' loop that only needed reset once. * Modification: Disconnect Now that encryption is working, if you get disconnected in a game, the table clears. This might seem inconvenient, but it further prevents any cheating. * Modification: File Read Time Time to read files has been optimized. * Modification: Help Window The Help text now resize with the window. * Modification: Password and Option Screen The Password and Option screens are no longer resizable. * Modification: Popup Box Time Lowered the default time for the popup box to appear from 1 second to 0.7 seconds. * Modification: Subwindows Always On Top The subwindows (Password, Option, Help) are now always on top of the main window. CT 1.10 * New Feature: Undo Click the Undo button in the main menu bar. Note: You may feel like you have to click Undo twice to do anything. This is normal. Every time you click on a card, it creates an Undo action (for instance, clicking on a card to raise it to the top). Undo stack clears on 'End Turn'. * New Feature: CardTable Version Notification When you connect, each person is notified of the other person's version of the CardTable program and interpreter. Please note that this is new in this version and no notification will come from people with lower versions. * New Feature: CardTable Version Check You can check to see if there is a new version of CardTable by opening the Options Menu and clicking "Check Version". You must be connected to the internet. The action may take a few moments. A line will appear stating whether there is or is not a new version. * New Feature: Initialization file An initialization file (.ctrc for UNIX, ct.ini for other) will be created for storage of persistent variables (session-to- session). These include (for now) the Dice Roll number and the location to check for new versions of CardTable (since the latter may change in the future). * Modification: Rotate Card Bindings 'r' now rotates a card to the right, not left as before 'Control-r' rotates a stack to the right 'Shift-r' rotates a card to the left 'Control-Shift-r' rotates a stack to the left 'u' rotates a card 180 degrees 'Control-u' rotates a stack 180 degrees * Modification: Standalone Play Standalone play now allows you to see both hands. Please note that this is disabled when you connect to another player. * Modification: Load Game If cards exist on the table, a confirmation to load a game must now be given. * Bugfix: Popup Text Popup text should no longer go off the edge of the screen. Be aware that it will still go behind the Windows Taskbar. * Bugfix: Save Games/Load Games Objectives and cards with " in the text were not saving/ loading properly. This has been resolved. CT 1.09 * Bugfix: Objectives were not loading CT 1.08 * New Feature: Rotate Cards Press 'r' to rotate a card Press 'Control-r' to rotate a stack * New Feature: Save Games/Load Games (File Menu) * New Feature: Save Chat (Options Menu) * New Feature: Help Button works * New Feature: Dice Roll Press 'd' to roll. Set sides of die in Options. wd2ctd * Development split from CardTable CT 1.07 * Bugfix - automatic image transfer function. CT 1.06 * Fixed error in Objective front names in regular style decks. wd2ctd 2.05 * Fixed to allow proper two-sided Objectives in regular style decks. CT 1.05 * CT now allows one person to load an extra deck without the other person's deck reloading. * Coin toss now reports who did the toss, and whether it was heads or tails. wd2ctd 2.04 * Updated to read Unlimited Endor and Death Star 2 correctly - Thanks go to Bee-Rockxs for this update CT 1.04 * Moved development into VTcl. * Added coin flip function. Press 't' (Toss Coin) to run. * End of turn indicator. You can click the button or press 'control-d'. The output is '*** End of turn' for the server and '### End of turn' for the client so it is easily distinguishable whose turn ended last. * Main window can now be expanded up to 1600x1200. * Hand size changed from 600x200 to 1200x400. * Added Pokemon back to backs/ directory (pokemon.gif) * Added special.ctd deck showing the icons on regular cards to the decks/ directory. CT 1.03 * Bugfix - Objectives were not loading properly wd2ctd 2.03 * Now will not crash if you try to convert without .dats * Gives error if format is not recognized instead of appearing to hang. CT 1.02 * Popup text now does not overlap the edge of the screen on higher resolutions. CT 1.01 * Bugfix of problem that didn't allow non-thumbnail decks to load. wd2ctd 2.02 * Bugfix using older .dats wd2ctd 2.01 * Bugfix using older .dats CT v1.0 * Large number of error checks and other defaults were added so that the program does not need restarted in so many situations. * Can now clear the table using . This will clear ALL cards from both hands AND the table. * Can now cycle through cards forward AND backward n = 'Next card' = Put top card on bottom p = 'Previous card' = Move bottom card to top NOTE: Next card function existed, implementation modified. * Allow thumbnails of card images to be used instead of text for front. See Readme.txt for more information. File std52_t.ctd and std54_t.ctd are normal decks using this new format. NOTE: If the message "Sending xxxxx..." or "Receiving xxxxx..." appears, you should clear the table and reload both decks. * Main filename is now cardtable.tcl * More messages added to let you know the status of the program. * Support for newest .dat files added to wd2ctd. * Objectives fully supported. * Images are auto-transmitted if necessary (and exist at one end) wd2ctd 2.0 * wd2ctd.tcl modified to convert WinDeck files to regular or thumbnail cardtable decks. CT v0.04a * Card deck description file format has changed. New format is: card "card face text" "long game text" #RRGGBB count {}'s around card text is invalid. Don't use them any longer. * Balloon help to show 'extra' card text (acts a little strange under Win95/NT) * WinDeck converter * Card deck file selector * Single player mode (pretty useless except for checking out your deck file) * wish80 exits cleanly if Win95/NT user clicks on the [X] in upper left corner of the window. * New standard card back (magic.gif) * SW:CCG demo decks are 1997 world champion Phillip Jacobs' * Huge security hole closed. Deck files used to be TCL scripts that your opponent gave you. They are now parsed and not run through the interpreter raw. CT v0.03a * First playable release * Indicator added for opponent's difficult to see actions (e.g. Shuffling and circulating the stack) * New, smaller font (built in to ct.tcl) * Tables stay synchronized * Hands are a part of the main window * Move stack to another stack fixed to retain original order * Cards no longer leave the table * Drag-n-Drop from hand to table and vice versa * "boxstart errors" under Win95 fixed * Snap Card-to-Stack and Snap Stack-to-Stack fixed * CardTable starts in an appropriate location on screen CT v0.02a * First public release CT v0.01a * Proof of concept