treeform / istrolid-bugs

Official Istrolid Bug Tracking
4 stars 1 forks source link

multiple audio bugs #64

Open fenrave opened 6 years ago

fenrave commented 6 years ago

Audio bugs, fluctuations/resetting

  1. fullscreen audio glitch-https://gyazo.com/8bf858fec6827dc5812b9f3e32047761 the first bug is fairly easy one to replicate Pretty much all you have to do is nudge the bar a bit, or whatever position it currently is in, and then press the fullscreen button, it will reset the audio to the max. Only occurs if you change it.

  2. another audio bug-https://gyazo.com/a7316ca8ba7bfc15241c2052e2328b4c a similar bug occurs when you change the audio then exit out of the settings screen then go back, it will change to a previous percentage then drop back down within 5 seconds if left there. Pretty much only occurs if you follow those steps

  3. Audio fluctuations-While this one issue isn't exactly easy to catch, i've found the games audio frequently fluctuating, especially at the end of a game. One moment i'm listening to my music, then a ear shattering sound of a ship exploding. I've noticed that this can be observed in the settings menu but its fairly rare.

edit:

  1. after playing with the audio settings to confirm the first 2 bugs, i found that selecting ships can disable the audio, not entirely sure if its intentional in some capacity, but i feel like it should be mentioned
wolfjosiah commented 5 years ago

I'd like to add what I've found on an audio bug(s):

Given:

When:

Then:

Notes:

I suspect it has to do with lines 23852 through 23876 in the source code. More specifically, document.onmouseup. Going by this code alone, document.onmouseup is never redefined, so it probably just keeps its definition.

Apologies for the indenting:

onmousedown(function(e) {
          var rect, scrollLeft, scrollWidth, setValue;
          rect = e.target.getBoundingClientRect();
          scrollLeft = rect.left;
          scrollWidth = 220;
          setValue = function(e) {
            var value;
            value = (e.pageX - scrollLeft) / scrollWidth;
            value = Math.min(Math.max(value, 0), 1);
            print(value);
            return commander.settings[name] = {
              value: value
            };
          };
          setValue(e);
          document.onmouseup = function(e) {
            document.onmousemove = null;
            setValue(e);
            return settings.save();
          };
          return document.onmousemove = function(e) {
            setValue(e);
            return onecup.refresh();
          };
        });