Ticket #8235: new_loom.patch

File new_loom.patch, 3.0 KB (added by Kirben, 22 years ago)
Line 
1Index: scumm/player_v2.cpp
2===================================================================
3RCS file: /cvsroot/scummvm/scummvm/scumm/player_v2.cpp,v
4retrieving revision 2.2
5diff -r2.2 player_v2.cpp
6529,530c529,555
7< dest_channel = &channels[opcode >> 5];
8< channel->d.time_left = channel->d.tempo * note_lengths[opcode & 0x1f];
9---
10> int is_last_note;
11> dest_channel = &channels[(opcode >> 5) & 3];
12>
13> if (!(opcode & 0x80)) {
14>
15> int tempo = channel->d.tempo;
16> if (!tempo)
17> tempo = 1;
18> channel->d.time_left = tempo * note_lengths[opcode & 0x1f];
19>
20> note = *script_ptr++;
21> is_last_note = note & 0x80;
22> note &= 0x7f;
23> if (note == 0x7f)
24> goto end;
25> } else {
26>
27> channel->d.time_left = ((opcode & 7) << 8) | *script_ptr++;
28>
29> if ((opcode & 0x10))
30> goto end;
31>
32> is_last_note = 0;
33> note = (*script_ptr++) & 0x7f;
34> }
35>
36>
37532,533c557,558
38< opcode>>5, script_ptr ? script_ptr - current_data : 0,
39< *script_ptr & 0x7f, (signed short) dest_channel->d.transpose, opcode & 0x1f,
40---
41> dest_channel - channel, script_ptr ? script_ptr - current_data - 2 : 0,
42> note, (signed short) dest_channel->d.transpose, channel->d.time_left,
43536,542c561,566
44< *script_ptr & 0x80 ? "last":"");
45< opcode = *script_ptr++;
46< note = opcode & 0x7f;
47< if (note != 0x7f) {
48< uint16 myfreq;
49< dest_channel->d.time_left = channel->d.time_left;
50< dest_channel->d.note_length =
51---
52> is_last_note ? "last":"");
53>
54>
55> uint16 freq;
56> dest_channel->d.time_left = channel->d.time_left;
57> dest_channel->d.note_length =
58544,557c568,579
59< note += dest_channel->d.transpose;
60< while (note < 0)
61< note += 12;
62< octave = note / 12;
63< note = note % 12;
64< dest_channel->d.hull_offset = 0;
65< dest_channel->d.hull_counter = 1;
66< if (pcjr && dest_channel == &channels[3]) {
67< dest_channel->d.hull_curve = 180 + note * 12;
68< myfreq = 384 - 64 * octave;
69< } else {
70< myfreq = freqs_table[note] >> octave;
71< }
72< dest_channel->d.freq = dest_channel->d.base_freq = myfreq;
73---
74> note += dest_channel->d.transpose;
75> while (note < 0)
76> note += 12;
77> octave = note / 12;
78> note = note % 12;
79> dest_channel->d.hull_offset = 0;
80> dest_channel->d.hull_counter = 1;
81> if (pcjr && dest_channel == &channels[3]) {
82> dest_channel->d.hull_curve = 180 + note * 12;
83> freq = 384 - 64 * octave;
84> } else {
85> freq = freqs_table[note] >> octave;
86559c581,582
87< if ((opcode & 0x80) != 0)
88---
89> dest_channel->d.freq = dest_channel->d.base_freq = freq;
90> if (is_last_note)
91Index: scumm/scummvm.cpp
92===================================================================
93RCS file: /cvsroot/scummvm/scummvm/scumm/scummvm.cpp,v
94retrieving revision 2.184
95diff -r2.184 scummvm.cpp
96614c614
97< } else if (_features & GF_OLD_BUNDLE && !(_features & GF_AFTER_V3)) {
98---
99> } else if (_features & GF_OLD_BUNDLE) {