|
32 | 32 | #include "PreRTS.h" // This must go first in EVERY cpp file in the GameEngine |
33 | 33 |
|
34 | 34 | #include "ww3d.h" |
| 35 | +#include "texturefilter.h" |
35 | 36 |
|
36 | 37 | #include "Common/AudioSettings.h" |
37 | 38 | #include "Common/GameAudio.h" |
@@ -81,6 +82,40 @@ UnsignedInt OptionPreferences::getAntiAliasing() const |
81 | 82 | return level; |
82 | 83 | } |
83 | 84 |
|
| 85 | +UnsignedInt OptionPreferences::getTextureFilterMode() const |
| 86 | +{ |
| 87 | + OptionPreferences::const_iterator it = find("TextureFilter"); |
| 88 | + if (it == end()) |
| 89 | + return TextureFilterClass::TEXTURE_FILTER_BILINEAR; |
| 90 | + |
| 91 | + UnsignedInt filter = TextureFilterClass::TEXTURE_FILTER_NONE; |
| 92 | + if (stricmp(it->second.str(), TextureFilterClass::TextureFilterModeString[TextureFilterClass::TEXTURE_FILTER_NONE]) == 0) |
| 93 | + filter = TextureFilterClass::TEXTURE_FILTER_NONE; |
| 94 | + else if(stricmp(it->second.str(), TextureFilterClass::TextureFilterModeString[TextureFilterClass::TEXTURE_FILTER_NONE]) == 0) |
| 95 | + filter = TextureFilterClass::TEXTURE_FILTER_POINT; |
| 96 | + else if (stricmp(it->second.str(), TextureFilterClass::TextureFilterModeString[TextureFilterClass::TEXTURE_FILTER_BILINEAR]) == 0) |
| 97 | + filter = TextureFilterClass::TEXTURE_FILTER_BILINEAR; |
| 98 | + else if (stricmp(it->second.str(), TextureFilterClass::TextureFilterModeString[TextureFilterClass::TEXTURE_FILTER_TRILINEAR]) == 0) |
| 99 | + filter = TextureFilterClass::TEXTURE_FILTER_TRILINEAR; |
| 100 | + else if (stricmp(it->second.str(), TextureFilterClass::TextureFilterModeString[TextureFilterClass::TEXTURE_FILTER_ANISOTROPIC]) == 0) |
| 101 | + filter = TextureFilterClass::TEXTURE_FILTER_ANISOTROPIC; |
| 102 | + |
| 103 | + return filter; |
| 104 | +} |
| 105 | + |
| 106 | +UnsignedInt OptionPreferences::getTextureAnisotropyLevel() const |
| 107 | +{ |
| 108 | + OptionPreferences::const_iterator it = find("AnisotropyLevel"); |
| 109 | + if (it == end()) |
| 110 | + return TextureFilterClass::TEXTURE_FILTER_ANISOTROPIC_2X; |
| 111 | + |
| 112 | + UnsignedInt level = atoi(it->second.str()); |
| 113 | + level = clamp((UnsignedInt)TextureFilterClass::TEXTURE_FILTER_ANISOTROPIC_2X, level, (UnsignedInt)TextureFilterClass::TEXTURE_FILTER_ANISOTROPIC_16X); |
| 114 | + level = highestBit(level); |
| 115 | + |
| 116 | + return level; |
| 117 | +} |
| 118 | + |
84 | 119 | Int OptionPreferences::getCampaignDifficulty() |
85 | 120 | { |
86 | 121 | OptionPreferences::const_iterator it = find("CampaignDifficulty"); |
|
0 commit comments