drc: starting arm64 support
[pcsx_rearmed.git] / libpcsxcore / psxcommon.h
index 2a3877b..c9d300a 100644 (file)
@@ -31,6 +31,13 @@ extern "C" {
 
 #include "config.h"
 
+// XXX: don't care but maybe fix it someday
+#if defined(__GNUC__) && __GNUC__ >= 8
+#pragma GCC diagnostic ignored "-Wformat-truncation"
+#pragma GCC diagnostic ignored "-Wformat-overflow"
+#pragma GCC diagnostic ignored "-Wstringop-truncation"
+#endif
+
 // System includes
 #include <stdio.h>
 #include <string.h>
@@ -42,7 +49,6 @@ extern "C" {
 #include <ctype.h>
 #include <sys/types.h>
 #include <assert.h>
-#include <zlib.h>
 
 // Define types
 typedef int8_t s8;
@@ -126,7 +132,7 @@ typedef struct {
        boolean RCntFix;
        boolean UseNet;
        boolean VSyncWA;
-       boolean CdrReschedule;
+       boolean icache_emulation;
        u8 Cpu; // CPU_DYNAREC or CPU_INTERPRETER
        u8 PsxType; // PSX_TYPE_NTSC or PSX_TYPE_PAL
 #ifdef _WIN32
@@ -137,9 +143,18 @@ typedef struct {
 extern PcsxConfig Config;
 extern boolean NetOpened;
 
+struct PcsxSaveFuncs {
+       void *(*open)(const char *name, const char *mode);
+       int   (*read)(void *file, void *buf, u32 len);
+       int   (*write)(void *file, const void *buf, u32 len);
+       long  (*seek)(void *file, long offs, int whence);
+       void  (*close)(void *file);
+};
+extern struct PcsxSaveFuncs SaveFuncs;
+
 #define gzfreeze(ptr, size) { \
-       if (Mode == 1) gzwrite(f, ptr, size); \
-       if (Mode == 0) gzread(f, ptr, size); \
+       if (Mode == 1) SaveFuncs.write(f, ptr, size); \
+       if (Mode == 0) SaveFuncs.read(f, ptr, size); \
 }
 
 // Make the timing events trigger faster as we are currently assuming everything