u32 sal_VideoInit(u32 bpp) { SDL_ShowCursor(0); mBpp=bpp; //Set up the screen mScreen = SDL_SetVideoMode( SAL_SCREEN_WIDTH, SAL_SCREEN_HEIGHT, bpp, SDL_HWSURFACE | #ifdef SDL_TRIPLEBUF SDL_TRIPLEBUF #else SDL_DOUBLEBUF #endif ); //If there was an error in setting up the screen if( mScreen == NULL ) { sal_LastErrorSet("SDL_SetVideoMode failed"); return SAL_ERROR; } // lock surface if needed if (SDL_MUSTLOCK(mScreen)) { if (SDL_LockSurface(mScreen) < 0) { sal_LastErrorSet("unable to lock surface"); return SAL_ERROR; } } return SAL_OK; }
u32 sal_VideoInit(u32 bpp, u32 color, u32 refreshRate) { SDL_ShowCursor(0); if (mScreen) { if (mBpp == bpp) { return SAL_OK; } SDL_VideoQuit(); mScreen=NULL; } mBpp=bpp; mRefreshRate=refreshRate; //Set up the screen mScreen = SDL_SetVideoMode( SAL_SCREEN_WIDTH, SAL_SCREEN_HEIGHT, bpp, SDL_HWSURFACE | SDL_DOUBLEBUF); //If there was an error in setting up the screen if( mScreen == NULL ) { sal_LastErrorSet("SDL_SetVideoMode failed"); return SAL_ERROR; } // lock surface if needed if (SDL_MUSTLOCK(mScreen)) { if (SDL_LockSurface(mScreen) < 0) { sal_LastErrorSet("unable to lock surface"); return SAL_ERROR; } } sal_VideoClear(color); sal_VideoFlip(1); return SAL_OK; }