Index: base/applications/games/solitaire/lang/bg-BG.rc =================================================================== --- base/applications/games/solitaire/lang/bg-BG.rc (revision 62563) +++ base/applications/games/solitaire/lang/bg-BG.rc (working copy) @@ -18,8 +18,13 @@ GROUPBOX "Карти", -1, 7, 7, 90, 40 AUTORADIOBUTTON "Изтегли &една", IDC_OPT_DRAWONE, 14, 19, 70, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "Изтегли &три", IDC_OPT_DRAWTHREE, 14, 32, 70, 10 - AUTOCHECKBOX "&Показване на времето", IDC_OPT_SHOWTIME, 7 ,51 ,100 ,10, WS_TABSTOP | WS_DISABLED + GROUPBOX "Scoring", -1, 100, 7, 75, 53 + AUTORADIOBUTTON "&Standard", IDC_OPT_STANDARD, 107, 19, 60, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "&Vegas", IDC_OPT_VEGAS, 107, 32, 60, 10 + AUTORADIOBUTTON "&None", IDC_OPT_NOSCORE, 107, 45, 60, 10 + AUTOCHECKBOX "&Показване на времето", IDC_OPT_SHOWTIME, 7 ,51 ,100 ,10, WS_TABSTOP AUTOCHECKBOX "Лента &състояние", IDC_OPT_STATUSBAR, 7, 66, 100, 10, WS_TABSTOP + AUTOCHECKBOX "&Keep Score", IDC_OPT_KEEPSCORE, 100, 66, 65, 10, WS_TABSTOP DEFPUSHBUTTON "Добре", IDOK, 35, 97, 50, 14 PUSHBUTTON "Отказ", IDCANCEL, 101, 97, 50, 14 END @@ -54,6 +59,8 @@ IDS_SOL_QUIT "Да прекратя ли играта?" IDS_SOL_WIN "Поздравления, победихте!!" IDS_SOL_DEAL "Ново раздаване?" + IDS_SOL_SCORE "Score: %d" + IDS_SOL_TIME "Time: %d" END /* Menus */ Index: base/applications/games/solitaire/lang/ca-ES.rc =================================================================== --- base/applications/games/solitaire/lang/ca-ES.rc (revision 62563) +++ base/applications/games/solitaire/lang/ca-ES.rc (working copy) @@ -18,8 +18,13 @@ GROUPBOX "Cartes", -1, 7, 7, 90, 40 AUTORADIOBUTTON "Treu-ne &Una", IDC_OPT_DRAWONE, 14, 19, 70, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "Treu-ne &Tres", IDC_OPT_DRAWTHREE, 14, 32, 70, 10 - AUTOCHECKBOX "&Mostra el temps", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + GROUPBOX "Scoring", -1, 100, 7, 75, 53 + AUTORADIOBUTTON "&Standard", IDC_OPT_STANDARD, 107, 19, 60, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "&Vegas", IDC_OPT_VEGAS, 107, 32, 60, 10 + AUTORADIOBUTTON "&None", IDC_OPT_NOSCORE, 107, 45, 60, 10 + AUTOCHECKBOX "&Mostra el temps", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP AUTOCHECKBOX "&Barra d'estat", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&Keep Score", IDC_OPT_KEEPSCORE, 100, 66, 65, 10, WS_TABSTOP DEFPUSHBUTTON "Acceptar", IDOK, 35, 97, 50, 14 PUSHBUTTON "Cancel·lar", IDCANCEL, 101, 97, 50, 14 END @@ -54,6 +59,8 @@ IDS_SOL_QUIT "Voleu sortir del joc actual?" IDS_SOL_WIN "Felicitats, heu guanyat!!" IDS_SOL_DEAL "Deal again?" + IDS_SOL_SCORE "Score: %d" + IDS_SOL_TIME "Time: %d" END /* Menus */ Index: base/applications/games/solitaire/lang/cs-CZ.rc =================================================================== --- base/applications/games/solitaire/lang/cs-CZ.rc (revision 62563) +++ base/applications/games/solitaire/lang/cs-CZ.rc (working copy) @@ -16,8 +16,13 @@ GROUPBOX "Karty", -1, 7, 7, 90, 40 AUTORADIOBUTTON "Sejmout &jednu", IDC_OPT_DRAWONE, 14, 19, 70, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "Sejmout &tři", IDC_OPT_DRAWTHREE, 14, 32, 70, 10 - AUTOCHECKBOX "Zobrazit č&as", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + GROUPBOX "Scoring", -1, 100, 7, 75, 53 + AUTORADIOBUTTON "&Standard", IDC_OPT_STANDARD, 107, 19, 60, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "&Vegas", IDC_OPT_VEGAS, 107, 32, 60, 10 + AUTORADIOBUTTON "&None", IDC_OPT_NOSCORE, 107, 45, 60, 10 + AUTOCHECKBOX "Zobrazit č&as", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP AUTOCHECKBOX "Stavový řád&ek", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&Keep Score", IDC_OPT_KEEPSCORE, 100, 66, 65, 10, WS_TABSTOP DEFPUSHBUTTON "OK", IDOK, 35, 97, 50, 14 PUSHBUTTON "Storno", IDCANCEL, 101, 97, 50, 14 END @@ -52,6 +57,8 @@ IDS_SOL_QUIT "Ukončit rozehranou hru?" IDS_SOL_WIN "Gratulujeme, zvítězili jste!!" IDS_SOL_DEAL "Rozdat znova?" + IDS_SOL_SCORE "Score: %d" + IDS_SOL_TIME "Time: %d" END /* Menus */ Index: base/applications/games/solitaire/lang/de-DE.rc =================================================================== --- base/applications/games/solitaire/lang/de-DE.rc (revision 62563) +++ base/applications/games/solitaire/lang/de-DE.rc (working copy) @@ -18,8 +18,13 @@ GROUPBOX "Karten", -1, 7, 7, 90, 40 AUTORADIOBUTTON "&Eine ziehen", IDC_OPT_DRAWONE, 14, 19, 70, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "&Drei ziehen", IDC_OPT_DRAWTHREE, 14, 32, 70, 10 - AUTOCHECKBOX "&Zeit anzeigen", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + GROUPBOX "Punkte zählen", -1, 100, 7, 75, 53 + AUTORADIOBUTTON "&Standard", IDC_OPT_STANDARD, 107, 19, 60, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "&Vegas", IDC_OPT_VEGAS, 107, 32, 60, 10 + AUTORADIOBUTTON "Ke&ine", IDC_OPT_NOSCORE, 107, 45, 60, 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 + AUTOCHECKBOX "P&unkte behalten", IDC_OPT_KEEPSCORE, 100, 66, 65, 10, WS_TABSTOP DEFPUSHBUTTON "OK", IDOK, 35, 97, 50, 14 PUSHBUTTON "Abbrechen",IDCANCEL,101,97,50,14 END @@ -54,6 +59,8 @@ IDS_SOL_QUIT "Laufendes Spiel beenden?" IDS_SOL_WIN "Glückwunsch, Sie haben gewonnen!" IDS_SOL_DEAL "Neu geben?" + IDS_SOL_SCORE "Punkte: %d" + IDS_SOL_TIME "Zeit: %d" END /* Menus */ Index: base/applications/games/solitaire/lang/el-GR.rc =================================================================== --- base/applications/games/solitaire/lang/el-GR.rc (revision 62563) +++ base/applications/games/solitaire/lang/el-GR.rc (working copy) @@ -18,8 +18,13 @@ GROUPBOX "Κάρτες", -1, 7, 7, 90, 40 AUTORADIOBUTTON "Ρίξε Έ&να", IDC_OPT_DRAWONE, 14, 19, 70, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "Ρίξε &Τρία", IDC_OPT_DRAWTHREE, 14, 32, 70, 10 - AUTOCHECKBOX "&Εμφάνιση Ώρας", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + GROUPBOX "Scoring", -1, 100, 7, 75, 53 + AUTORADIOBUTTON "&Standard", IDC_OPT_STANDARD, 107, 19, 60, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "&Vegas", IDC_OPT_VEGAS, 107, 32, 60, 10 + AUTORADIOBUTTON "&None", IDC_OPT_NOSCORE, 107, 45, 60, 10 + AUTOCHECKBOX "&Εμφάνιση Ώρας", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP AUTOCHECKBOX "Γ&ραμμή κατάστασης", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&Keep Score", IDC_OPT_KEEPSCORE, 100, 66, 65, 10, WS_TABSTOP DEFPUSHBUTTON "OK", IDOK, 35, 97, 50, 14 PUSHBUTTON "Ακύρωση", IDCANCEL, 101, 97, 50, 14 END @@ -54,6 +59,8 @@ IDS_SOL_QUIT "Τερματισμός του πιαχνιδιού αυτού;" IDS_SOL_WIN "Συγχαρητήρια, κερδίσατε!!" IDS_SOL_DEAL "Deal again?" + IDS_SOL_SCORE "Score: %d" + IDS_SOL_TIME "Time: %d" END /* Menus */ Index: base/applications/games/solitaire/lang/en-US.rc =================================================================== --- base/applications/games/solitaire/lang/en-US.rc (revision 62563) +++ base/applications/games/solitaire/lang/en-US.rc (working copy) @@ -18,8 +18,13 @@ GROUPBOX "Cards", -1, 7, 7, 90, 40 AUTORADIOBUTTON "Draw &One", IDC_OPT_DRAWONE, 14, 19, 70, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "Draw &Three", IDC_OPT_DRAWTHREE, 14, 32, 70, 10 - AUTOCHECKBOX "&Show Time", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + GROUPBOX "Scoring", -1, 100, 7, 75, 53 + AUTORADIOBUTTON "&Standard", IDC_OPT_STANDARD, 107, 19, 60, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "&Vegas", IDC_OPT_VEGAS, 107, 32, 60, 10 + AUTORADIOBUTTON "&None", IDC_OPT_NOSCORE, 107, 45, 60, 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 + AUTOCHECKBOX "&Keep Score", IDC_OPT_KEEPSCORE, 100, 66, 65, 10, WS_TABSTOP DEFPUSHBUTTON "OK", IDOK, 35, 97, 50, 14 PUSHBUTTON "Cancel", IDCANCEL, 101, 97, 50, 14 END @@ -54,6 +59,8 @@ IDS_SOL_QUIT "Quit the current game?" IDS_SOL_WIN "Congratulations, you win!" IDS_SOL_DEAL "Deal again?" + IDS_SOL_SCORE "Score: %d" + IDS_SOL_TIME "Time: %d" END /* Menus */ Index: base/applications/games/solitaire/lang/es-ES.rc =================================================================== --- base/applications/games/solitaire/lang/es-ES.rc (revision 62563) +++ base/applications/games/solitaire/lang/es-ES.rc (working copy) @@ -19,8 +19,13 @@ GROUPBOX "Cartas", -1, 7, 7, 90, 40 AUTORADIOBUTTON "Sacar &Una", IDC_OPT_DRAWONE, 14, 19, 70, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "Sacar &Tres", IDC_OPT_DRAWTHREE, 14, 32, 70, 10 - AUTOCHECKBOX "&Mostrar tiempo", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + GROUPBOX "Scoring", -1, 100, 7, 75, 53 + AUTORADIOBUTTON "&Standard", IDC_OPT_STANDARD, 107, 19, 60, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "&Vegas", IDC_OPT_VEGAS, 107, 32, 60, 10 + AUTORADIOBUTTON "&None", IDC_OPT_NOSCORE, 107, 45, 60, 10 + AUTOCHECKBOX "&Mostrar tiempo", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP AUTOCHECKBOX "&Barra de estado", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&Keep Score", IDC_OPT_KEEPSCORE, 100, 66, 65, 10, WS_TABSTOP DEFPUSHBUTTON "Aceptar", IDOK, 35, 97, 50, 14 PUSHBUTTON "Cancelar", IDCANCEL, 101, 97, 50, 14 END @@ -55,6 +60,8 @@ IDS_SOL_QUIT "¿Finalizar el juego actual?" IDS_SOL_WIN "Felicidades, ¡¡Has ganado!!" IDS_SOL_DEAL "¿Repartir de nuevo?" + IDS_SOL_SCORE "Score: %d" + IDS_SOL_TIME "Time: %d" END /* Menus */ Index: base/applications/games/solitaire/lang/eu-ES.rc =================================================================== --- base/applications/games/solitaire/lang/eu-ES.rc (revision 62563) +++ base/applications/games/solitaire/lang/eu-ES.rc (working copy) @@ -18,8 +18,13 @@ GROUPBOX "Kartak ", -1, 7, 7, 90, 40 AUTORADIOBUTTON "Banaka &atera", IDC_OPT_DRAWONE, 14, 19, 70, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "Hirunaka &atera", IDC_OPT_DRAWTHREE, 14, 32, 70, 10 - AUTOCHECKBOX "&Denbora erakutsi", IDC_OPT_SHOWTIME, 7 ,51 ,67 ,10, WS_TABSTOP | WS_DISABLED + GROUPBOX "Scoring", -1, 100, 7, 75, 53 + AUTORADIOBUTTON "&Standard", IDC_OPT_STANDARD, 107, 19, 60, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "&Vegas", IDC_OPT_VEGAS, 107, 32, 60, 10 + AUTORADIOBUTTON "&None", IDC_OPT_NOSCORE, 107, 45, 60, 10 + AUTOCHECKBOX "&Denbora erakutsi", IDC_OPT_SHOWTIME, 7 ,51 ,67 ,10, WS_TABSTOP AUTOCHECKBOX "&Egoera barra", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&Keep Score", IDC_OPT_KEEPSCORE, 100, 66, 65, 10, WS_TABSTOP DEFPUSHBUTTON "Ados", IDOK, 35, 97, 50, 14 PUSHBUTTON "Utzi", IDCANCEL, 101, 97, 50, 14 END @@ -54,6 +59,8 @@ IDS_SOL_QUIT "Uneko jokoa amaitu?" IDS_SOL_WIN "Zorionak, irabazi duzu!!" IDS_SOL_DEAL "Deal again?" + IDS_SOL_SCORE "Score: %d" + IDS_SOL_TIME "Time: %d" END /* Menus */ Index: base/applications/games/solitaire/lang/fr-FR.rc =================================================================== --- base/applications/games/solitaire/lang/fr-FR.rc (revision 62563) +++ base/applications/games/solitaire/lang/fr-FR.rc (working copy) @@ -18,8 +18,13 @@ GROUPBOX "Cartes", -1, 7, 7, 90, 40 AUTORADIOBUTTON "En tirer une", IDC_OPT_DRAWONE, 14, 19, 70, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "En tirer trois", IDC_OPT_DRAWTHREE, 14, 32, 70, 10 - AUTOCHECKBOX "Afficher le temp&s", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + GROUPBOX "Scoring", -1, 100, 7, 75, 53 + AUTORADIOBUTTON "&Standard", IDC_OPT_STANDARD, 107, 19, 60, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "&Vegas", IDC_OPT_VEGAS, 107, 32, 60, 10 + AUTORADIOBUTTON "&None", IDC_OPT_NOSCORE, 107, 45, 60, 10 + AUTOCHECKBOX "Afficher le temp&s", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP AUTOCHECKBOX "Barre de s&tatut", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&Keep Score", IDC_OPT_KEEPSCORE, 100, 66, 65, 10, WS_TABSTOP DEFPUSHBUTTON "OK", IDOK, 35, 97, 50, 14 PUSHBUTTON "Annuler", IDCANCEL, 101, 97, 50, 14 END @@ -54,6 +59,8 @@ IDS_SOL_QUIT "Quitter le jeu actuel ?" IDS_SOL_WIN "Félicitations ! Vous avez gagné !" IDS_SOL_DEAL "Redistribuer ?" + IDS_SOL_SCORE "Score: %d" + IDS_SOL_TIME "Time: %d" END /* Menus */ Index: base/applications/games/solitaire/lang/he-IL.rc =================================================================== --- base/applications/games/solitaire/lang/he-IL.rc (revision 62563) +++ base/applications/games/solitaire/lang/he-IL.rc (working copy) @@ -18,8 +18,13 @@ GROUPBOX "משיכה", -1, 7, 7, 90, 40 AUTORADIOBUTTON "משוך &אחד", IDC_OPT_DRAWONE, 14, 19, 70, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "משוך &שלושה", IDC_OPT_DRAWTHREE, 14, 32, 70, 10 - AUTOCHECKBOX "משחק קצוב בזמן", IDC_OPT_SHOWTIME, 7 ,51 ,72 ,10, WS_TABSTOP | WS_DISABLED + GROUPBOX "Scoring", -1, 100, 7, 75, 53 + AUTORADIOBUTTON "&Standard", IDC_OPT_STANDARD, 107, 19, 60, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "&Vegas", IDC_OPT_VEGAS, 107, 32, 60, 10 + AUTORADIOBUTTON "&None", IDC_OPT_NOSCORE, 107, 45, 60, 10 + AUTOCHECKBOX "משחק קצוב בזמן", IDC_OPT_SHOWTIME, 7 ,51 ,72 ,10, WS_TABSTOP AUTOCHECKBOX "שורת מצב", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&Keep Score", IDC_OPT_KEEPSCORE, 100, 66, 65, 10, WS_TABSTOP DEFPUSHBUTTON "אישור", IDOK, 35, 97, 50, 14 PUSHBUTTON "ביטול", IDCANCEL, 101, 97, 50, 14 END @@ -54,6 +59,8 @@ IDS_SOL_QUIT "להפסיק את המשחק הנוכחי?" IDS_SOL_WIN "כל הכבוד, ניצחת!" IDS_SOL_DEAL "לחלק שוב?" + IDS_SOL_SCORE "Score: %d" + IDS_SOL_TIME "Time: %d" END /* Menus */ Index: base/applications/games/solitaire/lang/hu-HU.rc =================================================================== --- base/applications/games/solitaire/lang/hu-HU.rc (revision 62563) +++ base/applications/games/solitaire/lang/hu-HU.rc (working copy) @@ -18,8 +18,13 @@ GROUPBOX "Kártyák", -1, 7, 7, 90, 40 AUTORADIOBUTTON "&Egy lap", IDC_OPT_DRAWONE, 14, 19, 70, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "&Három lap", IDC_OPT_DRAWTHREE, 14, 32, 70, 10 - AUTOCHECKBOX "&Idõ mutatása", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + GROUPBOX "Scoring", -1, 100, 7, 75, 53 + AUTORADIOBUTTON "&Standard", IDC_OPT_STANDARD, 107, 19, 60, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "&Vegas", IDC_OPT_VEGAS, 107, 32, 60, 10 + AUTORADIOBUTTON "&None", IDC_OPT_NOSCORE, 107, 45, 60, 10 + AUTOCHECKBOX "&Idõ mutatása", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP AUTOCHECKBOX "Á&llapotsor", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&Keep Score", IDC_OPT_KEEPSCORE, 100, 66, 65, 10, WS_TABSTOP DEFPUSHBUTTON "OK", IDOK, 35, 97, 50, 14 PUSHBUTTON "Mégsem", IDCANCEL, 101, 97, 50, 14 END @@ -54,6 +59,8 @@ IDS_SOL_QUIT "Kilépés ebbõl a játékból?" IDS_SOL_WIN "Gratulálok, Ön nyert!" IDS_SOL_DEAL "Új leosztás?" + IDS_SOL_SCORE "Score: %d" + IDS_SOL_TIME "Time: %d" END /* Menus */ Index: base/applications/games/solitaire/lang/id-ID.rc =================================================================== --- base/applications/games/solitaire/lang/id-ID.rc (revision 62563) +++ base/applications/games/solitaire/lang/id-ID.rc (working copy) @@ -18,8 +18,13 @@ GROUPBOX "Cards", -1, 7, 7, 90, 40 AUTORADIOBUTTON "Draw &One", IDC_OPT_DRAWONE, 14, 19, 70, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "Draw &Three", IDC_OPT_DRAWTHREE, 14, 32, 70, 10 - AUTOCHECKBOX "&Show Time", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + GROUPBOX "Scoring", -1, 100, 7, 75, 53 + AUTORADIOBUTTON "&Standard", IDC_OPT_STANDARD, 107, 19, 60, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "&Vegas", IDC_OPT_VEGAS, 107, 32, 60, 10 + AUTORADIOBUTTON "&None", IDC_OPT_NOSCORE, 107, 45, 60, 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 + AUTOCHECKBOX "&Keep Score", IDC_OPT_KEEPSCORE, 100, 66, 65, 10, WS_TABSTOP DEFPUSHBUTTON "OK", IDOK, 35, 97, 50, 14 PUSHBUTTON "Batal", IDCANCEL, 101, 97, 50, 14 END @@ -54,6 +59,8 @@ IDS_SOL_QUIT "Quit the current game?" IDS_SOL_WIN "Congratulations, you win!" IDS_SOL_DEAL "Deal again?" + IDS_SOL_SCORE "Score: %d" + IDS_SOL_TIME "Time: %d" END /* Menus */ Index: base/applications/games/solitaire/lang/it-IT.rc =================================================================== --- base/applications/games/solitaire/lang/it-IT.rc (revision 62563) +++ base/applications/games/solitaire/lang/it-IT.rc (working copy) @@ -18,8 +18,13 @@ GROUPBOX "Carte", -1, 7, 7, 90, 40 AUTORADIOBUTTON "Girane &Una", IDC_OPT_DRAWONE, 14, 19, 70, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "Girane &Tre", IDC_OPT_DRAWTHREE, 14, 32, 70, 10 - AUTOCHECKBOX "&Visualizza il tempo", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + GROUPBOX "Scoring", -1, 100, 7, 75, 53 + AUTORADIOBUTTON "&Standard", IDC_OPT_STANDARD, 107, 19, 60, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "&Vegas", IDC_OPT_VEGAS, 107, 32, 60, 10 + AUTORADIOBUTTON "&None", IDC_OPT_NOSCORE, 107, 45, 60, 10 + AUTOCHECKBOX "&Visualizza il tempo", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP AUTOCHECKBOX "&Barra di stato", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&Keep Score", IDC_OPT_KEEPSCORE, 100, 66, 65, 10, WS_TABSTOP DEFPUSHBUTTON "OK", IDOK, 35, 97, 50, 14 PUSHBUTTON "Annulla", IDCANCEL, 101, 97, 50, 14 END @@ -54,6 +59,8 @@ IDS_SOL_QUIT "Chiudere la partita in corso?" IDS_SOL_WIN "Congratulazioni, hai vinto!!" IDS_SOL_DEAL "Nuova partita?" + IDS_SOL_SCORE "Score: %d" + IDS_SOL_TIME "Time: %d" END /* Menus */ Index: base/applications/games/solitaire/lang/ja-JP.rc =================================================================== --- base/applications/games/solitaire/lang/ja-JP.rc (revision 62563) +++ base/applications/games/solitaire/lang/ja-JP.rc (working copy) @@ -17,8 +17,13 @@ GROUPBOX "カード", -1, 7, 7, 90, 40 AUTORADIOBUTTON "1 枚ずつ取る(&O)", IDC_OPT_DRAWONE, 14, 19, 70, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "3 枚ずつ取る(&T)", IDC_OPT_DRAWTHREE, 14, 32, 70, 10 - AUTOCHECKBOX "時間を表示する(&S)", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + GROUPBOX "Scoring", -1, 100, 7, 75, 53 + AUTORADIOBUTTON "&Standard", IDC_OPT_STANDARD, 107, 19, 60, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "&Vegas", IDC_OPT_VEGAS, 107, 32, 60, 10 + AUTORADIOBUTTON "&None", IDC_OPT_NOSCORE, 107, 45, 60, 10 + AUTOCHECKBOX "時間を表示する(&S)", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP AUTOCHECKBOX "ステータスバーを表示する(&T)", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&Keep Score", IDC_OPT_KEEPSCORE, 100, 66, 65, 10, WS_TABSTOP DEFPUSHBUTTON "OK", IDOK, 35, 97, 50, 14 PUSHBUTTON "キャンセル", IDCANCEL, 101, 97, 50, 14 END @@ -53,6 +58,8 @@ IDS_SOL_QUIT "現在のゲームを終了しますか?" IDS_SOL_WIN "おめでとう、あなたの勝ちです!" IDS_SOL_DEAL "もう一度カードを配りますか?" + IDS_SOL_SCORE "Score: %d" + IDS_SOL_TIME "Time: %d" END /* Menus */ Index: base/applications/games/solitaire/lang/ko-KR.rc =================================================================== --- base/applications/games/solitaire/lang/ko-KR.rc (revision 62563) +++ base/applications/games/solitaire/lang/ko-KR.rc (working copy) @@ -12,8 +12,13 @@ GROUPBOX "카드", -1, 7, 7, 90, 40 AUTORADIOBUTTON "한 장씩(&O)", IDC_OPT_DRAWONE, 14, 19, 70, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "세 장씩(&T)", IDC_OPT_DRAWTHREE, 14, 32, 70, 10 - AUTOCHECKBOX "시간 보이기(&S)", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + GROUPBOX "Scoring", -1, 100, 7, 75, 53 + AUTORADIOBUTTON "&Standard", IDC_OPT_STANDARD, 107, 19, 60, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "&Vegas", IDC_OPT_VEGAS, 107, 32, 60, 10 + AUTORADIOBUTTON "&None", IDC_OPT_NOSCORE, 107, 45, 60, 10 + AUTOCHECKBOX "시간 보이기(&S)", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP AUTOCHECKBOX "상태 표시줄(&T)", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&Keep Score", IDC_OPT_KEEPSCORE, 100, 66, 65, 10, WS_TABSTOP DEFPUSHBUTTON "확인", IDOK, 35, 97, 50, 14 PUSHBUTTON "취소", IDCANCEL, 101, 97, 50, 14 END @@ -48,6 +53,8 @@ IDS_SOL_QUIT "현재 게임을 끝낼가요?" IDS_SOL_WIN "축하합니다!!" IDS_SOL_DEAL "Deal again?" + IDS_SOL_SCORE "Score: %d" + IDS_SOL_TIME "Time: %d" END /* Menus */ Index: base/applications/games/solitaire/lang/lt-LT.rc =================================================================== --- base/applications/games/solitaire/lang/lt-LT.rc (revision 62563) +++ base/applications/games/solitaire/lang/lt-LT.rc (working copy) @@ -18,8 +18,13 @@ GROUPBOX "Kortos", -1, 7, 7, 90, 40 AUTORADIOBUTTON "Dalinti po &vieną", IDC_OPT_DRAWONE, 14, 19, 70, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "Dalinti po &tris", IDC_OPT_DRAWTHREE, 14, 32, 70, 10 - AUTOCHECKBOX "&Rodyti laiką", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + GROUPBOX "Scoring", -1, 100, 7, 75, 53 + AUTORADIOBUTTON "&Standard", IDC_OPT_STANDARD, 107, 19, 60, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "&Vegas", IDC_OPT_VEGAS, 107, 32, 60, 10 + AUTORADIOBUTTON "&None", IDC_OPT_NOSCORE, 107, 45, 60, 10 + AUTOCHECKBOX "&Rodyti laiką", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP AUTOCHECKBOX "&Būsenos juosta", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&Keep Score", IDC_OPT_KEEPSCORE, 100, 66, 65, 10, WS_TABSTOP DEFPUSHBUTTON "Gerai", IDOK, 35, 97, 50, 14 PUSHBUTTON "Atsisakyti", IDCANCEL, 101, 97, 50, 14 END @@ -54,6 +59,8 @@ IDS_SOL_QUIT "Baigti žaidimą?" IDS_SOL_WIN "Sveikiname, jūs laimėjote!!" IDS_SOL_DEAL "Dalinti vėl?" + IDS_SOL_SCORE "Score: %d" + IDS_SOL_TIME "Time: %d" END /* Menus */ Index: base/applications/games/solitaire/lang/nl-NL.rc =================================================================== --- base/applications/games/solitaire/lang/nl-NL.rc (revision 62563) +++ base/applications/games/solitaire/lang/nl-NL.rc (working copy) @@ -18,8 +18,13 @@ GROUPBOX "Delen", -1, 7, 7, 90, 40 AUTORADIOBUTTON "&Eén kaart", IDC_OPT_DRAWONE, 14, 19, 70, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "&Drie kaarten", IDC_OPT_DRAWTHREE, 14, 32, 70, 10 - AUTOCHECKBOX "Tijd &weergeven", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + GROUPBOX "Scoring", -1, 100, 7, 75, 53 + AUTORADIOBUTTON "&Standard", IDC_OPT_STANDARD, 107, 19, 60, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "&Vegas", IDC_OPT_VEGAS, 107, 32, 60, 10 + AUTORADIOBUTTON "&None", IDC_OPT_NOSCORE, 107, 45, 60, 10 + AUTOCHECKBOX "Tijd &weergeven", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP AUTOCHECKBOX "S&tatusbalk", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&Keep Score", IDC_OPT_KEEPSCORE, 100, 66, 65, 10, WS_TABSTOP DEFPUSHBUTTON "OK", IDOK, 35, 97, 50, 14 PUSHBUTTON "Annuleren", IDCANCEL, 101, 97, 50, 14 END @@ -54,6 +59,8 @@ IDS_SOL_QUIT "Het huidige spel afsluiten?" IDS_SOL_WIN "Gefeliciteerd, u heeft gewonnen!" IDS_SOL_DEAL "Nogmaals spelen?" + IDS_SOL_SCORE "Score: %d" + IDS_SOL_TIME "Time: %d" END /* Menus */ Index: base/applications/games/solitaire/lang/no-NO.rc =================================================================== --- base/applications/games/solitaire/lang/no-NO.rc (revision 62563) +++ base/applications/games/solitaire/lang/no-NO.rc (working copy) @@ -10,8 +10,13 @@ GROUPBOX "Kort", -1, 7, 7, 90, 40 AUTORADIOBUTTON "Velg &et", IDC_OPT_DRAWONE, 14, 19, 70, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "Velg &tre", IDC_OPT_DRAWTHREE, 14, 32, 70, 10 - AUTOCHECKBOX "&Vis tid", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + GROUPBOX "Scoring", -1, 100, 7, 75, 53 + AUTORADIOBUTTON "&Standard", IDC_OPT_STANDARD, 107, 19, 60, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "&Vegas", IDC_OPT_VEGAS, 107, 32, 60, 10 + AUTORADIOBUTTON "&None", IDC_OPT_NOSCORE, 107, 45, 60, 10 + AUTOCHECKBOX "&Vis tid", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP AUTOCHECKBOX "S&tatuslinje", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&Keep Score", IDC_OPT_KEEPSCORE, 100, 66, 65, 10, WS_TABSTOP DEFPUSHBUTTON "OK", IDOK, 35, 97, 50, 14 PUSHBUTTON "Avbryt", IDCANCEL, 101, 97, 50, 14 END @@ -46,6 +51,8 @@ IDS_SOL_QUIT "Slutt nåværende spill?" IDS_SOL_WIN "Gratulerer, du vant!!" IDS_SOL_DEAL "Del ut igjen?" + IDS_SOL_SCORE "Score: %d" + IDS_SOL_TIME "Time: %d" END /* Menus */ Index: base/applications/games/solitaire/lang/pl-PL.rc =================================================================== --- base/applications/games/solitaire/lang/pl-PL.rc (revision 62563) +++ base/applications/games/solitaire/lang/pl-PL.rc (working copy) @@ -19,8 +19,13 @@ GROUPBOX "Karty", -1, 7, 7, 90, 40 AUTORADIOBUTTON "Rozdaj &jedną", IDC_OPT_DRAWONE, 14, 19, 70, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "Rozdaj &dwie", IDC_OPT_DRAWTHREE, 14, 32, 70, 10 - AUTOCHECKBOX "&Pokazuj czas gry", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + GROUPBOX "Scoring", -1, 100, 7, 75, 53 + AUTORADIOBUTTON "&Standard", IDC_OPT_STANDARD, 107, 19, 60, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "&Vegas", IDC_OPT_VEGAS, 107, 32, 60, 10 + AUTORADIOBUTTON "&None", IDC_OPT_NOSCORE, 107, 45, 60, 10 + AUTOCHECKBOX "&Pokazuj czas gry", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP AUTOCHECKBOX "Pokazuj pa&sek stanu", IDC_OPT_STATUSBAR, 7, 66, 77, 10, WS_TABSTOP + AUTOCHECKBOX "&Keep Score", IDC_OPT_KEEPSCORE, 100, 66, 65, 10, WS_TABSTOP DEFPUSHBUTTON "OK", IDOK, 35, 97, 50, 14 PUSHBUTTON "Anuluj", IDCANCEL, 101, 97, 50, 14 END @@ -55,6 +60,8 @@ IDS_SOL_QUIT "Zakończyć aktualną grę?" IDS_SOL_WIN "Gratulacje, wygrałeś!" IDS_SOL_DEAL "Nowe rozdanie?" + IDS_SOL_SCORE "Score: %d" + IDS_SOL_TIME "Time: %d" END /* Menus */ Index: base/applications/games/solitaire/lang/ro-RO.rc =================================================================== --- base/applications/games/solitaire/lang/ro-RO.rc (revision 62563) +++ base/applications/games/solitaire/lang/ro-RO.rc (working copy) @@ -18,8 +18,13 @@ GROUPBOX "Cărți", -1, 7, 7, 90, 40 AUTORADIOBUTTON "Câte &una", IDC_OPT_DRAWONE, 14, 19, 70, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "Câte t&rei", IDC_OPT_DRAWTHREE, 14, 32, 70, 10 - AUTOCHECKBOX "&Afișează timp", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + GROUPBOX "Scoring", -1, 100, 7, 75, 53 + AUTORADIOBUTTON "&Standard", IDC_OPT_STANDARD, 107, 19, 60, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "&Vegas", IDC_OPT_VEGAS, 107, 32, 60, 10 + AUTORADIOBUTTON "&None", IDC_OPT_NOSCORE, 107, 45, 60, 10 + AUTOCHECKBOX "&Afișează timp", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP AUTOCHECKBOX "&Bară de stare", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&Keep Score", IDC_OPT_KEEPSCORE, 100, 66, 65, 10, WS_TABSTOP DEFPUSHBUTTON "Con&firmă", IDOK, 35, 97, 50, 14 PUSHBUTTON "A&nulează", IDCANCEL, 101, 97, 50, 14 END @@ -54,6 +59,8 @@ IDS_SOL_QUIT "Abandonați jocul curent?" IDS_SOL_WIN "Felicitări, ați câștigat!" IDS_SOL_DEAL "O nouă rundă?" + IDS_SOL_SCORE "Score: %d" + IDS_SOL_TIME "Time: %d" END /* Menus */ Index: base/applications/games/solitaire/lang/ru-RU.rc =================================================================== --- base/applications/games/solitaire/lang/ru-RU.rc (revision 62563) +++ base/applications/games/solitaire/lang/ru-RU.rc (working copy) @@ -12,8 +12,13 @@ GROUPBOX "Карты", -1, 7, 7, 90, 40 AUTORADIOBUTTON "По &одной", IDC_OPT_DRAWONE, 14, 19, 70, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "По &три", IDC_OPT_DRAWTHREE, 14, 32, 70, 10 - AUTOCHECKBOX "&Показывать время", IDC_OPT_SHOWTIME, 7 ,51 ,75 ,10, WS_TABSTOP | WS_DISABLED + GROUPBOX "Scoring", -1, 100, 7, 75, 53 + AUTORADIOBUTTON "&Standard", IDC_OPT_STANDARD, 107, 19, 60, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "&Vegas", IDC_OPT_VEGAS, 107, 32, 60, 10 + AUTORADIOBUTTON "&None", IDC_OPT_NOSCORE, 107, 45, 60, 10 + AUTOCHECKBOX "&Показывать время", IDC_OPT_SHOWTIME, 7 ,51 ,75 ,10, WS_TABSTOP AUTOCHECKBOX "&Строка состояния", IDC_OPT_STATUSBAR, 7, 66, 75, 10, WS_TABSTOP + AUTOCHECKBOX "&Keep Score", IDC_OPT_KEEPSCORE, 100, 66, 65, 10, WS_TABSTOP DEFPUSHBUTTON "OK", IDOK, 35, 97, 50, 14 PUSHBUTTON "Отмена", IDCANCEL, 101, 97, 50, 14 END @@ -48,6 +53,8 @@ IDS_SOL_QUIT "Закончить текущую игру?" IDS_SOL_WIN "Congratulations, you win!!" IDS_SOL_DEAL "Deal again?" + IDS_SOL_SCORE "Score: %d" + IDS_SOL_TIME "Time: %d" END /* Меню */ Index: base/applications/games/solitaire/lang/sk-SK.rc =================================================================== --- base/applications/games/solitaire/lang/sk-SK.rc (revision 62563) +++ base/applications/games/solitaire/lang/sk-SK.rc (working copy) @@ -19,8 +19,13 @@ GROUPBOX "Karty", -1, 7, 7, 90, 40 AUTORADIOBUTTON "Ťahať &jednu", IDC_OPT_DRAWONE, 14, 19, 70, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "Ťahať &tri", IDC_OPT_DRAWTHREE, 14, 32, 70, 10 - AUTOCHECKBOX "Ča&sový limit", IDC_OPT_SHOWTIME, 7 ,51 ,64 ,10, WS_TABSTOP | WS_DISABLED + GROUPBOX "Scoring", -1, 100, 7, 75, 53 + AUTORADIOBUTTON "&Standard", IDC_OPT_STANDARD, 107, 19, 60, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "&Vegas", IDC_OPT_VEGAS, 107, 32, 60, 10 + AUTORADIOBUTTON "&None", IDC_OPT_NOSCORE, 107, 45, 60, 10 + AUTOCHECKBOX "Ča&sový limit", IDC_OPT_SHOWTIME, 7 ,51 ,64 ,10, WS_TABSTOP AUTOCHECKBOX "Stavový riad&ok", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&Keep Score", IDC_OPT_KEEPSCORE, 100, 66, 65, 10, WS_TABSTOP DEFPUSHBUTTON "OK", IDOK, 35, 97, 50, 14 PUSHBUTTON "Zrušiť", IDCANCEL, 101, 97, 50, 14 END @@ -55,6 +60,8 @@ IDS_SOL_QUIT "Naozaj chcete skončiť aktuálnu hru?" IDS_SOL_WIN "Blahoželám, vyhrali ste!" IDS_SOL_DEAL "Rozdať znova?" + IDS_SOL_SCORE "Score: %d" + IDS_SOL_TIME "Time: %d" END /* Menus */ Index: base/applications/games/solitaire/lang/sq-AL.rc =================================================================== --- base/applications/games/solitaire/lang/sq-AL.rc (revision 62563) +++ base/applications/games/solitaire/lang/sq-AL.rc (working copy) @@ -19,8 +19,13 @@ GROUPBOX "Letra", -1, 7, 7, 90, 40 AUTORADIOBUTTON "Barazim &Nje", IDC_OPT_DRAWONE, 14, 19, 70, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "Barazim &tRE", IDC_OPT_DRAWTHREE, 14, 32, 70, 10 - AUTOCHECKBOX "&Shfaq Kohen", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + GROUPBOX "Scoring", -1, 100, 7, 75, 53 + AUTORADIOBUTTON "&Standard", IDC_OPT_STANDARD, 107, 19, 60, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "&Vegas", IDC_OPT_VEGAS, 107, 32, 60, 10 + AUTORADIOBUTTON "&None", IDC_OPT_NOSCORE, 107, 45, 60, 10 + AUTOCHECKBOX "&Shfaq Kohen", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP AUTOCHECKBOX "T&abela e Statusit", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&Keep Score", IDC_OPT_KEEPSCORE, 100, 66, 65, 10, WS_TABSTOP DEFPUSHBUTTON "OK", IDOK, 35, 97, 50, 14 PUSHBUTTON "Anulo", IDCANCEL, 101, 97, 50, 14 END @@ -55,6 +60,8 @@ IDS_SOL_QUIT "Largohu Nga Loja?" IDS_SOL_WIN "Urime, keni fituar!" IDS_SOL_DEAL "Fillo Perseri?" + IDS_SOL_SCORE "Score: %d" + IDS_SOL_TIME "Time: %d" END /* Menus */ Index: base/applications/games/solitaire/lang/sv-SE.rc =================================================================== --- base/applications/games/solitaire/lang/sv-SE.rc (revision 62563) +++ base/applications/games/solitaire/lang/sv-SE.rc (working copy) @@ -10,8 +10,13 @@ GROUPBOX "Kort", -1, 7, 7, 90, 40 AUTORADIOBUTTON "Dra &En", IDC_OPT_DRAWONE, 14, 19, 70, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "Dra &Tre", IDC_OPT_DRAWTHREE, 14, 32, 70, 10 - AUTOCHECKBOX "&Visa Tid", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + GROUPBOX "Scoring", -1, 100, 7, 75, 53 + AUTORADIOBUTTON "&Standard", IDC_OPT_STANDARD, 107, 19, 60, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "&Vegas", IDC_OPT_VEGAS, 107, 32, 60, 10 + AUTORADIOBUTTON "&None", IDC_OPT_NOSCORE, 107, 45, 60, 10 + AUTOCHECKBOX "&Visa Tid", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP AUTOCHECKBOX "&Statusfält", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&Keep Score", IDC_OPT_KEEPSCORE, 100, 66, 65, 10, WS_TABSTOP DEFPUSHBUTTON "OK", IDOK, 35, 97, 50, 14 PUSHBUTTON "Avbryt", IDCANCEL, 101, 97, 50, 14 END @@ -46,6 +51,8 @@ IDS_SOL_QUIT "Avsluta nuvarande spel?" IDS_SOL_WIN "Grattis, du vann!" IDS_SOL_DEAL "Ge igen?" + IDS_SOL_SCORE "Score: %d" + IDS_SOL_TIME "Time: %d" END /* Menus */ Index: base/applications/games/solitaire/lang/th-TH.rc =================================================================== --- base/applications/games/solitaire/lang/th-TH.rc (revision 62563) +++ base/applications/games/solitaire/lang/th-TH.rc (working copy) @@ -18,8 +18,13 @@ GROUPBOX "Cards", -1, 7, 7, 90, 40 AUTORADIOBUTTON "Draw &One", IDC_OPT_DRAWONE, 14, 19, 70, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "Draw &Three", IDC_OPT_DRAWTHREE, 14, 32, 70, 10 - AUTOCHECKBOX "&Show Time", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + GROUPBOX "Scoring", -1, 100, 7, 75, 53 + AUTORADIOBUTTON "&Standard", IDC_OPT_STANDARD, 107, 19, 60, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "&Vegas", IDC_OPT_VEGAS, 107, 32, 60, 10 + AUTORADIOBUTTON "&None", IDC_OPT_NOSCORE, 107, 45, 60, 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 + AUTOCHECKBOX "&Keep Score", IDC_OPT_KEEPSCORE, 100, 66, 65, 10, WS_TABSTOP DEFPUSHBUTTON "ตกลง", IDOK, 35, 97, 50, 14 PUSHBUTTON "ยกเลิก", IDCANCEL, 101, 97, 50, 14 END @@ -54,6 +59,8 @@ IDS_SOL_QUIT "Quit the current game?" IDS_SOL_WIN "Congratulations, you win!" IDS_SOL_DEAL "Deal again?" + IDS_SOL_SCORE "Score: %d" + IDS_SOL_TIME "Time: %d" END /* Menus */ Index: base/applications/games/solitaire/lang/tr-TR.rc =================================================================== --- base/applications/games/solitaire/lang/tr-TR.rc (revision 62563) +++ base/applications/games/solitaire/lang/tr-TR.rc (working copy) @@ -18,8 +18,13 @@ GROUPBOX "Kâğıtlar", -1, 7, 7, 90, 40 AUTORADIOBUTTON "&Tekli Çek", IDC_OPT_DRAWONE, 14, 19, 70, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "&Üçlü Çek", IDC_OPT_DRAWTHREE, 14, 32, 70, 10 - AUTOCHECKBOX "&Süreyi Göster", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + GROUPBOX "Scoring", -1, 100, 7, 75, 53 + AUTORADIOBUTTON "&Standard", IDC_OPT_STANDARD, 107, 19, 60, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "&Vegas", IDC_OPT_VEGAS, 107, 32, 60, 10 + AUTORADIOBUTTON "&None", IDC_OPT_NOSCORE, 107, 45, 60, 10 + AUTOCHECKBOX "&Süreyi Göster", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP AUTOCHECKBOX "&Durum Çubuğu", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&Keep Score", IDC_OPT_KEEPSCORE, 100, 66, 65, 10, WS_TABSTOP DEFPUSHBUTTON "Tamam", IDOK, 35, 97, 50, 14 PUSHBUTTON "İptal", IDCANCEL, 101, 97, 50, 14 END @@ -54,6 +59,8 @@ IDS_SOL_QUIT "Bu oyundan çıkılsın mı?" IDS_SOL_WIN "Tebrikler, kazandınız!" IDS_SOL_DEAL "Yine dağıtılsın mı?" + IDS_SOL_SCORE "Score: %d" + IDS_SOL_TIME "Time: %d" END /* Menus */ Index: base/applications/games/solitaire/lang/uk-UA.rc =================================================================== --- base/applications/games/solitaire/lang/uk-UA.rc (revision 62563) +++ base/applications/games/solitaire/lang/uk-UA.rc (working copy) @@ -18,8 +18,13 @@ GROUPBOX "Карти", -1, 7, 7, 90, 40 AUTORADIOBUTTON "По &одній", IDC_OPT_DRAWONE, 14, 19, 70, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "По &три", IDC_OPT_DRAWTHREE, 14, 32, 70, 10 - AUTOCHECKBOX "&Гра за часом", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + GROUPBOX "Scoring", -1, 100, 7, 75, 53 + AUTORADIOBUTTON "&Standard", IDC_OPT_STANDARD, 107, 19, 60, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "&Vegas", IDC_OPT_VEGAS, 107, 32, 60, 10 + AUTORADIOBUTTON "&None", IDC_OPT_NOSCORE, 107, 45, 60, 10 + AUTOCHECKBOX "&Гра за часом", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP AUTOCHECKBOX "&Рядок стану", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&Keep Score", IDC_OPT_KEEPSCORE, 100, 66, 65, 10, WS_TABSTOP DEFPUSHBUTTON "OK", IDOK, 35, 97, 50, 14 PUSHBUTTON "Скасувати", IDCANCEL, 101, 97, 50, 14 END @@ -54,6 +59,8 @@ IDS_SOL_QUIT "Вийти з поточної гри?" IDS_SOL_WIN "Вітання, Ви виграли!!" IDS_SOL_DEAL "Роздати знову?" + IDS_SOL_SCORE "Score: %d" + IDS_SOL_TIME "Time: %d" END /* Menus */ Index: base/applications/games/solitaire/lang/zh-CN.rc =================================================================== --- base/applications/games/solitaire/lang/zh-CN.rc (revision 62563) +++ base/applications/games/solitaire/lang/zh-CN.rc (working copy) @@ -18,8 +18,13 @@ GROUPBOX "翻牌", -1, 7, 7, 90, 40 AUTORADIOBUTTON "翻一张(&O)", IDC_OPT_DRAWONE, 14, 19, 70, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "翻三张(&T)", IDC_OPT_DRAWTHREE, 14, 32, 70, 10 - AUTOCHECKBOX "计时(&S)", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + GROUPBOX "Scoring", -1, 100, 7, 75, 53 + AUTORADIOBUTTON "&Standard", IDC_OPT_STANDARD, 107, 19, 60, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "&Vegas", IDC_OPT_VEGAS, 107, 32, 60, 10 + AUTORADIOBUTTON "&None", IDC_OPT_NOSCORE, 107, 45, 60, 10 + AUTOCHECKBOX "计时(&S)", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP AUTOCHECKBOX "状态栏(&T)", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&Keep Score", IDC_OPT_KEEPSCORE, 100, 66, 65, 10, WS_TABSTOP DEFPUSHBUTTON "确定", IDOK, 35, 97, 50, 14 PUSHBUTTON "取消", IDCANCEL, 101, 97, 50, 14 END @@ -54,6 +59,8 @@ IDS_SOL_QUIT "退出当前游戏?" IDS_SOL_WIN "恭喜你,你赢了!!" IDS_SOL_DEAL "再玩一次?" + IDS_SOL_SCORE "Score: %d" + IDS_SOL_TIME "Time: %d" END /* Menus */ Index: base/applications/games/solitaire/lang/zh-TW.rc =================================================================== --- base/applications/games/solitaire/lang/zh-TW.rc (revision 62563) +++ base/applications/games/solitaire/lang/zh-TW.rc (working copy) @@ -18,8 +18,13 @@ GROUPBOX "發牌", -1, 7, 7, 90, 40 AUTORADIOBUTTON "發一張牌(&O)", IDC_OPT_DRAWONE, 14, 19, 70, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "發三張牌(&T)", IDC_OPT_DRAWTHREE, 14, 32, 70, 10 - AUTOCHECKBOX "計時(&S)", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + GROUPBOX "Scoring", -1, 100, 7, 75, 53 + AUTORADIOBUTTON "&Standard", IDC_OPT_STANDARD, 107, 19, 60, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "&Vegas", IDC_OPT_VEGAS, 107, 32, 60, 10 + AUTORADIOBUTTON "&None", IDC_OPT_NOSCORE, 107, 45, 60, 10 + AUTOCHECKBOX "計時(&S)", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP AUTOCHECKBOX "狀態列(&T)", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&Keep Score", IDC_OPT_KEEPSCORE, 100, 66, 65, 10, WS_TABSTOP DEFPUSHBUTTON "確定", IDOK, 35, 97, 50, 14 PUSHBUTTON "取消", IDCANCEL, 101, 97, 50, 14 END @@ -54,6 +59,8 @@ IDS_SOL_QUIT "退出目前遊戲?" IDS_SOL_WIN "恭喜你,你嬴了!!" IDS_SOL_DEAL "再玩一次?" + IDS_SOL_SCORE "Score: %d" + IDS_SOL_TIME "Time: %d" END /* Menus */ Index: base/applications/games/solitaire/resource.h =================================================================== --- base/applications/games/solitaire/resource.h (revision 62563) +++ base/applications/games/solitaire/resource.h (working copy) @@ -20,6 +20,10 @@ #define IDC_OPT_DRAWTHREE 1202 #define IDC_OPT_SHOWTIME 1203 #define IDC_OPT_STATUSBAR 1204 +#define IDC_OPT_STANDARD 1205 +#define IDC_OPT_VEGAS 1206 +#define IDC_OPT_NOSCORE 1207 +#define IDC_OPT_KEEPSCORE 1208 #define IDD_CARDBACK 1250 #define IDC_CARDBACK1 1251 #define IDC_CARDBACK2 1252 @@ -40,3 +44,5 @@ #define IDS_SOL_QUIT 1302 #define IDS_SOL_WIN 1303 #define IDS_SOL_DEAL 1304 +#define IDS_SOL_SCORE 1305 +#define IDS_SOL_TIME 1306 Index: base/applications/games/solitaire/solcreate.cpp =================================================================== --- base/applications/games/solitaire/solcreate.cpp (revision 62563) +++ base/applications/games/solitaire/solcreate.cpp (working copy) @@ -38,6 +38,7 @@ pPile->SetDropRule(CS_DROP_NONE, 0); pPile->SetDblClickProc(PileDblClickProc); pPile->SetRemoveCardProc(PileRemoveProc); + pPile->SetClickProc(PileClickProc); // // Create the suit stacks @@ -50,6 +51,7 @@ pSuitStack[i]->SetDropRule(CS_DROP_CALLBACK, SuitStackDropProc); pSuitStack[i]->SetDragRule(CS_DRAG_TOP); + pSuitStack[i]->SetClickProc(SuitStackClickProc); pSuitStack[i]->SetAddCardProc(SuitStackAddProc); } Index: base/applications/games/solitaire/solgame.cpp =================================================================== --- base/applications/games/solitaire/solgame.cpp (revision 62563) +++ base/applications/games/solitaire/solgame.cpp (working copy) @@ -10,6 +10,7 @@ extern TCHAR MsgDeal[128]; CardStack activepile; +int LastId; bool fGameStarted = false; void NewGame(void) @@ -17,6 +18,33 @@ TRACE("ENTER NewGame()\n"); int i, j; + if (GetScoreMode() == SCORE_VEGAS) + { + if ((dwOptions & OPTION_KEEP_SCORE) && (dwPrevMode == SCORE_VEGAS)) + lScore = lScore - 52; + else + lScore = -52; + + if (dwOptions & OPTION_THREE_CARDS) + dwWasteTreshold = 2; + else + dwWasteTreshold = 0; + + } + else + { + if (dwOptions & OPTION_THREE_CARDS) + dwWasteTreshold = 3; + else + dwWasteTreshold = 0; + + lScore = 0; + } + + dwTime = 0; + dwWasteCount = 0; + LastId = 0; + SolWnd.EmptyStacks(); //create a new card-stack @@ -52,7 +80,13 @@ SolWnd.Redraw(); fGameStarted = false; + + dwPrevMode = GetScoreMode(); + + UpdateStatusBar(); + TRACE("EXIT NewGame()\n"); + } // @@ -69,6 +103,8 @@ int numfacedown; int numcards; + SetPlayTimer(); + stackobj.GetFaceDirection(&numfacedown); numcards = stackobj.NumCards(); @@ -90,6 +126,8 @@ TRACE("ENTER RowStackDropProc()\n"); Card dragcard = dragcards[dragcards.NumCards() - 1]; + SetPlayTimer(); + //if we are empty, can only drop a stack with a King at bottom if(stackobj.NumCards() == 0) { @@ -121,6 +159,29 @@ fGameStarted = true; + if (LastId == PILE_ID) + { + if (GetScoreMode() == SCORE_STD) + { + lScore = lScore + 5; + } + } + else + if ((LastId >= SUIT_ID) && (LastId <= SUIT_ID + 3)) + { + if (GetScoreMode() == SCORE_STD) + { + lScore = lScore >= 15 ? lScore - 15 : 0; + } + else + if (GetScoreMode() == SCORE_VEGAS) + { + lScore = lScore >= -47 ? lScore - 5 : -52; + } + } + + UpdateStatusBar(); + TRACE("EXIT RowStackDropProc(true)\n"); return true; } @@ -136,6 +197,8 @@ const CardStack &cardstack = stackobj.GetCardStack(); + SetPlayTimer(); + if(cardstack.NumCards() > 0) { if(card.Suit() != cardstack[0].Suit()) @@ -168,6 +231,9 @@ bool CARDLIBPROC SuitStackDropProc(CardRegion &stackobj, CardStack &dragcards) { TRACE("ENTER SuitStackDropProc()\n"); + + SetPlayTimer(); + //only drop 1 card at a time if(dragcards.NumCards() != 1) { @@ -177,10 +243,43 @@ bool b = CanDrop(stackobj, dragcards[0]); TRACE("EXIT SuitStackDropProc()\n"); + + if (b) + { + if ((LastId == PILE_ID) || (LastId >= ROW_ID)) + { + if (GetScoreMode() == SCORE_VEGAS) + { + lScore = lScore + 5; + } + else + if (GetScoreMode() == SCORE_STD) + { + lScore = lScore + 10; + } + + UpdateStatusBar(); + } + } + return b; } // +// Single-click on one of the suit-stacks +// +void CARDLIBPROC SuitStackClickProc(CardRegion &stackobj, int iNumClicked) +{ + TRACE("ENTER SuitStackClickProc()\n"); + + fGameStarted = true; + + LastId = stackobj.Id(); + + TRACE("EXIT SuitStackClickProc()\n"); +} + +// // Single-click on one of the row-stacks // Turn the top-card over if they are all face-down // @@ -197,7 +296,18 @@ if(numfacedown > 0) numfacedown--; stackobj.SetFaceDirection(CS_FACE_DOWNUP, numfacedown); stackobj.Redraw(); + + if (GetScoreMode() == SCORE_STD) + { + lScore = lScore + 5; + UpdateStatusBar(); + } } + + LastId = stackobj.Id(); + + fGameStarted = true; + TRACE("EXIT RowStackClickProc()\n"); } @@ -207,6 +317,7 @@ CardRegion *FindSuitStackFromCard(Card card) { TRACE("ENTER FindSuitStackFromCard()\n"); + for(int i = 0; i < 4; i++) { if(CanDrop(*pSuitStack[i], card)) @@ -231,11 +342,14 @@ TRACE("ENTER SuitStackAddProc()\n"); bool fGameOver = true; + SetPlayTimer(); + for(int i = 0; i < 4; i++) { if(pSuitStack[i]->NumCards() != 13) { fGameOver = false; + break; } } @@ -242,6 +356,16 @@ if(fGameOver) { + KillTimer(hwndMain, IDT_PLAYTIMER); + PlayTimer = 0; + + if ((dwOptions & OPTION_SHOW_TIME) && (GetScoreMode() == SCORE_STD)) + { + lScore = lScore + (700000 / dwTime); + } + + UpdateStatusBar(); + MessageBox(SolWnd, MsgWin, szAppName, MB_OK | MB_ICONINFORMATION); for(int i = 0; i < 4; i++) @@ -272,6 +396,9 @@ void CARDLIBPROC RowStackDblClickProc(CardRegion &stackobj, int iNumClicked) { TRACE("ENTER RowStackDblClickProc()\n"); + + SetPlayTimer(); + //can only move 1 card at a time if(iNumClicked != 1) { @@ -286,6 +413,7 @@ if(pDest != 0) { fGameStarted = true; + SetPlayTimer(); //stackobj.MoveCards(pDest, 1, true); //use the SimulateDrag funcion, because we get the @@ -296,11 +424,28 @@ } // +// Face-up pile single-click +// +void CARDLIBPROC PileClickProc(CardRegion &stackobj, int iNumClicked) +{ + TRACE("ENTER SuitStackClickProc()\n"); + + fGameStarted = true; + + LastId = stackobj.Id(); + + TRACE("EXIT SuitStackClickProc()\n"); +} + +// // Face-up pile double-click // void CARDLIBPROC PileDblClickProc(CardRegion &stackobj, int iNumClicked) { TRACE("ENTER PileDblClickProc()\n"); + + SetPlayTimer(); + RowStackDblClickProc(stackobj, iNumClicked); TRACE("EXIT PileDblClickProc()\n"); } @@ -311,6 +456,9 @@ void CARDLIBPROC PileRemoveProc(CardRegion &stackobj, int iItems) { TRACE("ENTER PileRemoveProc()\n"); + + SetPlayTimer(); + //modify our "virtual" pile by removing the same card //that was removed from the physical card stack activepile.Pop(iItems); @@ -334,10 +482,14 @@ void CARDLIBPROC DeckClickProc(CardRegion &stackobj, int iNumClicked) { TRACE("ENTER DeckClickProc()\n"); + + SetPlayTimer(); + CardStack cardstack = stackobj.GetCardStack(); CardStack pile = pPile->GetCardStack(); fGameStarted = true; + SetPlayTimer(); //reset the face-up pile to represent 3 cards if(dwOptions & OPTION_THREE_CARDS) @@ -345,11 +497,46 @@ if(cardstack.NumCards() == 0) { - pile.Clear(); + if (GetScoreMode() == SCORE_VEGAS) + { + if (dwWasteCount < dwWasteTreshold) + { + pile.Clear(); - activepile.Reverse(); - cardstack.Push(activepile); - activepile.Clear(); + activepile.Reverse(); + cardstack.Push(activepile); + activepile.Clear(); + } + } + else + if (GetScoreMode() == SCORE_STD) + { + if ((dwWasteCount >= dwWasteTreshold) && (activepile.NumCards() != 0)) + { + if (dwOptions & OPTION_THREE_CARDS) + lScore = lScore >= 20 ? lScore - 20 : 0; + else + lScore = lScore >= 100 ? lScore - 100 : 0; + } + + pile.Clear(); + + activepile.Reverse(); + cardstack.Push(activepile); + activepile.Clear(); + + UpdateStatusBar(); + } + else + { + pile.Clear(); + + activepile.Reverse(); + cardstack.Push(activepile); + activepile.Clear(); + } + + dwWasteCount++; } else { Index: base/applications/games/solitaire/solitaire.cpp =================================================================== --- base/applications/games/solitaire/solitaire.cpp (revision 62563) +++ base/applications/games/solitaire/solitaire.cpp (working copy) @@ -14,6 +14,8 @@ HINSTANCE hInstance; TCHAR szAppName[128]; +TCHAR szScore[64]; +TCHAR szTime[64]; TCHAR MsgQuit[128]; TCHAR MsgAbout[128]; TCHAR MsgWin[128]; @@ -20,6 +22,13 @@ TCHAR MsgDeal[128]; DWORD dwOptions = OPTION_THREE_CARDS; +DWORD dwTime; +DWORD dwWasteCount; +DWORD dwWasteTreshold; +DWORD dwPrevMode; +long lScore; +UINT_PTR PlayTimer = 0; + CardWindow SolWnd; typedef struct _CardBack @@ -115,6 +124,60 @@ RegCloseKey(hKey); } +// Returns 0 for no points, 1 for Standard and 2 for Vegas +int GetScoreMode(void) +{ + if ((dwOptions & OPTION_SCORE_STD) && (dwOptions & OPTION_SCORE_VEGAS)) + { + return SCORE_NONE; + } + + if (dwOptions & OPTION_SCORE_STD) + { + return SCORE_STD; + } + + if (dwOptions & OPTION_SCORE_VEGAS) + { + return SCORE_VEGAS; + } + + return 0; +} + +void UpdateStatusBar(void) +{ + TCHAR szStatusText[128]; + TCHAR szTempText[64]; + + ZeroMemory(szStatusText, sizeof(szStatusText) / sizeof(TCHAR)); + + if (GetScoreMode() != SCORE_NONE) + { + _stprintf(szStatusText, szScore, lScore); + _tcscat(szStatusText, _T(" ")); + } + + if (dwOptions & OPTION_SHOW_TIME) + { + _stprintf(szTempText, szTime, dwTime); + _tcscat(szStatusText, szTempText); + } + + SendMessage(hwndStatus, SB_SETTEXT, 0 | SBT_NOBORDERS, (LPARAM)(LPTSTR)szStatusText); +} + +void SetPlayTimer(void) +{ + if (dwOptions & OPTION_SHOW_TIME) + { + if (!PlayTimer) + { + PlayTimer = SetTimer(hwndMain, IDT_PLAYTIMER, 1000, NULL); + } + } +} + // // Main entry point // @@ -136,6 +199,9 @@ LoadString(hInst, IDS_SOL_WIN, MsgWin, sizeof(MsgWin) / sizeof(MsgWin[0])); LoadString(hInst, IDS_SOL_DEAL, MsgDeal, sizeof(MsgDeal) / sizeof(MsgDeal[0])); + LoadString(hInst, IDS_SOL_SCORE, szScore, sizeof(szScore) / sizeof(TCHAR)); + LoadString(hInst, IDS_SOL_TIME, szTime, sizeof(szTime) / sizeof(TCHAR)); + //Window class for the main application parent window wndclass.style = 0;//CS_HREDRAW | CS_VREDRAW; wndclass.lpfnWndProc = WndProc; @@ -160,6 +226,8 @@ LoadSettings(); + dwPrevMode = GetScoreMode(); + //Construct the path to our help file MakePath(szHelpPath, MAX_PATH, _T(".hlp")); @@ -178,6 +246,8 @@ hwndMain = hwnd; + UpdateStatusBar(); + ShowWindow(hwnd, iCmdShow); UpdateWindow(hwnd); @@ -200,6 +270,8 @@ INT_PTR CALLBACK OptionsDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { + HWND hCtrl; + switch (uMsg) { case WM_INITDIALOG: @@ -209,11 +281,53 @@ CheckDlgButton(hDlg, IDC_OPT_STATUSBAR, (dwOptions & OPTION_SHOW_STATUS) ? BST_CHECKED : BST_UNCHECKED); + + CheckDlgButton(hDlg, + IDC_OPT_SHOWTIME, + (dwOptions & OPTION_SHOW_TIME) ? BST_CHECKED : BST_UNCHECKED); + + CheckDlgButton(hDlg, + IDC_OPT_KEEPSCORE, + (dwOptions & OPTION_KEEP_SCORE) ? BST_CHECKED : BST_UNCHECKED); + + + hCtrl = GetDlgItem(hDlg, IDC_OPT_KEEPSCORE); + + if (GetScoreMode() == SCORE_NONE) + { + CheckRadioButton(hDlg, IDC_OPT_STANDARD, IDC_OPT_NOSCORE, IDC_OPT_NOSCORE); + EnableWindow(hCtrl, FALSE); + } + else + if (GetScoreMode() == SCORE_STD) + { + CheckRadioButton(hDlg, IDC_OPT_STANDARD, IDC_OPT_NOSCORE, IDC_OPT_STANDARD); + EnableWindow(hCtrl, FALSE); + } + else + if (GetScoreMode() == SCORE_VEGAS) + { + CheckRadioButton(hDlg, IDC_OPT_STANDARD, IDC_OPT_NOSCORE, IDC_OPT_VEGAS); + EnableWindow(hCtrl, TRUE); + } + + return TRUE; case WM_COMMAND: switch(LOWORD(wParam)) { + case IDC_OPT_NOSCORE: + case IDC_OPT_STANDARD: + case IDC_OPT_VEGAS: + hCtrl = GetDlgItem(hDlg, IDC_OPT_KEEPSCORE); + if (wParam == IDC_OPT_VEGAS) + EnableWindow(hCtrl, TRUE); + else + EnableWindow(hCtrl, FALSE); + + return TRUE; + case IDOK: dwOptions &= ~OPTION_THREE_CARDS; if (IsDlgButtonChecked(hDlg, IDC_OPT_DRAWTHREE) == BST_CHECKED) @@ -224,6 +338,38 @@ else dwOptions &= ~OPTION_SHOW_STATUS; + if (IsDlgButtonChecked(hDlg, IDC_OPT_SHOWTIME) == BST_CHECKED) + dwOptions |= OPTION_SHOW_TIME; + else + dwOptions &= ~OPTION_SHOW_TIME; + + if (IsDlgButtonChecked(hDlg, IDC_OPT_KEEPSCORE) == BST_CHECKED) + dwOptions |= OPTION_KEEP_SCORE; + else + dwOptions &= ~OPTION_KEEP_SCORE; + + + if (IsDlgButtonChecked(hDlg, IDC_OPT_STANDARD) == BST_CHECKED) + { + dwOptions |= OPTION_SCORE_STD; + dwOptions &= ~OPTION_SCORE_VEGAS; + } + else + if (IsDlgButtonChecked(hDlg, IDC_OPT_VEGAS) == BST_CHECKED) + { + dwOptions |= OPTION_SCORE_VEGAS; + dwOptions &= ~OPTION_SCORE_STD; + } + else + if (IsDlgButtonChecked(hDlg, IDC_OPT_NOSCORE) == BST_CHECKED) + { + dwOptions |= OPTION_SCORE_VEGAS; + dwOptions |= OPTION_SCORE_STD; + } + + + UpdateStatusBar(); + EndDialog(hDlg, TRUE); return TRUE; @@ -241,9 +387,11 @@ DWORD dwOldOptions = dwOptions; RECT rcMain, rcStatus; + int iOldScoreMode = GetScoreMode(); + if (DialogBox(hInstance, MAKEINTRESOURCE(IDD_OPTIONS), hwnd, OptionsDlgProc)) { - if ((dwOldOptions & OPTION_THREE_CARDS) != (dwOptions & OPTION_THREE_CARDS)) + if (((dwOldOptions & OPTION_THREE_CARDS) != (dwOptions & OPTION_THREE_CARDS)) || ((dwOldOptions & OPTION_SHOW_TIME) != (dwOptions & OPTION_SHOW_TIME)) || (iOldScoreMode != GetScoreMode())) NewGame(); if ((dwOldOptions & OPTION_SHOW_STATUS) != (dwOptions & OPTION_SHOW_STATUS)) @@ -458,7 +606,7 @@ { case WM_CREATE: { - int parts[] = { 100, -1 }; + int parts[] = { 150, -1 }; RECT rcStatus; hwndStatus = CreateStatusWindow(WS_CHILD | WS_VISIBLE | CCS_BOTTOM | SBARS_SIZEGRIP, _T("Ready"), hwnd, 0); @@ -496,6 +644,28 @@ PostQuitMessage(0); return 0; + case WM_TIMER: + { + if (!fGameStarted) + { + KillTimer(hwndMain, IDT_PLAYTIMER); + PlayTimer = 0; + } + else + if (dwOptions & OPTION_SHOW_TIME) + { + if (((dwTime + 1) % 10 == 0) && (GetScoreMode() == SCORE_STD)) + { + lScore = lScore >= 2 ? lScore - 2 : 0; + } + + dwTime++; + } + + UpdateStatusBar(); + return 0; + } + case WM_SIZE: nWidth = LOWORD(lParam); nHeight = HIWORD(lParam); Index: base/applications/games/solitaire/solitaire.h =================================================================== --- base/applications/games/solitaire/solitaire.h (revision 62563) +++ base/applications/games/solitaire/solitaire.h (working copy) @@ -9,6 +9,10 @@ #define OPTION_SHOW_STATUS 4 #define OPTION_THREE_CARDS 8 +#define OPTION_SHOW_TIME 16 +#define OPTION_KEEP_SCORE 32 +#define OPTION_SCORE_STD 64 +#define OPTION_SCORE_VEGAS 128 #define CARDBACK_START IDC_CARDBACK1 #define CARDBACK_END IDC_CARDBACK12 #define NUM_CARDBACKS (CARDBACK_END - CARDBACK_START + 1) @@ -19,6 +23,16 @@ extern DWORD dwOptions; +extern DWORD dwTime; +extern DWORD dwWasteCount; +extern DWORD dwWasteTreshold; +extern DWORD dwPrevMode; +extern long lScore; +extern HWND hwndMain; +extern UINT_PTR PlayTimer; + +#define IDT_PLAYTIMER 1000 + void CreateSol(void); void NewGame(void); @@ -28,6 +42,10 @@ #define SUIT_ID 4 #define ROW_ID 10 +#define SCORE_NONE 0 +#define SCORE_STD 1 +#define SCORE_VEGAS 2 + // Various metrics used for placing the objects and computing the minimum window size #define X_BORDER 20 #define X_PILE_BORDER 18 @@ -42,11 +60,16 @@ extern CardRegion *pSuitStack[]; extern CardRegion *pRowStack[]; +extern void UpdateStatusBar(void); +extern void SetPlayTimer(void); +extern int GetScoreMode(void); + bool CARDLIBPROC RowStackDragProc(CardRegion &stackobj, int iNumCards); bool CARDLIBPROC RowStackDropProc(CardRegion &stackobj, CardStack &dragcards); bool CARDLIBPROC SuitStackDropProc(CardRegion &stackobj, CardStack &dragcards); void CARDLIBPROC SuitStackAddProc(CardRegion &stackobj, const CardStack &added); +void CARDLIBPROC SuitStackClickProc(CardRegion &stackobj, int iNumClicked); void CARDLIBPROC RowStackClickProc(CardRegion &stackobj, int iNumClicked); void CARDLIBPROC RowStackDblClickProc(CardRegion &stackobj, int iNumClicked); @@ -53,7 +76,9 @@ void CARDLIBPROC DeckClickProc(CardRegion &stackobj, int iNumClicked); void CARDLIBPROC PileDblClickProc(CardRegion &stackobj, int iNumClicked); +void CARDLIBPROC PileClickProc(CardRegion &stackobj, int iNumClicked); void CARDLIBPROC PileRemoveProc(CardRegion &stackobj, int iRemoved); + #endif /* _SOL_PCH_ */