Bazaar developer reference

ExtractGUID(const char *, GUID &, UINT *)

Defined in
CvGameCoreUtils.cpp, line 1498
Hook name
CivHooks::ExtractGUID

Hooks

static bool BeforeExtractGUID(const char* pszGUID, GUID& kGUID, UINT* puiStartIndex, bool& result);static void AfterExtractGUID(const char* pszGUID, GUID& kGUID, UINT* puiStartIndex, bool& result);static bool ReplaceExtractGUID(bool (*original)(const char*, GUID&, UINT*), const char* pszGUID, GUID& kGUID, UINT* puiStartIndex);CivRegisterBefore<CivHooks::ExtractGUID>(host, &BeforeExtractGUID);CivRegisterAfter<CivHooks::ExtractGUID>(host, &AfterExtractGUID);CivRegisterReplace<CivHooks::ExtractGUID>(host, &ReplaceExtractGUID);

Code

1498bool ExtractGUID(const char* pszGUID, GUID& kGUID, UINT* puiStartIndex /* = NULL */)1499{1500	if(pszGUID)1501	{1502		UINT uiIndex = (puiStartIndex != NULL)?(*puiStartIndex):0;15031504		if(GetGUIDSegment(pszGUID, &uiIndex, kGUID.Data1))1505		{1506			if(GetGUIDSegment(pszGUID, &uiIndex, kGUID.Data2))1507			{1508				if(GetGUIDSegment(pszGUID, &uiIndex, kGUID.Data3))1509				{1510					for(int iByte = 0; iByte < 8; ++iByte)1511					{1512						if(!GetGUIDSegment(pszGUID, &uiIndex, kGUID.Data4[iByte]))1513						{1514							return false;1515						}1516					}15171518					if(puiStartIndex)1519						*puiStartIndex = uiIndex;1520					return true;1521				}1522			}1523		}1524	}15251526	return false;1527}

Calls

Called by