View Single Post
gubka
Veteran Member
Join Date: Jan 2012
Location: Russia
Old 03-14-2019 , 07:25   Re: [CS:GO] Uncache all particles for custom maps
Reply With Quote #11

Quote:
Originally Posted by SHUFEN.jp View Post
We fixed this problem for Windows, since 4 years ago.
Concretely, It is able via CParticleSystemDefinition::Uncache and CUtlSymbolTable::RemoveAll.
Uncache useless i like understand, and not exist on windows is well, now fix works well on any platform

I think only destrucor and clear tables is the good and simple solution
PHP Code:
int __cdecl CParticleSystemDictionary::~CParticleSystemDictionary(CParticleSystemDictionary *this)
{
  
int v1// eax
  
bool v2// zf
  
bool v3// sf
  
int v4// eax
  
int v5// esi
  
void *v6// ebx
  
int v7// edx
  
int v8// eax
  
int v9// eax
  
int v11// [esp+1Ch] [ebp-1Ch]

  
v1 = *((_DWORD *)this 22);
  
v2 v1 == 0;
  
v3 v1 0;
  
v11 = *((_DWORD *)this 22);
  
v4 = *((_DWORD *)this 19);
  if ( !
v3 && !v2 )
  {
    
v5 0;
    do
    {
      
v6 = *(void **)(v4 v5);
      if ( 
v6 )
      {
        
CParticleSystemDefinition::~CParticleSystemDefinition(*(CParticleSystemDefinition ****)(v4 v5));
        
operator delete(v6);
        
v4 = *((_DWORD *)this 19);
      }
      ++
v5;
    }
    while ( 
v5 != v11 );
  }
  
v7 = *((_DWORD *)this 21);
  *((
_DWORD *)this 22) = 0;
  if ( 
v7 >= )
  {
    if ( 
v4 )
    {
      (*(
void (__cdecl **)(_DWORDint))(*g_pMemAlloc 8))(g_pMemAllocv4);
      *((
_DWORD *)this 19) = 0;
    }
    *((
_DWORD *)this 20) = 0;
    
v4 0;
  }
  *((
_DWORD *)this 23) = v4;
  
CUtlMemory<CParticleSystemDefinition *,int>::~CUtlMemory((int *)this 19);
  
CUtlSymbolTable::~CUtlSymbolTable((CParticleSystemDictionary *)((char *)this 20));
  
v8 = *((_DWORD *)this 2);
  *((
_DWORD *)this 3) = 0;
  
v3 v8 0;
  
v9 = *(_DWORD *)this;
  if ( !
v3 )
  {
    if ( 
v9 )
    {
      (*(
void (__cdecl **)(_DWORDint))(*g_pMemAlloc 8))(g_pMemAlloc, *(_DWORD *)this);
      *(
_DWORD *)this 0;
    }
    *((
_DWORD *)this 1) = 0;
    
v9 0;
  }
  *((
_DWORD *)this 4) = v9;
  return 
CUtlMemory<CParticleSystemDefinition *,int>::~CUtlMemory((int *)this);

__________________
gubka is offline
Send a message via ICQ to gubka