From 51e31fe4cb85b3b95f5a147d60f9990c9be988eb Mon Sep 17 00:00:00 2001 From: Xavi Del Campo Date: Fri, 31 Jan 2020 22:16:02 +0100 Subject: [PATCH] Fixed invalid encoding on string literal --- tools/vag2wav.c | 66 ++++++++++++++++++++++++------------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/tools/vag2wav.c b/tools/vag2wav.c index 09b474a..a92c365 100755 --- a/tools/vag2wav.c +++ b/tools/vag2wav.c @@ -31,7 +31,7 @@ int main( int argc, char *argv[] ) int sz; unsigned int samp_freq; unsigned int data_size; - + if(argc < 3) { printf("vag2wav - Convert a PlayStation VAG sound file to a WAV file\n"); @@ -40,54 +40,54 @@ int main( int argc, char *argv[] ) printf("This utility is based on PSX VAG-Depack by bITmASTER\n"); return( -1 ); } - + vag = fopen( argv[1], "rb" ); - + fread(vag_name, sizeof(char), 4, vag); - + if(vag == NULL) { printf("Can't open %s. Aborting.\n", argv[1]); return -1; } - + if(strncmp(vag_name, "VAGp", 4)) { printf("%s is not in VAG format. Aborting.\n", argv[1]); return -1; } - + fseek(vag, 4, SEEK_SET); i = fgetc(vag) << 24; i |= fgetc(vag) << 16; i |= fgetc(vag) << 8; i |= fgetc(vag); - + printf("Version: %x\n", i); - + fseek(vag, 12, SEEK_SET); data_size = fgetc(vag) << 24; data_size |= fgetc(vag) << 16; data_size |= fgetc(vag) << 8; data_size |= fgetc(vag); - - printf("Data size: %d bytes\n", data_size); - + + printf("Data size: %d bytes\n", data_size); + fseek(vag, 32, SEEK_SET); fread(vag_name, sizeof(char), 16, vag); vag_name[16] = 0; - + printf("Name: %s\n", vag_name); - + fseek(vag, 16, SEEK_SET); - + samp_freq = fgetc(vag)<<24; samp_freq|=fgetc(vag)<<16; samp_freq|=fgetc(vag)<<8; samp_freq|=fgetc(vag); - + printf("Sampling frequency: %d\n", samp_freq); - + fseek( vag, 64, SEEK_SET ); /* strcpy( fname, argv[1] ); @@ -95,27 +95,27 @@ int main( int argc, char *argv[] ) p++; strcpy( p, "PCM" );*/ pcm = fopen( argv[2], "wb" ); - + if ( pcm == NULL ) { - printf( "canīt write output file\n" ); + printf( "can't write output file\n" ); return( -8 ); } -// Write header chunk +// Write header chunk fprintf(pcm, "RIFF"); // Skip file size field for now fseek(pcm, 4, SEEK_CUR); - fprintf(pcm, "WAVE"); + fprintf(pcm, "WAVE"); // Write fmt chunk fprintf(pcm, "fmt "); -// Write chunk 1 size in little endian format +// Write chunk 1 size in little endian format fputc(0x10, pcm); fputc(0, pcm); fputc(0, pcm); fputc(0, pcm); -// Write audio format (1 = PCM) +// Write audio format (1 = PCM) fputc(1, pcm); fputc(0, pcm); // Number of channels (1) @@ -144,7 +144,7 @@ int main( int argc, char *argv[] ) // Skip SubChunk2Size, we will return to it later fseek(pcm, 4, SEEK_CUR); - + // Now write data... while( ftell(vag) < (data_size+48)) { @@ -153,7 +153,7 @@ int main( int argc, char *argv[] ) predict_nr >>= 4; flags = fgetc( vag ); // flags if ( flags == 7 ) - break; + break; for ( i = 0; i < 28; i += 2 ) { d = fgetc( vag ); s = ( d & 0xf ) << 12; @@ -165,7 +165,7 @@ int main( int argc, char *argv[] ) s |= 0xffff0000; samples[i+1] = (double) ( s >> shift_factor ); } - + for ( i = 0; i < 28; i++ ) { samples[i] = samples[i] + s_1 * f[predict_nr][0] + s_2 * f[predict_nr][1]; s_2 = s_1; @@ -175,26 +175,26 @@ int main( int argc, char *argv[] ) fputc( d >> 8, pcm ); } } - -// Get file size + +// Get file size sz = ftell(pcm); - + // Now write ChunkSize fseek(pcm, 4, SEEK_SET); - + fputc((sz-8) & 0xff, pcm); fputc(((sz-8)>>8)&0xff, pcm); fputc(((sz-8)>>16)&0xff,pcm); fputc(((sz-8)>>24)&0xff,pcm); - + // Now write Subchunk2Size fseek(pcm, 40, SEEK_SET); - + fputc((sz-44) & 0xff, pcm); fputc(((sz-44)>>8)&0xff, pcm); fputc(((sz-44)>>16)&0xff,pcm); - fputc(((sz-44)>>24)&0xff,pcm); - + fputc(((sz-44)>>24)&0xff,pcm); + fclose( pcm ); fclose( vag ); return( 0 );