If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!
Solitaire (Windows, 2007)
Solitaire |
---|
Developers: Oberon Media,
Microsoft This game has unused code. |
The 2007 version of Solitaire included with Windows Vista and 7 is a reworked version of the original with better graphics and some new features. Other than that, though, it plays exactly the same.
Contents
Debug Mode
By setting the internal g_bDebugEnabled variable to a nonzero value, various aids to debugging are enabled. This value isn't written to by the game, so it must be set manually.
Menu
Instead of the normal menu (resource 102), the game loads this alternative one (resource 103) from Solitaire.exe.mui. Most of it is self-explanatory, but "Toggle Deck Lock" appears to have no effect.
Cheat Code
Holding Ctrl, Alt, and Shift while clicking on the deck causes only one card to be drawn regardless of the Draw Three options. It also enables you to move any card or bunch to any other stack irrespective of card color or number.
Block Mode
Holding F6 causes the the playfield to be rendered in gray with ever grayer boxes replacing the cards.
Pause Mode
Pressing Home causes the display to freeze. Nothing else stops so the the time continues in timed games and sound effects still play, but with no visual feedback. Pressing End resumes the display. The Insert key can be used to toggle this on and off.
Logging
Like with debugging, there are two internal variables that control UTF-16 logging either to log.txt in the current directory (g_uiFileMask) or redirected standard output (g_uiConsoleMask). Also like debugging, they are not written to by the game so must be enabled manually.
A sample log:
SolLogGeneral: (673) SolitaireGame::FindHigherCardToPutOnStack() - Not a main stack, don't bother checking. CardLibLogGeneral: (674) CardStack::SetHighlight()::bHighlight == false CardLibLogGeneral: (675) Card::SetHighlight()::bHighlight == false 0x00002000: (676) Hide tip Rendering: (884) SetState: 260 Rendering: (885) (RenderManager.cpp:2156) Present Failed: 88760868(D3DERR_DEVICELOST) Rendering: (886) (RenderManager.cpp:1704) Resuming after lost device Rendering: (887) (Font.cpp:691) Invalidating a font cache Rendering: (888) (Font.cpp:691) Invalidating a font cache Rendering: (889) (RenderManager.cpp:2253) Reset: 800 x 496 format 22 Rendering: (890) (RenderManager.cpp:1465) RecreateDefaultResources() UI: (891) Recreating font: Segoe UI UI: (892) Recreating font: Segoe UI Rendering: (893) (RenderManager.cpp:150) CreateCachedBackBuffer() Rendering: (894) SetState: 4096 Core: (909) Engine_GotFocus() Timekeeping: (910) Reset timers Core: (911) Engine_LostFocus() Core: (912) Engine_GotFocus() Timekeeping: (913) Reset timers Rendering: (914) (RenderManager.cpp:2369) Saved the back buffer for cached presentation CardLibLogGeneral: (915) CardStack::SetEnabled()::bAccess == true Core: (916) Engine_LostFocus()
With logging and debug mode enabled, pressing F11 dumps the in use images and sounds to the log.
XInput Support
An interesting feature that isn't documented anywhere (Help Menu-wise) is XInput (gamepad) support – if the game detects an Xbox 360 controller plugged into a USB port, the P1 corner on the controller will light up, signifying the controller can be used. Possibly undocumented because Microsoft thought people were too used to the traditional controls, and a gamepad wouldn't work for a card game. It's a neat little feature, nonetheless.
Controls
Button | Effect |
---|---|
Left analog stick/D-pad/Shoulder Buttons/Triggers | Moves the cursor. Oddly, they can also be used to navigate the menu bar. |
B/Back | Undoes the previous move. |
A/X | Selects the card the cursor is on. Moving the cursor onto another card and pressing A or X again moves the previous card onto the stack. Double-tapping either button moves a card to the home stack. |
Y/Start | Opens the Game Menu. |
Cleanup > Pages missing date references
Cleanup > Pages missing developer references
Cleanup > Pages missing publisher references
Games > Games by content > Games with debugging functions
Games > Games by content > Games with unused code
Games > Games by developer > Games developed by Microsoft
Games > Games by developer > Games developed by Oberon Media
Games > Games by publisher > Games published by Microsoft