rlm@1: #ifndef VBA_UTIL_H rlm@1: #define VBA_UTIL_H rlm@1: rlm@1: #if _MSC_VER > 1000 rlm@1: #pragma once rlm@1: #endif // _MSC_VER > 1000 rlm@1: rlm@1: #include "zlib.h" rlm@1: #include "../Port.h" rlm@1: rlm@1: enum IMAGE_TYPE rlm@1: { rlm@1: IMAGE_UNKNOWN = -1, rlm@1: IMAGE_GBA = 0, rlm@1: IMAGE_GB = 1 rlm@1: }; rlm@1: rlm@1: // save game rlm@1: rlm@1: typedef struct rlm@1: { rlm@1: void *address; rlm@1: int size; rlm@1: } variable_desc; rlm@1: rlm@1: extern void utilWriteBMP(u8 *out, int w, int h, int dstDepth, u8 *in); rlm@1: extern bool utilWriteBMPFile(const char *, int, int, u8 *); rlm@1: extern bool utilWritePNGFile(const char *, int, int, u8 *); rlm@1: extern void utilApplyIPS(const char *ips, u8 * *rom, int *size); rlm@1: extern bool utilIsGBAImage(const char *); rlm@1: extern bool utilIsGBABios(const char *file); rlm@1: extern bool utilIsELF(const char *file); rlm@1: extern bool utilIsGBImage(const char *); rlm@1: extern bool utilIsGBBios(const char *file); rlm@1: extern bool utilIsZipFile(const char *); rlm@1: extern bool utilIsGzipFile(const char *); rlm@1: extern bool utilIsRarFile(const char *); rlm@1: extern void utilGetBaseName(const char *, char *); rlm@1: extern IMAGE_TYPE utilFindType(const char *); rlm@1: extern u8 * utilLoad(const char *, bool (*)(const char *), u8 *, int &); rlm@1: extern void utilPutDword(u8 *, u32); rlm@1: extern void utilPutWord(u8 *, u16); rlm@1: extern void utilWriteData(gzFile, variable_desc *); rlm@1: extern void utilReadData(gzFile, variable_desc *); rlm@1: extern int32 utilReadInt(gzFile); rlm@1: extern void utilWriteInt(gzFile, int32); rlm@1: extern gzFile utilGzOpen(const char *file, const char *mode); rlm@1: extern gzFile utilGzReopen(int id, const char *mode); rlm@1: extern gzFile utilMemGzOpen(char *memory, int available, char *mode); rlm@1: extern int utilGzWrite(gzFile file, voidp buffer, unsigned int len); rlm@1: extern int utilGzRead(gzFile file, voidp buffer, unsigned int len); rlm@1: extern int utilGzClose(gzFile file); rlm@1: extern z_off_t utilGzSeek(gzFile file, z_off_t offset, int whence); rlm@1: extern z_off_t utilGzTell(gzFile file); rlm@1: extern void utilGBAFindSave(const u8 *, const int); rlm@1: extern void utilUpdateSystemColorMaps(); rlm@1: extern bool utilLoadBIOS(u8 *bios, const char *biosFileName, int systemType); rlm@1: extern bool utilCheckBIOS(const char *biosFileName, int systemType); rlm@1: extern u16 utilCalcBIOSChecksum(const u8 *bios, int systemType); rlm@1: extern u16 utilCalcBIOSFileChecksum(const char *biosFileName, int systemType); rlm@1: rlm@1: extern int gzWrite(gzFile file, void* buf, unsigned len); rlm@1: rlm@1: #endif // VBA_UTIL_H