diff --git a/src/js/buffer/buffer_manager.js b/src/js/buffer/buffer_manager.js index 09fbadf..b9cbfc8 100644 --- a/src/js/buffer/buffer_manager.js +++ b/src/js/buffer/buffer_manager.js @@ -149,7 +149,7 @@ export default ShaderBoy.bufferManager = { this.compileShaders() } - ShaderBoy.forceDraw = (ShaderBoy.isPlaying !== true) + ShaderBoy.forceDraw = !ShaderBoy.isPlaying }, //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/js/commands.js b/src/js/commands.js index 6691878..7ffc390 100644 --- a/src/js/commands.js +++ b/src/js/commands.js @@ -142,7 +142,7 @@ export default ShaderBoy.commands = { { ShaderBoy.renderScale = 1 ShaderBoy.bufferManager.setFBOsProps() - if (ShaderBoy.isPlaying !== true) ShaderBoy.forceDraw = true + ShaderBoy.forceDraw = !ShaderBoy.isPlaying }, //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -150,7 +150,7 @@ export default ShaderBoy.commands = { { ShaderBoy.renderScale = 2 ShaderBoy.bufferManager.setFBOsProps() - if (ShaderBoy.isPlaying !== true) ShaderBoy.forceDraw = true + ShaderBoy.forceDraw = !ShaderBoy.isPlaying }, //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -158,7 +158,7 @@ export default ShaderBoy.commands = { { ShaderBoy.renderScale = 3 ShaderBoy.bufferManager.setFBOsProps() - if (ShaderBoy.isPlaying !== true) ShaderBoy.forceDraw = true + ShaderBoy.forceDraw = !ShaderBoy.isPlaying }, //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -166,7 +166,7 @@ export default ShaderBoy.commands = { { ShaderBoy.renderScale = 4 ShaderBoy.bufferManager.setFBOsProps() - if (ShaderBoy.isPlaying !== true) ShaderBoy.forceDraw = true + ShaderBoy.forceDraw = !ShaderBoy.isPlaying }, //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/js/gui/gui.js b/src/js/gui/gui.js index b3fffa3..439c488 100644 --- a/src/js/gui/gui.js +++ b/src/js/gui/gui.js @@ -107,7 +107,7 @@ export default ShaderBoy.gui = { gui.mousePosX = gui.mouseOriX gui.mousePosY = gui.mouseOriY ShaderBoy.uniforms.iMouse = [gui.mousePosX, gui.mousePosY, gui.mouseOriX, gui.mouseOriY] - if (ShaderBoy.isPlaying !== true) ShaderBoy.forceDraw = true + ShaderBoy.forceDraw = !ShaderBoy.isPlaying } } @@ -119,7 +119,7 @@ export default ShaderBoy.gui = { gui.mouseOriX=Math.abs(gui.mouseOriX)*-1 gui.mouseOriY=Math.abs(gui.mouseOriY)*-1 ShaderBoy.uniforms.iMouse = [gui.mousePosX, gui.mousePosY, gui.mouseOriX, gui.mouseOriY] - if (ShaderBoy.isPlaying !== true) ShaderBoy.forceDraw = true + ShaderBoy.forceDraw = !ShaderBoy.isPlaying } } @@ -134,7 +134,7 @@ export default ShaderBoy.gui = { gui.mouseOriX=Math.abs(gui.mouseOriX) gui.mouseOriY=Math.abs(gui.mouseOriY)*-1 ShaderBoy.uniforms.iMouse = [gui.mousePosX, gui.mousePosY, gui.mouseOriX, gui.mouseOriY] - if (ShaderBoy.isPlaying !== true) ShaderBoy.forceDraw = true + ShaderBoy.forceDraw = !ShaderBoy.isPlaying } } } @@ -170,7 +170,7 @@ export default ShaderBoy.gui = { ev.deltaZ, this.iWheelCumulative[2], ] - if (ShaderBoy.isPlaying !== true) ShaderBoy.forceDraw = true + ShaderBoy.forceDraw = !ShaderBoy.isPlaying } }) diff --git a/src/js/gui/gui_keyboard.js b/src/js/gui/gui_keyboard.js index 931b22b..801c928 100644 --- a/src/js/gui/gui_keyboard.js +++ b/src/js/gui/gui_keyboard.js @@ -29,7 +29,7 @@ export default ShaderBoy.gui_keyboard = { { if (ShaderBoy.isEditorHidden || ShaderBoy.isSplited){ this.setKeyDown( ev.keyCode ) - if (ShaderBoy.isPlaying !== true) ShaderBoy.forceDraw = true + ShaderBoy.forceDraw = !ShaderBoy.isPlaying } } } @@ -42,7 +42,7 @@ export default ShaderBoy.gui_keyboard = { console.log('onkeyup') if (ShaderBoy.isEditorHidden || ShaderBoy.isSplited){ this.setKeyUp( ev.keyCode ) - if (ShaderBoy.isPlaying !== true) ShaderBoy.forceDraw = true + ShaderBoy.forceDraw = !ShaderBoy.isPlaying } } } diff --git a/src/js/gui/gui_knobs.js b/src/js/gui/gui_knobs.js index c551eef..b31be87 100644 --- a/src/js/gui/gui_knobs.js +++ b/src/js/gui/gui_knobs.js @@ -72,7 +72,7 @@ export default ShaderBoy.gui_knobs = { if (ShaderBoy.gui.knobs.knobs[i].active === true) { - ShaderBoy.forceDraw = (ShaderBoy.isPlaying !== true) + ShaderBoy.forceDraw = !ShaderBoy.isPlaying const delta = (e.deltaY < 0) ? 1 : -1 const deg = e.deltaY ShaderBoy.gui.knobs.knobs[i].value += delta * velocity * (1 / ShaderBoy.gui.knobs.precision)// deg * 1 / ShaderBoy.gui.knobs.precision diff --git a/src/js/gui/gui_midi.js b/src/js/gui/gui_midi.js index 156e666..ef7ab22 100644 --- a/src/js/gui/gui_midi.js +++ b/src/js/gui/gui_midi.js @@ -87,7 +87,7 @@ export default ShaderBoy.gui_midi = { { ShaderBoy.gui.midis[data.name] = data.value } - ShaderBoy.forceDraw = (ShaderBoy.isPlaying !== true) + ShaderBoy.forceDraw = !ShaderBoy.isPlaying ShaderBoy.gui_header.setStatus('prgrs', `MIDI: ${data.name} = ${data.value}...`, 3000) }, diff --git a/src/js/main.js b/src/js/main.js index d98b3e9..65c5f3c 100644 --- a/src/js/main.js +++ b/src/js/main.js @@ -88,9 +88,15 @@ ShaderBoy.update = () => else if (ShaderBoy.forceDraw === true) { imageRenderer.render() - ShaderBoy.forceDraw = false + if(ShaderBoy.forceDrawnCount++>=2) + { + // idk why i have to draw 2 times to update viewport... + ShaderBoy.forceDraw = false + ShaderBoy.forceDrawnCount = 0 + } } + gui.redraw() } diff --git a/src/js/shaderboy.js b/src/js/shaderboy.js index f375132..dd7bb5b 100644 --- a/src/js/shaderboy.js +++ b/src/js/shaderboy.js @@ -31,6 +31,7 @@ const ShaderBoy = { isDirty: true, forceDraw: false, + forceDrawnCount: 0, editingBuffer: '', vsSource: null, screenShader: null,