// Load the state of the event system bool eventLoadState(const char *pFilename) { WzConfig ini(pFilename, WzConfig::ReadOnly); // load the event contexts if (!eventLoadContext(ini) || !eventLoadTriggerList(ini, "trig") || !eventLoadTriggerList(ini, "callback")) { return false; } return true; }
// Load the state of the event system bool eventLoadState(char *pBuffer, UDWORD fileSize) { UDWORD size, totalSize, version; char *pPos; EVENT_SAVE_HDR *psHdr; pPos = pBuffer; totalSize = 0; // Get the header psHdr = (EVENT_SAVE_HDR *)pPos; endian_udword(&psHdr->version); ASSERT_OR_RETURN(false, strncmp(psHdr->aFileType, "evnt", 4) == 0, "Invalid file header"); version = psHdr->version; pPos += sizeof(EVENT_SAVE_HDR); totalSize += sizeof(EVENT_SAVE_HDR); // load the event contexts if (!eventLoadContext(version, pPos, &size)) { return false; } pPos += size; totalSize += size; // load the normal triggers if (!eventLoadTriggerList(version, pPos, &size)) { return false; } pPos += size; totalSize += size; // load the callback triggers if (!eventLoadTriggerList(version, pPos, &size)) { return false; } pPos += size; totalSize += size; if (totalSize != fileSize) { debug( LOG_FATAL, "eventLoadState: corrupt save file" ); abort(); return false; } return true; }
// Load the state of the event system BOOL eventLoadState(char *pBuffer, UDWORD fileSize, BOOL bHashed) { UDWORD size, totalSize, version; char *pPos; EVENT_SAVE_HDR *psHdr; pPos = pBuffer; totalSize = 0; // Get the header psHdr = (EVENT_SAVE_HDR *)pPos; endian_udword(&psHdr->version); if (strncmp(psHdr->aFileType, "evnt", 4) != 0) { debug( LOG_FATAL, "eventLoadState: invalid file header" ); abort(); return false; } /* if ((psHdr->version != 1) && (psHdr->version != 2)) { DBERROR(("eventLoadState: invalid file version")); return false; }*/ version = psHdr->version; pPos += sizeof(EVENT_SAVE_HDR); totalSize += sizeof(EVENT_SAVE_HDR); // load the event contexts if (!eventLoadContext(version, pPos, &size, bHashed)) { return false; } pPos += size; totalSize += size; // load the normal triggers if (!eventLoadTriggerList(version, pPos, &size)) { return false; } pPos += size; totalSize += size; // load the callback triggers if (!eventLoadTriggerList(version, pPos, &size)) { return false; } pPos += size; totalSize += size; if (totalSize != fileSize) { debug( LOG_FATAL, "eventLoadState: corrupt save file" ); abort(); return false; } return true; }