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