diff options
author | Wohlstand <admin@wohlnet.ru> | 2020-10-21 10:19:36 +0300 |
---|---|---|
committer | Wohlstand <admin@wohlnet.ru> | 2020-10-21 10:19:36 +0300 |
commit | f43bd68e0d1ff2790f8c9c2632d110daf304a66a (patch) | |
tree | d489c9f9f1bdba01f6ee8f9abc11c9d932ac4792 /utils | |
parent | 9d1370b2490bec28ff2ea584a6f73488b886c915 (diff) | |
download | libADLMIDI-f43bd68e0d1ff2790f8c9c2632d110daf304a66a.tar.gz libADLMIDI-f43bd68e0d1ff2790f8c9c2632d110daf304a66a.tar.bz2 libADLMIDI-f43bd68e0d1ff2790f8c9c2632d110daf304a66a.zip |
ADLMIDI2; Backport recent changes from original project
Diffstat (limited to 'utils')
-rw-r--r-- | utils/adlmidi-2/midiplay.cc | 43 | ||||
-rw-r--r-- | utils/adlmidi-2/puzzlegame.cc | 3 |
2 files changed, 23 insertions, 23 deletions
diff --git a/utils/adlmidi-2/midiplay.cc b/utils/adlmidi-2/midiplay.cc index a2abf23..8ed4690 100644 --- a/utils/adlmidi-2/midiplay.cc +++ b/utils/adlmidi-2/midiplay.cc @@ -889,9 +889,9 @@ static void ParseReverb(std::string specs) // std::from_chars(&value[0], &value[value.size()], floatvalue); // Not implemented in GCC // Create a hash of the key - //Good: start=0x266191FB6907,mul=0x1,add=0x3238000,perm=0xF3B47F00, mod=21,shift=12 distance = 21 min=0 max=20 - std::uint_fast64_t a=0xF5A9AADABAC7, b=0xC08F0800, c=0xA06C000, d=0x336A683E37B6, result=a + d*key.size(); - unsigned mod=19, shift=3; + //Good: start=0xF4939CE1DDA3,mul=0xE519FDFD45F8,add=0x9770000,perm=0x67EE6A00, mod=17,shift=32 distance = 7854 min=0 max=16 + std::uint_fast64_t a=0xF4939CE1DDA3, b=0x67EE6A00, c=0x9770000, d=0xE519FDFD45F8, result=a + d*key.size(); + unsigned mod=17, shift=32; for(unsigned char ch: key) { result += ch; @@ -900,25 +900,26 @@ static void ParseReverb(std::string specs) } unsigned index = result % mod; // switch(index) { - // case 0: index = 2; break; // room, room_scale, scale, room-scale, roomscale - // case 1: index = 1; break; // g - // case 2: index = 6; break; // stereo, depth, stereo_depth, stereo-depth, stereodepth, width, s - // case 3: index = 3; break; // reverberance, factor, f - // case 4: index = 0; break; // none, off - // case 5: index = 0; break; // false - // case 6: index = 4; break; // hf, hf_damping, hf-damping, damping, dampening - // case 7: index = 0; break; // no - // case 8: index = 6; break; // wide - // case 9: index = 5; break; // delay, pre_delay, pre-delay, predelay, seconds, wait - // case 10: index = 4; break; // damp, d - // case 11: index = 1; break; // gain, wet_gain, wetgain, wet - // case 13: index = 2; break; // r - // case 15: index = 3; break; // amount - // case 16: index = 3; break; // reverb - // case 18: index = 5; break; // w + // case 0: index = 0; break; // 0 + // case 1: index = 3; break; // reverberance, reverb, amount, f + // case 2: index = 1; break; // g + // case 3: index = 2; break; // room_scale, scale, room-scale, roomscale + // case 4: index = 5; break; // delay, pre_delay, pre-delay, predelay, wait + // case 5: index = 4; break; // hf, hf_damping, hf-damping, damping, dampening, d + // case 6: index = 2; break; // r + // case 7: index = 0; break; // no, n + // case 8: index = 5; break; // seconds, w + // case 9: index = 6; break; // stereo + // case 10: index = 0; break; // none, false + // case 11: index = 4; break; // damp + // case 12: index = 2; break; // room + // case 13: index = 6; break; // depth, stereo_depth, stereo-depth, stereodepth, width, wide, s + // case 14: index = 0; break; // off + // case 15: index = 1; break; // gain, wet_gain, wetgain, wet, wet-gain + // case 16: index = 3; break; // factor // } - index = (05733727145604003612 >> (index * 3)) & 7; - if(index < 7) ReverbSpecs.array[index] = floatvalue; + index = (031062406502452130 >> (index * 3)) & 7; + /*if(index < 7)*/ ReverbSpecs.array[index] = floatvalue; } specs.erase(specs.begin(), specs.begin() + colon); } diff --git a/utils/adlmidi-2/puzzlegame.cc b/utils/adlmidi-2/puzzlegame.cc index 6a0c982..8cb55a2 100644 --- a/utils/adlmidi-2/puzzlegame.cc +++ b/utils/adlmidi-2/puzzlegame.cc @@ -310,8 +310,7 @@ Recursion: // Find out the extents of this piece, and how many // cells of the piece contribute into full (completed) rows. - const char nfull = static_cast<char>(-1); - char full[4] = {nfull, nfull, nfull, nfull}; + signed char full[4] = {-1, -1, -1, -1}; int miny = n.y + 9, maxy = n.y - 9, minx = n.x + 9, maxx = n.x - 9, num_eroded = 0; (void)(n > [&](int x, int y) -> bool { |