diff options
Diffstat (limited to 'src/skel')
-rw-r--r-- | src/skel/win/win.cpp | 12 | ||||
-rw-r--r-- | src/skel/win/win.h | 4 |
2 files changed, 12 insertions, 4 deletions
diff --git a/src/skel/win/win.cpp b/src/skel/win/win.cpp index 9638e53a..1b91af24 100644 --- a/src/skel/win/win.cpp +++ b/src/skel/win/win.cpp @@ -1355,10 +1355,14 @@ psSelectDevice() { while ( !modeFound && GcurSelVM < RwEngineGetNumVideoModes() ) { + RECT Rect; + GetWindowRect(GetDesktopWindow(), &Rect); + printf(gString, "Cannot find %dx%dx32 video mode", Rect.right, Rect.bottom); + RwEngineGetVideoModeInfo(&vm, GcurSelVM); - if ( defaultFullscreenRes && vm.width != 640 - || vm.height != 480 - || vm.depth != 16 + if ( defaultFullscreenRes && vm.width != Rect.right + || vm.height != Rect.bottom + || vm.depth != 32 || !(vm.flags & rwVIDEOMODEEXCLUSIVE) ) ++GcurSelVM; else @@ -1367,7 +1371,7 @@ psSelectDevice() if ( !modeFound ) { - MessageBox(nil, "Cannot find 640x480 video mode", "GTA3", MB_OK); + MessageBox(nil, gString, "GTA3", MB_OK); return FALSE; } } diff --git a/src/skel/win/win.h b/src/skel/win/win.h index 371b9e44..13564a7f 100644 --- a/src/skel/win/win.h +++ b/src/skel/win/win.h @@ -79,6 +79,10 @@ void CenterVideo(void); void CloseClip(void); RwChar **_psGetVideoModeList(); +RwInt32 _psGetNumVideModes(); + +void _psSelectScreenVM(RwInt32 videoMode); +void HandleExit(); #ifdef __cplusplus } |