diff --git a/src/core/config.h b/src/core/config.h index 58bc9ffd..02356e6e 100644 --- a/src/core/config.h +++ b/src/core/config.h @@ -265,6 +265,7 @@ enum Config { #define IMPROVED_VIDEOMODE // save and load videomode parameters instead of a magic number //#define DISABLE_LOADING_SCREEN // disable the loading screen which vastly improves the loading time #define DISABLE_VSYNC_ON_TEXTURE_CONVERSION // make texture conversion work faster by disabling vsync +#define ANISOTROPIC_FILTERING // set all textures to max anisotropic filtering //#define USE_TEXTURE_POOL #ifdef LIBRW #define EXTENDED_COLOURFILTER // more options for colour filter (replaces mblur) diff --git a/src/core/main.cpp b/src/core/main.cpp index 7f73c311..b2f2fbfa 100644 --- a/src/core/main.cpp +++ b/src/core/main.cpp @@ -3,7 +3,7 @@ #include "rphanim.h" #include "rpskin.h" #include "rtbmp.h" -#ifndef LIBRW +#ifdef ANISOTROPIC_FILTERING #include "rpanisot.h" #endif @@ -406,7 +406,7 @@ PluginAttach(void) return FALSE; } -#ifndef LIBRW +#ifdef ANISOTROPIC_FILTERING RpAnisotPluginAttach(); #endif #ifdef EXTENDED_PIPELINES diff --git a/src/fakerw/fake.cpp b/src/fakerw/fake.cpp index 835cb849..768c11f4 100644 --- a/src/fakerw/fake.cpp +++ b/src/fakerw/fake.cpp @@ -967,3 +967,12 @@ RtCharset *RtCharsetSetColors(RtCharset * charSet, const RwRGBA * foreGround, RtCharset *RtCharsetGetDesc(RtCharset * charset, RtCharsetDesc * desc) { *desc = charset->desc; return charset; } RtCharset *RtCharsetCreate(const RwRGBA * foreGround, const RwRGBA * backGround) { return Charset::create(foreGround, backGround); } RwBool RtCharsetDestroy(RtCharset * charSet) { charSet->destroy(); return true; } + + + +#include + +RwInt8 RpAnisotGetMaxSupportedMaxAnisotropy(void) { return rw::getMaxSupportedMaxAnisotropy(); } +RwTexture *RpAnisotTextureSetMaxAnisotropy(RwTexture *tex, RwInt8 val) { tex->setMaxAnisotropy(val); return tex; } +RwInt8 RpAnisotTextureGetMaxAnisotropy(RwTexture *tex) { return tex->getMaxAnisotropy(); } +RwBool RpAnisotPluginAttach(void) { rw::registerAnisotropyPlugin(); return true; } diff --git a/src/fakerw/rpanisot.h b/src/fakerw/rpanisot.h new file mode 100644 index 00000000..a886512f --- /dev/null +++ b/src/fakerw/rpanisot.h @@ -0,0 +1,6 @@ +#pragma once + +RwInt8 RpAnisotGetMaxSupportedMaxAnisotropy(void); +RwTexture *RpAnisotTextureSetMaxAnisotropy(RwTexture *tex, RwInt8 val); +RwInt8 RpAnisotTextureGetMaxAnisotropy(RwTexture *tex); +RwBool RpAnisotPluginAttach(void); diff --git a/src/peds/PedAI.cpp b/src/peds/PedAI.cpp index a28ded8c..cd1befd9 100644 --- a/src/peds/PedAI.cpp +++ b/src/peds/PedAI.cpp @@ -6334,7 +6334,6 @@ CPed::PositionAnyPedOutOfCollision(void) int smallestDistNearVeh = 999; int smallestDistSomewhereClose = 999; - CVector vehPos = m_pMyVehicle->GetPosition(); CVector potentialPos; potentialPos.y = GetPosition().y - 3.5f; potentialPos.z = GetPosition().z; diff --git a/src/rw/TexRead.cpp b/src/rw/TexRead.cpp index c5252f77..632cec02 100644 --- a/src/rw/TexRead.cpp +++ b/src/rw/TexRead.cpp @@ -5,7 +5,7 @@ #define WITHD3D #endif #include "common.h" -#ifndef LIBRW +#ifdef ANISOTROPIC_FILTERING #include "rpanisot.h" #endif #include "crossplatform.h" @@ -55,12 +55,9 @@ RwTextureGtaStreamRead(RwStream *stream) texNumLoaded++; } - if(tex == nil) - return nil; - -#ifndef LIBRW - if(RpAnisotTextureGetMaxAnisotropy(tex) > 1) - RpAnisotTextureSetMaxAnisotropy(tex, RpAnisotTextureGetMaxAnisotropy(tex)); +#ifdef ANISOTROPIC_FILTERING + if(tex && RpAnisotGetMaxSupportedMaxAnisotropy() > 1) // BUG? this was RpAnisotTextureGetMaxAnisotropy, but that doesn't make much sense + RpAnisotTextureSetMaxAnisotropy(tex, RpAnisotGetMaxSupportedMaxAnisotropy()); #endif return tex; diff --git a/vendor/librw b/vendor/librw index 9260bddc..60a5ace1 160000 --- a/vendor/librw +++ b/vendor/librw @@ -1 +1 @@ -Subproject commit 9260bddc66f70eb51adf0749fa835fed1562c178 +Subproject commit 60a5ace16309ccd3d174a3ec14a1062540934066