"Cannot import snapshot for %s. Current game is %s",
N_("Cannot import snapshot for %s. Current game is %s"),
bool CPUReadGSASnapshot(const char *fileName){  int i;  FILE *file = fopen(fileName, "rb");      if(!file) {    systemMessage(MSG_CANNOT_OPEN_FILE, "Cannot open file %s", fileName);    return false;  }    // check file size to know what we should read  fseek(file, 0, SEEK_END);  // long size = ftell(file);  fseek(file, 0x0, SEEK_SET);  fread(&i, 1, 4, file);  fseek(file, i, SEEK_CUR); // Skip SharkPortSave  fseek(file, 4, SEEK_CUR); // skip some sort of flag  fread(&i, 1, 4, file); // name length  fseek(file, i, SEEK_CUR); // skip name  fread(&i, 1, 4, file); // desc length  fseek(file, i, SEEK_CUR); // skip desc  fread(&i, 1, 4, file); // notes length  fseek(file, i, SEEK_CUR); // skip notes  int saveSize;  fread(&saveSize, 1, 4, file); // read length  saveSize -= 0x1c; // remove header size  char buffer[17];  char buffer2[17];  fread(buffer, 1, 16, file);  buffer[16] = 0;  for(i = 0; i < 16; i++)    if(buffer[i] < 32)      buffer[i] = 32;  memcpy(buffer2, &rom[0xa0], 16);  buffer2[16] = 0;  for(i = 0; i < 16; i++)    if(buffer2[i] < 32)      buffer2[i] = 32;    if(memcmp(buffer, buffer2, 16)) {    systemMessage(MSG_CANNOT_IMPORT_SNAPSHOT_FOR,                  "Cannot import snapshot for %s. Current game is %s",                  buffer,                  buffer2);    fclose(file);    return false;  }  fseek(file, 12, SEEK_CUR); // skip some flags  if(saveSize >= 65536) {    if(fread(flashSaveMemory, 1, saveSize, file) != (size_t)saveSize) {      fclose(file);      return false;    }  } else {    systemMessage(MSG_UNSUPPORTED_SNAPSHOT_FILE,                  "Unsupported snapshot file %s",                  fileName);    fclose(file);    return false;  }  fclose(file);  CPUReset();  return true;}