fontForeground.r = fontForeground.g = fontForeground.b = 0xff;
fontBackground.r = fontBackground.g = fontBackground.b = 0x00;
- fontForeground.unused = fontBackground.unused = 0;
-
fadeBlack = alphaRect(640, 480, 0x00, 0x00, 0x00);
infoBar = alphaRect(640, 25, 0x00, 0x00, 0x00);
void Graphics::setTransparent(SDL_Surface *sprite)
{
- SDL_SetColorKey(sprite, (SDL_SRCCOLORKEY|SDL_RLEACCEL), SDL_MapRGB(sprite->format, 0, 0, 0));
+ SDL_SetColorKey(sprite, SDL_RLEACCEL, SDL_MapRGB(sprite->format, 0, 0, 0));
}
bool Graphics::canShowMedalMessage() const
}
}
- SDL_Flip(screen);
- SDL_Delay(1);
+ SDL_UpdateTexture(texture, NULL, screen->pixels, screen->w * 4);
+ SDL_RenderCopy(renderer, texture, NULL, NULL);
+ SDL_RenderPresent(renderer);
if (takeRandomScreenShots)
{
SDL_Delay(16);
}
- if (engine->keyState[SDLK_F12])
+ if (engine->keyState[SDL_SCANCODE_F12])
{
snprintf(screenshot, sizeof screenshot, "screenshots/screenshot%.3d.bmp", screenShotNumber);
SDL_SaveBMP(screen, screenshot);
screenShotNumber++;
- engine->keyState[SDLK_F12] = 0;
+ engine->keyState[SDL_SCANCODE_F12] = 0;
}
- if ((engine->keyState[SDLK_F10]) || ((engine->keyState[SDLK_RETURN]) && (engine->keyState[SDLK_LALT])))
+ if ((engine->keyState[SDL_SCANCODE_F10]) || ((engine->keyState[SDL_SCANCODE_RETURN]) && (engine->keyState[SDL_SCANCODE_LALT])))
{
- SDL_WM_ToggleFullScreen(screen);
engine->fullScreen = !engine->fullScreen;
+ SDL_SetWindowFullscreen(window, engine->fullScreen ? SDL_WINDOW_FULLSCREEN_DESKTOP : 0);
- engine->keyState[SDLK_F10] = engine->keyState[SDLK_LALT] = engine->keyState[SDLK_RETURN] = 0;
+ engine->keyState[SDL_SCANCODE_F10] = engine->keyState[SDL_SCANCODE_LALT] = engine->keyState[SDL_SCANCODE_RETURN] = 0;
}
}
{
unsigned long then = SDL_GetTicks();
- engine->keyState[SDLK_ESCAPE] = 0;
+ engine->keyState[SDL_SCANCODE_ESCAPE] = 0;
while (true)
{
engine->getInput();
/*
- if (engine->keyState[SDLK_ESCAPE])
+ if (engine->keyState[SDL_SCANCODE_ESCAPE])
{
break;
}
if (!image)
showErrorAndExit(ERR_FILE, filename);
- newImage = SDL_DisplayFormat(image);
+ newImage = SDL_ConvertSurface(image, screen->format, 0);
if (newImage)
{
}
if(srcalpha)
- SDL_SetAlpha(newImage, SDL_SRCALPHA, 255);
+ SDL_SetSurfaceAlphaMod(newImage, 255);
else
setTransparent(newImage);
}
}
- newImage = SDL_DisplayFormat(image);
+ newImage = SDL_ConvertSurface(image, screen->format, 0);
if (newImage)
{
void Graphics::fade(int amount)
{
- SDL_SetAlpha(fadeBlack, SDL_SRCALPHA|SDL_RLEACCEL, amount);
+ SDL_SetSurfaceAlphaMod(fadeBlack, amount);
blit(fadeBlack, 0, 0, screen, false);
}
while (start < 50)
{
- SDL_SetAlpha(fadeBlack, SDL_SRCALPHA|SDL_RLEACCEL, start);
+ SDL_SetSurfaceAlphaMod(fadeBlack, start);
blit(fadeBlack, 0, 0, screen, false);
delay(60);
start++;
{
if ((i < MAP_EXITSIGN) || (i >= MAP_WATERANIM))
{
- SDL_SetAlpha(tile[i], SDL_SRCALPHA|SDL_RLEACCEL, 130);
+ SDL_SetSurfaceAlphaMod(tile[i], 130);
}
}
else
fontBackground.r = red2;
fontBackground.g = green2;
fontBackground.b = blue2;
-
- fontForeground.unused = fontBackground.unused = 0;
}
void Graphics::setFontSize(int size)
if (surface == NULL)
showErrorAndExit("CreateRGBSurface failed: %s\n", SDL_GetError());
- newImage = SDL_DisplayFormat(surface);
+ newImage = SDL_ConvertSurface(surface, screen->format, 0);
SDL_FreeSurface(surface);
SDL_FillRect(surface, NULL, SDL_MapRGB(surface->format, red, green, blue));
- SDL_SetAlpha(surface, SDL_SRCALPHA|SDL_RLEACCEL, 130);
+ SDL_SetSurfaceAlphaMod(surface, 130);
return surface;
}
blit(alpha, 0, 0, image, false);
- SDL_SetColorKey(image, (SDL_SRCCOLORKEY|SDL_RLEACCEL), SDL_MapRGB(image->format, red / 2, green / 2, blue / 2));
+ SDL_SetColorKey(image, SDL_RLEACCEL, SDL_MapRGB(image->format, red / 2, green / 2, blue / 2));
}
void Graphics::lock(SDL_Surface *surface)
{
updateScreen();
engine->getInput();
- if (engine->keyState[SDLK_ESCAPE])
+ if (engine->keyState[SDL_SCANCODE_ESCAPE])
exit(1);
SDL_Delay(16);
}
{
updateScreen();
engine->getInput();
- if (engine->keyState[SDLK_ESCAPE])
+ if (engine->keyState[SDL_SCANCODE_ESCAPE])
{
exit(1);
}
updateScreen();
engine->getInput();
- if (engine->keyState[SDLK_ESCAPE])
+ if (engine->keyState[SDL_SCANCODE_ESCAPE])
{
return;
}
- else if (engine->keyState[SDLK_SPACE])
+ else if (engine->keyState[SDL_SCANCODE_SPACE])
{
exit(0);
}