mirror of
https://github.com/EmulatorJS/EmulatorJS.git
synced 2024-09-20 10:56:30 +00:00
Merge branch 'main' of https://github.com/ethanaobrien/emulatorjs
This commit is contained in:
commit
5d0b1d2429
2 changed files with 55 additions and 4 deletions
|
@ -455,7 +455,7 @@ window.EJS_main = function(_0xa88a13, _0x17edbf, _0x2c1832) {
|
|||
'wasm': 'undefined' != typeof WebAssembly && _0x1e2c68.object(WebAssembly),
|
||||
'audioContext': 'undefined' != typeof AudioContext
|
||||
};
|
||||
|
||||
|
||||
function _0x55cbbe(_0x43ca9d, _0x1fbf80, _0x332d13) {
|
||||
return _0x1fbf80 in _0x43ca9d ? Object.defineProperty(_0x43ca9d, _0x1fbf80, {
|
||||
'value': _0x332d13,
|
||||
|
@ -4032,8 +4032,8 @@ window.EJS_main = function(_0xa88a13, _0x17edbf, _0x2c1832) {
|
|||
var options = {};
|
||||
}
|
||||
_0xa88a13.recordData.stream = _0x27f4c4.Module.canvas.captureStream(30);
|
||||
//_0xa88a13.recordData.stream.addTrack(); // TODO - find audio element
|
||||
_0xa88a13.recordData.recorder = new MediaRecorder(_0xa88a13.recordData.stream, options);
|
||||
//_0xa88a13.recordData.recorder.addTrack() // TODO - find audio element
|
||||
_0xa88a13.recordData.recorder.ondataavailable = function(e) {
|
||||
if (e.data.size > 0) {
|
||||
_0xa88a13.recordData.data.push(e.data)
|
||||
|
@ -4041,7 +4041,10 @@ window.EJS_main = function(_0xa88a13, _0x17edbf, _0x2c1832) {
|
|||
if (_0xa88a13.recordData.stopped) {
|
||||
var a = document.createElement("a")
|
||||
a.href = window.URL.createObjectURL(new Blob(_0xa88a13.recordData.data, {type: "video/webm"}))
|
||||
a.download = 'record.webm'
|
||||
if (typeof _0xa88a13.gameName == 'string') {
|
||||
var aname = _0xa88a13.gameName
|
||||
}
|
||||
a.download = aname ? '' .concat(aname, '-recording.webm') : 'record.webm';
|
||||
a.click()
|
||||
window.URL.revokeObjectURL(a.href)
|
||||
delete _0xa88a13.recordData
|
||||
|
@ -5579,7 +5582,11 @@ window.EJS_main = function(_0xa88a13, _0x17edbf, _0x2c1832) {
|
|||
}
|
||||
addContextHtml(_0xa88a13.localization('Take Screenshot'), false, function(_0x20faaa) {
|
||||
var _0x4e898a = _0x378b5c.getScreenData();
|
||||
_0x4e4ca6()(new Blob([_0x4e898a]), 'game.png');
|
||||
if (typeof _0xa88a13.gameName == 'string') {
|
||||
var gamep = _0xa88a13.gameName
|
||||
}
|
||||
var gamepng = gamep ? '' .concat(gamep, '-screenshot.png') : 'game.png';
|
||||
_0x4e4ca6()(new Blob([_0x4e898a]), gamepng);
|
||||
return false;
|
||||
})
|
||||
addContextHtml(_0xa88a13.localization('Cache Manage'), true, function(_0x275730) {
|
||||
|
|
44
index.html
Normal file
44
index.html
Normal file
|
@ -0,0 +1,44 @@
|
|||
<html>
|
||||
<body>
|
||||
<script>
|
||||
window.addEventListener('load', function() {
|
||||
document.getElementById('file').onchange = function(e) {
|
||||
var gameUrl = URL.createObjectURL(new Blob([e.target.files[0]]))
|
||||
var extension = e.target.files[0].name.split('.').pop()
|
||||
var gameName = e.target.files[0].name.replaceAll("'", "\\'")
|
||||
var gameName = gameName.substr(0, gameName.length - extension.length - 1)
|
||||
e.target.remove()
|
||||
document.body.innerHTML = ''
|
||||
if (['fds', 'nes', 'unif', 'unf'].includes(extension)) {
|
||||
var core = 'nes';
|
||||
} else if (['z64'].includes(extension)) {
|
||||
var core = 'n64';
|
||||
} else if (['smc', 'fig', 'sfc', 'gd3', 'gd7', 'dx2', 'bsx', 'swc'].includes(extension)) {
|
||||
var core = 'snes';
|
||||
} else if (['nds'].includes(extension)) {
|
||||
var core = 'nds';
|
||||
} else if (['gba'].includes(extension)) {
|
||||
var core = 'gba';
|
||||
} else if (['gb'].includes(extension)) {
|
||||
var core = 'gb';
|
||||
} else {
|
||||
var core = prompt('Input core (examples: nes, snes, n64, gb, gba, psx)');
|
||||
};
|
||||
var a = document.createElement('div');
|
||||
a.style = "width:640px;height:480px;max-width:100%";
|
||||
var b = document.createElement('div');
|
||||
b.id = 'game';
|
||||
a.appendChild(b);
|
||||
document.body.appendChild(a);
|
||||
var script = document.createElement('script');
|
||||
script.innerHTML = "EJS_player = '#game'; EJS_gameName = '" + gameName + "'; EJS_biosUrl = ''; EJS_gameUrl = '" + gameUrl + "'; EJS_core = '" + core + "'; EJS_pathtodata = 'data/'; ";
|
||||
document.body.appendChild(script);
|
||||
var script = document.createElement('script');
|
||||
script.src = 'data/loader.js';
|
||||
document.body.appendChild(script);
|
||||
}
|
||||
})
|
||||
</script>
|
||||
Select Game Rom: <input type="file" id="file">
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in a new issue