Skip to content

Commit c72a478

Browse files
committed
Factor out duplicate code between initVideo and setResolution
1 parent 3dec989 commit c72a478

File tree

1 file changed

+19
-34
lines changed

1 file changed

+19
-34
lines changed

src/graphics/Renderer.cpp

Lines changed: 19 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -69,15 +69,6 @@ bool Renderer::initVideo(int scale)
6969
{
7070
uint32_t window_flags = SDL_WINDOW_SHOWN | SDL_WINDOW_ALLOW_HIGHDPI;
7171

72-
//TODO: sync this with setResolution
73-
if (widescreen) {
74-
screenWidth = 432;
75-
screenHeight = 243;
76-
} else {
77-
screenWidth = 320;
78-
screenHeight = 240;
79-
}
80-
8172
if (_window)
8273
{
8374
LOG_WARN("second call to Renderer::InitVideo()");
@@ -133,13 +124,7 @@ bool Renderer::initVideo(int scale)
133124

134125
LOG_INFO("Renderer::initVideo: using: {} renderer", info.name);
135126

136-
if (SDL_RenderSetLogicalSize(_renderer, screenWidth, screenHeight))
137-
{
138-
LOG_ERROR("Renderer::initVideo: SDL_RenderSetLogicalSize failed: {}", SDL_GetError());
139-
return false;
140-
}
141-
142-
if (!createRenderTarget(screenWidth, screenHeight))
127+
if (!setResolution(scale, widescreen))
143128
return false;
144129

145130
std::string spotpath = ResourceManager::getInstance()->getPath("spot.png");
@@ -152,24 +137,6 @@ bool Renderer::initVideo(int scale)
152137
return true;
153138
}
154139

155-
bool Renderer::createRenderTarget(int width, int height)
156-
{
157-
SDL_RendererInfo info;
158-
SDL_GetRendererInfo(_renderer, &info);
159-
160-
_texture = SDL_CreateTexture(_renderer,
161-
info.texture_formats[0],
162-
SDL_TEXTUREACCESS_TARGET,
163-
width, height);
164-
if (SDL_SetRenderTarget(_renderer, _texture)) {
165-
LOG_ERROR("Renderer::createRenderTarget: SDL_SetRenderTarget failed: {}", SDL_GetError());
166-
return false;
167-
}
168-
SDL_RenderClear(_renderer);
169-
170-
return true;
171-
}
172-
173140
bool Renderer::flushAll()
174141
{
175142
LOG_DEBUG("Renderer::flushAll()");
@@ -255,6 +222,24 @@ int Renderer::getResolutionCount()
255222
#endif
256223
}
257224

225+
bool Renderer::createRenderTarget(int width, int height)
226+
{
227+
SDL_RendererInfo info;
228+
SDL_GetRendererInfo(_renderer, &info);
229+
230+
_texture = SDL_CreateTexture(_renderer,
231+
info.texture_formats[0],
232+
SDL_TEXTUREACCESS_TARGET,
233+
width, height);
234+
if (SDL_SetRenderTarget(_renderer, _texture)) {
235+
LOG_ERROR("Renderer::createRenderTarget: SDL_SetRenderTarget failed: {}", SDL_GetError());
236+
return false;
237+
}
238+
SDL_RenderClear(_renderer);
239+
240+
return true;
241+
}
242+
258243
void Renderer::showLoadingScreen()
259244
{
260245
Surface loading;

0 commit comments

Comments
 (0)