void gpuShowPic() { char Text[255]; gzFile f; if (!ShowPic) { unsigned char *pMem; pMem = (unsigned char *) malloc(128*96*3); if (pMem == NULL) return; GetStateFilename(Text, StatesC); GPU_freeze(2, (GPUFreeze_t *)&StatesC); f = gzopen(Text, "rb"); if (f != NULL) { gzseek(f, 32, SEEK_SET); // skip header gzseek(f, sizeof(u32), SEEK_CUR); gzseek(f, sizeof(boolean), SEEK_CUR); gzread(f, pMem, 128*96*3); gzclose(f); } else { memcpy(pMem, NoPic_Image.pixel_data, 128*96*3); DrawNumBorPic(pMem, StatesC+1); } GPU_showScreenPic(pMem); free(pMem); ShowPic = 1; } else { GPU_showScreenPic(NULL); ShowPic = 0; } }
void gpuShowPic() { char Text[255]; gzFile f; if (!ShowPic) { unsigned char *pMem; pMem = (unsigned char *) malloc(128*96*3); if (pMem == NULL) return; sprintf(Text, "sstates\\%10.10s.%3.3d", CdromLabel, StatesC); GPU_freeze(2, (GPUFreeze_t *)&StatesC); f = gzopen(Text, "rb"); if (f != NULL) { gzseek(f, 32, SEEK_SET); // skip header gzread(f, pMem, 128*96*3); gzclose(f); } else { memcpy(pMem, NoPic_Image.pixel_data, 128*96*3); DrawNumBorPic(pMem, StatesC+1); } GPU_showScreenPic(pMem); free(pMem); ShowPic = 1; } else { GPU_showScreenPic(NULL); ShowPic = 0; } }