6#define TRACE(s) printf("%s(%i): %s",__FILE__,__LINE__,s)
20 TRACE(
"ENTER NewGame()\n");
67 for(
j = 0;
j <=
i;
j++)
92 TRACE(
"EXIT NewGame()\n");
106 TRACE(
"ENTER RowStackDragProc()\n");
116 TRACE(
"EXIT RowStackDragProc()\n");
117 if(iNumDragCards <= numcards-numfacedown)
130 TRACE(
"ENTER RowStackDropProc()\n");
138 if(dragcard.
LoVal() != 13)
140 TRACE(
"EXIT RowStackDropProc(false)\n");
149 if(mystack[0].LoVal() != dragcard.
LoVal() + 1)
151 TRACE(
"EXIT RowStackDropProc(false)\n");
156 if( (mystack[0].IsBlack() && !dragcard.
IsRed()) ||
157 (!mystack[0].IsBlack() && dragcard.
IsRed()) )
159 TRACE(
"EXIT RowStackDropProc(false)\n");
189 TRACE(
"EXIT RowStackDropProc(true)\n");
199 TRACE(
"ENTER CanDrop()\n");
208 if(card.
Suit() != cardstack[0].Suit())
210 TRACE(
"EXIT CanDrop()\n");
214 topval = cardstack[0].LoVal();
222 if(card.
LoVal() != (topval + 1))
224 TRACE(
"EXIT CanDrop()\n");
228 TRACE(
"EXIT CanDrop()\n");
237 TRACE(
"ENTER SuitStackDropProc()\n");
244 TRACE(
"EXIT SuitStackDropProc()\n");
248 bool b =
CanDrop(stackobj, dragcards[0]);
249 TRACE(
"EXIT SuitStackDropProc()\n");
278 TRACE(
"ENTER SuitStackClickProc()\n");
284 TRACE(
"EXIT SuitStackClickProc()\n");
293 TRACE(
"ENTER RowStackClickProc()\n");
299 if(stackobj.
NumCards() == numfacedown)
301 if(numfacedown > 0) numfacedown--;
317 TRACE(
"EXIT RowStackClickProc()\n");
325 TRACE(
"ENTER FindSuitStackFromCard()\n");
327 for(
int i = 0;
i < 4;
i++)
331 TRACE(
"EXIT FindSuitStackFromCard()\n");
336 TRACE(
"EXIT FindSuitStackFromCard()\n");
348 TRACE(
"ENTER SuitStackAddProc()\n");
349 bool fGameOver =
true;
353 for(
int i = 0;
i < 4;
i++)
378 for(
int i = 0;
i < 4;
i++)
395 TRACE(
"EXIT SuitStackAddProc()\n");
405 TRACE(
"ENTER RowStackDblClickProc()\n");
412 TRACE(
"EXIT RowStackDblClickProc()\n");
432 TRACE(
"EXIT RowStackDblClickProc()\n");
440 TRACE(
"ENTER SuitStackClickProc()\n");
446 TRACE(
"EXIT SuitStackClickProc()\n");
454 TRACE(
"ENTER PileDblClickProc()\n");
459 TRACE(
"EXIT PileDblClickProc()\n");
483 TRACE(
"ENTER PileRemoveProc()\n");
497 TRACE(
"EXIT PileRemoveProc()\n");
506 TRACE(
"ENTER DeckClickProc()\n");
576 temp = cardstack.
Pop(numcards);
598 TRACE(
"EXIT DeckClickProc()\n");
void Flash(int count, int timeout)
void SetFaceDirection(UINT uDirType, int nOption)
void SetCardStack(const CardStack &cs)
const CardStack & GetCardStack()
void SetOffsets(int x, int y)
UINT GetFaceDirection(int *pnOption)
bool SimulateDrag(CardRegion *pDestStack, int nNumCards, bool fAnimate)
void Push(const Card card)
GLboolean GLboolean GLboolean b
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
CardRegion * pSuitStack[4]
CardRegion * pRowStack[NUM_ROW_STACKS]
void CARDLIBPROC RowStackClickProc(CardRegion &stackobj, int iNumClicked)
CardRegion * FindSuitStackFromCard(Card card)
void CARDLIBPROC PileRemoveProc(CardRegion &stackobj, int iItems)
void CARDLIBPROC PileDblClickProc(CardRegion &stackobj, int iNumClicked)
void CARDLIBPROC SuitStackClickProc(CardRegion &stackobj, int iNumClicked)
bool CARDLIBPROC RowStackDragProc(CardRegion &stackobj, int iNumDragCards)
bool CARDLIBPROC SuitStackDropProc(CardRegion &stackobj, CardStack &dragcards)
bool CARDLIBPROC RowStackDropProc(CardRegion &stackobj, CardStack &dragcards)
void CARDLIBPROC SuitStackAddProc(CardRegion &stackobj, const CardStack &added)
void CARDLIBPROC RowStackDblClickProc(CardRegion &stackobj, int iNumClicked)
bool CanDrop(CardRegion &stackobj, Card card)
void CARDLIBPROC PileClickProc(CardRegion &stackobj, int iNumClicked)
void CARDLIBPROC DeckClickProc(CardRegion &stackobj, int iNumClicked)
void FixIfOneCardLeft(void)
void UpdateStatusBar(void)
#define OPTION_THREE_CARDS
#define OPTION_KEEP_SCORE
void SetUndo(int set_source_id, int set_destination_id, int set_number_of_cards, int set_prev_score, int set_prev_visible_pile_cards)
#define MB_ICONINFORMATION
BOOL WINAPI KillTimer(_In_opt_ HWND, _In_ UINT_PTR)