Author: ekohl
Date: Sat Jun  2 20:32:19 2007
New Revision: 26969
URL: 
http://svn.reactos.org/svn/reactos?rev=26969&view=rev
Log:
Add options dialog.
Modified:
    trunk/reactos/base/applications/games/solitaire/lang/de-DE.rc
    trunk/reactos/base/applications/games/solitaire/lang/en-US.rc
    trunk/reactos/base/applications/games/solitaire/lang/es-ES.rc
    trunk/reactos/base/applications/games/solitaire/lang/fr-FR.rc
    trunk/reactos/base/applications/games/solitaire/lang/id-ID.rc
    trunk/reactos/base/applications/games/solitaire/lang/it-IT.rc
    trunk/reactos/base/applications/games/solitaire/lang/nb-NO.rc
    trunk/reactos/base/applications/games/solitaire/lang/pl-PL.rc
    trunk/reactos/base/applications/games/solitaire/lang/th-TH.rc
    trunk/reactos/base/applications/games/solitaire/lang/uk-UA.rc
    trunk/reactos/base/applications/games/solitaire/lang/zh-CN.rc
    trunk/reactos/base/applications/games/solitaire/resource.h
    trunk/reactos/base/applications/games/solitaire/solgame.cpp
    trunk/reactos/base/applications/games/solitaire/solitaire.cpp
    trunk/reactos/base/applications/games/solitaire/solitaire.h
Modified: trunk/reactos/base/applications/games/solitaire/lang/de-DE.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/games/so…
==============================================================================
--- trunk/reactos/base/applications/games/solitaire/lang/de-DE.rc (original)
+++ trunk/reactos/base/applications/games/solitaire/lang/de-DE.rc Sat Jun  2 20:32:19 2007
@@ -37,6 +37,22 @@
 BEGIN
     DEFPUSHBUTTON   "OK",IDOK,129,7,50,14
     PUSHBUTTON      "Abbrechen",IDCANCEL,129,24,50,14
+END
+
+IDD_OPTIONS DIALOG DISCARDABLE  0, 0, 186, 118
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Optionen"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX        "Karten", -1, 7, 7, 65, 40
+    AUTORADIOBUTTON "&Eine ziehen", IDC_OPT_DRAWONE, 14, 19, 52, 10,
WS_GROUP | WS_TABSTOP
+    AUTORADIOBUTTON "&Drei ziehen", IDC_OPT_DRAWTHREE, 14, 32, 52, 10
+
+    AUTOCHECKBOX    "&Zeit anzeigen", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10,
WS_TABSTOP
+    AUTOCHECKBOX    "S&tatusleiste", IDC_OPT_STATUSBAR, 7, 66, 64, 10,
WS_TABSTOP
+
+    DEFPUSHBUTTON   "OK",IDOK,35,97,50,14
+    PUSHBUTTON      "Abbrechen",IDCANCEL,101,97,50,14
 END
Modified: trunk/reactos/base/applications/games/solitaire/lang/en-US.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/games/so…
==============================================================================
--- trunk/reactos/base/applications/games/solitaire/lang/en-US.rc (original)
+++ trunk/reactos/base/applications/games/solitaire/lang/en-US.rc Sat Jun  2 20:32:19 2007
@@ -37,6 +37,23 @@
 BEGIN
     DEFPUSHBUTTON   "OK",IDOK,129,7,50,14
     PUSHBUTTON      "Cancel",IDCANCEL,129,24,50,14
+END
+
+
+IDD_OPTIONS DIALOG DISCARDABLE  0, 0, 186, 118
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Options"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX        "Cards", -1, 7, 7, 65, 40
+    AUTORADIOBUTTON "Draw &One", IDC_OPT_DRAWONE, 14, 19, 52, 10, WS_GROUP
| WS_TABSTOP
+    AUTORADIOBUTTON "Draw &Three", IDC_OPT_DRAWTHREE, 14, 32, 52, 10
+
+    AUTOCHECKBOX    "&Show Time", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10,
WS_TABSTOP
+    AUTOCHECKBOX    "S&tatus bar", IDC_OPT_STATUSBAR, 7, 66, 64, 10,
WS_TABSTOP
+
+    DEFPUSHBUTTON   "OK", IDOK, 35, 97, 50, 14
+    PUSHBUTTON      "Cancel", IDCANCEL, 101, 97, 50, 14
 END
Modified: trunk/reactos/base/applications/games/solitaire/lang/es-ES.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/games/so…
==============================================================================
--- trunk/reactos/base/applications/games/solitaire/lang/es-ES.rc (original)
+++ trunk/reactos/base/applications/games/solitaire/lang/es-ES.rc Sat Jun  2 20:32:19 2007
@@ -39,6 +39,21 @@
     PUSHBUTTON      "Cancelar",IDCANCEL,129,24,50,14
 END
+IDD_OPTIONS DIALOG DISCARDABLE  0, 0, 186, 118
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Options"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX        "Cards", -1, 7, 7, 65, 40
+    AUTORADIOBUTTON "Draw &One", IDC_OPT_DRAWONE, 14, 19, 52, 10, WS_GROUP
| WS_TABSTOP
+    AUTORADIOBUTTON "Draw &Three", IDC_OPT_DRAWTHREE, 14, 32, 52, 10
+
+    AUTOCHECKBOX    "&Show Time", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10,
WS_TABSTOP
+    AUTOCHECKBOX    "S&tatus bar", IDC_OPT_STATUSBAR, 7, 66, 64, 10,
WS_TABSTOP
+
+    DEFPUSHBUTTON   "OK", IDOK, 35, 97, 50, 14
+    PUSHBUTTON      "Cancel", IDCANCEL, 101, 97, 50, 14
+END
 /////
 // DESIGNINFO
Modified: trunk/reactos/base/applications/games/solitaire/lang/fr-FR.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/games/so…
==============================================================================
--- trunk/reactos/base/applications/games/solitaire/lang/fr-FR.rc (original)
+++ trunk/reactos/base/applications/games/solitaire/lang/fr-FR.rc Sat Jun  2 20:32:19 2007
@@ -39,6 +39,21 @@
     PUSHBUTTON      "Annuler",IDCANCEL,129,24,50,14
 END
+IDD_OPTIONS DIALOG DISCARDABLE  0, 0, 186, 118
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Options"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX        "Cards", -1, 7, 7, 65, 40
+    AUTORADIOBUTTON "Draw &One", IDC_OPT_DRAWONE, 14, 19, 52, 10, WS_GROUP
| WS_TABSTOP
+    AUTORADIOBUTTON "Draw &Three", IDC_OPT_DRAWTHREE, 14, 32, 52, 10
+
+    AUTOCHECKBOX    "&Show Time", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10,
WS_TABSTOP
+    AUTOCHECKBOX    "S&tatus bar", IDC_OPT_STATUSBAR, 7, 66, 64, 10,
WS_TABSTOP
+
+    DEFPUSHBUTTON   "OK", IDOK, 35, 97, 50, 14
+    PUSHBUTTON      "Cancel", IDCANCEL, 101, 97, 50, 14
+END
 /////
 // DESIGNINFO
Modified: trunk/reactos/base/applications/games/solitaire/lang/id-ID.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/games/so…
==============================================================================
--- trunk/reactos/base/applications/games/solitaire/lang/id-ID.rc (original)
+++ trunk/reactos/base/applications/games/solitaire/lang/id-ID.rc Sat Jun  2 20:32:19 2007
@@ -40,6 +40,21 @@
     PUSHBUTTON      "Batal",IDCANCEL,129,24,50,14
 END
+IDD_OPTIONS DIALOG DISCARDABLE  0, 0, 186, 118
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Options"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX        "Cards", -1, 7, 7, 65, 40
+    AUTORADIOBUTTON "Draw &One", IDC_OPT_DRAWONE, 14, 19, 52, 10, WS_GROUP
| WS_TABSTOP
+    AUTORADIOBUTTON "Draw &Three", IDC_OPT_DRAWTHREE, 14, 32, 52, 10
+
+    AUTOCHECKBOX    "&Show Time", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10,
WS_TABSTOP
+    AUTOCHECKBOX    "S&tatus bar", IDC_OPT_STATUSBAR, 7, 66, 64, 10,
WS_TABSTOP
+
+    DEFPUSHBUTTON   "OK", IDOK, 35, 97, 50, 14
+    PUSHBUTTON      "Cancel", IDCANCEL, 101, 97, 50, 14
+END
 /////
 // DESIGNINFO
Modified: trunk/reactos/base/applications/games/solitaire/lang/it-IT.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/games/so…
==============================================================================
--- trunk/reactos/base/applications/games/solitaire/lang/it-IT.rc (original)
+++ trunk/reactos/base/applications/games/solitaire/lang/it-IT.rc Sat Jun  2 20:32:19 2007
@@ -39,6 +39,21 @@
     PUSHBUTTON      "Annulla",IDCANCEL,129,24,50,14
 END
+IDD_OPTIONS DIALOG DISCARDABLE  0, 0, 186, 118
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Options"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX        "Cards", -1, 7, 7, 65, 40
+    AUTORADIOBUTTON "Draw &One", IDC_OPT_DRAWONE, 14, 19, 52, 10, WS_GROUP
| WS_TABSTOP
+    AUTORADIOBUTTON "Draw &Three", IDC_OPT_DRAWTHREE, 14, 32, 52, 10
+
+    AUTOCHECKBOX    "&Show Time", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10,
WS_TABSTOP
+    AUTOCHECKBOX    "S&tatus bar", IDC_OPT_STATUSBAR, 7, 66, 64, 10,
WS_TABSTOP
+
+    DEFPUSHBUTTON   "OK", IDOK, 35, 97, 50, 14
+    PUSHBUTTON      "Cancel", IDCANCEL, 101, 97, 50, 14
+END
 /////
 // DESIGNINFO
Modified: trunk/reactos/base/applications/games/solitaire/lang/nb-NO.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/games/so…
==============================================================================
--- trunk/reactos/base/applications/games/solitaire/lang/nb-NO.rc (original)
+++ trunk/reactos/base/applications/games/solitaire/lang/nb-NO.rc Sat Jun  2 20:32:19 2007
@@ -40,6 +40,21 @@
     PUSHBUTTON      "Avbryt",IDCANCEL,129,24,50,14
 END
+IDD_OPTIONS DIALOG DISCARDABLE  0, 0, 186, 118
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Options"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX        "Cards", -1, 7, 7, 65, 40
+    AUTORADIOBUTTON "Draw &One", IDC_OPT_DRAWONE, 14, 19, 52, 10, WS_GROUP
| WS_TABSTOP
+    AUTORADIOBUTTON "Draw &Three", IDC_OPT_DRAWTHREE, 14, 32, 52, 10
+
+    AUTOCHECKBOX    "&Show Time", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10,
WS_TABSTOP
+    AUTOCHECKBOX    "S&tatus bar", IDC_OPT_STATUSBAR, 7, 66, 64, 10,
WS_TABSTOP
+
+    DEFPUSHBUTTON   "OK", IDOK, 35, 97, 50, 14
+    PUSHBUTTON      "Cancel", IDCANCEL, 101, 97, 50, 14
+END
 /////
 // DESIGNINFO
Modified: trunk/reactos/base/applications/games/solitaire/lang/pl-PL.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/games/so…
==============================================================================
--- trunk/reactos/base/applications/games/solitaire/lang/pl-PL.rc (original)
+++ trunk/reactos/base/applications/games/solitaire/lang/pl-PL.rc Sat Jun  2 20:32:19 2007
@@ -38,6 +38,21 @@
 PUSHBUTTON      "Anuluj",IDCANCEL,129,24,50,14
 END
+IDD_OPTIONS DIALOG DISCARDABLE  0, 0, 186, 118
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Options"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX        "Cards", -1, 7, 7, 65, 40
+    AUTORADIOBUTTON "Draw &One", IDC_OPT_DRAWONE, 14, 19, 52, 10, WS_GROUP
| WS_TABSTOP
+    AUTORADIOBUTTON "Draw &Three", IDC_OPT_DRAWTHREE, 14, 32, 52, 10
+
+    AUTOCHECKBOX    "&Show Time", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10,
WS_TABSTOP
+    AUTOCHECKBOX    "S&tatus bar", IDC_OPT_STATUSBAR, 7, 66, 64, 10,
WS_TABSTOP
+
+    DEFPUSHBUTTON   "OK", IDOK, 35, 97, 50, 14
+    PUSHBUTTON      "Cancel", IDCANCEL, 101, 97, 50, 14
+END
 /////
 // DESIGNINFO
Modified: trunk/reactos/base/applications/games/solitaire/lang/th-TH.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/games/so…
==============================================================================
--- trunk/reactos/base/applications/games/solitaire/lang/th-TH.rc (original)
+++ trunk/reactos/base/applications/games/solitaire/lang/th-TH.rc Sat Jun  2 20:32:19 2007
@@ -40,6 +40,21 @@
     PUSHBUTTON      "¡àÅÔ¡", IDCANCEL, 129,24,50,14
 END
+IDD_OPTIONS DIALOG DISCARDABLE  0, 0, 186, 118
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Options"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX        "Cards", -1, 7, 7, 65, 40
+    AUTORADIOBUTTON "Draw &One", IDC_OPT_DRAWONE, 14, 19, 52, 10, WS_GROUP
| WS_TABSTOP
+    AUTORADIOBUTTON "Draw &Three", IDC_OPT_DRAWTHREE, 14, 32, 52, 10
+
+    AUTOCHECKBOX    "&Show Time", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10,
WS_TABSTOP
+    AUTOCHECKBOX    "S&tatus bar", IDC_OPT_STATUSBAR, 7, 66, 64, 10,
WS_TABSTOP
+
+    DEFPUSHBUTTON   "OK", IDOK, 35, 97, 50, 14
+    PUSHBUTTON      "Cancel", IDCANCEL, 101, 97, 50, 14
+END
 /////
 // DESIGNINFO
Modified: trunk/reactos/base/applications/games/solitaire/lang/uk-UA.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/games/so…
==============================================================================
--- trunk/reactos/base/applications/games/solitaire/lang/uk-UA.rc (original)
+++ trunk/reactos/base/applications/games/solitaire/lang/uk-UA.rc Sat Jun  2 20:32:19 2007
@@ -39,6 +39,21 @@
     PUSHBUTTON      "Ñêàñóâàòè",IDCANCEL,129,24,50,14
 END
+IDD_OPTIONS DIALOG DISCARDABLE  0, 0, 186, 118
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Options"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX        "Cards", -1, 7, 7, 65, 40
+    AUTORADIOBUTTON "Draw &One", IDC_OPT_DRAWONE, 14, 19, 52, 10, WS_GROUP
| WS_TABSTOP
+    AUTORADIOBUTTON "Draw &Three", IDC_OPT_DRAWTHREE, 14, 32, 52, 10
+
+    AUTOCHECKBOX    "&Show Time", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10,
WS_TABSTOP
+    AUTOCHECKBOX    "S&tatus bar", IDC_OPT_STATUSBAR, 7, 66, 64, 10,
WS_TABSTOP
+
+    DEFPUSHBUTTON   "OK", IDOK, 35, 97, 50, 14
+    PUSHBUTTON      "Cancel", IDCANCEL, 101, 97, 50, 14
+END
 /////
 // DESIGNINFO
Modified: trunk/reactos/base/applications/games/solitaire/lang/zh-CN.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/games/so…
==============================================================================
--- trunk/reactos/base/applications/games/solitaire/lang/zh-CN.rc (original)
+++ trunk/reactos/base/applications/games/solitaire/lang/zh-CN.rc Sat Jun  2 20:32:19 2007
@@ -40,6 +40,21 @@
     PUSHBUTTON      "È¡Ïû", IDCANCEL, 129, 24, 50, 14
 END
+IDD_OPTIONS DIALOG DISCARDABLE  0, 0, 186, 118
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Options"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX        "Cards", -1, 7, 7, 65, 40
+    AUTORADIOBUTTON "Draw &One", IDC_OPT_DRAWONE, 14, 19, 52, 10, WS_GROUP
| WS_TABSTOP
+    AUTORADIOBUTTON "Draw &Three", IDC_OPT_DRAWTHREE, 14, 32, 52, 10
+
+    AUTOCHECKBOX    "&Show Time", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10,
WS_TABSTOP
+    AUTOCHECKBOX    "S&tatus bar", IDC_OPT_STATUSBAR, 7, 66, 64, 10,
WS_TABSTOP
+
+    DEFPUSHBUTTON   "OK", IDOK, 35, 97, 50, 14
+    PUSHBUTTON      "Cancel", IDCANCEL, 101, 97, 50, 14
+END
 /////
 // DESIGNINFO
Modified: trunk/reactos/base/applications/games/solitaire/resource.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/games/so…
==============================================================================
--- trunk/reactos/base/applications/games/solitaire/resource.h (original)
+++ trunk/reactos/base/applications/games/solitaire/resource.h Sat Jun  2 20:32:19 2007
@@ -5,13 +5,21 @@
 #define IDD_DIALOG1                     101
 #define IDR_MENU1                       102
 #define IDR_ACCELERATOR1                103
-#define IDI_ICON1                       104
+
+#define IDI_ICON1                       1004
+
 #define IDM_GAME_NEW                    40001
 #define IDM_GAME_DECK                   40002
 #define IDM_GAME_OPTIONS                40003
 #define IDM_GAME_EXIT                   40004
 #define IDM_HELP_CONTENTS               40005
 #define IDM_HELP_ABOUT                  40006
+
+#define IDD_OPTIONS                     1200
+#define IDC_OPT_DRAWONE                 1201
+#define IDC_OPT_DRAWTHREE               1202
+#define IDC_OPT_SHOWTIME                1203
+#define IDC_OPT_STATUSBAR               1204
 // Next default values for new objects
 //
Modified: trunk/reactos/base/applications/games/solitaire/solgame.cpp
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/games/so…
==============================================================================
--- trunk/reactos/base/applications/games/solitaire/solgame.cpp (original)
+++ trunk/reactos/base/applications/games/solitaire/solgame.cpp Sat Jun  2 20:32:19 2007
@@ -319,7 +319,7 @@
 {
     TRACE("ENTER DeckClickProc()\n");
     CardStack cardstack = stackobj.GetCardStack();
-    CardStack pile         = pPile->GetCardStack();
+    CardStack pile      = pPile->GetCardStack();
     fGameStarted = true;
@@ -336,8 +336,8 @@
     }
     else
     {
-        int numcards = min(3, cardstack.NumCards());
-
+        int numcards = min((nOptions & OPTION_THREE_CARDS) ? 3 : 1,
cardstack.NumCards());
+
         //make a "visible" copy of these cards
         CardStack temp;
         temp = cardstack.Pop(numcards);
Modified: trunk/reactos/base/applications/games/solitaire/solitaire.cpp
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/games/so…
==============================================================================
--- trunk/reactos/base/applications/games/solitaire/solitaire.cpp (original)
+++ trunk/reactos/base/applications/games/solitaire/solitaire.cpp Sat Jun  2 20:32:19 2007
@@ -16,6 +16,7 @@
 HINSTANCE    hInstance;
 TCHAR szAppName[] = _T("Solitaire");
+INT nOptions = 8;
 CardWindow SolWnd;
@@ -44,7 +45,7 @@
     MSG            msg;
     WNDCLASSEX    wndclass;
     INITCOMMONCONTROLSEX ice;
-    HACCEL        hAccelTable;
+    HACCEL        hAccelTable;
     hInstance = hInst;
@@ -111,6 +112,51 @@
     return msg.wParam;
 }
+VOID LoadSettings(VOID)
+{
+
+}
+
+BOOL CALLBACK OptionsDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
+{
+    switch (uMsg)
+    {
+    case WM_INITDIALOG:
+        CheckRadioButton(hDlg, IDC_OPT_DRAWONE, IDC_OPT_DRAWTHREE,
+                         (nOptions & OPTION_THREE_CARDS) ? IDC_OPT_DRAWTHREE :
IDC_OPT_DRAWONE);
+
+        return TRUE;
+
+    case WM_COMMAND:
+        switch(LOWORD(wParam))
+        {
+        case IDOK:
+            nOptions &= ~OPTION_THREE_CARDS;
+            if (IsDlgButtonChecked(hDlg, IDC_OPT_DRAWTHREE) == BST_CHECKED)
+                nOptions |= OPTION_THREE_CARDS;
+
+            EndDialog(hDlg, TRUE);
+            return TRUE;
+
+        case IDCANCEL:
+            EndDialog(hDlg, FALSE);
+            return TRUE;
+        }
+        break;
+    }
+    return FALSE;
+}
+
+VOID ShowGameOptionsDlg(HWND hwnd)
+{
+   INT nOldOptions = nOptions;
+
+   if (DialogBox(hInstance, MAKEINTRESOURCE(IDD_OPTIONS), hwnd, OptionsDlgProc))
+   {
+      if ((nOldOptions & OPTION_THREE_CARDS) != (nOptions & OPTION_THREE_CARDS))
+          NewGame();
+   }
+}
 //-----------------------------------------------------------------------------
 LRESULT CALLBACK WndProc (HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
@@ -126,7 +172,7 @@
     {
     case WM_CREATE:
         hwndStatus = CreateStatusWindow(WS_CHILD | WS_VISIBLE | CCS_BOTTOM |
SBARS_SIZEGRIP, "Ready", hwnd, 0);
-
+
         //SendMessage(hwndStatus, SB_SIMPLE, (WPARAM)TRUE, 0);
         SendMessage(hwndStatus, SB_SETPARTS, 2, (LPARAM)parts);
@@ -156,14 +202,12 @@
         //MoveWindow(hwndStatus, 0, nHeight-nStatusHeight, nWidth, nHeight, TRUE);
         //parts[0] = nWidth - 256;
         //SendMessage(hwndStatus, SB_SETPARTS, 2, (LPARAM)parts);
-
         return 0;
     case WM_GETMINMAXINFO:
-        mmi = (MINMAXINFO *)lParam;
+        mmi = (MINMAXINFO *)lParam;
         mmi->ptMinTrackSize.x = 600;
         mmi->ptMinTrackSize.y = 400;
-
         return 0;
     case WM_COMMAND:
@@ -180,18 +224,15 @@
             return 0;
         case IDM_GAME_OPTIONS:
-            //ShowGameOptionsDlg(hwnd);
+            ShowGameOptionsDlg(hwnd);
             return 0;
         case IDM_HELP_CONTENTS:
-
             WinHelp(hwnd, szHelpPath, HELP_CONTENTS, 0);//HELP_KEY, (DWORD)"How to
play");
-
             return 0;
         case IDM_HELP_ABOUT:
             MessageBox(hwnd, _T("Solitaire by J Brown\r\n\r\nCardLib version
1.0."), szAppName, MB_OK|MB_ICONINFORMATION);
-
             return 0;
         case IDM_GAME_EXIT:
Modified: trunk/reactos/base/applications/games/solitaire/solitaire.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/games/so…
==============================================================================
--- trunk/reactos/base/applications/games/solitaire/solitaire.h (original)
+++ trunk/reactos/base/applications/games/solitaire/solitaire.h Sat Jun  2 20:32:19 2007
@@ -4,6 +4,10 @@
 extern CardWindow SolWnd;
 extern TCHAR szAppName[];
 extern bool    fGameStarted;
+
+#define OPTION_THREE_CARDS   8
+
+extern INT nOptions;
 void CreateSol();
 void NewGame(void);