|
|
|
|
@ -8,6 +8,7 @@
|
|
|
|
|
#include <fmt/compile.h> |
|
|
|
|
|
|
|
|
|
#include "engine/backbuffer_state.hpp" |
|
|
|
|
#include "engine/demomode.h" |
|
|
|
|
#include "engine/dx.h" |
|
|
|
|
#include "engine/load_file.hpp" |
|
|
|
|
#include "engine/random.hpp" |
|
|
|
|
@ -326,22 +327,29 @@ void PaletteFadeIn(int fr)
|
|
|
|
|
{ |
|
|
|
|
if (HeadlessMode) |
|
|
|
|
return; |
|
|
|
|
if (demo::IsRunning()) |
|
|
|
|
fr = 0; |
|
|
|
|
|
|
|
|
|
ApplyGamma(logical_palette, orig_palette, 256); |
|
|
|
|
|
|
|
|
|
const uint32_t tc = SDL_GetTicks(); |
|
|
|
|
fr *= 3; |
|
|
|
|
|
|
|
|
|
uint32_t prevFadeValue = 255; |
|
|
|
|
for (uint32_t i = 0; i < 256; i = fr * (SDL_GetTicks() - tc) / 50) { |
|
|
|
|
if (i != prevFadeValue) { |
|
|
|
|
SetFadeLevel(i); |
|
|
|
|
prevFadeValue = i; |
|
|
|
|
if (fr > 0) { |
|
|
|
|
const uint32_t tc = SDL_GetTicks(); |
|
|
|
|
fr *= 3; |
|
|
|
|
uint32_t prevFadeValue = 255; |
|
|
|
|
for (uint32_t i = 0; i < 256; i = fr * (SDL_GetTicks() - tc) / 50) { |
|
|
|
|
if (i != prevFadeValue) { |
|
|
|
|
SetFadeLevel(i); |
|
|
|
|
prevFadeValue = i; |
|
|
|
|
} |
|
|
|
|
BltFast(nullptr, nullptr); |
|
|
|
|
RenderPresent(); |
|
|
|
|
} |
|
|
|
|
SetFadeLevel(256); |
|
|
|
|
} else { |
|
|
|
|
SetFadeLevel(256); |
|
|
|
|
BltFast(nullptr, nullptr); |
|
|
|
|
RenderPresent(); |
|
|
|
|
} |
|
|
|
|
SetFadeLevel(256); |
|
|
|
|
|
|
|
|
|
memcpy(logical_palette, orig_palette, sizeof(orig_palette)); |
|
|
|
|
|
|
|
|
|
@ -352,20 +360,27 @@ void PaletteFadeOut(int fr)
|
|
|
|
|
{ |
|
|
|
|
if (!sgbFadedIn || HeadlessMode) |
|
|
|
|
return; |
|
|
|
|
|
|
|
|
|
const uint32_t tc = SDL_GetTicks(); |
|
|
|
|
fr *= 3; |
|
|
|
|
|
|
|
|
|
uint32_t prevFadeValue = 0; |
|
|
|
|
for (uint32_t i = 0; i < 256; i = fr * (SDL_GetTicks() - tc) / 50) { |
|
|
|
|
if (i != prevFadeValue) { |
|
|
|
|
SetFadeLevel(256 - i); |
|
|
|
|
prevFadeValue = i; |
|
|
|
|
if (demo::IsRunning()) |
|
|
|
|
fr = 0; |
|
|
|
|
|
|
|
|
|
if (fr > 0) { |
|
|
|
|
const uint32_t tc = SDL_GetTicks(); |
|
|
|
|
fr *= 3; |
|
|
|
|
uint32_t prevFadeValue = 0; |
|
|
|
|
for (uint32_t i = 0; i < 256; i = fr * (SDL_GetTicks() - tc) / 50) { |
|
|
|
|
if (i != prevFadeValue) { |
|
|
|
|
SetFadeLevel(256 - i); |
|
|
|
|
prevFadeValue = i; |
|
|
|
|
} |
|
|
|
|
BltFast(nullptr, nullptr); |
|
|
|
|
RenderPresent(); |
|
|
|
|
} |
|
|
|
|
SetFadeLevel(0); |
|
|
|
|
} else { |
|
|
|
|
SetFadeLevel(0); |
|
|
|
|
BltFast(nullptr, nullptr); |
|
|
|
|
RenderPresent(); |
|
|
|
|
} |
|
|
|
|
SetFadeLevel(0); |
|
|
|
|
|
|
|
|
|
sgbFadedIn = false; |
|
|
|
|
} |
|
|
|
|
|