RCS file: /cvsroot/scummvm/scummvm/scumm/player_v2.cpp,v
retrieving revision 2.1
diff -u -r2.1 player_v2.cpp
|
|
|
526 | 526 | } else { // opcode < 0xf8 |
527 | 527 | for (;;) { |
528 | 528 | int16 note, octave; |
529 | | dest_channel = &channels[opcode >> 5]; |
530 | | channel->d.time_left = channel->d.tempo * note_lengths[opcode & 0x1f]; |
| 529 | int is_last_note; |
| 530 | dest_channel = &channels[(opcode >> 5) & 3]; |
| 531 | |
| 532 | if (!(opcode & 0x80)) { |
| 533 | |
| 534 | int tempo = channel->d.tempo; |
| 535 | if (!tempo) |
| 536 | tempo = 1; |
| 537 | channel->d.time_left = tempo * note_lengths[opcode & 0x1f]; |
| 538 | |
| 539 | note = *script_ptr++; |
| 540 | is_last_note = note & 0x80; |
| 541 | note &= 0x7f; |
| 542 | if (note == 0x7f) |
| 543 | goto end; |
| 544 | } else { |
| 545 | |
| 546 | channel->d.time_left = ((opcode & 7) << 8) | *script_ptr++; |
| 547 | |
| 548 | if ((opcode & 0x10)) |
| 549 | goto end; |
| 550 | |
| 551 | is_last_note = 0; |
| 552 | note = (*script_ptr++) & 0x7f; |
| 553 | } |
| 554 | |
| 555 | |
531 | 556 | debug(9, "channels[%d]: @%04x note: %3d+%d len: %2d hull: %d mod: %d/%d/%d %s\n", |
532 | | opcode>>5, script_ptr ? script_ptr - current_data : 0, |
533 | | *script_ptr & 0x7f, (signed short) dest_channel->d.transpose, opcode & 0x1f, |
| 557 | dest_channel - channel, script_ptr ? script_ptr - current_data - 2 : 0, |
| 558 | note, (signed short) dest_channel->d.transpose, channel->d.time_left, |
534 | 559 | dest_channel->d.hull_curve, dest_channel->d.freqmod_table, |
535 | 560 | dest_channel->d.freqmod_incr,dest_channel->d.freqmod_multiplier, |
536 | | *script_ptr & 0x80 ? "last":""); |
537 | | opcode = *script_ptr++; |
538 | | note = opcode & 0x7f; |
539 | | if (note != 0x7f) { |
540 | | uint16 freq; |
541 | | dest_channel->d.time_left = channel->d.time_left; |
542 | | dest_channel->d.note_length = |
| 561 | is_last_note ? "last":""); |
| 562 | |
| 563 | |
| 564 | uint16 freq; |
| 565 | dest_channel->d.time_left = channel->d.time_left; |
| 566 | dest_channel->d.note_length = |
543 | 567 | channel->d.time_left - dest_channel->d.inter_note_pause; |
544 | | note += dest_channel->d.transpose; |
545 | | while (note < 0) |
546 | | note += 12; |
547 | | octave = note / 12; |
548 | | note = note % 12; |
549 | | dest_channel->d.hull_offset = 0; |
550 | | dest_channel->d.hull_counter = 1; |
551 | | if (pcjr && dest_channel == &channels[3]) { |
552 | | dest_channel->d.hull_curve = 180 + note * 12; |
553 | | freq = 384 - 64 * octave; |
554 | | } else { |
555 | | freq = freqs_table[note] >> octave; |
556 | | } |
557 | | dest_channel->d.freq = dest_channel->d.base_freq = freq; |
| 568 | note += dest_channel->d.transpose; |
| 569 | while (note < 0) |
| 570 | note += 12; |
| 571 | octave = note / 12; |
| 572 | note = note % 12; |
| 573 | dest_channel->d.hull_offset = 0; |
| 574 | dest_channel->d.hull_counter = 1; |
| 575 | if (pcjr && dest_channel == &channels[3]) { |
| 576 | dest_channel->d.hull_curve = 180 + note * 12; |
| 577 | freq = 384 - 64 * octave; |
| 578 | } else { |
| 579 | freq = freqs_table[note] >> octave; |
558 | 580 | } |
559 | | if ((opcode & 0x80) != 0) |
| 581 | dest_channel->d.freq = dest_channel->d.base_freq = freq; |
| 582 | if (is_last_note) |
560 | 583 | goto end; |
561 | 584 | opcode = *script_ptr++; |
562 | 585 | } |
RCS file: /cvsroot/scummvm/scummvm/scumm/scummvm.cpp,v
retrieving revision 2.182
diff -u -r2.182 scummvm.cpp
|
|
|
611 | 611 | _imuseDigital = new IMuseDigital(this); |
612 | 612 | _imuse = NULL; |
613 | 613 | _playerV2 = NULL; |
614 | | } else if (_features & GF_OLD_BUNDLE && !(_features & GF_AFTER_V3)) { |
| 614 | } else if (_features & GF_OLD_BUNDLE) { |
615 | 615 | debug (0, "Creating player"); |
616 | 616 | _playerV2 = new Player_V2(); |
617 | 617 | _imuse = NULL; |