From bb640c48ec9b6c66b8e345860425de88bbd44ae3 Mon Sep 17 00:00:00 2001 From: MaccerTW Date: Sun, 18 Apr 2010 17:55:06 -0700 Subject: [PATCH] engineLoadTXD ( string txd, bool bFilteringEnabled ) : Added an additional param to engineLoadTXD which toggles filtering. --- MTA10/mods/shared_logic/CClientObject.cpp | 4 ++-- MTA10/mods/shared_logic/CClientTXD.cpp | 5 +++-- MTA10/mods/shared_logic/CClientTXD.h | 2 +- MTA10/mods/shared_logic/lua/CLuaFunctionDefs.Engine.cpp | 9 +++++++-- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/MTA10/mods/shared_logic/CClientObject.cpp b/MTA10/mods/shared_logic/CClientObject.cpp index 722044eec2..e3d4caab93 100644 --- a/MTA10/mods/shared_logic/CClientObject.cpp +++ b/MTA10/mods/shared_logic/CClientObject.cpp @@ -330,8 +330,8 @@ void CClientObject::StreamIn ( bool bInstantly ) void CClientObject::StreamOut ( void ) -{ - // Destroy the object. +{ + // Destroy the object. Destroy (); // Cancel anything we might've requested. diff --git a/MTA10/mods/shared_logic/CClientTXD.cpp b/MTA10/mods/shared_logic/CClientTXD.cpp index 6efb8c4202..73d201dfef 100644 --- a/MTA10/mods/shared_logic/CClientTXD.cpp +++ b/MTA10/mods/shared_logic/CClientTXD.cpp @@ -41,7 +41,7 @@ CClientTXD::~CClientTXD ( void ) } -bool CClientTXD::LoadTXD ( const char* szFile ) +bool CClientTXD::LoadTXD ( const char* szFile, bool bFilteringEnabled ) { // Are we not already loaded? if ( m_Textures.empty () ) @@ -58,7 +58,8 @@ bool CClientTXD::LoadTXD ( const char* szFile ) RwTexture* pTex = (RwTexture *)( (BYTE *)pTexLink - offsetof(RwTexture, TXDList) ); m_Textures.push_back ( pTex ); pTex->txd = NULL; - pTex->flags = 0x1102; // Enable filtering (otherwise textures are pixely) + if ( bFilteringEnabled ) + pTex->flags = 0x1102; // Enable filtering (otherwise textures are pixely) pTexLink = pTexLink->next; } diff --git a/MTA10/mods/shared_logic/CClientTXD.h b/MTA10/mods/shared_logic/CClientTXD.h index f8da63bd24..c18a43b9ac 100644 --- a/MTA10/mods/shared_logic/CClientTXD.h +++ b/MTA10/mods/shared_logic/CClientTXD.h @@ -23,7 +23,7 @@ class CClientTXD: public CClientEntity eClientEntityType GetType ( void ) const { return CCLIENTTXD; } - bool LoadTXD ( const char* szFile ); + bool LoadTXD ( const char* szFile, bool bFilteringEnabled = true ); void UnloadTXD ( void ); inline bool IsLoaded ( void ) { return !m_Textures.empty (); } diff --git a/MTA10/mods/shared_logic/lua/CLuaFunctionDefs.Engine.cpp b/MTA10/mods/shared_logic/lua/CLuaFunctionDefs.Engine.cpp index 2824bed151..072d33c88b 100644 --- a/MTA10/mods/shared_logic/lua/CLuaFunctionDefs.Engine.cpp +++ b/MTA10/mods/shared_logic/lua/CLuaFunctionDefs.Engine.cpp @@ -136,9 +136,14 @@ int CLuaFunctionDefs::EngineLoadTXD ( lua_State* luaVM ) CResource* pResource = pLuaMain->GetResource (); if ( pResource ) { - // Grab the filename + bool bFilteringEnabled = true; + + // Grab the filename SString strFile = ( lua_istype ( luaVM, 1, LUA_TSTRING ) ? lua_tostring ( luaVM, 1 ) : "" ); + if ( lua_type ( luaVM, 2 ) == LUA_TBOOLEAN ) + bFilteringEnabled = ( lua_toboolean ( luaVM, 2 ) ) ? true:false; + SString strPath; // Is this a legal filepath? if ( CResourceManager::ParseResourcePathInput( strFile, pResource, strPath ) ) @@ -150,7 +155,7 @@ int CLuaFunctionDefs::EngineLoadTXD ( lua_State* luaVM ) CClientTXD* pTXD = new CClientTXD ( m_pManager, INVALID_ELEMENT_ID ); // Try to load the TXD file - if ( pTXD->LoadTXD ( strPath ) ) + if ( pTXD->LoadTXD ( strPath, bFilteringEnabled ) ) { // Success loading the file. Set parent to TXD root pTXD->SetParent ( pRoot );