mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-09 23:50:25 +00:00
Codechange: be consistent in what CheckPaletteAnim() does and when it is called
Additionally, make sure this is a class method. Later commits will make use of this.
This commit is contained in:
parent
790fa7102e
commit
ec1dd0bf61
@ -95,7 +95,7 @@ static void InitPalette()
|
||||
UpdatePalette(0, 256);
|
||||
}
|
||||
|
||||
static void CheckPaletteAnim()
|
||||
void VideoDriver_Allegro::CheckPaletteAnim()
|
||||
{
|
||||
if (_cur_palette.count_dirty != 0) {
|
||||
Blitter *blitter = BlitterFactory::GetCurrentBlitter();
|
||||
@ -484,8 +484,6 @@ void VideoDriver_Allegro::MainLoop()
|
||||
auto next_game_tick = cur_ticks;
|
||||
auto next_draw_tick = cur_ticks;
|
||||
|
||||
CheckPaletteAnim();
|
||||
|
||||
for (;;) {
|
||||
InteractiveRandom(); // randomness
|
||||
|
||||
@ -522,7 +520,7 @@ void VideoDriver_Allegro::MainLoop()
|
||||
this->InputLoop();
|
||||
::InputLoop();
|
||||
UpdateWindows();
|
||||
CheckPaletteAnim();
|
||||
this->CheckPaletteAnim();
|
||||
|
||||
this->Paint();
|
||||
}
|
||||
|
@ -36,6 +36,7 @@ public:
|
||||
protected:
|
||||
void InputLoop() override;
|
||||
void Paint() override;
|
||||
void CheckPaletteAnim() override;
|
||||
};
|
||||
|
||||
/** Factory for the allegro video driver. */
|
||||
|
@ -76,6 +76,7 @@ protected:
|
||||
float GetDPIScale() override;
|
||||
void InputLoop() override;
|
||||
void Paint() override;
|
||||
void CheckPaletteAnim() override;
|
||||
|
||||
private:
|
||||
bool PollEvent();
|
||||
@ -88,7 +89,6 @@ private:
|
||||
bool MakeWindow(int width, int height);
|
||||
|
||||
void UpdatePalette(uint first_color, uint num_colors);
|
||||
void CheckPaletteAnim();
|
||||
|
||||
void BlitIndexedToView32(int left, int top, int right, int bottom);
|
||||
};
|
||||
|
@ -853,8 +853,6 @@ void VideoDriver_SDL::MainLoop()
|
||||
last_realtime_tick = cur_ticks;
|
||||
next_game_tick = cur_ticks;
|
||||
|
||||
this->CheckPaletteAnim();
|
||||
|
||||
if (_draw_threaded) {
|
||||
/* Initialise the mutex first, because that's the thing we *need*
|
||||
* directly in the newly created thread. */
|
||||
|
@ -48,6 +48,7 @@ protected:
|
||||
void UnlockVideoBuffer() override;
|
||||
void Paint() override;
|
||||
void PaintThread() override;
|
||||
void CheckPaletteAnim();
|
||||
|
||||
private:
|
||||
int PollEvent();
|
||||
@ -55,7 +56,6 @@ private:
|
||||
void MainLoopCleanup();
|
||||
bool CreateMainSurface(uint w, uint h, bool resize);
|
||||
bool CreateMainWindow(uint w, uint h);
|
||||
void CheckPaletteAnim();
|
||||
|
||||
#ifdef __EMSCRIPTEN__
|
||||
/* Convert a constant pointer back to a non-constant pointer to a member function. */
|
||||
|
@ -123,8 +123,10 @@ static void InitPalette()
|
||||
UpdatePalette(true);
|
||||
}
|
||||
|
||||
static void CheckPaletteAnim()
|
||||
void VideoDriver_SDL::CheckPaletteAnim()
|
||||
{
|
||||
_local_palette = _cur_palette;
|
||||
|
||||
if (_cur_palette.count_dirty != 0) {
|
||||
Blitter *blitter = BlitterFactory::GetCurrentBlitter();
|
||||
|
||||
@ -183,7 +185,6 @@ void VideoDriver_SDL::PaintThread()
|
||||
_draw_signal->wait(*_draw_mutex);
|
||||
|
||||
while (_draw_continue) {
|
||||
CheckPaletteAnim();
|
||||
/* Then just draw and wait till we stop */
|
||||
this->Paint();
|
||||
_draw_signal->wait(lock);
|
||||
@ -708,8 +709,6 @@ void VideoDriver_SDL::MainLoop()
|
||||
auto next_game_tick = cur_ticks;
|
||||
auto next_draw_tick = cur_ticks;
|
||||
|
||||
CheckPaletteAnim();
|
||||
|
||||
std::thread draw_thread;
|
||||
if (_draw_threaded) {
|
||||
/* Initialise the mutex first, because that's the thing we *need*
|
||||
@ -781,12 +780,11 @@ void VideoDriver_SDL::MainLoop()
|
||||
this->InputLoop();
|
||||
::InputLoop();
|
||||
UpdateWindows();
|
||||
_local_palette = _cur_palette;
|
||||
this->CheckPaletteAnim();
|
||||
|
||||
if (_draw_mutex != nullptr && !HasModalProgress()) {
|
||||
_draw_signal->notify_one();
|
||||
} else {
|
||||
CheckPaletteAnim();
|
||||
this->Paint();
|
||||
}
|
||||
}
|
||||
|
@ -43,6 +43,7 @@ protected:
|
||||
void UnlockVideoBuffer() override;
|
||||
void Paint() override;
|
||||
void PaintThread() override;
|
||||
void CheckPaletteAnim();
|
||||
|
||||
private:
|
||||
std::unique_lock<std::recursive_mutex> draw_lock;
|
||||
|
@ -184,6 +184,11 @@ protected:
|
||||
*/
|
||||
virtual void PaintThread() {}
|
||||
|
||||
/**
|
||||
* Process any pending palette animation.
|
||||
*/
|
||||
virtual void CheckPaletteAnim() {}
|
||||
|
||||
std::chrono::steady_clock::duration GetGameInterval()
|
||||
{
|
||||
return std::chrono::milliseconds(MILLISECONDS_PER_TICK);
|
||||
|
@ -1201,7 +1201,6 @@ void VideoDriver_Win32::MainLoop()
|
||||
|
||||
_wnd.running = true;
|
||||
|
||||
CheckPaletteAnim();
|
||||
for (;;) {
|
||||
InteractiveRandom(); // randomness
|
||||
|
||||
|
@ -49,12 +49,11 @@ protected:
|
||||
void UnlockVideoBuffer() override;
|
||||
void Paint() override;
|
||||
void PaintThread() override;
|
||||
void CheckPaletteAnim() override;
|
||||
|
||||
private:
|
||||
std::unique_lock<std::recursive_mutex> draw_lock;
|
||||
|
||||
void CheckPaletteAnim();
|
||||
|
||||
static void PaintThreadThunk(VideoDriver_Win32 *drv);
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user