extensions/sdktools/vhelpers.cpp
changeset 3858 1f2595deaf77
parent 3816 31650bb3c7e8
child 3859 4e43bcc83a54
     1.1 --- a/extensions/sdktools/vhelpers.cpp	Tue Mar 19 11:22:52 2013 -0400
     1.2 +++ b/extensions/sdktools/vhelpers.cpp	Tue Mar 19 11:24:01 2013 -0400
     1.3 @@ -786,6 +786,7 @@
     1.4  
     1.5  	fprintf(fp, "//\n\n");
     1.6  
     1.7 +	static int offsEFlags = -1;
     1.8  	for ( int i = dict->m_Factories.First(); i != dict->m_Factories.InvalidIndex(); i = dict->m_Factories.Next( i ) )
     1.9  	{
    1.10  		IServerNetworkable *entity = dict->Create(dict->m_Factories.GetElementName(i));
    1.11 @@ -796,14 +797,19 @@
    1.12  
    1.13  		UTIL_DrawDataTable(fp, pMap, 0);
    1.14  
    1.15 -		typedescription_t *datamap = gamehelpers->FindInDataMap(pMap, "m_iEFlags");
    1.16 +		if (offsEFlags == -1)
    1.17 +		{
    1.18 +			typedescription_t *datamap = gamehelpers->FindInDataMap(pMap, "m_iEFlags");
    1.19  		
    1.20 -		if (!datamap)
    1.21 -		{
    1.22 -			continue;
    1.23 +			if (!datamap)
    1.24 +			{
    1.25 +				continue;
    1.26 +			}
    1.27 +
    1.28 +			offsEFlags = GetTypeDescOffs(datamap);
    1.29  		}
    1.30  		
    1.31 -		int *eflags = (int *)((char *)entity->GetBaseEntity() + GetTypeDescOffs(datamap));
    1.32 +		int *eflags = (int *)((char *)entity->GetBaseEntity() + offsEFlags);
    1.33  		*eflags |= (1<<0); // EFL_KILLME
    1.34  	}
    1.35