#endif
#include "srtc.h"
#include "sdd1.h"
+#include "screenshot.h"
#define dprintf(...) /* disabled */
static void Freeze ();
static int Unfreeze ();
-static void FreezeSnapshot (const char *name);
static void FreezeStruct (const char *name, void *base, FreezeData *fields,
int num_fields);
static void FreezeBlock (const char *name, uint8 *block, int size);
if (Settings.SuperFX)
S9xSuperFXPostSaveState ();
#endif
+#ifdef CONF_PNG
+ /* Save a PNG screenshot for convenience. */
+ size_t png_size;
+ uint8 *png = (uint8*) S9xScreenshot(&png_size);
+ if (png) {
+ FreezeBlock("PNG", png, png_size);
+ free(png);
+ }
+#endif
}
static int Unfreeze()
FreezeBlock (name, block, len);
- delete block;
+ delete[] block;
}
void FreezeBlock (const char *name, uint8 *block, int size)
if ((result = UnfreezeBlock (name, block, len)) != SUCCESS)
{
- free(block);
+ delete[] block;
return (result);
}
}
}
- delete block;
+ delete[] block;
return (result);
}
if (rem)
{
- char *junk = (char*)malloc(rem);
+ char *junk = new char [rem];
READ_STREAM(junk, rem, ss_st);
- free(junk);
+ delete[] junk;
}
return SUCCESS;