// Called before render is available bool j1FileSystem::Awake(pugi::xml_node& config) { LOG("Loading File System"); bool ret = true; // Add all paths in configuration in order for(pugi::xml_node path = config.child("path"); path; path = path.next_sibling("path")) { AddPath(path.child_value()); } // Ask SDL for a write dir char* write_path = SDL_GetPrefPath(App->GetOrganization(), App->GetTitle()); if(PHYSFS_setWriteDir(write_path) == 0) LOG("File System error while creating write dir: %s\n", PHYSFS_getLastError()); else { // We add the writing directory as a reading directory too with speacial mount point LOG("Writing directory is %s\n", write_path); AddPath(write_path, GetSaveDirectory()); } SDL_free(write_path); return ret; }
bool j1FileSystem::SaveFileExists() { p2SString save_file("%ssave_state", GetSaveDirectory()); return Exists(save_file.GetString()); }