bool Image::load(File* file) { initTable(); _width = 0; _height = 0; _bits = NULL; _flags = 0xFFFFFF; if (file) { bool loaded = false; file->seek(0, SEEK_SET); if (!loaded) loaded = loadGIF(file); file->seek(0, SEEK_SET); if (!loaded) loaded = loadPNG(file); file->seek(0, SEEK_SET); if (!loaded) loaded = loadTGA(file); file->seek(0, SEEK_SET); if (!loaded) loaded = loadBIN(file); file->seek(0, SEEK_SET); if (!loaded) loaded = loadBLP(file); file->seek(0, SEEK_SET); if (!loaded) loaded = loadBLP2(file); if (!loaded) { delete[] _bits; _bits = NULL; _width = 0; _height = 0; _flags = 0; } else updateAlpha(); return loaded; } return false; }
CAgentLogger::CAgentLogger(char *loadFile, CStateProperties *properties, CActionSet *actions, std::list<CStateModifier *> *modifiers) : CStateModifiersObject(properties), CEpisodeHistory(properties, actions) { init(); FILE* load = fopen(loadFile, "rb"); sprintf(loadFileName, "%s", loadFile); // setmode(load, _O_BINARY); if (modifiers) { addStateModifiers(modifiers); loadModifiers = new std::list<CStateModifier *>(*modifiers); } else { loadModifiers = NULL; } this->holdMemory = -1; loadBIN(load, loadModifiers); fclose(load); }
CRewardLogger::CRewardLogger(char *loadFile, CRewardFunction *reward) : CSemiMDPRewardListener(reward) { init(); FILE* load = fopen(loadFile, "rb"); // setmode(load, _O_BINARY); sprintf(loadFileName, "%s", loadFile); this->holdMemory = -1; loadBIN(load); fclose(load); }
void CAgentLogger::resetData() { for (std::list<CEpisode *>::iterator it = episodes->begin(); it != episodes->end(); it++) { delete *it; } if (currentEpisode != NULL) { delete currentEpisode; currentEpisode = NULL; } episodes->clear(); if (strlen(loadFileName) > 0) { FILE* load = fopen(loadFileName, "rb"); loadBIN(load, loadModifiers); fclose(load); } }