Changeset - r24852:00c1bd78d033
[Not reviewed]
master
0 10 0
Patric Stout - 3 years ago 2021-02-20 10:15:15
truebrain@openttd.org
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.
10 files changed with 16 insertions and 17 deletions:
0 comments (0 inline, 0 general)
src/video/allegro_v.cpp
Show inline comments
 
@@ -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();
 
		}
src/video/allegro_v.h
Show inline comments
 
@@ -36,6 +36,7 @@ public:
 
protected:
 
	void InputLoop() override;
 
	void Paint() override;
 
	void CheckPaletteAnim() override;
 
};
 

	
 
/** Factory for the allegro video driver. */
src/video/cocoa/cocoa_v.h
Show inline comments
 
@@ -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);
 
};
src/video/sdl2_v.cpp
Show inline comments
 
@@ -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. */
src/video/sdl2_v.h
Show inline comments
 
@@ -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. */
src/video/sdl_v.cpp
Show inline comments
 
@@ -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();
 
			}
 
		}
src/video/sdl_v.h
Show inline comments
 
@@ -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;
src/video/video_driver.hpp
Show inline comments
 
@@ -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);
src/video/win32_v.cpp
Show inline comments
 
@@ -1201,7 +1201,6 @@ void VideoDriver_Win32::MainLoop()
 

	
 
	_wnd.running = true;
 

	
 
	CheckPaletteAnim();
 
	for (;;) {
 
		InteractiveRandom(); // randomness
 

	
src/video/win32_v.h
Show inline comments
 
@@ -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);
 
};
 

	
0 comments (0 inline, 0 general)