diff --git a/d2x-rebirth/libmve/decoders.h b/d2x-rebirth/libmve/decoders.h index 9cff2f250..ecfa8ca02 100644 --- a/d2x-rebirth/libmve/decoders.h +++ b/d2x-rebirth/libmve/decoders.h @@ -8,7 +8,7 @@ #define _DECODERS_H extern int g_width, g_height; -extern void *g_vBackBuf1, *g_vBackBuf2; +extern unsigned char *g_vBackBuf1, *g_vBackBuf2; extern void decodeFrame8(unsigned char *pFrame, unsigned char *pMap, int mapRemain, unsigned char *pData, int dataRemain); extern void decodeFrame16(unsigned char *pFrame, unsigned char *pMap, int mapRemain, unsigned char *pData, int dataRemain); diff --git a/d2x-rebirth/libmve/mveplay.c b/d2x-rebirth/libmve/mveplay.c index 4ec670c93..c37f44369 100644 --- a/d2x-rebirth/libmve/mveplay.c +++ b/d2x-rebirth/libmve/mveplay.c @@ -514,7 +514,8 @@ static int audio_data_handler(unsigned char major, unsigned char minor, unsigned static int videobuf_created = 0; static int video_initialized = 0; int g_width, g_height; -void *g_vBuffers = NULL, *g_vBackBuf1, *g_vBackBuf2; +static unsigned char *g_vBuffers; +unsigned char *g_vBackBuf1, *g_vBackBuf2; static int g_destX, g_destY; static int g_screenWidth, g_screenHeight; @@ -558,11 +559,11 @@ static int create_videobuf_handler(unsigned char major, unsigned char minor, uns /* TODO: * 4 causes crashes on some files */ /* only malloc once */ if (g_vBuffers == NULL) - g_vBackBuf1 = g_vBuffers = mve_alloc(g_width * g_height * 8); + g_vBackBuf1 = g_vBuffers = (unsigned char *)mve_alloc(g_width * g_height * 8); if (truecolor) { - g_vBackBuf2 = (unsigned short *)g_vBackBuf1 + (g_width * g_height); + g_vBackBuf2 = (unsigned char *)((unsigned short *)g_vBackBuf1) + (g_width * g_height); } else { - g_vBackBuf2 = (unsigned char *)g_vBackBuf1 + (g_width * g_height); + g_vBackBuf2 = (g_vBackBuf1 + (g_width * g_height)); } memset(g_vBackBuf1, 0, g_width * g_height * 4);