X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fvgmsnd%2FvgmSnd.c;h=c46b0b76a6e9d561a89ed502135fadb6ea3b5dd2;hb=e62d9fad29bbc049320ec69914aefd43c0f62f78;hp=1bd719f8c0a26f470d4379c6766816a206623748;hpb=47cdc66151d973d975d0e31fb8a786eb639bebdb;p=16.git diff --git a/src/lib/vgmsnd/vgmSnd.c b/src/lib/vgmsnd/vgmSnd.c index 1bd719f8..c46b0b76 100755 --- a/src/lib/vgmsnd/vgmSnd.c +++ b/src/lib/vgmsnd/vgmSnd.c @@ -137,7 +137,7 @@ static const UINT8 CHN_OPMASK_REV[0x20] = 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; -UINT8 OpenVGMFile(const char* FileName, VGM_FILE* vgmFile) +UINT8 OpenVGMFile(const char* FileName, VGM_FILE* vgmFile, global_game_variables_t *gvar) { size_t hdrSize; size_t readEl; // 'elements' read from file @@ -171,7 +171,12 @@ UINT8 OpenVGMFile(const char* FileName, VGM_FILE* vgmFile) } vgmFile->dataLen = vgmBaseHdr.lngEOFOffset + 0x04; +#ifndef VGM_USESCAMMPM vgmFile->data = (UINT8*)malloc(vgmFile->dataLen); +#else + MM_GetPtr(MEMPTRCONV gvar->ca.audiosegs[0], vgmFile->dataLen, gvar); + vgmFile->data = (UINT8*)gvar->ca.audiosegs[0]; +#endif if (vgmFile->data == NULL) { fclose(hFile); @@ -212,9 +217,14 @@ UINT8 OpenVGMFile(const char* FileName, VGM_FILE* vgmFile) return 0x00; } -void FreeVGMFile(VGM_FILE* vgmFile) +void FreeVGMFile(VGM_FILE* vgmFile, global_game_variables_t *gvar) { - free(vgmFile->data); vgmFile->data = NULL; +#ifndef VGM_USESCAMMPM + if(vgmFile->data){ free(vgmFile->data); vgmFile->data = NULL; } +#else + MM_FreePtr(MEMPTRCONV gvar->ca.audiosegs[0], gvar); +#endif +// if(vgmFile->data) free(vgmFile->data); vgmFile->dataLen = 0; return;