Have SDKTools use IServerTools to get ent facts where available (bug 5968, r=asherkin).

This commit is contained in:
Nicholas Hastings 2013-10-29 18:59:36 -04:00
parent 31aa230cba
commit c9c147a814

View File

@ -521,6 +521,12 @@ CON_COMMAND(sm_dump_classes, "Dumps the class list as a text file")
return; return;
} }
CEntityFactoryDictionary *dict = NULL;
#if SOURCE_ENGINE == SE_TF2 || SOURCE_ENGINE == SE_CSS || SOURCE_ENGINE == SE_DODS || SOURCE_ENGINE == SE_HL2DM || SOURCE_ENGINE == SE_SDK2013
dict = (CEntityFactoryDictionary *)servertools->GetEntityFactoryDictionary();
#else
ICallWrapper *pWrapper = NULL; ICallWrapper *pWrapper = NULL;
if (!pWrapper) if (!pWrapper)
@ -540,21 +546,13 @@ CON_COMMAND(sm_dump_classes, "Dumps the class list as a text file")
pWrapper = g_pBinTools->CreateCall(addr, CallConv_Cdecl, &retData, NULL, 0); pWrapper = g_pBinTools->CreateCall(addr, CallConv_Cdecl, &retData, NULL, 0);
} }
pWrapper->Execute(NULL, &dict);
void *returnData = NULL;
pWrapper->Execute(NULL, &returnData);
pWrapper->Destroy(); pWrapper->Destroy();
if (returnData == NULL) #endif
{
return;
}
CEntityFactoryDictionary *dict = ( CEntityFactoryDictionary * )returnData; if (dict == NULL)
if ( !dict )
{ {
return; return;
} }