Zoom level now capped at 7, tiles outside the zoomed area shouldn't render anymore.

This commit is contained in:
Justin Marshall
2020-07-28 09:40:30 -07:00
parent c28f4d0cfa
commit a97502f650
4 changed files with 19 additions and 3 deletions
+1 -1
View File
@@ -132,7 +132,7 @@ void UserInputClass::Process_Input(KeyNumType& key, int& flags)
if (state[SDL_SCANCODE_F6]) {
ZoomLevel++;
ZoomLevel = min(ZoomLevel, 6);
ZoomLevel = min(ZoomLevel, 7);
break;
}
+4
View File
@@ -933,6 +933,10 @@ void Read_Setup_Options( RawFileClass *config_file )
ScreenWidth = ini.Get_Int("Options", "Width", 1280);
ScreenHeight = ini.Get_Int("Options", "Height", 720);
ZoomLevel = ini.Get_Int("Options", "ZoomLevel", 0);
if (ZoomLevel > 7)
ZoomLevel = 7;
if (ZoomLevel < 0)
ZoomLevel = 0;
/*
** See if an alternative socket number has been specified
+12
View File
@@ -274,6 +274,18 @@ void __cdecl Buffer_Draw_Stamp_Clip2(GraphicViewPortClass& viewport, const void
icon_index = 0;
}
int renderTargetScale = ZoomLevel;
if (Debug_Map) {
renderTargetScale = 0;
}
double scale = ((((float)ScreenWidth / (float)ScreenHeight) * (float)renderTargetScale) * 0.05) + 1;
float xstart_zoom = xstart * scale;
float ystart_zoom = ystart * scale;
if (xstart_zoom >= ScreenWidth || ystart_zoom >= ScreenHeight)
return;
//GL_SetClipRect(xstart, ystart, blit_width, blit_height);
GL_RenderImage(iconImage, xstart, ystart, blit_width, blit_height, 0, icon_index);
//GL_ResetClipRect();