Ticket #8435: compress-settings.diff

File compress-settings.diff, 13.1 KB (added by eriktorbjorn, 19 years ago)

Patch against a June 8 CVS snapshot

  • Makefile

    diff -ur ScummVM-tools-cvs20050605/Makefile ScummVM-tools-cvs20050605+hack/Makefile
    old new  
    3737
    3838all: $(TARGETS)
    3939
    40 compress_san$(EXEEXT): compress_san.o util.o
     40compress_san$(EXEEXT): compress_san.o compress.o util.o
    4141        $(CXX) $(LDFLAGS) -o $@ $+ -lz
    4242
    4343descumm$(EXEEXT): descumm-tool.o descumm.o descumm6.o descumm-common.o util.o
     
    5555compress_scumm_sou$(EXEEXT): compress_scumm_sou.o compress.o util.o
    5656        $(CC) $(LDFLAGS) -o $@ $+
    5757
    58 compress_scumm_bun$(EXEEXT): compress_scumm_bun.o util.o
     58compress_scumm_bun$(EXEEXT): compress_scumm_bun.o compress.o util.o
    5959        $(CXX) $(LDFLAGS) -o $@ $+
    6060
    6161extract_loom_tg16$(EXEEXT): extract_loom_tg16.o
  • compress.c

    diff -ur ScummVM-tools-cvs20050605/compress.c ScummVM-tools-cvs20050605+hack/compress.c
    old new  
    290290        encodeAudio(outName, true, real_samplerate, tempEncoded, compMode);
    291291}
    292292
    293 void process_mp3_parms(int argc, char *argv[], int i) {
     293int process_mp3_parms(int argc, char *argv[], int i) {
    294294        for (; i < argc; i++) {
    295295                if (strcmp(argv[i], "--vbr") == 0) {
    296296                        encparms.abr=0;
     
    331331                } else if (strcmp(argv[i], "--silent") == 0) {
    332332                        encparms.silent = 1;
    333333                } else if (strcmp(argv[i], "--help") == 0) {
    334                         showhelp(argv[0]);
     334                        return 0;
    335335                } else if (argv[i][0] == '-') {
    336                         showhelp(argv[0]);
     336                        return 0;
    337337                } else {
    338338                        break;
    339339                }
    340340        }
    341341        if (i != (argc - 1)) {
    342                 showhelp(argv[0]);
     342                return 0;
    343343        }
     344        return 1;
    344345}
    345346
    346 void process_ogg_parms(int argc, char *argv[], int i) {
     347int process_ogg_parms(int argc, char *argv[], int i) {
    347348        for (; i < argc; i++) {
    348349                if (strcmp(argv[i], "-b") == 0) {
    349350                        oggparms.nominalBitr = atoi(argv[i + 1]);
     
    365366                        oggparms.silent = 1;
    366367                }
    367368                else if (strcmp(argv[i], "--help") == 0) {
    368                         showhelp(argv[0]);
     369                        return 0;
    369370                }
    370371                else if (argv[i][0] == '-') {
    371                         showhelp(argv[0]);
     372                        return 0;
    372373                }
    373374                else
    374375                        break;
    375376        }
    376377        if (i != argc - 1)
    377                 showhelp(argv[0]);
     378                return 0;
     379        return 1;
    378380}
    379381
    380 void process_flac_parms(int argc, char *argv[], int i){
     382int process_flac_parms(int argc, char *argv[], int i){
    381383        flacparms.argv = &argv[i];
    382384        flacparms.numArgs = argc - 1 - i;
    383385
    384386        if (i >= argc)
    385                 showhelp(argv[0]);
     387                return 0;
     388        return 1;
    386389}
    387 
  • compress.h

    diff -ur ScummVM-tools-cvs20050605/compress.h ScummVM-tools-cvs20050605+hack/compress.h
    old new  
    2424
    2525#include "util.h"
    2626
     27#if defined(__cplusplus)
     28extern "C" {
     29#endif
    2730
    2831/* These are the defaults parameters for the Lame invocation */
    2932#define minBitrDef 24
     
    4851
    4952const extern char *tempEncoded;
    5053
    51 extern void process_mp3_parms(int argc, char *argv[], int i);
    52 extern void process_ogg_parms(int argc, char *argv[], int i);
    53 extern void process_flac_parms(int argc, char *argv[], int i);
     54extern int process_mp3_parms(int argc, char *argv[], int i);
     55extern int process_ogg_parms(int argc, char *argv[], int i);
     56extern int process_flac_parms(int argc, char *argv[], int i);
    5457
    5558extern void extractAndEncodeVOC(const char *outName, FILE *input, CompressMode compMode);
    5659extern void extractAndEncodeWAV(const char *outName, FILE *input, CompressMode compMode);
    5760
    5861extern void encodeAudio(const char *inname, bool rawInput, int rawSamplerate, const char *outname, CompressMode compmode);
    5962extern void setRawAudioType(bool isLittleEndian, bool isStereo, uint8 bitsPerSample);
    60 /*
    61  * Stuff which is in compress_scumm_sou.c / compress_simon.c / compress_sword2.c
    62  */
    63 extern void showhelp(char *exename);
    6463
     64#if defined(__cplusplus)
     65}
     66#endif
    6567
    6668#endif
  • compress_saga.c

    diff -ur ScummVM-tools-cvs20050605/compress_saga.c ScummVM-tools-cvs20050605+hack/compress_saga.c
    old new  
    221221        switch (gCompMode) {
    222222        case kMP3Mode:
    223223                tempEncoded = TEMP_MP3;
    224                 process_mp3_parms(argc, argv, i);
     224                if (!process_mp3_parms(argc, argv, i))
     225                        showhelp(argv[0]);
    225226                break;
    226227        case kVorbisMode:
    227228                tempEncoded = TEMP_OGG;
    228                 process_ogg_parms(argc, argv, i);
     229                if (!process_ogg_parms(argc, argv, i))
     230                        showhelp(argv[0]);
    229231                break;
    230232        case kFlacMode:
    231233                tempEncoded = TEMP_FLAC;
    232                 process_flac_parms(argc, argv, i);
     234                if (!process_flac_parms(argc, argv, i))
     235                        showhelp(argv[0]);
    233236                break;
    234237        }
    235238
  • compress_san.cpp

    diff -ur ScummVM-tools-cvs20050605/compress_san.cpp ScummVM-tools-cvs20050605+hack/compress_san.cpp
    old new  
    1919 *
    2020 */
    2121
    22 #include "util.h"
     22#include "compress.h"
    2323#include "zlib.h"
    2424
    2525inline uint16 READ_LE_UINT16(const void *ptr) {
     
    4444}
    4545
    4646void showhelp(char *exename) {
    47         printf("\nUsage: %s <inputfile> <inputdir> <outputdir> [--ogg]\n", exename);
     47        printf("\nUsage: %s <inputfile> <inputdir> <outputdir> [--ogg] [encoder params]\n", exename);
    4848        exit(2);
    4949}
    5050
     
    8585
    8686void encodeWaveWithOgg(char *filename) {
    8787        char fbuf[2048];
    88         bool err = false;
    89 
    90         sprintf(fbuf, "oggenc -q 0 %s.wav", filename);
    91         err = system(fbuf) != 0;
    92         if (err) {
    93                 printf("Got error from encoder. (check your parameters)\n");
    94                 printf("Encoder Commandline: %s\n", fbuf );
    95                 exit(-1);
    96         }
     88        char fbuf2[2048];
     89        sprintf(fbuf, "\"%s\".wav", filename);
     90        sprintf(fbuf2, "\"%s\".ogg", filename);
     91        encodeAudio(fbuf, false, -1, fbuf2, kVorbisMode);
    9792}
    9893
    9994void encodeWaveWithLame(char *filename) {
    10095        char fbuf[2048];
    101         bool err = false;
     96        char fbuf2[2048];
    10297
    103         sprintf(fbuf, "lame --vbr-new -V 9 -quiet -t \"%s\".wav \"%s\".mp3", filename, filename);
    104         err = system(fbuf) != 0;
    105         if (err) {
    106                 printf("Got error from encoder. (check your parameters)\n");
    107                 printf("Encoder Commandline: %s\n", fbuf );
    108                 exit(-1);
    109         }
     98        sprintf(fbuf, "\"%s\".wav", filename);
     99        sprintf(fbuf2, "\"%s\".mp3", filename);
     100        encodeAudio(fbuf, false, -1, fbuf2, kMP3Mode);
    110101}
    111102
    112103void writeWaveHeader(int s_size) {
     
    662653        strcpy(inputDir, argv[2]);
    663654        strcpy(outputDir, argv[3]);
    664655
    665         if ((argc == 5) && (strcmp(argv[4], "--ogg") == 0)) {
    666                 _oggMode = true;
     656        if (argc > 4) {
     657                int i = 4;
     658
     659                if (strcmp(argv[i], "--ogg") == 0) {
     660                        _oggMode = true;
     661                        i++;
     662                }
     663
     664                if (argc > i) {
     665                        // HACK: The functions in compress.c expect the last
     666                        // argument to be a filename. As we don't expect one,
     667                        // we simply add a dummy argument to the list.
     668                        char **args = (char **)malloc((argc + 1) * sizeof(char *));
     669                        char dummyName[] = "dummy";
     670                        int j;
     671
     672                        for (j = 0; j < argc; j++)
     673                                args[j] = argv[j];
     674                        args[j] = dummyName;
     675               
     676                        int result;
     677
     678                        if (_oggMode)
     679                                result = process_ogg_parms(argc + 1, args, i);
     680                        else
     681                                result = process_mp3_parms(argc + 1, args, i);
     682
     683                        if (!result)
     684                                showhelp(argv[0]);
     685
     686                        free(args);
     687                }
    667688        }
    668689
    669690        char *index = strrchr(inputFilename, '.');
  • compress_scumm_bun.cpp

    diff -ur ScummVM-tools-cvs20050605/compress_scumm_bun.cpp ScummVM-tools-cvs20050605+hack/compress_scumm_bun.cpp
    old new  
    1919 *
    2020 */
    2121
    22 #include "util.h"
     22#include "compress.h"
    2323
    2424inline uint16 READ_LE_UINT16(const void *ptr) {
    2525        const byte *b = (const byte *)ptr;
     
    655655}
    656656
    657657void showhelp(char *exename) {
    658         printf("\nUsage: %s <inputfile> <inputdir> <outputdir> [--ogg]\n", exename);
     658        printf("\nUsage: %s <inputfile> <inputdir> <outputdir> [--ogg] [encoder params]\n", exename);
    659659        exit(2);
    660660}
    661661
     
    673673
    674674void encodeWaveWithOgg(char *filename) {
    675675        char fbuf[2048];
    676         bool err = false;
    677 
    678         sprintf(fbuf, "oggenc -q 0 \"%s\".wav", filename);
    679         err = system(fbuf) != 0;
    680         if (err) {
    681                 printf("Got error from encoder. (check your parameters)\n");
    682                 printf("Encoder Commandline: %s\n", fbuf );
    683                 exit(-1);
    684         }
     676        char fbuf2[2048];
     677        sprintf(fbuf, "\"%s\".wav", filename);
     678        sprintf(fbuf2, "\"%s\".ogg", filename);
     679        encodeAudio(fbuf, false, -1, fbuf2, kVorbisMode);
    685680}
    686681
    687682void encodeWaveWithLame(char *filename) {
    688683        char fbuf[2048];
    689         bool err = false;
     684        char fbuf2[2048];
    690685
    691         sprintf(fbuf, "lame --vbr-new -V 9 -quiet -t \"%s\".wav \"%s\".mp3", filename, filename);
    692         err = system(fbuf) != 0;
    693         if (err) {
    694                 printf("Got error from encoder. (check your parameters)\n");
    695                 printf("Encoder Commandline: %s\n", fbuf );
    696                 exit(-1);
    697         }
     686        sprintf(fbuf, "\"%s\".wav", filename);
     687        sprintf(fbuf2, "\"%s\".wav", filename);
     688        encodeAudio(fbuf, false, -1, fbuf2, kMP3Mode);
    698689}
    699690
    700691void writeWaveHeader(int s_size, int rate, int chan) {
     
    11031094        strcpy(inputDir, argv[2]);
    11041095        strcpy(outputDir, argv[3]);
    11051096
    1106         if ((argc == 5) && (strcmp(argv[4], "--ogg") == 0)) {
    1107                 _oggMode = true;
     1097        if (argc > 4) {
     1098                i = 4;
     1099
     1100                if (strcmp(argv[i], "--ogg") == 0) {
     1101                        _oggMode = true;
     1102                        i++;
     1103                }
     1104
     1105                if (argc > i) {
     1106                        // HACK: The functions in compress.c expect the last
     1107                        // argument to be a filename. As we don't expect one,
     1108                        // we simply add a dummy argument to the list.
     1109                        char **args = (char **)malloc((argc + 1) * sizeof(char *));
     1110                        char dummyName[] = "dummy";
     1111                        int j;
     1112
     1113                        for (j = 0; j < argc; j++)
     1114                                args[j] = argv[j];
     1115                        args[j] = dummyName;
     1116               
     1117                        int result;
     1118
     1119                        if (_oggMode)
     1120                                result = process_ogg_parms(argc + 1, args, i);
     1121                        else
     1122                                result = process_mp3_parms(argc + 1, args, i);
     1123
     1124                        if (!result)
     1125                                showhelp(argv[0]);
     1126
     1127                        free(args);
     1128                }
    11081129        }
    11091130
    11101131        char *index = strrchr(inputFilename, '.');
  • compress_scumm_sou.c

    diff -ur ScummVM-tools-cvs20050605/compress_scumm_sou.c ScummVM-tools-cvs20050605+hack/compress_scumm_sou.c
    old new  
    206206        case kMP3Mode:
    207207                outputName = OUTPUT_MP3;
    208208                tempEncoded = TEMP_MP3;
    209                 process_mp3_parms(argc, argv, i);
     209                if (!process_mp3_parms(argc, argv, i))
     210                        showhelp(argv[0]);
    210211                break;
    211212        case kVorbisMode:
    212213                outputName = OUTPUT_OGG;
    213214                tempEncoded = TEMP_OGG;
    214                 process_ogg_parms(argc, argv, i);
     215                if (!process_ogg_parms(argc, argv, i))
     216                        showhelp(argv[0]);
    215217                break;
    216218        case kFlacMode:
    217219                outputName = OUTPUT_FLAC;
    218220                tempEncoded = TEMP_FLAC;
    219                 process_flac_parms(argc, argv, i);
     221                if (!process_flac_parms(argc, argv, i))
     222                        showhelp(argv[0]);
    220223                break;
    221224        }
    222225
  • compress_simon.c

    diff -ur ScummVM-tools-cvs20050605/compress_simon.c ScummVM-tools-cvs20050605+hack/compress_simon.c
    old new  
    332332        switch (gCompMode) {
    333333        case kMP3Mode:
    334334                tempEncoded = TEMP_MP3;
    335                 process_mp3_parms(argc, argv, i);
     335                if (!process_mp3_parms(argc, argv, i))
     336                        showhelp(argv[0]);
    336337                break;
    337338        case kVorbisMode:
    338339                tempEncoded = TEMP_OGG;
    339                 process_ogg_parms(argc, argv, i);
     340                if (!process_ogg_parms(argc, argv, i))
     341                        showhelp(argv[0]);
    340342                break;
    341343        case kFlacMode:
    342344                tempEncoded = TEMP_FLAC;
    343                 process_flac_parms(argc, argv, i);
     345                if (!process_flac_parms(argc, argv, i))
     346                        showhelp(argv[0]);
    344347                break;
    345348        }
    346349
  • compress_sword1.c

    diff -ur ScummVM-tools-cvs20050605/compress_sword1.c ScummVM-tools-cvs20050605+hack/compress_sword1.c
    old new  
    527527        /*       As we don't expect one, we simply add a dummy argument to the list. */
    528528        char **args;
    529529        int cnt;
     530        int result;
    530531        char dummyName[] = "dummy";
    531532        args = (char **)malloc((argc + 1) * sizeof(char *));
    532533        for (cnt = 0; cnt < argc; cnt++)
    533534                args[cnt] = argv[cnt];
    534535        args[argc] = dummyName;
    535     if (mode == kMP3Mode)
    536                 process_mp3_parms(argc + 1, args, i);
     536        if (mode == kMP3Mode)
     537                result = process_mp3_parms(argc + 1, args, i);
    537538        else if (mode == kVorbisMode)
    538                 process_ogg_parms(argc + 1, args, i);
     539                result = process_ogg_parms(argc + 1, args, i);
    539540        else
    540541                error("Unknown encoding method");
     542        if (!result)
     543                showhelp(argv[0]);
    541544        free(args);
    542545}
    543546
  • compress_sword2.c

    diff -ur ScummVM-tools-cvs20050605/compress_sword2.c ScummVM-tools-cvs20050605+hack/compress_sword2.c
    old new  
    122122        switch (gCompMode) {
    123123        case kMP3Mode:
    124124                tempEncoded = TEMP_MP3;
    125                 process_mp3_parms(argc, argv, i);
     125                if (!process_mp3_parms(argc, argv, i))
     126                        showhelp(argv[0]);
    126127                break;
    127128        case kVorbisMode:
    128129                tempEncoded = TEMP_OGG;
    129                 process_ogg_parms(argc, argv, i);
     130                if (!process_ogg_parms(argc, argv, i))
     131                        showhelp(argv[0]);
    130132                break;
    131133        case kFlacMode:
    132134                tempEncoded = TEMP_FLAC;
    133                 process_flac_parms(argc, argv, i);
     135                if (!process_flac_parms(argc, argv, i))
     136                        showhelp(argv[0]);
    134137                break;
    135138        }
    136139