Version 3.1.5

Co-authored-by: Allan Niles <74841470+allancoding@users.noreply.github.com>
Co-authored-by: xufenqi <xufenqi@weili.com>
Co-authored-by: incredibleIdea <510996577@qq.com>
Unverified-co-authored-by: rwv <7891383+rwv@users.noreply.github.com>
This commit is contained in:
Ethan O'Brien 2023-06-19 16:59:00 -05:00
parent cc37200ac3
commit 400f705842
17 changed files with 7888 additions and 580 deletions

30
.github/ISSUE_TEMPLATE/bug.md vendored Normal file
View file

@ -0,0 +1,30 @@
---
name: Bug
about: Something isn't functioning as intended
title: "[Bug]"
labels: ''
assignees: ''
---
#### Make sure your issue doesn't get closed! Make sure you have done the following items
- [ ] I have collected a **FULL** log of the console, with `EJS_DEBUG_XX` set to true, and uploaded it straight to GitHub.
- [ ] I have not made any changes to the EmulatorJS instance I am running into this bug on.
- [ ] I am on the latest version of EmulatorJS
- [ ] I have not attached any images or logs via external sites. I have uploaded them straight to GitHub and acknowledge that external sites may pose a security issue.
- [ ] I have included, **IN DETAIL**, the steps to reproduce the bug.
<!--
To collect a log of the console.
1. Add the following line to your code
```
EJS_DEBUG_XX = true;
```
2. Right click and click `inspect`.
3. Select the `console` tab at the top.
4. then reload the broken page.
5. Right click on the console and click `Save as...`
6. Upload it to your issue.
-->

View file

@ -1,6 +1,10 @@
# Changes
# 3.1.0
# 3.1.5
- Fixed iOS bug for iPads
- Added netplay! (only working on new cores)
# 3.1.0 [View Tree](https://github.com/ethanaobrien/emulatorjs/tree/614f5cb55e2768199ba05b756b47d0ab7ab283fd)
- Added ability to drag and drop save states.
- Fixed some "update" and "cancel" and "close" button confustion
- Removed save state retroarch messages

View file

@ -631,8 +631,8 @@ to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
emulatorjs: run games in your web-browser
Copyright (C) 2022 Ethan O'Brien
EmulatorJS: RetroArch on the web
Copyright (C) 2023 Ethan O'Brien
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
emulatorjs Copyright (C) 2022 Ethan O'Brien
EmulatorJS Copyright (C) 2023 Ethan O'Brien
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.

View file

@ -14,6 +14,10 @@ Self-hosted **Javascript** emulation for various system.
<br>
Try out netplay [here](https://demo.emulatorjs.org/demos/netplay.html)!
<br>
[![Button Website]][Website]
[![Button Usage]][Usage]<br>
[![Button Configurator]][Configurator]<br>
@ -21,18 +25,15 @@ Self-hosted **Javascript** emulation for various system.
[![Button Legacy]][Legacy]
[![Button Contributors]][Contributors]
Join our Discord server:
[![Join our Discord server!](https://invite.caspertheghost.me/?inviteCode=6akryGkETU&format=svg)](https://discord.gg/6akryGkETU)
</div>
<br>
### Issues
*If something doesn't work, please consider opening an* ***[Issue]*** <br>
*with as many details as possible, as well as the console log.*
<br>
### Ads
*This project has no ads.* <br>

View file

@ -48,7 +48,13 @@
-webkit-user-select:none;
-moz-user-select:none;
-ms-user-select:none;
user-select:none
user-select:none;
}
.ejs--f932566a0af5314da834324c901978 input{
user-select: text;
-webkit-user-select:text;
-moz-user-select:text;
-ms-user-select:text;
}
.ejs--666d4296310579687cf3cf3d2cf951{
display:inline-block;
@ -82,7 +88,7 @@
.ejs--7a5f920ceffb2913f6dbda780573cf:focus{
outline:0
}
.ejs--7a5f920ceffb2913f6dbda780573cf *{
.ejs--7a5f920ceffb2913f6dbda780573cf *:not(input,textarea){
-webkit-user-select:none;
-moz-user-select:none;
-ms-user-select:none;
@ -998,7 +1004,8 @@ a.ejs--73f9b4e94a7a1fe74e11107d5ab2ef:hover{
cursor:pointer
}
.ejs--71527b6509aa48afce3ce1a11c02f0{
float:none
float:none;
user-select: text!important;
}
.ejs--7ad35768e3f6b9faf97db01d5b60ae{
float:none
@ -1034,10 +1041,11 @@ a.ejs--73f9b4e94a7a1fe74e11107d5ab2ef:hover{
float:none
}
.ejs--0885d5e25e19127b6b516014426a1b{
float:none
float:none;
}
.ejs--25023d28756fdb9dfbbfb6dccb8677{
float:none
float:none;
user-select: text!important;
}
.ejs--75b3a8d35aacc6424ed7422fdeaaaa{
float:none
@ -1060,7 +1068,8 @@ a.ejs--73f9b4e94a7a1fe74e11107d5ab2ef:hover{
width:80px
}
.ejs--9e670880bb57e824400fa00f09aaad,.ejs--2b4e3c245b7b25dfdac5e09155a68e,.ejs--572b0b3a0345a6b01b01a15a02842c,.ejs--a7d7f80c8999469c991ea452a85dd9{
float:none
float:none;
user-select: text!important;
}
.ejs--2b4e3c245b7b25dfdac5e09155a68e{
max-width:320px;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,5 +1,5 @@
(async function() {
let VERSION = 31.0;
let VERSION = 31.6;
if ((window.location && ['localhost', '127.0.0.1'].includes(location.hostname)) ||
'undefined' != typeof EJS_DEBUG_XX && true === EJS_DEBUG_XX) {
fetch('https://raw.githack.com/EmulatorJS/EmulatorJS/main/data/version.json').then(response => {
@ -13,7 +13,6 @@
}
})
}
let scriptTag = document.getElementsByTagName('script')[0];
function loadStyle(file) {
return new Promise(function(resolve, reject) {
let css = document.createElement('link');
@ -45,12 +44,12 @@
return file+'?v='+VERSION;
}
}();
scriptTag.parentNode.insertBefore(script, scriptTag);
script.onload = resolve;
document.head.appendChild(script);
})
}
if (('undefined' != typeof EJS_DEBUG_XX && true === EJS_DEBUG_XX) ||
/(iPad|iPhone|iPod)/gi .test(navigator.platform)) {
/(iPad|iPhone|iPod|Macintosh)/gi.test(navigator.userAgent)) {
await loadStyle('emu-css.css');
await loadScript('emu-main.js');
await loadScript('emulator.js');

View file

@ -3,7 +3,7 @@
"restart": "重新开始",
"play": "播放",
"pause": "暂停",
"played": "",
"played": "玩",
"volume": "音量",
"mute": "静音 (F9)",
"unmute": "取消静音 (F9)",
@ -16,11 +16,11 @@
"netplay": "网络游戏",
"gamepad": "控制设置",
"cheat": "秘籍",
"menuBack": "返回上级菜单",
"menuBack": "返回上级菜单",
"normal": "正常",
"all": "全部",
"reset": "重置",
"disabled": "残障人士",
"disabled": "禁用",
"enabled": "启用",
"playNow": "开始游戏"
},
@ -28,10 +28,10 @@
"shader": {
"label": "着色器",
"options": {
"disabled": "残疾人士",
"disabled": "禁用",
"2xScaleHQ.glslp": "2xScaleHQ",
"4xScaleHQ.glslp": "4xScaleHQ",
"crt-easymode.glslp": "CRT 简易模式",
"crt-easymode.glslp": "CRT简易模式",
"crt-aperture.glslp": "CRT孔径",
"crt-geom.glslp": "CRT几何",
"crt-mattias.glslp": "CRT mattias"
@ -41,17 +41,17 @@
"virtual-gamepad": {
"label": "虚拟游戏手柄",
"options": {
"disabled": "残疾人士",
"disabled": "禁用",
"enabled": "启用"
},
"default": "enabled"
}
},
"Control Settings": "控制设置",
"Control Settings": "控制设置",
"Player 1": "玩家1",
"Player 2": "玩家2",
"Player 3": "玩家 3",
"Player 4": "玩家 4",
"Player 3": "玩家3",
"Player 4": "玩家4",
"Update": "更新",
"Reset": "重置",
"Clear": "清除",
@ -103,7 +103,7 @@
"Color Palette": "调色板",
"No Sprite Limit": "无精灵图限制",
"Enabled": "启用",
"Disabled": "残障人士",
"Disabled": "禁用",
"enabled": "启用",
"disabled": "已禁用",
"Low": "低",
@ -192,4 +192,4 @@
"Take Screenshot": "截图",
"Quick Save": "快速保存",
"Quick Load": "快速加载"
}
}

View file

@ -2,62 +2,62 @@
"oldCores" : {"nes":{"version":"25","netplay":1,"state":1,"asmjs":1,"wasm":1},"snes":{"version":"22","netplay":1,"state":1,"asmjs":1,"wasm":1},"snes2010":{"version":"1","netplay":1,"state":1,"asmjs":1,"wasm":1},"snes2005":{"version":"1","netplay":1,"state":1,"asmjs":1,"wasm":1},"snes2002":{"version":"1","netplay":1,"state":1,"asmjs":1,"wasm":1},"arcade":{"version":"16","netplay":1,"state":1,"asmjs":1,"wasm":1},"fba0.2.97.29":{"version":"1","netplay":1,"state":1,"asmjs":1,"wasm":1},"pce":{"version":"1","netplay":1,"state":1,"asmjs":1,"wasm":1},"pceCD":{"version":"1","netplay":1,"state":1,"asmjs":1,"wasm":1},"ngp":{"version":"2","netplay":0,"state":1,"asmjs":1,"wasm":1},"ws":{"version":"1","netplay":0,"state":1,"asmjs":1,"wasm":1},"msx":{"version":"1","netplay":0,"state":0,"asmjs":1,"wasm":1},"bluemsx":{"version":"1","netplay":0,"state":0,"asmjs":1,"wasm":1},"vb":{"version":"8","netplay":0,"state":1,"asmjs":1,"wasm":1},"atari2600":{"version":"1","netplay":1,"state":1,"asmjs":1,"wasm":1},"a7800":{"version":"4","netplay":0,"state":0,"asmjs":1,"wasm":0},"atari7800":{"version":"4","netplay":0,"state":1,"asmjs":1,"wasm":0},"lynx":{"version":"1","netplay":0,"state":1,"asmjs":1,"wasm":1},"jaguar":{"version":"1","netplay":0,"state":0,"asmjs":1,"wasm":1},"gb":{"version":"13","netplay":0,"state":1,"asmjs":1,"wasm":0},"gbc":{"version":"4","netplay":0,"state":1,"asmjs":1,"wasm":0},"gba":{"version":"11","netplay":0,"state":1,"asmjs":1,"wasm":0},"segaGG":{"version":"9","netplay":0,"state":1,"asmjs":1,"wasm":1},"segaMD":{"version":"9","netplay":1,"state":1,"asmjs":1,"wasm":1},"segaMS":{"version":"9","netplay":1,"state":1,"asmjs":1,"wasm":1},"segaCD":{"version":"9","netplay":1,"state":1,"asmjs":1,"wasm":0},"segaSaturn":{"version":"3","netplay":0,"state":1,"asmjs":1,"wasm":0},"psx":{"version":"11","netplay":0,"state":1,"asmjs":0,"wasm":1},"n64":{"version":"14","netplay":1,"state":1,"asmjs":1,"wasm":0},"nds":{"version":"17","netplay":0,"state":1,"asmjs":1,"wasm":1},"3do":{"version":"1","netplay":1,"state":1,"asmjs":1,"wasm":0},"sega32x":{"version":"2","netplay":1,"state":1,"asmjs":1,"wasm":1},"mame2003":{"version":"6","netplay":1,"state":1,"asmjs":1,"wasm":0},"mame":{"version":"4","netplay":0,"state":0,"asmjs":0,"wasm":1},"vbanext":{"version":"1","netplay":0,"state":1,"asmjs":1,"wasm":1}},
"newCores": {
"fceumm": {
"version":"1",
"version":"2",
"asmjs": 1,
"wasm": 1
},
"a5200": {
"version":"6",
"version":"7",
"asmjs": 1,
"wasm": 1
},
"mame2003": {
"version":"7",
"version":"8",
"asmjs": 0,
"wasm": 1
},
"mupen64plus_next": {
"version":"1",
"version":"2",
"asmjs": 0,
"wasm": 1
},
"desmume2015": {
"version":"1",
"version":"2",
"asmjs": 1,
"wasm": 1
},
"mgba": {
"version":"1",
"version":"2",
"asmjs": 1,
"wasm": 1
},
"gambatte": {
"version":"1",
"version":"2",
"asmjs": 1,
"wasm": 1
},
"beetle_vb": {
"version":"1",
"version":"2",
"asmjs": 1,
"wasm": 1
},
"fbalpha2012_cps1": {
"version":"1",
"version":"2",
"asmjs": 0,
"wasm": 1
},
"fbalpha2012_cps2": {
"version":"1",
"version":"2",
"asmjs": 0,
"wasm": 1
},
"snes9x": {
"version":"1",
"version":"2",
"asmjs": 0,
"wasm": 1
},
"nestopia": {
"version":"1",
"version":"2",
"asmjs": 1,
"wasm": 1
},
@ -72,7 +72,7 @@
"wasm": 1
},
"melonds": {
"version":"1",
"version":"2",
"asmjs": 0,
"wasm": 1
},

View file

@ -1 +1 @@
{ "current_version": 31.0 }
{ "current_version": 31.6 }

BIN
demos/mega_mountain.nes Normal file

Binary file not shown.

21
demos/netplay.html Normal file
View file

@ -0,0 +1,21 @@
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8832864985153925" crossorigin="anonymous"></script>
<title>EmulatorJS Netplay demo</title>
<link rel = icon href = docs/favicon.ico sizes = "16x16 32x32 48x48 64x64" type = image/vnd.microsoft.icon>
<meta name = viewport content = "width = device-width, initial-scale = 1">
<div style='width:640px;height:480px;max-width:100%'>
<div id='game'></div>
</div>
<script type='text/javascript'>
EJS_player = '#game';
EJS_core = 'nes';
EJS_oldCores = true;
EJS_gameUrl = 'mega_mountain.nes';
EJS_pathtodata = '/data/';
EJS_gameID = 1;
</script>
<script src="/data/loader.js"></script>

View file

@ -55,33 +55,37 @@
[![Avatar Kyle]][GitHub Kyle]
[![Avatar Protektor]][GitHub Protektor]
[![Avatar ericKuang]][GitHub ericKuang]
[![Avatar seedgou]][GitHub seedgou]
</div>
<!------------------------------------------------------------------------------>
[Avatar Nekro]: https://github.com/imneckro.png?size=120
[Avatar Nekro]: https://github.com/imneckro.png?size=100
[GitHub Nekro]: https://github.com/imneckro 'ImNekro - ck-oneman'
[Avatar Grey]: https://github.com/Grey41.png?size=120
[Avatar Grey]: https://github.com/Grey41.png?size=100
[GitHub Grey]: https://github.com/Grey41 'Grey41 - Grey Hope'
[Avatar Kyle]: https://github.com/cheesykyle.png?size=120
[Avatar Kyle]: https://github.com/cheesykyle.png?size=100
[GitHub Kyle]: https://github.com/cheesykyle 'CheesyKyle - Kyle Steffel'
[Avatar Protektor]: https://github.com/Protektor-Desura.png?size=120
[Avatar Protektor]: https://github.com/Protektor-Desura.png?size=100
[GitHub Protektor]: https://github.com/Protektor-Desura 'Protektor-Desura - Protektor'
[Avatar ericKuang]: https://github.com/eric183.png?size=120
[Avatar ericKuang]: https://github.com/eric183.png?size=100
[GitHub ericKuang]: https://github.com/eric183 'eric183 - ericKuang'
[Avatar seedgou]: https://github.com/rwv.png?size=100
[GitHub seedgou]: https://github.com/rwv 'rwv - seedgou'
<!----------------------------------{ Ethan }----------------------------------->
[Badge Ethan GitHub]: https://img.shields.io/badge/Ethan_O'_Brien-181717.svg?style=for-the-badge&logo=GitHub&logoColor=white
[Ethan Avatar]: https://avatars.githubusercontent.com/u/77750390?s=80 'Ethan O\'Brien'
[Ethan Avatar]: https://avatars.githubusercontent.com/u/77750390?s=90 'Ethan O\'Brien'
[Ethan GitHub]: https://github.com/ethanaobrien
@ -90,7 +94,7 @@
[Badge Archiver GitHub]: https://img.shields.io/badge/ElectronicsArchiver-181717.svg?style=for-the-badge&logo=GitHub&logoColor=white
[Badge Archiver Marked]: https://img.shields.io/badge/-49a2d5.svg?style=for-the-badge&logo=GitHub&logoColor=white
[Archiver Avatar]: https://avatars.githubusercontent.com/u/85485984?s=80 'ElectronicsArchiver - トトも'
[Archiver Avatar]: https://avatars.githubusercontent.com/u/85485984?s=90 'ElectronicsArchiver - トトも'
[Archiver GitHub]: https://github.com/ElectronicsArchiver
[Archiver Marked]: https://github.com/MarkedDown
@ -100,6 +104,6 @@
[Badge Allan GitHub]: https://img.shields.io/badge/allancoding-181717.svg?style=for-the-badge&logo=GitHub&logoColor=white
[Badge Allan Website]: https://img.shields.io/badge/AllanCoding.ga-lightgray.svg?style=for-the-badge&logo=GitHub&logoColor=white
[Allan Avatar]: https://avatars.githubusercontent.com/u/74841470?s=80 'AllanCoding - Allan Niles'
[Allan Avatar]: https://avatars.githubusercontent.com/u/74841470?s=90 'Allancoding - Allan Niles'
[Allan GitHub]: https://github.com/allancoding
[Allan Website]: https://allancoding.ga/

4487
docs/Logo.svg Normal file

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 170 KiB