summaryrefslogtreecommitdiffhomepage
path: root/StarsEx/VideoDX9.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'StarsEx/VideoDX9.cpp')
-rw-r--r--StarsEx/VideoDX9.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/StarsEx/VideoDX9.cpp b/StarsEx/VideoDX9.cpp
index c4dd09f..06a02a0 100644
--- a/StarsEx/VideoDX9.cpp
+++ b/StarsEx/VideoDX9.cpp
@@ -242,7 +242,7 @@ static VideoDX9* video_dx9_instance = 0;
VideoDX9::VideoDX9(const HWND& window, VideoSettings* vs)
: width(0), height(0), bpp(0), hwnd(window), surface(0),
d3d(0), d3ddevice(0), device_lost(false), fade(0),
-zdepth(0), gamma(128), num_verts(0), first_vert(0),
+zdepth(0), gamma(128), requested_tex_size(2048), num_verts(0), first_vert(0),
current_texture(0), screen_vbuf(0), screen_ibuf(0),
font_verts(0), font_indices(0), font_nverts(0),
nlights(0), use_material(0), d3dx_font(0),
@@ -365,6 +365,7 @@ magic_fx(0), magic_fx_code(0), magic_fx_code_len(0)
width = video_settings.GetWidth();
height = video_settings.GetHeight();
bpp = video_settings.GetDepth();
+ requested_tex_size = video_settings.GetTexSize();
shadow_enabled = vs->shadows;
bump_enabled = vs->bumpmaps;
@@ -742,6 +743,19 @@ VideoDX9::VidMemFree() const
return result;
}
+void
+VideoDX9::RequestTexSize(int size)
+{
+ requested_tex_size = size;
+}
+
+int
+VideoDX9::TexSize() const
+{
+ const int max_tex_size = MaxTexSize();
+ return requested_tex_size <= max_tex_size ? requested_tex_size : max_tex_size;
+}
+
int
VideoDX9::MaxTexSize() const
{