mirror of
https://github.com/libretro/RetroArch
synced 2025-03-02 19:13:34 +00:00
[EMSCRIPTEN] chrome fixes
This commit is contained in:
parent
b874f003ff
commit
e6389f9919
@ -1,7 +1,7 @@
|
||||
//"use strict";
|
||||
|
||||
var LibraryRWebAudio = {
|
||||
$RA__deps: ['$Browser'],
|
||||
$RA__deps: ['$Browser', 'usleep'],
|
||||
$RA: {
|
||||
BUFFER_SIZE: 256,
|
||||
|
||||
@ -12,17 +12,24 @@ var LibraryRWebAudio = {
|
||||
bufOffset: 0,
|
||||
startTime: 0,
|
||||
nonblock: false,
|
||||
currentTimeWorkaround: false,
|
||||
|
||||
setStartTime: function() {
|
||||
if (RA.context.currentTime) {
|
||||
RA.startTime = window['performance']['now']() - RA.context.currentTime * 1000;
|
||||
if (RA.startTime === 0) throw 'startTime is 0';
|
||||
var time1 = RA.context.currentTime;
|
||||
_usleep(50);
|
||||
if (time1 === RA.context.currentTime) {
|
||||
RA.currentTimeWorkaround = true;
|
||||
if (RA.startTime === 0) throw 'startTime is 0';
|
||||
}
|
||||
Module["resumeMainLoop"]();
|
||||
} else window['setTimeout'](RA.setStartTime, 0);
|
||||
},
|
||||
|
||||
getCurrentPerfTime: function() {
|
||||
if (RA.startTime) return (window['performance']['now']() - RA.startTime) / 1000;
|
||||
if (!RA.currentTimeWorkaround) return RA.context.currentTime;
|
||||
else if (RA.startTime) return (window['performance']['now']() - RA.startTime) / 1000;
|
||||
else throw 'getCurrentPerfTime() called before start time set';
|
||||
},
|
||||
|
||||
|
@ -23,22 +23,17 @@ var LibraryRWebInput = {
|
||||
break;
|
||||
case 'mouseup':
|
||||
case 'mousedown':
|
||||
var l, r;
|
||||
|
||||
if (event.buttons & 1) l = 1;
|
||||
else l = 0;
|
||||
|
||||
if (event.buttons & 2) r = 1;
|
||||
else r = 0;
|
||||
|
||||
var value;
|
||||
var offset;
|
||||
if (event.button === 0) offset = 40;
|
||||
else if (event.button === 2) offset = 41;
|
||||
else break;
|
||||
if (event.type === 'mouseup') value = 0;
|
||||
else value = 1;
|
||||
for (i = 0; i < RI.contexts.length; i++) {
|
||||
{{{ makeSetValue('RI.contexts[i].state', '40', 'l', 'i8') }}};
|
||||
{{{ makeSetValue('RI.contexts[i].state', '41', 'r', 'i8') }}};
|
||||
{{{ makeSetValue('RI.contexts[i].state', 'offset', 'value', 'i8') }}};
|
||||
}
|
||||
break;
|
||||
case 'click':
|
||||
e.preventDefault();
|
||||
break;
|
||||
case 'keyup':
|
||||
case 'keydown':
|
||||
var key = event.keyCode;
|
||||
@ -70,7 +65,6 @@ var LibraryRWebInput = {
|
||||
document.addEventListener('mousemove', RI.eventHandler, false);
|
||||
document.addEventListener('mouseup', RI.eventHandler, false);
|
||||
document.addEventListener('mousedown', RI.eventHandler, false);
|
||||
document.addEventListener('click', RI.eventHandler, false);
|
||||
document.addEventListener('blur', RI.eventHandler, false);
|
||||
document.addEventListener('onvisbilitychange', RI.eventHandler, false);
|
||||
}
|
||||
@ -103,7 +97,6 @@ var LibraryRWebInput = {
|
||||
document.removeEventListener('mousemove', RI.eventHandler, false);
|
||||
document.removeEventListener('mouseup', RI.eventHandler, false);
|
||||
document.removeEventListener('mousedown', RI.eventHandler, false);
|
||||
document.removeEventListener('click', RI.eventHandler, false);
|
||||
document.removeEventListener('blur', RI.eventHandler, false);
|
||||
document.removeEventListener('onvisbilitychange', RI.eventHandler, false);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user