{
CardStack temp, fakeDeck = pDeck->GetCardStack();
fGameStarted = true;
- int i, j, facedown, faceup;
if (fakeDeck.NumCards() != 0 && deck.NumCards() != 0)
{
+ int i, facedown, faceup;
/* Add one card to every stack */
for (i = 0; i < NUM_STACKS; i++)
{
/* Check stack finished, remove cards if so */
if (stackLookingGood(temp, NUM_ONECOLOR_CARDS - 1))
{
+ int j;
for (j = 0; j < NUM_ONECOLOR_CARDS; j++)
{
temp.RemoveCard(0);
int i, max = NUM_ONECOLOR_CARDS - dragcards.NumCards() - 1;
/* Dragged cards have been checked to be in order, check stack cards */
- if (stackLookingGood(mystack, max))
+ if (mystack[0].Suit() == dragcard.Suit() &&
+ stackLookingGood(mystack, max))
{
CardStack s = stackobj.GetCardStack();
CardStack f;
{
int i, pos;
- /* Compute the value for yRowStackCardOffset based on the height of the card, so the card number isn't hidden on larger cards */
- yRowStackCardOffset = (int)(__cardheight / 6.7);
+ /* Compute the value for yRowStackCardOffset based on the height of the card, so the card number and suite isn't hidden on larger cards except Ace */
+ yRowStackCardOffset = (int)(__cardheight / 6.4);
pDeck = SpiderWnd.CreateRegion(0, true, 0, 0, -15, 0);
pDeck->SetFaceDirection(CS_FACE_DOWN, 0);
pStack[i]->SetFaceDirection(CS_FACE_DOWN, 0);
pos = i - NUM_STACKS/2;
pStack[i]->SetPlacement(CS_XJUST_CENTER, 0,
- pos * (__cardwidth + X_BORDER) + 6 * X_BORDER, 0);
+ pos * (__cardwidth + X_BORDER) + 6 * (X_BORDER + 1) + 3, 0);
pStack[i]->SetEmptyImage(CS_EI_SUNK);
pStack[i]->SetDragRule(CS_DRAG_CALLBACK, StackDragProc);
pStack[i]->SetDropRule(CS_DROP_CALLBACK, StackDropProc);