4040#include " texturefilter.h"
4141#include " dx8wrapper.h"
4242
43+ const char * const TextureFilterClass::TextureFilterModeString[TEXTURE_FILTER_COUNT] = {
44+ " None" ,
45+ " Point" ,
46+ " Bilinear" ,
47+ " Trilinear" ,
48+ " Anisotropic"
49+ };
50+
51+ TextureFilterClass::TextureFilterMode TextureFilterClass::getTextureFilterMode (const char * str) {
52+ for (int i = 0 ; i < TextureFilterClass::TEXTURE_FILTER_COUNT; ++i) {
53+ if (stricmp (str, TextureFilterClass::TextureFilterModeString[i]) == 0 ) {
54+ return (TextureFilterClass::TextureFilterMode)i;
55+ }
56+ }
57+
58+ return TextureFilterClass::TEXTURE_FILTER_NONE;
59+ }
60+
4361unsigned _MinTextureFilters[MAX_TEXTURE_STAGES][TextureFilterClass::FILTER_TYPE_COUNT];
4462unsigned _MagTextureFilters[MAX_TEXTURE_STAGES][TextureFilterClass::FILTER_TYPE_COUNT];
4563unsigned _MipMapFilters[MAX_TEXTURE_STAGES][TextureFilterClass::FILTER_TYPE_COUNT];
@@ -100,7 +118,7 @@ void TextureFilterClass::Apply(unsigned int stage)
100118// ! Init filters (legacy)
101119/* !
102120*/
103- void TextureFilterClass::_Init_Filters (TextureFilterMode filter_type )
121+ void TextureFilterClass::_Init_Filters (TextureFilterMode texture_filter, AnisotropicFilterMode anisotropy_level )
104122{
105123 const D3DCAPS8& dx8caps=DX8Wrapper::Get_Current_Caps ()->Get_DX8_Caps ();
106124
@@ -122,7 +140,7 @@ void TextureFilterClass::_Init_Filters(TextureFilterMode filter_type)
122140 // TheSuperHackers @feature Mauller 08/03/2026 Add full support for all texture filtering modes;
123141 // None, Point, Bilinear, Trilinear, Anisotropic.
124142 BOOL FilterSupported = false ;
125- switch (filter_type ) {
143+ switch (texture_filter ) {
126144
127145 default :
128146 // TheSuperHackers @info if we have an invalid filter_type, set the filtering to none
@@ -201,8 +219,8 @@ void TextureFilterClass::_Init_Filters(TextureFilterMode filter_type)
201219 _MinTextureFilters[0 ][FILTER_TYPE_BEST]=D3DTEXF_ANISOTROPIC;
202220 _MagTextureFilters[0 ][FILTER_TYPE_BEST]=D3DTEXF_ANISOTROPIC;
203221
204- // Set the Anisotropic filtering level for all stages - 2X by default
205- _Set_Max_Anisotropy (TEXTURE_FILTER_ANISOTROPIC_2X );
222+ // Set the Anisotropic filtering level for all stages
223+ _Set_Max_Anisotropy (anisotropy_level );
206224 }
207225 else {
208226 _MinTextureFilters[0 ][FILTER_TYPE_BEST]=D3DTEXF_POINT;
0 commit comments