X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=plugins%2Fcdrcimg%2Fcdrcimg.c;h=007e96b96d02eccf2bf82197a1920aff3fd2efb2;hb=d526ed8c645d7e2147b7d454f29d123b4cfa311d;hp=cf550731da667a3df209e00208ea780a6a4dad79;hpb=6c6531cba4c06324bb309bd3ed8e7551be1cc3fe;p=pcsx_rearmed.git diff --git a/plugins/cdrcimg/cdrcimg.c b/plugins/cdrcimg/cdrcimg.c index cf550731..007e96b9 100644 --- a/plugins/cdrcimg/cdrcimg.c +++ b/plugins/cdrcimg/cdrcimg.c @@ -8,11 +8,21 @@ * See the COPYING file in the top-level directory. */ +#include + #include #include #include #include +#ifndef _WIN32 +#define CALLBACK +#ifndef NO_DYLIB #include +#endif +#else +#define WIN32_LEAN_AND_MEAN +#include +#endif #include "cdrcimg.h" @@ -44,12 +54,12 @@ static struct { static int current_block, current_sect_in_blk; struct CdrStat; -extern long CDR__getStatus(struct CdrStat *stat); +extern long CALLBACK CDR__getStatus(struct CdrStat *stat); struct CdrStat { - unsigned long Type; - unsigned long Status; + unsigned int Type; + unsigned int Status; unsigned char Time[3]; // current playing time }; @@ -92,7 +102,7 @@ static long CDRgetTD(unsigned char track, unsigned char *buffer) return 0; } -int uncompress2(void *out, unsigned long *out_size, void *in, unsigned long in_size) +static int uncompress2_pcsx(void *out, unsigned long *out_size, void *in, unsigned long in_size) { static z_stream z; int ret = 0; @@ -193,7 +203,7 @@ static long CDRreadTrack(unsigned char *time) ret = uncompress(cdbuffer->raw[0], &cdbuffer_size, cdbuffer->compressed, size); break; case CDRC_ZLIB2: - ret = uncompress2(cdbuffer->raw[0], &cdbuffer_size, cdbuffer->compressed, size); + ret = uncompress2_pcsx(cdbuffer->raw[0], &cdbuffer_size, cdbuffer->compressed, size); break; case CDRC_BZ: ret = pBZ2_bzBuffToBuffDecompress((char *)cdbuffer->raw, (unsigned int *)&cdbuffer_size, @@ -279,6 +289,7 @@ static long CDRinit(void) return -1; } } +#if !defined(_WIN32) && !defined(NO_DYLIB) if (pBZ2_bzBuffToBuffDecompress == NULL) { void *h = dlopen("/usr/lib/libbz2.so.1", RTLD_LAZY); if (h == NULL) @@ -291,6 +302,7 @@ static long CDRinit(void) } } } +#endif return 0; } @@ -311,7 +323,7 @@ static long handle_eboot(void) int i, ret; FILE *f; - f = fopen(cd_fname, "rb"); + f = fopen_utf8(cd_fname, "rb"); if (f == NULL) { err("missing file: %s: ", cd_fname); perror(NULL); @@ -450,7 +462,7 @@ static long CDRopen(void) return -1; } - f = fopen(table_fname, "rb"); + f = fopen_utf8(table_fname, "rb"); if (f == NULL) { err("missing file: %s: ", table_fname); perror(NULL); @@ -515,7 +527,7 @@ static long CDRopen(void) break; } - cd_file = fopen(cd_fname, "rb"); + cd_file = fopen_utf8(cd_fname, "rb"); if (cd_file == NULL) { err("failed to open: %s: ", table_fname); perror(NULL);