From ce1a0014f7e0d94f72a7740fb9db5c2d92d1e256 Mon Sep 17 00:00:00 2001 From: theoddone33 <> Date: Mon, 30 Apr 2001 03:27:08 +0000 Subject: [PATCH] Remove endless vidmode changing loop --- zsnes/src/linux/sdllink.c | 41 ++++++++++++++++++++++++++------------- 1 file changed, 28 insertions(+), 13 deletions(-) diff --git a/zsnes/src/linux/sdllink.c b/zsnes/src/linux/sdllink.c index 398d755b..a714a893 100644 --- a/zsnes/src/linux/sdllink.c +++ b/zsnes/src/linux/sdllink.c @@ -1109,6 +1109,16 @@ void clearwin() UnlockSurface(); } +void LinuxExit (void) +{ + if (sdl_inited) + { + SDL_WM_GrabInput(SDL_GRAB_OFF); // probably redundant + SDL_Quit(); + } + exit(0); +} + void drawscreenwin(void) { DWORD i,j,color32; @@ -1252,19 +1262,25 @@ void drawscreenwin(void) } break; case 24: - fprintf (stderr, "Sorry, ZSNES does not work in windowed 24 bit color modes.\nSwitching to fullscreen mode\n"); + fprintf (stderr, "Sorry, this mode does not work in 24 bit color\n"); + LinuxExit(); + /* cvidmode=3; initwinvideo(); sleep(1); drawscreenwin(); + */ break; default: UnlockSurface(); fprintf(stderr, "Mode only available in 16 and 32 bit color.\n"); + LinuxExit(); + /* cvidmode=2; initwinvideo(); sleep(1); drawscreenwin(); + */ break; } // switch (BitDepth) } // if(SurfaceX==256&&SurfaceY==224) @@ -1432,10 +1448,13 @@ void drawscreenwin(void) default: UnlockSurface(); fprintf(stderr, "Mode only available in 16 and 32 bit color.\n"); + LinuxExit(); + /* cvidmode=2; initwinvideo(); sleep(1); drawscreenwin(); + */ break; } // switch } // if @@ -1452,11 +1471,14 @@ void drawscreenwin(void) break; default: UnlockSurface(); - fprintf(stderr, "Mode only available in 16 bit color.\n"); + fprintf(stderr, "Mode only available in 16 bit color.\nTry running ZSNES with -b 16."); + LinuxExit(); + /* cvidmode=2; initwinvideo(); sleep(1); drawscreenwin(); + */ break; } // switch } // if @@ -1472,11 +1494,14 @@ void drawscreenwin(void) break; default: UnlockSurface(); - fprintf(stderr, "Mode only available in 16 bit color.\n"); + fprintf(stderr, "Mode only available in 16 bit color.\nTry running ZSNES with -b 16."); + LinuxExit(); + /* cvidmode=2; initwinvideo(); sleep(1); drawscreenwin(); + */ break; } } @@ -1484,16 +1509,6 @@ void drawscreenwin(void) UnlockSurface(); } -void LinuxExit (void) -{ - if (sdl_inited) - { - SDL_WM_GrabInput(SDL_GRAB_OFF); // probably redundant - SDL_Quit(); - } - exit(0); -} - extern char fulladdtab[65536*2]; extern void SwitchFullScreen(void);