the cutting room mirror

ko

카드놀이의 2007년 버전은 윈도 Vista/7에 포함된, 새로운 그래픽과 기능을 추가한 리메이크 버전이다. 그것 말고는, 플레이 방법은 똑같다.

디버그 모드#

내부의 g_bDebugEnabled 변수를 0이 아닌 숫자로 바꾸면, 여러 디버그 메뉴가 활성화된다. 이 변수를 게임상에서 바꿀 수 없으므로, 수동으로 설정하여야 한다.

메뉴#

SolVistaDbgMenu.png

일반적인 메뉴(리소스 102) 대신에, 다른 메뉴(리소스 103)가 로드된다(리소스는 Solitaire.exe.mui에 있음). 대부분의 메뉴가 직관적이지만, "Toggle Deck Lock"(덱 잠그기)는 아무 효과도 일어나지 않는다.

치트 코드#

Ctrl, Alt, Shift를 덱을 클릭하는 동안 누르면, 덱에서 3장을 빼는 옵션을 적용해도 1장밖에 나오지 않는다. 이 기능은 또한 어떤 카드든 옮길 수 있고, 카드 모양과 숫자에 상관없이 쌓을 수 있게 해준다.

블록 모드#

SolVistaBlockMode.png

F6을 누르고 있으면 판 전체가 회색으로 렌더링되며, 카드가 없는 쪽은 더 회색같이 보이게 된다.

일시정지 모드#

Home 키를 누르면 화면이 정지된다. 화면만 멈출 뿐, 그 외에는 정지하지 않아서 시간이 적용된 게임의 경우 시간이 계속 흘러가며, 소리 효과는 그대로 유지된다. End를 누르면 화면이 다시 진행된다. Insert 키를 누르면 이 기능을 토글할지 안할지 설정할 수 있다.

로그 기록#

디버그와 같이, 내부의 두 변수가 로그에 관여를 하는데, UTF-16 형식으로 현재 폴더에 log.txt로 저장시키거나(g_uiFileMask), 표준 출력으로 출력을 한다(g_uiConsoleMask). 또한, 이 두 변수 역시 게임상에서 바꿀 수 없으므로, 수동으로 설정하여야 한다.

로그 예시:

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()

로그와 디버그 모드가 활성화되면, F11을 눌러 사용하고 있는 이미지와 사운드를 로그 형식으로 덤프(파일화)가 가능하다.

XInput(게임패드) 지원#

XInput(게임패드)를 지원한다는 이야기는 어디에도 써있지 않지만, 실제로 지원한다. 만약 게임이 Xbox 360 컨트롤러를 USB 포트를 통해 인식한다면, 컨트롤러의 P1 부분이 켜지며, 사용 가능하게 된다. 아마 마이크로소프트가 이 기능이 기존의 조작에 비해 이상하고, 카드 게임에 게임패드가 작동하지 않을 것을 예상한 탓인지 쓰지 않은 것으로 보인다. 그렇다 할지라도, 꽤 갖춰진 소소한 기능이다.

조작#

버튼

효과

왼쪽 아날로그 스틱/D패드/어깨버튼/트리거

커서를 옮긴다. 이상하게도, 메뉴 바를 둘러보는 데도 쓸 수 있다.

B/Back

이전의 이동을 되돌린다.

A/X

커서가 가리키는 카드를 선택한다. 커서로 카드를 가리키고 A/X를 한번 더 누르면 이전으로 돌아간다. 두 번 누르게 되면, 카드가 홈 스택으로 가게 된다.

Y/Start

게임 메뉴를 연다.