Ticket #8074: descumm7.diff

File descumm7.diff, 1.3 KB (added by eriktorbjorn, 22 years ago)

Patch against a September 30 CVS snapshot

  • tools/descumm6.cpp

    diff -ur ScummVM-cvs20020930/tools/descumm6.cpp ScummVM-cvs20020930+hack/tools/descumm6.cpp
    old new  
    144144byte dontShowOpcode;
    145145byte dontShowOffsets;
    146146byte haltOnError;
     147byte scriptVersion = 6;
    147148
    148149BlockStack *block_stack;
    149150int num_block_stack;
     
    14771478                                 "\t-i\tDon't output ifs\n"
    14781479                                 "\t-e\tDon't output else\n"
    14791480                                 "\t-f\tDon't output else-if\n"
    1480                                  "\t-c\tDon't show opcode\n" "\t-x\tDon't show offsets\n" "\t-h\tHalt on error\n");
     1481                                 "\t-c\tDon't show opcode\n"
     1482                                 "\t-x\tDon't show offsets\n"
     1483                                 "\t-h\tHalt on error\n"
     1484                                 "\t-7\tAssume V7 scripts\n");
    14811485        exit(0);
    14821486}
    14831487
     
    15211525                                case 'h':
    15221526                                        haltOnError = 1;
    15231527                                        break;
     1528                                case '7':
     1529                                        scriptVersion = 7;
     1530                                        break;
    15241531                                default:
    15251532                                        ShowHelpAndExit();
    15261533                                }
     
    15541561        switch (*((long *)mem)) {
    15551562#endif
    15561563        case 'RCSL':
    1557                 printf("Script# %d\n", (unsigned char)mem[8]);
    1558                 mem += 9;
     1564                if (scriptVersion == 7) {
     1565                        printf("Script# %d\n", mem[8] + (mem[9] << 8));
     1566                        mem += 10;
     1567                } else {
     1568                        printf("Script# %d\n", (unsigned char)mem[8]);
     1569                        mem += 9;
     1570                }
    15591571                break;                                                                                  /* Local script */
    15601572        case 'PRCS':
    15611573                mem += 8;