2/28/02 23:30-00:30 Setting up VC++ projects, creating barebones modules 3/04/02 17:00-17:30 Creating IDL file (interface definition language) 3/04/02 19:45-20:30 Creating IDL file 3/04/02 20:45-21:00 CSolpackApp, CMainWindow: general stuff 3/05/02 18:45-20:00 CMainWindow, splash screen 3/06/02 19:30-20:45 CMainWindow, menu, about box, registration box, CUserPrefs, update checking 3/07/02 14:30-16:30 CHelpPane (sizable), CStatusBar 3/07/02 18:15-20:30 Browser container, CGameMenu, 3D shatter 3/08/02 10:45-12:00 CGameMenu and CGameMenuItem 3/08/02 13:15-16:30 CUserPrefs/appearance settings, SPGames: COM server framework 3/09/02 10:30-12:00 SPGames: CGameLib, registration, component category 3/09/02 12:45-13:45 CGameMenu: enumerate component category; IMsgProcessor 3/09/02 16:15-17:30 SPGames: Simple game, gameinfo implementation, menu displaying game/lib info 3/09/02 18:00-18:45 Getting the above to work ;-) 3/11/02 16:15-17:30 Catching up on commenting 3/11/02 21:45-00:00 Catching up on commenting, CGameMenu timer 3/11/02 00:15-01:00 Options property sheet, CPSounds 3/12/02 11:00-11:30 Options property sheet 3/12/02 22:30-23:15 CStatusBar: menu help 3/12/02 23:45-00:30 CStatusBar: progress bar 3/13/02 14:00-15:00 CEngine; switching between menu and engine 3/13/02 15:15-15:45 CEngine: empty ISolpackApp implementation 3/13/02 18:30-19:00 CEngine - Score property and display 3/13/02 19:30-20:15 CEngine - instantiating the game object 3/14/02 11:00-11:45 CGameCommandMgr: game command mechanism 3/14/02 12:15-13:00 CGameCommandMgr: game command mechanism 3/14/02 16:45-17:30 CGameCommandMgr: game command mechanism; fixing error handling bugs 3/14/02 00:30-01:30 Add break to debugger to bmws_error component; misc game command stuff 3/15/02 18:30-19:30 CPile class: the basics 3/15/02 20:15-23:00 CPile: basics; exposing Solpack Engine to web page script for testing purposes; developing test UI in web page for testing; doing testing 3/15/02 23:45-wee hrs CPile: HTML element, positioning, working on test UI, lotsa really neat JavaScript stuff 3/16/02 12:15-14:00 CPile: tooltips, base image 3/16/02 14:30-17:00 Base image using text color; Appearance property sheet implementation 3/16/02 20:30-22:45 Appearance property sheet, pile dimensions 3/16/02 00:00-00:30 Tableau dimensions; when to call RecalcLayout 3/16/02 02:00-02:15 when to call RecalcLayout; calling init/uninit of game objs 3/17/02 12:45-13:15 CCard class: the basics 3/17/02 13:45-16:15 CCard: FaceUp toggling; event handlers; testable via script; CDeck; simple pile layout 3/17/02 20:00-21:45 Deck creation/progress displayed in status bar; engine's master deck creation 3/18/02 15:00-16:00 CFragment class 3/18/02 20:45-23:00 Initializing fragment object from a pile; shuffle; moving entire contents of pile to fragment 3/18/02 00:00-00:45 Fixing some COM interface problems 3/19/02 14:30-16:00 Card index; MoveCard; redo card index interface methods and properties 3/19/02 19:30-22:00 More work on intrapile card movement; debugging 3/20/02 15:15-16:45 Moving single card to fragment; move fragment contents to pile (no anim) 3/20/02 17:30-17:45 Moving fragment contents to an indexed spot in a pile. 3/20/02 18:30-19:45 Different pile layouts 3/20/02 23:45-00:45 Planning animation algorithm; starting script animation prototype 3/20/02 01:15-02:00 Finishing and revelling in amazement at working animation prototype 3/21/02 22:15-00:00 Multiple cards in prototype; prettying the prototype 3/22/02 14:45-16:30 Implementing card animation in Fragment class: works! 3/22/02 19:15-20:00 GameData object 3/23/02 12:45-14:15 Fixing a few animation problems; pile WidthWith and HeightWith methods; engine state; cancel anim 3/23/02 20:30-22:00 More engine state stuff; handling mouse events 3/23/02 22:45-01:30 Implementing mouse events state diagram: works! 3/24/02 14:30-15:00 Cancelling mouse event on app deactivated; type library handling 3/24/02 16:00-17:00 Games module: CGameInfo class 3/25/02 18:45-20:30 CGameBase class: the basics; empty CGameSpider class 3/25/02 21:00-00:00 Spider: Initialize/uninitialize; creating and positioning piles; deal. Shuffle sound :); redo pile anim algorithm 3/26/02 12:15-13:15 Spider: Deal correctly; CDeck: reclaim cards 3/26/02 19:15-20:00 Spider: stock PileClicked 3/26/02 21:15-23:30 Fixing PileClicked oddities... led to a complete redo of Fragment concept; other engine state stuff 3/27/02 16:30-17:00 Engine state stuff 3/27/02 23:00-00:00 SPGames: GameData helper functions, starting on dragging mechanism 3/28/02 11:00-11:30 Dragging mechanism 3/28/02 23:30-01:00 Dropping fragments: detecting where fragment was dropped 3/30/02 14:15-17:00 Fixing problems in dropping fragments 3/30/02 18:45-21:45 Spider: validating drag moves; fixing lots of drag problems 3/31/02 10:30-12:00 Spider: Moving card units; all other rules... game works! 4/02/02 12:15-13:30 Fixing fragment problem; playing; Spider tooltips; automatic deal; Starting on LaBelleLucie 4/02/02 15:30-16:00 LaBelleLucie: positioning, game command 4/03/02 14:45-17:00 LaBelleLucie: the whole thing... works!; Engine: handling MainWindow commands 4/08/02 19:00-19:30 Started UndoRedo classes; adding Spider suit rule 4/10/02 12:45-13:30 UndoRedo 4/10/02 15:30-16:00 UndoRedo 4/11/02 11:00-11:30 UndoRedo 4/11/02 15:00-16:30 UndoRedo: card properties; totally redid undo architecture 4/11/02 01:15-01:45 UndoRedo: pilex, piley 4/14/02 16:15-17:15 Fixing problems in UndoRedo stacks; renaming classes 4/14/02 18:30-19:00 CanUndo/Redo; actually undoing and redoing some actions 4/15/02 16:00-16:30 CPile actions 4/15/02 19:30-21:45 CEngine, CPile actions 4/15/02 23:00-00:00 The action of moving cards between piles 4/16/02 21:00-22:00 Redoing the entire card transfer infrastructure. Guh. 4/16/02 22:30-01:30 Getting the new architecture to work. 4/17/02 14:45-17:00 Getting the new architecture to work. 4/17/02 19:30-01:00 Getting the new architecture to work. Got one part fixed. 4/18/02 15:30-16:00 Getting the rest of the new architecture to work: finally fixed problems! 4/19/02 11:15-11:30 Undoing/redo shuffling of pile and changing of pile comment 4/19/02 15:30-16:45 Undo/redo enabling of game command; add sounds for card flip, drop, game won 4/20/02 17:45-20:45 Code cleanup/moving FragmentAdd to new file; bug fixes 4/20/02 23:15-00:45 La Belle Lucie pile positioning. Going to be starting from scratch. 4/22/02 15:30-17:00 Implementing new La Belle Lucie pile positioning algorithm 4/28/02 21:15-00:00 New game menu; miscellaneous stuff 4/29/02 21:30-22:15 Game menu modifications 4/29/02 23:30-00:15 Register game libraries, misc stuff 4/30/02 Off and on Miscellaneous stuff 5/01/02 Off and on Trying out Doxygen 5/04/02 Off and on Updating my Setup program for Solitaire Pack 5/05/02 Off and on Code cleanup/commenting 5/06/02 Off and on Code cleanup/commenting 5/07/02 Off and on Code cleanup, preparing final version