diff --git a/data/emulator.js b/data/emulator.js index a02c5ec..09868cb 100644 --- a/data/emulator.js +++ b/data/emulator.js @@ -2463,6 +2463,7 @@ class EmulatorJS { if (this.settingsMenu.style.display !== "none" || this.isPopupOpen()) return; const special = [16, 17, 18, 19, 20, 21, 22, 23]; for (let i=0; i<4; i++) { + if (e.gamepadIndex !== i) continue; for (let j=0; j<30; j++) { if (['buttonup', 'buttondown'].includes(e.type) && (this.controls[i][j] && this.controls[i][j].value2 === e.index)) { this.gameManager.simulateInput(i, j, (e.type === 'buttonup' ? 0 : (special.includes(j) ? 0x7fff : 1))); @@ -2471,35 +2472,35 @@ class EmulatorJS { if (special.includes(j)) { if (e.axis === 'LEFT_STICK_X') { if (e.value > 0) { - this.gameManager.simulateInput(e.gamepadIndex, 16, 0x7fff * e.value); - this.gameManager.simulateInput(e.gamepadIndex, 17, 0); + this.gameManager.simulateInput(i, 16, 0x7fff * e.value); + this.gameManager.simulateInput(i, 17, 0); } else { - this.gameManager.simulateInput(e.gamepadIndex, 17, -0x7fff * e.value); - this.gameManager.simulateInput(e.gamepadIndex, 16, 0); + this.gameManager.simulateInput(i, 17, -0x7fff * e.value); + this.gameManager.simulateInput(i, 16, 0); } } else if (e.axis === 'LEFT_STICK_Y') { if (e.value > 0) { - this.gameManager.simulateInput(e.gamepadIndex, 18, 0x7fff * e.value); - this.gameManager.simulateInput(e.gamepadIndex, 19, 0); + this.gameManager.simulateInput(i, 18, 0x7fff * e.value); + this.gameManager.simulateInput(i, 19, 0); } else { - this.gameManager.simulateInput(e.gamepadIndex, 19, -0x7fff * e.value); - this.gameManager.simulateInput(e.gamepadIndex, 18, 0); + this.gameManager.simulateInput(i, 19, -0x7fff * e.value); + this.gameManager.simulateInput(i, 18, 0); } } else if (e.axis === 'RIGHT_STICK_X') { if (e.value > 0) { - this.gameManager.simulateInput(e.gamepadIndex, 20, 0x7fff * e.value); - this.gameManager.simulateInput(e.gamepadIndex, 21, 0); + this.gameManager.simulateInput(i, 20, 0x7fff * e.value); + this.gameManager.simulateInput(i, 21, 0); } else { - this.gameManager.simulateInput(e.gamepadIndex, 21, -0x7fff * e.value); - this.gameManager.simulateInput(e.gamepadIndex, 20, 0); + this.gameManager.simulateInput(i, 21, -0x7fff * e.value); + this.gameManager.simulateInput(i, 20, 0); } } else if (e.axis === 'RIGHT_STICK_Y') { if (e.value > 0) { - this.gameManager.simulateInput(e.gamepadIndex, 22, 0x7fff * e.value); - this.gameManager.simulateInput(e.gamepadIndex, 23, 0); + this.gameManager.simulateInput(i, 22, 0x7fff * e.value); + this.gameManager.simulateInput(i, 23, 0); } else { - this.gameManager.simulateInput(e.gamepadIndex, 23, 0x7fff * e.value); - this.gameManager.simulateInput(e.gamepadIndex, 22, 0); + this.gameManager.simulateInput(i, 23, 0x7fff * e.value); + this.gameManager.simulateInput(i, 22, 0); } } } else if (this.controls[i][j].value2 === e.axis+":"+value || value === 0) { diff --git a/data/emulator.min.js b/data/emulator.min.js index 6f0d131..a4c3cc8 100644 --- a/data/emulator.min.js +++ b/data/emulator.min.js @@ -1 +1 @@ -!function(){var e,t;e=window,t=function(){return n=[function(e,t,n){"use strict";n.r(t);function b(e,t){var n=t.x-e.x,t=t.y-e.y;return Math.sqrt(n*n+t*t)}function _(e){return e*(Math.PI/180)}function o(e){f.has(e)&&clearTimeout(f.get(e)),f.set(e,setTimeout(e,100))}function s(e,t,n){for(var i,o=t.split(/[ ,]+/g),s=0;sthis.options.threshold){var r,l={};for(r in this.direction)this.direction.hasOwnProperty(r)&&(l[r]=this.direction[r]);var c={};for(r in this.direction={x:n,y:i,angle:t},e.direction=this.direction,l)l[r]===this.direction[r]&&(c[r]=!0);if(c.x&&c.y&&c.angle)return e;c.x&&c.y||this.trigger("plain",e),c.x||this.trigger("plain:"+n,e),c.y||this.trigger("plain:"+i,e),c.angle||this.trigger("dir dir:"+t,e)}else this.resetDirection();return e};var x=w;function E(e,t){this.nipples=[],this.idles=[],this.actives=[],this.ids=[],this.pressureIntervals={},this.manager=e,this.id=E.id,E.id+=1,this.defaults={zone:document.body,multitouch:!1,maxNumberOfNipples:10,mode:"dynamic",position:{top:0,left:0},catchDistance:200,size:100,threshold:.1,color:"white",fadeTime:250,dataOnly:!1,restJoystick:!0,restOpacity:.5,lockX:!1,lockY:!1,shape:"circle",dynamicPage:!1,follow:!1},this.config(t),"static"!==this.options.mode&&"semi"!==this.options.mode||(this.options.multitouch=!1),this.options.multitouch||(this.options.maxNumberOfNipples=1);e=getComputedStyle(this.options.zone.parentElement);return e&&"flex"===e.display&&(this.parentIsFlex=!0),this.updateBox(),this.prepareNipples(),this.bindings(),this.begin(),this.nipples}E.prototype=new m,(E.constructor=E).id=0,E.prototype.prepareNipples=function(){var i=this.nipples;i.on=this.on.bind(this),i.off=this.off.bind(this),i.options=this.options,i.destroy=this.destroy.bind(this),i.ids=this.ids,i.id=this.id,i.processOnMove=this.processOnMove.bind(this),i.processOnEnd=this.processOnEnd.bind(this),i.get=function(e){if(void 0===e)return i[0];for(var t=0,n=i.length;t