diff --git a/assets/default/weapon-hitman/1-unload-var0.mp3 b/assets/default/weapon-hitman/1-unload-var0.mp3 new file mode 100644 index 0000000..7faadce Binary files /dev/null and b/assets/default/weapon-hitman/1-unload-var0.mp3 differ diff --git a/assets/default/weapon-hitman/1-unload-var1.mp3 b/assets/default/weapon-hitman/1-unload-var1.mp3 new file mode 100644 index 0000000..be1fbde Binary files /dev/null and b/assets/default/weapon-hitman/1-unload-var1.mp3 differ diff --git a/assets/default/weapon-hitman/1-unload-var2.mp3 b/assets/default/weapon-hitman/1-unload-var2.mp3 new file mode 100644 index 0000000..a3f8818 Binary files /dev/null and b/assets/default/weapon-hitman/1-unload-var2.mp3 differ diff --git a/assets/default/weapon-paragon/1-unload-var (1).mp3 b/assets/default/weapon-paragon/1-unload-var (1).mp3 new file mode 100644 index 0000000..bbeb567 Binary files /dev/null and b/assets/default/weapon-paragon/1-unload-var (1).mp3 differ diff --git a/assets/default/weapon-paragon/1-unload-var (2).mp3 b/assets/default/weapon-paragon/1-unload-var (2).mp3 new file mode 100644 index 0000000..95e08a2 Binary files /dev/null and b/assets/default/weapon-paragon/1-unload-var (2).mp3 differ diff --git a/assets/default/weapon-paragon/1-unload-var (3).mp3 b/assets/default/weapon-paragon/1-unload-var (3).mp3 new file mode 100644 index 0000000..6e83097 Binary files /dev/null and b/assets/default/weapon-paragon/1-unload-var (3).mp3 differ diff --git a/assets/gfx/weapons-rigged.cdr b/assets/gfx/weapons-rigged.cdr index cd158f3..51dcb62 100644 Binary files a/assets/gfx/weapons-rigged.cdr and b/assets/gfx/weapons-rigged.cdr differ diff --git a/tools/audio-interval-test/index.js b/tools/audio-interval-test/index.js index 854fecf..413e13e 100644 --- a/tools/audio-interval-test/index.js +++ b/tools/audio-interval-test/index.js @@ -7,6 +7,7 @@ function AudioForm(el) { let audioIndex = 0 const items = 50 + /* for (let i = 0; i < items; i += 1) { const newAudio = new Audio('./sfx/weapons/guns/smg-hkmp7/1_unload_var0.wav') newAudio.volume = 0.2; @@ -25,33 +26,61 @@ function AudioForm(el) { } newAudio.load() } + */ + let started = false; + window.addEventListener('click', () => { + if (started) { + return; + } + started = true; + const audioContext = new AudioContext(); - const playSound = () => { - for (let i = 0; i < items; i += 1) { - if (!audioPool[i].ready) { - return; - } - } + const gain = audioContext.createGain(); + gain.gain.setValueAtTime(0, audioContext.currentTime); - audioPool[audioIndex].audio.play(); - audioIndex = (audioIndex + 1) % items; - } + const oscillator = audioContext.createOscillator(); - el.addEventListener('submit', (e) => { - e.preventDefault() - - const ms = 60000 / Number(interval.value); - output.innerText = `${ms} ms` - if (play.checked) { - intervalHandle = window.setInterval(() => { - playSound() - }, ms) - } else { - window.clearInterval(intervalHandle); - } + oscillator.type = 'square'; + oscillator.frequency.setValueAtTime(1000, audioContext.currentTime); + oscillator.start(); + + oscillator.connect(gain); + gain.connect(audioContext.destination); + + const playSound = () => { + gain.gain.setValueAtTime(0.25, audioContext.currentTime); + setTimeout(() => { + gain.gain.setValueAtTime(0, audioContext.currentTime); + }, 10); + /* + for (let i = 0; i < items; i += 1) { + if (!audioPool[i].ready) { + return; + } + } + + audioPool[audioIndex].audio.play(); + audioIndex = (audioIndex + 1) % items; + */ + } + + el.addEventListener('submit', (e) => { + e.preventDefault() + + const ms = 60000 / Number(interval.value); + output.innerText = `${ms} ms` + if (play.checked) { + intervalHandle = window.setInterval(() => { + playSound() + }, ms) + } else { + gain.gain.setValueAtTime(0, audioContext.currentTime); + window.clearInterval(intervalHandle); + } - play.checked = !play.checked - }) + play.checked = !play.checked + }) + }) } const audioForm = new AudioForm(window.document.getElementById('formAudio'))