├── .gitignore ├── Cemu-UI.exe ├── Cemu-UI.exe.config ├── README.md ├── cef ├── CefSharp.BrowserSubprocess.Core.dll ├── CefSharp.BrowserSubprocess.exe ├── CefSharp.Core.dll ├── CefSharp.WinForms.dll ├── CefSharp.dll ├── cef.pak ├── cef_100_percent.pak ├── cef_200_percent.pak ├── cef_extensions.pak ├── d3dcompiler_43.dll ├── d3dcompiler_47.dll ├── devtools_resources.pak ├── icudtl.dat ├── libEGL.dll ├── libGLESv2.dll ├── libcef.dll ├── locales │ ├── am.pak │ ├── ar.pak │ ├── bg.pak │ ├── bn.pak │ ├── ca.pak │ ├── cs.pak │ ├── da.pak │ ├── de.pak │ ├── el.pak │ ├── en-GB.pak │ ├── en-US.pak │ ├── es-419.pak │ ├── es.pak │ ├── et.pak │ ├── fa.pak │ ├── fi.pak │ ├── fil.pak │ ├── fr.pak │ ├── gu.pak │ ├── he.pak │ ├── hi.pak │ ├── hr.pak │ ├── hu.pak │ ├── id.pak │ ├── it.pak │ ├── ja.pak │ ├── kn.pak │ ├── ko.pak │ ├── lt.pak │ ├── lv.pak │ ├── ml.pak │ ├── mr.pak │ ├── ms.pak │ ├── nb.pak │ ├── nl.pak │ ├── pl.pak │ ├── pt-BR.pak │ ├── pt-PT.pak │ ├── ro.pak │ ├── ru.pak │ ├── sk.pak │ ├── sl.pak │ ├── sr.pak │ ├── sv.pak │ ├── sw.pak │ ├── ta.pak │ ├── te.pak │ ├── th.pak │ ├── tr.pak │ ├── uk.pak │ ├── vi.pak │ ├── zh-CN.pak │ └── zh-TW.pak ├── natives_blob.bin ├── snapshot_blob.bin └── widevinecdmadapter.dll ├── libs ├── HtmlAgilityPack.dll ├── Newtonsoft.Json.dll ├── Ookii.Dialogs.Wpf.dll ├── Ookii.Dialogs.dll ├── SharpDX.DirectInput.dll ├── SharpDX.XInput.dll ├── SharpDX.dll └── TargaImage.dll ├── plugins ├── CDecrypt │ ├── CDecrypt.exe │ ├── libeay32.dll │ └── msvcr120d.dll ├── MapleLib.dll ├── NintendoSwitchTheme.dll └── PluginTest.dll ├── themes ├── caboose │ ├── interface.html │ ├── style.css │ └── theme.json └── switch │ ├── img │ ├── A.svg │ ├── Menu.svg │ ├── chat.svg │ ├── friends.svg │ ├── headset.svg │ ├── icons │ │ ├── 1.png │ │ ├── 10.png │ │ ├── 11.png │ │ ├── 12.png │ │ ├── 13.png │ │ ├── 14.png │ │ ├── 15.png │ │ ├── 16.png │ │ ├── 17.png │ │ ├── 18.png │ │ ├── 19.png │ │ ├── 2.png │ │ ├── 20.png │ │ ├── 21.png │ │ ├── 22.png │ │ ├── 23.png │ │ ├── 24.png │ │ ├── 25.png │ │ ├── 26.png │ │ ├── 27.png │ │ ├── 28.png │ │ ├── 29.png │ │ ├── 3.png │ │ ├── 30.png │ │ ├── 31.png │ │ ├── 32.png │ │ ├── 33.png │ │ ├── 34.png │ │ ├── 35.png │ │ ├── 36.png │ │ ├── 37.png │ │ ├── 38.png │ │ ├── 39.png │ │ ├── 4.png │ │ ├── 40.png │ │ ├── 41.png │ │ ├── 42.png │ │ ├── 43.png │ │ ├── 44.png │ │ ├── 45.png │ │ ├── 46.png │ │ ├── 47.png │ │ ├── 48.png │ │ ├── 49.png │ │ ├── 5.png │ │ ├── 50.png │ │ ├── 51.png │ │ ├── 52.png │ │ ├── 53.png │ │ ├── 54.png │ │ ├── 55.png │ │ ├── 56.png │ │ ├── 57.png │ │ ├── 58.png │ │ ├── 59.png │ │ ├── 6.png │ │ ├── 60.png │ │ ├── 61.png │ │ ├── 62.png │ │ ├── 63.png │ │ ├── 64.png │ │ ├── 65.png │ │ ├── 66.png │ │ ├── 7.png │ │ ├── 8.png │ │ ├── 9.png │ │ └── Read Me.txt │ ├── logo-left.svg │ ├── logo-right.svg │ └── nintendo-switch.svg │ ├── interface.html │ ├── style.css │ ├── switch.ogg │ ├── switch.woff2 │ └── theme.json └── ui ├── controllers └── black-xb1 │ ├── abxy.svg │ ├── base.svg │ ├── bumper.svg │ ├── dpad.svg │ ├── start-select.svg │ ├── stick.svg │ └── trigger.svg ├── font ├── OpenSans-Light.ttf └── OpenSans-Regular.ttf ├── img ├── CHN.svg ├── EUR.svg ├── JPN.svg ├── KOR.svg ├── TWN.svg ├── USA.svg ├── background │ ├── Captain Toad Treasure Tracker.jpg │ ├── Donkey Kong Country Tropical Freeze.jpg │ ├── Hyrule Warriors.jpg │ ├── Legend of Zelda Wind Waker HD.jpg │ ├── Mario Kart 8.jpg │ ├── Splatoon.jpg │ └── Super Mario Maker.jpg ├── icon │ ├── Captain Toad Treasure Tracker.png │ ├── Donkey Kong Country Tropical Freeze.png │ ├── Hyrule Warriors.png │ ├── Legend of Zelda Wind Waker HD.png │ ├── Mario Kart 8.png │ ├── Splatoon.png │ └── Super Mario Maker.png ├── installed.png ├── settings.svg └── switch-a.svg └── js ├── cemu-ui.js ├── gamepad.js ├── gamepad.min.js ├── jquery.min.js └── jquery.scrollTo.js /.gitignore: -------------------------------------------------------------------------------- 1 | *.log 2 | *.json 3 | !theme.json 4 | ui/img/icon/ 5 | ui/img/background/ 6 | meta/ -------------------------------------------------------------------------------- /Cemu-UI.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/Cemu-UI.exe -------------------------------------------------------------------------------- /Cemu-UI.exe.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Cemu-UI 2 | 3 | User interface built for Cemu in HTML, CSS, and JavaScript on top of C# and the Chromium Embedded Framework (CEF). 4 | 5 | Created by Orion (Shadowfita) and TheFeelTrain. 6 | 7 |   8 | 9 | ## Development Progress 10 | - ~~Last Played~~ 11 | - ~~Time Played~~ 12 | - ~~Local Settings File~~ 13 | - ~~Settings Page~~ 14 | - Favorites 15 | - Search 16 | - Sort by Name/Region/Etc 17 | - ~~Get Cemu version~~ 18 | - Controller Support 19 | - Super Mario Maker Level Browser/Downloader 20 | - Themes 21 | - ~~Plugins~~ 22 | -------------------------------------------------------------------------------- /cef/CefSharp.BrowserSubprocess.Core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/CefSharp.BrowserSubprocess.Core.dll -------------------------------------------------------------------------------- /cef/CefSharp.BrowserSubprocess.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/CefSharp.BrowserSubprocess.exe -------------------------------------------------------------------------------- /cef/CefSharp.Core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/CefSharp.Core.dll -------------------------------------------------------------------------------- /cef/CefSharp.WinForms.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/CefSharp.WinForms.dll -------------------------------------------------------------------------------- /cef/CefSharp.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/CefSharp.dll -------------------------------------------------------------------------------- /cef/cef.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/cef.pak -------------------------------------------------------------------------------- /cef/cef_100_percent.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/cef_100_percent.pak -------------------------------------------------------------------------------- /cef/cef_200_percent.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/cef_200_percent.pak -------------------------------------------------------------------------------- /cef/cef_extensions.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/cef_extensions.pak -------------------------------------------------------------------------------- /cef/d3dcompiler_43.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/d3dcompiler_43.dll -------------------------------------------------------------------------------- /cef/d3dcompiler_47.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/d3dcompiler_47.dll -------------------------------------------------------------------------------- /cef/devtools_resources.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/devtools_resources.pak -------------------------------------------------------------------------------- /cef/icudtl.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/icudtl.dat -------------------------------------------------------------------------------- /cef/libEGL.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/libEGL.dll -------------------------------------------------------------------------------- /cef/libGLESv2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/libGLESv2.dll -------------------------------------------------------------------------------- /cef/libcef.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/libcef.dll -------------------------------------------------------------------------------- /cef/locales/am.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/am.pak -------------------------------------------------------------------------------- /cef/locales/ar.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/ar.pak -------------------------------------------------------------------------------- /cef/locales/bg.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/bg.pak -------------------------------------------------------------------------------- /cef/locales/bn.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/bn.pak -------------------------------------------------------------------------------- /cef/locales/ca.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/ca.pak -------------------------------------------------------------------------------- /cef/locales/cs.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/cs.pak -------------------------------------------------------------------------------- /cef/locales/da.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/da.pak -------------------------------------------------------------------------------- /cef/locales/de.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/de.pak -------------------------------------------------------------------------------- /cef/locales/el.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/el.pak -------------------------------------------------------------------------------- /cef/locales/en-GB.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/en-GB.pak -------------------------------------------------------------------------------- /cef/locales/en-US.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/en-US.pak -------------------------------------------------------------------------------- /cef/locales/es-419.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/es-419.pak -------------------------------------------------------------------------------- /cef/locales/es.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/es.pak -------------------------------------------------------------------------------- /cef/locales/et.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/et.pak -------------------------------------------------------------------------------- /cef/locales/fa.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/fa.pak -------------------------------------------------------------------------------- /cef/locales/fi.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/fi.pak -------------------------------------------------------------------------------- /cef/locales/fil.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/fil.pak -------------------------------------------------------------------------------- /cef/locales/fr.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/fr.pak -------------------------------------------------------------------------------- /cef/locales/gu.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/gu.pak -------------------------------------------------------------------------------- /cef/locales/he.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/he.pak -------------------------------------------------------------------------------- /cef/locales/hi.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/hi.pak -------------------------------------------------------------------------------- /cef/locales/hr.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/hr.pak -------------------------------------------------------------------------------- /cef/locales/hu.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/hu.pak -------------------------------------------------------------------------------- /cef/locales/id.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/id.pak -------------------------------------------------------------------------------- /cef/locales/it.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/it.pak -------------------------------------------------------------------------------- /cef/locales/ja.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/ja.pak -------------------------------------------------------------------------------- /cef/locales/kn.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/kn.pak -------------------------------------------------------------------------------- /cef/locales/ko.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/ko.pak -------------------------------------------------------------------------------- /cef/locales/lt.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/lt.pak -------------------------------------------------------------------------------- /cef/locales/lv.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/lv.pak -------------------------------------------------------------------------------- /cef/locales/ml.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/ml.pak -------------------------------------------------------------------------------- /cef/locales/mr.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/mr.pak -------------------------------------------------------------------------------- /cef/locales/ms.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/ms.pak -------------------------------------------------------------------------------- /cef/locales/nb.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/nb.pak -------------------------------------------------------------------------------- /cef/locales/nl.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/nl.pak -------------------------------------------------------------------------------- /cef/locales/pl.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/pl.pak -------------------------------------------------------------------------------- /cef/locales/pt-BR.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/pt-BR.pak -------------------------------------------------------------------------------- /cef/locales/pt-PT.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/pt-PT.pak -------------------------------------------------------------------------------- /cef/locales/ro.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/ro.pak -------------------------------------------------------------------------------- /cef/locales/ru.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/ru.pak -------------------------------------------------------------------------------- /cef/locales/sk.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/sk.pak -------------------------------------------------------------------------------- /cef/locales/sl.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/sl.pak -------------------------------------------------------------------------------- /cef/locales/sr.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/sr.pak -------------------------------------------------------------------------------- /cef/locales/sv.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/sv.pak -------------------------------------------------------------------------------- /cef/locales/sw.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/sw.pak -------------------------------------------------------------------------------- /cef/locales/ta.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/ta.pak -------------------------------------------------------------------------------- /cef/locales/te.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/te.pak -------------------------------------------------------------------------------- /cef/locales/th.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/th.pak -------------------------------------------------------------------------------- /cef/locales/tr.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/tr.pak -------------------------------------------------------------------------------- /cef/locales/uk.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/uk.pak -------------------------------------------------------------------------------- /cef/locales/vi.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/vi.pak -------------------------------------------------------------------------------- /cef/locales/zh-CN.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/zh-CN.pak -------------------------------------------------------------------------------- /cef/locales/zh-TW.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/locales/zh-TW.pak -------------------------------------------------------------------------------- /cef/natives_blob.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/natives_blob.bin -------------------------------------------------------------------------------- /cef/snapshot_blob.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/snapshot_blob.bin -------------------------------------------------------------------------------- /cef/widevinecdmadapter.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/cef/widevinecdmadapter.dll -------------------------------------------------------------------------------- /libs/HtmlAgilityPack.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/libs/HtmlAgilityPack.dll -------------------------------------------------------------------------------- /libs/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/libs/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /libs/Ookii.Dialogs.Wpf.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/libs/Ookii.Dialogs.Wpf.dll -------------------------------------------------------------------------------- /libs/Ookii.Dialogs.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/libs/Ookii.Dialogs.dll -------------------------------------------------------------------------------- /libs/SharpDX.DirectInput.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/libs/SharpDX.DirectInput.dll -------------------------------------------------------------------------------- /libs/SharpDX.XInput.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/libs/SharpDX.XInput.dll -------------------------------------------------------------------------------- /libs/SharpDX.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/libs/SharpDX.dll -------------------------------------------------------------------------------- /libs/TargaImage.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/libs/TargaImage.dll -------------------------------------------------------------------------------- /plugins/CDecrypt/CDecrypt.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/plugins/CDecrypt/CDecrypt.exe -------------------------------------------------------------------------------- /plugins/CDecrypt/libeay32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/plugins/CDecrypt/libeay32.dll -------------------------------------------------------------------------------- /plugins/CDecrypt/msvcr120d.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/plugins/CDecrypt/msvcr120d.dll -------------------------------------------------------------------------------- /plugins/MapleLib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/plugins/MapleLib.dll -------------------------------------------------------------------------------- /plugins/NintendoSwitchTheme.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/plugins/NintendoSwitchTheme.dll -------------------------------------------------------------------------------- /plugins/PluginTest.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/plugins/PluginTest.dll -------------------------------------------------------------------------------- /themes/caboose/interface.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Cemu 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |
18 |
19 | 24 |
25 |
26 |
27 |
28 |
29 |
30 |

31 | 32 | 33 | Launch Game 34 |
35 |
36 |
37 |

Downloading Update

38 |

Downloading - 00:00:00 remaining

39 |
40 |
41 |
42 |
43 |
44 | Back 45 |

Settings

46 | 52 |
53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 |
Directories
Game Directory
Cemu Directory
66 |
67 |
68 | 69 | 70 | 71 | 72 | 73 | 74 | 80 | 81 | 82 | 83 | 89 | 90 | 91 | 92 | 98 | 99 | 100 | 101 | 108 | 109 |
Interface
Fullscreen 75 | 79 |
Theme 84 | 88 |
Layout 93 | 97 |
Background Changes 102 | 107 |
110 |
111 |
112 |
113 |
Plugins
114 |
115 | Citra 116 | JakeFromStateFarm 117 | A plugin for eating citrus fruit with the tribal chick from Far Cry 3. 118 | 119 |
120 |
121 | Australian Outback 122 | A Mate, Mate 123 | Injects authentic roos, spiders, and sneks into Mario Kart 8. 124 | 125 |
126 |
127 | Generic Plugin #3 128 | Some Developer 129 | Some more filler text for this plugin description to test out how it looks. 130 | 131 |
132 |
133 |
134 |
135 | 136 | 137 | 138 | 139 | 140 | 141 | 146 | 147 | 148 | 149 | 150 |
Input
Controller 142 | 145 |
Keybindings
151 |
152 |
153 |
154 |
155 |
156 |
157 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 | 172 | 173 | 174 | -------------------------------------------------------------------------------- /themes/caboose/style.css: -------------------------------------------------------------------------------- 1 | * { 2 | font-family: 'Open Sans'; 3 | font-weight: 300; 4 | box-sizing: border-box; 5 | color: #fff; 6 | backface-visibility: hidden; 7 | } 8 | * ::-webkit-scrollbar { 9 | width: 10px; 10 | } 11 | * ::-webkit-scrollbar-track { 12 | opacity: 0; 13 | } 14 | * ::-webkit-scrollbar-thumb { 15 | background: rgba(255, 255, 255, .333); 16 | } 17 | @keyframes fadeInUp { 18 | from { 19 | transform: translate3d(0, 75%, 0); 20 | opacity: 0; 21 | } 22 | to { 23 | transform: scale(1); 24 | opacity: 1; 25 | } 26 | } 27 | .fullscreen { 28 | position: absolute; 29 | top: 0; 30 | left: 0; 31 | overflow: hidden; 32 | width: 100vw; 33 | height: 100vh; 34 | } 35 | #cemu-ui { 36 | background: #ededed; 37 | } 38 | #navigation { 39 | z-index: 8; 40 | transition: 1s; 41 | background: #1d1d1d; 42 | } 43 | #navigation.top { 44 | height: 20vh; 45 | background: transparent; 46 | } 47 | h1 { 48 | font-size: 8.33vh; 49 | font-weight: 300; 50 | line-height: 8.33vh; 51 | position: absolute; 52 | top: 7vh; 53 | left: 4vw; 54 | width: 92vw; 55 | margin: 0; 56 | padding: 0; 57 | transition: 1s; 58 | transform: translateY(28vh); 59 | text-align: center; 60 | } 61 | h1 span { 62 | font-size: 2vh; 63 | font-weight: 400; 64 | vertical-align: middle; 65 | } 66 | .top h1 { 67 | font-size: 7vh; 68 | font-weight: 300; 69 | line-height: 7vh; 70 | width: 16vw; 71 | transform: translateY(0); 72 | } 73 | #navigation a, #close-settings { 74 | font-size: 3vh; 75 | position: absolute; 76 | top: 55.55vh; 77 | display: block; 78 | width: 15.625vw; 79 | padding: 1.4vh 1.55vw; 80 | cursor: pointer; 81 | transition: 1s; 82 | text-align: center; 83 | text-decoration: none; 84 | border-radius: .75vw; 85 | } 86 | #navigation #directory { 87 | left: 33vw; 88 | background: #00acd2; 89 | } 90 | #navigation #settings { 91 | right: 33vw; 92 | background: rgba(255, 255, 255, .075); 93 | } 94 | #settings img { 95 | width: 3vh; 96 | max-width: 1.7vw; 97 | height: 3vh; 98 | margin-right: .4vw; 99 | vertical-align: -.5vh; 100 | } 101 | #navigation.top #directory { 102 | top: 7vh; 103 | left: 75.39vw; 104 | width: 11.1vw; 105 | padding: 0; 106 | opacity: 0; 107 | background: transparent; 108 | } 109 | #navigation.top #settings, #close-settings { 110 | top: 7vh; 111 | right: 3.9vw; 112 | width: 9vw; 113 | padding: 0; 114 | background: transparent; 115 | } 116 | #game-info { 117 | position: absolute; 118 | top: 27.75vh; 119 | right: 3.9vw; 120 | width: 15.625vw; 121 | height: 65.25vh; 122 | } 123 | #game-icon { 124 | width: 10vw; 125 | height: 10vw; 126 | background: url('../../ui/img/icon/Hyrule Warriors.png') no-repeat center/contain; 127 | } 128 | h2 { 129 | font-size: 2.77vh; 130 | height: 7.64vh; 131 | margin: 2.77vh 0; 132 | } 133 | #game-info span { 134 | font-size: 1.8vh; 135 | font-weight: 400; 136 | display: block; 137 | margin: 0 0 .7vh; 138 | } 139 | #games-container { 140 | position: absolute; 141 | top: 27.77vh; 142 | left: 3.9vw; 143 | overflow-y: scroll; 144 | width: 72.66vw; 145 | height: 65.25vh; 146 | } 147 | #games { 148 | width: 100%; 149 | border-spacing: 0; 150 | border-collapse: collapse; 151 | } 152 | #games-tiled { 153 | display: none; 154 | width: 100%; 155 | height: 100%; 156 | position: relative; 157 | } 158 | #games-tiled img { 159 | display: inline-block; 160 | height: calc(50% - 1vw); 161 | margin: 0.5vw; 162 | transition: .2s; 163 | cursor: pointer; 164 | } 165 | #games-tiled img:hover, #games-tiled img.hovered { 166 | transform: scale(1.05); 167 | } 168 | #games .game td { 169 | font-size: 2.5vh; 170 | padding: 1.4vh 1.17vw; 171 | transition: .4s; 172 | vertical-align: middle; 173 | border-top: .139vh solid rgba(255, 255, 255, .15); 174 | } 175 | .game .icon { 176 | width: 10%; 177 | } 178 | .game .name { 179 | width: 45%; 180 | } 181 | .game .flag, .game .lastplayed, .game.status .game.compat { 182 | width: 20%; 183 | } 184 | .game:hover td, .game.selected td { 185 | cursor: pointer; 186 | background: rgba(255, 255, 255, .1); 187 | } 188 | .game .icon img { 189 | width: 6.94vh; 190 | height: 6.94vh; 191 | } 192 | .game .flag img { 193 | width: 5.55vh; 194 | height: 5.55vh; 195 | margin: 0 .78vw 0 0; 196 | vertical-align: -1.8vh; 197 | } 198 | #launch { 199 | font-size: 2.5vh; 200 | display: block; 201 | width: 15.625vw; 202 | margin: 5.55vh 0 0; 203 | padding: 1.39vh 1.56vw; 204 | cursor: pointer; 205 | transition: 1s; 206 | text-align: center; 207 | text-decoration: none; 208 | border-radius: .75vw; 209 | background: #00acd2; 210 | } 211 | #background { 212 | z-index: 1; 213 | background: url('../../ui/img/background/Hyrule Warriors.jpg') no-repeat center/cover #262626; 214 | filter: blur(.4vh); 215 | } 216 | #cemu-ui .container { 217 | z-index: 2; 218 | background: rgba(29, 29, 29, 0.45); 219 | } 220 | #download { 221 | background: rgba(29, 29, 29, 0.85); 222 | backdrop-filter: blur(1vh); 223 | display: none; 224 | z-index: 2; 225 | } 226 | #download h1 { 227 | font-size: 6vh; 228 | } 229 | #download-eta { 230 | font-size: 2.5vh; 231 | font-weight: 300; 232 | line-height: 2.5vh; 233 | position: absolute; 234 | top: 7vh; 235 | left: 4vw; 236 | width: 92vw; 237 | margin: 0; 238 | padding: 0; 239 | transition: 1s; 240 | transform: translateY(41vh); 241 | text-align: center; 242 | opacity: 0.75; 243 | } 244 | #download-bar { 245 | top: 55.55vh; 246 | background-color: rgba(0,0,0,0.25); 247 | width: 50vw; 248 | height: 3vh; 249 | left: 25vw; 250 | position: absolute; 251 | border-radius: .75vw; 252 | overflow: hidden; 253 | } 254 | #download-progress { 255 | position: absolute; 256 | top: 0; 257 | left: 0; 258 | background-color: #00acd2; 259 | width: 0%; 260 | height: 100%; 261 | border-radius: .75vw; 262 | transition: width 2s linear; 263 | } 264 | #background, #game-icon { 265 | transition: background 100ms ease-in 50ms; 266 | } 267 | #settings-container { 268 | z-index: 10; 269 | left: 100vw; 270 | transition: 1s; 271 | opacity: 0; 272 | background: rgba(29, 29, 29, 0.9); 273 | backdrop-filter: blur(1vh); 274 | } 275 | #settings-container.center { 276 | left: 0; 277 | opacity: 1; 278 | } 279 | h3 { 280 | font-size: 7vh; 281 | font-weight: 300; 282 | line-height: 7vh; 283 | position: absolute; 284 | top: 7vh; 285 | left: 4vw; 286 | margin: 0; 287 | padding: 0; 288 | text-align: center; 289 | } 290 | #settings-container .settings { 291 | border-radius: .6vw; 292 | font-size: 2.5vh; 293 | position: absolute; 294 | top: 28vh; 295 | left: 4vw; 296 | width: 92vw; 297 | height: 65vh; 298 | padding: 3vh 5vw; 299 | display: none; 300 | } 301 | 302 | #settings-container .nav { 303 | position: absolute; 304 | top: 20vh; 305 | left: 4vw; 306 | margin: 0; 307 | padding: 0; 308 | list-style: none; 309 | } 310 | 311 | #settings-container .nav li { 312 | display: inline-block; 313 | margin-right: 2vw; 314 | font-size: 3vh; 315 | opacity: 0.667; 316 | } 317 | 318 | #settings-container .nav li:hover { 319 | cursor: pointer; 320 | opacity: 1; 321 | } 322 | 323 | #settings-container .nav li.on { 324 | font-weight: 400; 325 | opacity: 1; 326 | } 327 | 328 | #settings-container .settings#directories { 329 | display: block; 330 | } 331 | 332 | .plugins > .plugin { 333 | font-size: 2.5vh; 334 | width: 100%; 335 | margin: .5vh 0; 336 | border: none; 337 | outline: 0; 338 | border-radius: .6vw; 339 | background: rgba(0, 0, 0, .2); 340 | } 341 | 342 | .plugins > .plugin span { 343 | display: inline-block; 344 | padding: 1vh 1vw; 345 | vertical-align: middle; 346 | } 347 | 348 | .plugin span.name { 349 | width: 18%; 350 | } 351 | .plugin span.author { 352 | width: 20%; 353 | } 354 | .plugin span.description { 355 | width: 55%; 356 | font-size: 2.25vh; 357 | } 358 | .plugin span.check { 359 | text-align: center; 360 | width: 5%; 361 | } 362 | .plugin input { 363 | float: right; 364 | width: 2.5vh; 365 | height: 2.5vh; 366 | margin: .5vh; 367 | } 368 | .setting { 369 | width: 100%; 370 | /* padding: 0 0 8vh; */ 371 | } 372 | .setting tr td { 373 | width: 50%; 374 | } 375 | .setting tr td:first-of-type { 376 | font-size: 2.75vh; 377 | font-weight: 400; 378 | } 379 | .setting tr.title td, .plugins .title { 380 | font-size: 5vh; 381 | font-weight: 300; 382 | margin: 0; 383 | padding: 0 0 5vh; 384 | background: transparent; 385 | } 386 | .setting td select { 387 | font-size: 2.5vh; 388 | width: 100%; 389 | padding: .75vh .5vw; 390 | border: none; 391 | border-radius: .6vw; 392 | outline: 0; 393 | background: rgba(0, 0, 0, .2); 394 | } 395 | [data-setting='game-dir'], [data-setting='cemu-dir'] { 396 | font-size: 2.5vh; 397 | padding: .75vh .5vw; 398 | border-radius: .6vw; 399 | background: rgba(0, 0, 0, .2); 400 | } 401 | .setting td select:hover, [data-setting='game-dir']:hover, [data-setting='cemu-dir']:hover, .plugin:hover { 402 | cursor: pointer; 403 | background: #101010; 404 | } 405 | .controller { 406 | width: 51vh; 407 | height: 43vh; 408 | background-image: url(../../ui/controllers/black-xb1/base.svg); 409 | background-size: contain; 410 | background-position: center; 411 | background-repeat: no-repeat; 412 | position: relative; 413 | margin: auto; 414 | } 415 | .controller .stick { 416 | position: absolute; 417 | background: url(../../ui/controllers/black-xb1/stick.svg); 418 | background-position: -7vh 0; 419 | background-size: 14vh; 420 | background-repeat: no-repeat; 421 | height: 7vh; 422 | width: 7vh; 423 | } 424 | .controller .stick.pressed { 425 | background-position: 0 0; 426 | } 427 | .controller .stick.left { 428 | top: 36.5%; 429 | left: 18.1%; 430 | } 431 | .controller .stick.right { 432 | top: 54.5%; 433 | left: 56.3%; 434 | } 435 | 436 | .controller .button { 437 | position: absolute; 438 | background: url(../../ui/controllers/black-xb1/abxy.svg); 439 | background-size: 14vh; 440 | background-repeat: no-repeat; 441 | height: 3.4vh; 442 | width: 3.4vh; 443 | } 444 | 445 | .controller .button.a { 446 | top: 48.5%; 447 | left: 72.2%; 448 | background-position: 0 0; 449 | } 450 | 451 | .controller .button.b { 452 | top: 40.6%; 453 | left: 79%; 454 | background-position: -3.5vh 0; 455 | } 456 | 457 | .controller .button.x { 458 | top: 40.6%; 459 | left: 65.4%; 460 | background-position: -7vh 0; 461 | } 462 | 463 | .controller .button.y { 464 | top: 32.5%; 465 | left: 72.2%; 466 | background-position: -10.5vh 0; 467 | } 468 | 469 | .controller .button.pressed { 470 | background-position-y: -3.5vh; 471 | } 472 | 473 | .controller .trigger { 474 | position: absolute; 475 | background: url(../../ui/controllers/black-xb1/trigger.svg); 476 | background-size: 6vh; 477 | background-repeat: no-repeat; 478 | height: 9vh; 479 | width: 6vh; 480 | top: 0.25%; 481 | opacity: 0; 482 | } 483 | 484 | .controller .trigger.left { 485 | left: 20%; 486 | } 487 | 488 | .controller .trigger.right { 489 | transform: scaleX(-1); 490 | right: 20%; 491 | } 492 | 493 | .controller .bumper { 494 | position: absolute; 495 | background: url(../../ui/controllers/black-xb1/bumper.svg); 496 | background-size: 11.5vh; 497 | background-repeat: no-repeat; 498 | height: 5vh; 499 | width: 13vh; 500 | top: 20.5%; 501 | opacity: 0; 502 | } 503 | 504 | .controller .bumper.left { 505 | left: 14.5%; 506 | } 507 | 508 | .controller .bumper.right { 509 | transform: scaleX(-1); 510 | right: 14.5%; 511 | } 512 | 513 | .controller .start { 514 | position: absolute; 515 | background: url(../../ui/controllers/black-xb1/start-select.svg); 516 | background-size: 5vh; 517 | background-repeat: no-repeat; 518 | background-position: -2.5vh; 519 | height: 2.5vh; 520 | width: 2.5vh; 521 | left: 55%; 522 | top: 42%; 523 | opacity: 0; 524 | } 525 | 526 | .controller .select { 527 | position: absolute; 528 | background: url(../../ui/controllers/black-xb1/start-select.svg); 529 | background-size: 5vh; 530 | background-repeat: no-repeat; 531 | height: 2.5vh; 532 | width: 2.5vh; 533 | left: 40.6%; 534 | top: 42%; 535 | opacity: 0; 536 | } 537 | 538 | .controller .dpad { 539 | position: absolute; 540 | background: url(../../ui/controllers/black-xb1/dpad.svg); 541 | background-size: 4vh; 542 | background-repeat: no-repeat; 543 | opacity: 0; 544 | } 545 | 546 | .controller .dpad.left { 547 | top: 61.25%; 548 | left: 30%; 549 | background-position: 0vh -5.2vh; 550 | height: 2vh; 551 | width: 4vh; 552 | } 553 | 554 | .controller .dpad.right { 555 | top: 61.5%; 556 | left: 37.9%; 557 | background-position: 0vh -3.2vh; 558 | height: 2vh; 559 | width: 4vh; 560 | } 561 | 562 | .controller .dpad.up { 563 | top: 53.25%; 564 | left: 35.1%; 565 | background-position: -2vh 0.9vh; 566 | height: 4vh; 567 | width: 2vh; 568 | } 569 | 570 | .controller .dpad.down { 571 | top: 63%; 572 | left: 35.1%; 573 | background-position: 0vh 0.8vh; 574 | height: 4vh; 575 | width: 2vh; 576 | } 577 | 578 | #store-tiled img .installed { 579 | position: absolute; 580 | background: url(../../ui/img/installed.png); 581 | } 582 | -------------------------------------------------------------------------------- /themes/caboose/theme.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Caboose", 3 | "description": "The default theme for Cemu UI", 4 | "author": "TheFeelTrain", 5 | "version": 0.2 6 | } 7 | -------------------------------------------------------------------------------- /themes/switch/img/A.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /themes/switch/img/Menu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /themes/switch/img/chat.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /themes/switch/img/friends.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /themes/switch/img/headset.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /themes/switch/img/icons/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/1.png -------------------------------------------------------------------------------- /themes/switch/img/icons/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/10.png -------------------------------------------------------------------------------- /themes/switch/img/icons/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/11.png -------------------------------------------------------------------------------- /themes/switch/img/icons/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/12.png -------------------------------------------------------------------------------- /themes/switch/img/icons/13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/13.png -------------------------------------------------------------------------------- /themes/switch/img/icons/14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/14.png -------------------------------------------------------------------------------- /themes/switch/img/icons/15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/15.png -------------------------------------------------------------------------------- /themes/switch/img/icons/16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/16.png -------------------------------------------------------------------------------- /themes/switch/img/icons/17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/17.png -------------------------------------------------------------------------------- /themes/switch/img/icons/18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/18.png -------------------------------------------------------------------------------- /themes/switch/img/icons/19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/19.png -------------------------------------------------------------------------------- /themes/switch/img/icons/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/2.png -------------------------------------------------------------------------------- /themes/switch/img/icons/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/20.png -------------------------------------------------------------------------------- /themes/switch/img/icons/21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/21.png -------------------------------------------------------------------------------- /themes/switch/img/icons/22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/22.png -------------------------------------------------------------------------------- /themes/switch/img/icons/23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/23.png -------------------------------------------------------------------------------- /themes/switch/img/icons/24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/24.png -------------------------------------------------------------------------------- /themes/switch/img/icons/25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/25.png -------------------------------------------------------------------------------- /themes/switch/img/icons/26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/26.png -------------------------------------------------------------------------------- /themes/switch/img/icons/27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/27.png -------------------------------------------------------------------------------- /themes/switch/img/icons/28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/28.png -------------------------------------------------------------------------------- /themes/switch/img/icons/29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/29.png -------------------------------------------------------------------------------- /themes/switch/img/icons/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/3.png -------------------------------------------------------------------------------- /themes/switch/img/icons/30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/30.png -------------------------------------------------------------------------------- /themes/switch/img/icons/31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/31.png -------------------------------------------------------------------------------- /themes/switch/img/icons/32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/32.png -------------------------------------------------------------------------------- /themes/switch/img/icons/33.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/33.png -------------------------------------------------------------------------------- /themes/switch/img/icons/34.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/34.png -------------------------------------------------------------------------------- /themes/switch/img/icons/35.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/35.png -------------------------------------------------------------------------------- /themes/switch/img/icons/36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/36.png -------------------------------------------------------------------------------- /themes/switch/img/icons/37.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/37.png -------------------------------------------------------------------------------- /themes/switch/img/icons/38.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/38.png -------------------------------------------------------------------------------- /themes/switch/img/icons/39.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/39.png -------------------------------------------------------------------------------- /themes/switch/img/icons/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/4.png -------------------------------------------------------------------------------- /themes/switch/img/icons/40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/40.png -------------------------------------------------------------------------------- /themes/switch/img/icons/41.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/41.png -------------------------------------------------------------------------------- /themes/switch/img/icons/42.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/42.png -------------------------------------------------------------------------------- /themes/switch/img/icons/43.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/43.png -------------------------------------------------------------------------------- /themes/switch/img/icons/44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/44.png -------------------------------------------------------------------------------- /themes/switch/img/icons/45.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/45.png -------------------------------------------------------------------------------- /themes/switch/img/icons/46.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/46.png -------------------------------------------------------------------------------- /themes/switch/img/icons/47.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/47.png -------------------------------------------------------------------------------- /themes/switch/img/icons/48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/48.png -------------------------------------------------------------------------------- /themes/switch/img/icons/49.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/49.png -------------------------------------------------------------------------------- /themes/switch/img/icons/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/5.png -------------------------------------------------------------------------------- /themes/switch/img/icons/50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/50.png -------------------------------------------------------------------------------- /themes/switch/img/icons/51.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/51.png -------------------------------------------------------------------------------- /themes/switch/img/icons/52.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/52.png -------------------------------------------------------------------------------- /themes/switch/img/icons/53.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/53.png -------------------------------------------------------------------------------- /themes/switch/img/icons/54.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/54.png -------------------------------------------------------------------------------- /themes/switch/img/icons/55.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/55.png -------------------------------------------------------------------------------- /themes/switch/img/icons/56.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/56.png -------------------------------------------------------------------------------- /themes/switch/img/icons/57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/57.png -------------------------------------------------------------------------------- /themes/switch/img/icons/58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/58.png -------------------------------------------------------------------------------- /themes/switch/img/icons/59.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/59.png -------------------------------------------------------------------------------- /themes/switch/img/icons/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/6.png -------------------------------------------------------------------------------- /themes/switch/img/icons/60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/60.png -------------------------------------------------------------------------------- /themes/switch/img/icons/61.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/61.png -------------------------------------------------------------------------------- /themes/switch/img/icons/62.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/62.png -------------------------------------------------------------------------------- /themes/switch/img/icons/63.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/63.png -------------------------------------------------------------------------------- /themes/switch/img/icons/64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/64.png -------------------------------------------------------------------------------- /themes/switch/img/icons/65.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/65.png -------------------------------------------------------------------------------- /themes/switch/img/icons/66.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/66.png -------------------------------------------------------------------------------- /themes/switch/img/icons/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/7.png -------------------------------------------------------------------------------- /themes/switch/img/icons/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/8.png -------------------------------------------------------------------------------- /themes/switch/img/icons/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/9.png -------------------------------------------------------------------------------- /themes/switch/img/icons/Read Me.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/img/icons/Read Me.txt -------------------------------------------------------------------------------- /themes/switch/img/logo-left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /themes/switch/img/logo-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /themes/switch/img/nintendo-switch.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /themes/switch/interface.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Cemu UI 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 46 | 47 | 48 | 49 |
50 | 51 |
52 | 56 |
57 | 58 |
59 |
60 | 61 | 71 | 72 |
73 | Hyrule Warriors 74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 | 82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 | 93 |
94 | 95 |
Start
96 |
Options
97 |
98 | 99 |
100 |

Settings

101 | 107 |
108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 |
Directories
Game Directory
Cemu Directory
121 |
122 |
123 | 124 | 125 | 126 | 127 | 128 | 129 | 135 | 136 | 137 | 138 | 144 | 145 | 146 | 147 | 153 | 154 | 155 | 156 | 163 | 164 |
Interface
Fullscreen 130 | 134 |
Theme 139 | 143 |
Layout 148 | 152 |
Background Changes 157 | 162 |
165 |
166 |
167 |
168 |
Plugins
169 |
170 | Citra 171 | JakeFromStateFarm 172 | A plugin for eating citrus fruit with the tribal chick from Far Cry 3. 173 | 174 |
175 |
176 | Australian Outback 177 | A Mate, Mate 178 | Injects authentic roos, spiders, and sneks into Mario Kart 8. 179 | 180 |
181 |
182 | Generic Plugin #3 183 | Some Developer 184 | Some more filler text for this plugin description to test out how it looks. 185 | 186 |
187 |
188 |
189 |
190 | 191 | 192 | 193 | 194 | 195 | 196 | 201 | 202 | 203 | 204 | 205 |
Input
Controller 197 | 200 |
Keybindings
206 |
207 |
208 |
209 |
210 |
211 |
212 |
213 |
214 |
215 |
216 |
217 |
218 |
219 |
220 |
221 |
222 |
223 |
224 |
225 | 226 |
227 | 228 |
OK
229 |
Back
230 |
231 | 232 |
233 | 234 |
235 | 236 | 237 | 238 | -------------------------------------------------------------------------------- /themes/switch/style.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: "Switch"; 3 | src: url("switch.woff2"); 4 | } 5 | 6 | * { 7 | font-family: "Switch"; 8 | font-weight: normal; 9 | backface-visibility: hidden; 10 | box-sizing: border-box; 11 | color: #212121; 12 | user-select: none; 13 | } 14 | html, body { 15 | width: 100%; 16 | height: 100%; 17 | margin: 0; 18 | background: #000; 19 | letter-spacing: 1px; 20 | } 21 | .loading { 22 | display: flex; 23 | flex-direction: column; 24 | align-items: center; 25 | justify-content: center; 26 | width: 100%; 27 | height: 100%; 28 | background-color: #E30B20; 29 | position: absolute; 30 | top: 0; 31 | left: 0; 32 | z-index: 2; 33 | } 34 | .logo { 35 | margin-bottom: 1em; 36 | } 37 | .logo-left, .logo-right { 38 | display: inline-block; 39 | position: relative; 40 | } 41 | @keyframes logo-anim-left { 42 | from { 43 | top: 0; 44 | transform: scale(1) translate(0); 45 | } 46 | 26% { 47 | top: 0; 48 | } 49 | 29% { 50 | top: 7px; 51 | } 52 | 40% { 53 | top: 0; 54 | } 55 | 65% { 56 | opacity: 1; 57 | transform: scale(1) translate(0); 58 | } 59 | 100% { 60 | transform: scale(1.5) translate(-100%); 61 | opacity: 0; 62 | } 63 | } 64 | @keyframes logo-anim-right { 65 | from { 66 | top: -45px; 67 | transform: scale(1) translate(0); 68 | } 69 | 25% { 70 | top: -50px; 71 | } 72 | 30% { 73 | top: 7px; 74 | } 75 | 40% { 76 | top: 0; 77 | } 78 | 65% { 79 | opacity: 1; 80 | transform: scale(1) translate(0); 81 | } 82 | 100% { 83 | transform: scale(1.5) translate(100%); 84 | opacity: 0; 85 | } 86 | } 87 | @keyframes logo-nintendo { 88 | from { 89 | opacity: 1; 90 | transform: scale(1) translate(0); 91 | } 92 | 65% { 93 | opacity: 1; 94 | transform: scale(1) translate(0); 95 | } 96 | 100% { 97 | opacity: 0; 98 | transform: scale(1.5) translateY(100%); 99 | } 100 | } 101 | .logo-left { 102 | animation-delay: 1s; 103 | animation-duration: 2s; 104 | animation-name: logo-anim-left; 105 | animation-iteration-count: 1; 106 | animation-fill-mode: both; 107 | } 108 | .logo-right { 109 | animation-delay: 1s; 110 | animation-duration: 2s; 111 | animation-name: logo-anim-right; 112 | animation-iteration-count: 1; 113 | animation-fill-mode: both; 114 | } 115 | .nintendo-switch { 116 | animation-delay: 1s; 117 | animation-duration: 2s; 118 | animation-name: logo-nintendo; 119 | animation-iteration-count: 1; 120 | animation-fill-mode: both; 121 | } 122 | 123 | .cemu-ui { 124 | width: 1280px; 125 | height: 720px; 126 | overflow: hidden; 127 | background-color: #ebebec; 128 | position: relative; 129 | } 130 | 131 | .title { 132 | color: #1deae1; 133 | font-size: 28px; 134 | } 135 | 136 | .navigation { 137 | position: absolute; 138 | top: 32px; 139 | height: 50px; 140 | left: 48px; 141 | width: calc(100% - 96px); 142 | } 143 | 144 | .navigation > div { 145 | background-size: 32px; 146 | background-position: center; 147 | background-repeat: no-repeat; 148 | width: 50px; 149 | height: 50px; 150 | margin: 0 4px; 151 | } 152 | 153 | .navigation > div:nth-of-type(2) { 154 | margin-left: 16px; 155 | } 156 | 157 | .navigation > .chat { 158 | background-image: url(img/chat.svg); 159 | } 160 | 161 | .navigation > .friends { 162 | background-image: url(img/friends.svg); 163 | } 164 | 165 | .navigation > .headset { 166 | background-image: url(img/headset.svg); 167 | } 168 | 169 | .navigation > .profile { 170 | width: 50px; 171 | height: 50px; 172 | background-size: cover; 173 | background-position: center; 174 | background-image: url('../../ui/img/icon/Captain Toad Treasure Tracker.png'); 175 | border-radius: 100%; 176 | margin: 0; 177 | } 178 | 179 | .navigation > .clock { 180 | width: auto; 181 | font-family: "Open Sans"; 182 | font-weight: 600; 183 | font-size: 25px; 184 | letter-spacing: 2px; 185 | } 186 | 187 | .navigation > .clock > span { 188 | font-family: "Switch"; 189 | font-size: 14px; 190 | vertical-align: baseline; 191 | letter-spacing: 4px; 192 | } 193 | 194 | .games-container { 195 | position: absolute; 196 | top: 128px; 197 | left: 48px; 198 | width: calc(100% - 96px); 199 | height: 320px; 200 | } 201 | 202 | .games { 203 | width: 100%; 204 | margin: 16px 0 0 48px; 205 | } 206 | 207 | .game { 208 | width: 250px; 209 | height: 250px; 210 | display: inline-block; 211 | margin: 0 8px; 212 | background-size: cover; 213 | background-position: center; 214 | background-repeat: no-repeat; 215 | border-radius: 4px; 216 | border: 2px solid #e2e2e2; 217 | } 218 | 219 | .game.selected { 220 | border: 3px solid #1deae1; 221 | transform: scale(1.1); 222 | } 223 | 224 | .circle-nav { 225 | position: absolute; 226 | top: 500px; 227 | text-align: center; 228 | width: 100%; 229 | height: 85px; 230 | } 231 | 232 | .circle { 233 | width: 85px; 234 | height: 85px; 235 | border-radius: 100%; 236 | border: 1.5px solid #e2e2e2; 237 | background-color: #fff; 238 | display: inline-block; 239 | margin: 0 10px; 240 | } 241 | 242 | .bottom { 243 | border-top: 4px solid #a7a7a7; 244 | position: absolute; 245 | left: 12px; 246 | height: 75px; 247 | width: calc(100% - 24px); 248 | bottom: 8px; 249 | } 250 | 251 | .right { 252 | float: right; 253 | } 254 | .left { 255 | float: left; 256 | } 257 | 258 | .bottom > div { 259 | font-size: 22px; 260 | line-height: 70px; 261 | margin-right: 40px; 262 | padding-left: 40px; 263 | background-size: 28px 28px; 264 | background-position: center left; 265 | background-repeat: no-repeat; 266 | } 267 | 268 | .bottom .logo { 269 | background: none; 270 | font-size: 28px; 271 | } 272 | 273 | .bottom .logo > span { 274 | font-family: "Open Sans"; 275 | font-weight: 600; 276 | font-size: 15px; 277 | vertical-align: middle; 278 | } 279 | 280 | .bottom > .start { 281 | background-image: url(img/A.svg); 282 | } 283 | 284 | .bottom > .options { 285 | background-image: url(img/Menu.svg); 286 | } 287 | 288 | #settings-container { 289 | display: none; 290 | width: 100%; 291 | height: 100%; 292 | position: absolute; 293 | top: 0; 294 | left: 0; 295 | z-index: 2; 296 | background-color: #ebebec; 297 | } 298 | 299 | #settings-container.center { 300 | display: block; 301 | } 302 | 303 | #settings-container h3 { 304 | border-bottom: 4px solid #a7a7a7; 305 | position: absolute; 306 | left: 12px; 307 | height: 75px; 308 | width: calc(100% - 24px); 309 | top: 8px; 310 | padding-left: 40px; 311 | font-size: 28px; 312 | margin: 0; 313 | display: flex; 314 | background-color: #ebebec; 315 | align-items: center; 316 | } 317 | 318 | ul.nav { 319 | position: absolute; 320 | left: 0; 321 | top: 83px; 322 | background: linear-gradient(to right, rgba(235,235,236,1) 0%,rgba(240,240,240,1) 25%,rgba(240,240,240,1) 25%); 323 | height: calc(100% - 166px); 324 | width: 400px; 325 | margin: 0; 326 | list-style: none; 327 | } 328 | 329 | .nav li { 330 | font-size: 21px; 331 | padding: 24px 72px; 332 | } 333 | 334 | .settings { 335 | position: absolute; 336 | top: 83px; 337 | left: 400px; 338 | padding: 60px; 339 | height: calc(100% - 166px); 340 | display: none; 341 | } 342 | 343 | #settings-container .settings#directories { 344 | display: block; 345 | } 346 | -------------------------------------------------------------------------------- /themes/switch/switch.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/switch.ogg -------------------------------------------------------------------------------- /themes/switch/switch.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/themes/switch/switch.woff2 -------------------------------------------------------------------------------- /themes/switch/theme.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Switch", 3 | "description": "Nintendo Switch theme ayyy", 4 | "author": "TheFeelTrain", 5 | "version": 0.1 6 | } 7 | -------------------------------------------------------------------------------- /ui/controllers/black-xb1/abxy.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | 10 | 12 | 13 | 14 | 17 | 18 | 19 | 20 | 21 | 23 | 24 | 25 | 32 | 33 | 34 | 35 | 36 | 38 | 39 | 40 | 43 | 44 | 45 | 46 | 47 | 49 | 50 | 51 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 63 | 64 | 65 | 68 | 69 | 70 | 71 | 72 | 74 | 75 | 76 | 83 | 84 | 85 | 86 | 87 | 89 | 90 | 91 | 94 | 95 | 96 | 97 | 98 | 100 | 101 | 102 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | -------------------------------------------------------------------------------- /ui/controllers/black-xb1/bumper.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 21 | 22 | 23 | 26 | 27 | 28 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /ui/controllers/black-xb1/dpad.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | 10 | 15 | 32 | 33 | 41 | 43 | 47 | 48 | 49 | 50 | 53 | 58 | 59 | 61 | 64 | 66 | 67 | 68 | 69 | 70 | 71 | 73 | 76 | 77 | 79 | 81 | 84 | 85 | 86 | 87 | 89 | 92 | 93 | 95 | 98 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | -------------------------------------------------------------------------------- /ui/controllers/black-xb1/start-select.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 18 | 19 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /ui/controllers/black-xb1/trigger.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | 11 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /ui/font/OpenSans-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/ui/font/OpenSans-Light.ttf -------------------------------------------------------------------------------- /ui/font/OpenSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/ui/font/OpenSans-Regular.ttf -------------------------------------------------------------------------------- /ui/img/CHN.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml -------------------------------------------------------------------------------- /ui/img/EUR.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /ui/img/JPN.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml -------------------------------------------------------------------------------- /ui/img/KOR.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml -------------------------------------------------------------------------------- /ui/img/TWN.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml -------------------------------------------------------------------------------- /ui/img/USA.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml -------------------------------------------------------------------------------- /ui/img/background/Captain Toad Treasure Tracker.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/ui/img/background/Captain Toad Treasure Tracker.jpg -------------------------------------------------------------------------------- /ui/img/background/Donkey Kong Country Tropical Freeze.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/ui/img/background/Donkey Kong Country Tropical Freeze.jpg -------------------------------------------------------------------------------- /ui/img/background/Hyrule Warriors.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/ui/img/background/Hyrule Warriors.jpg -------------------------------------------------------------------------------- /ui/img/background/Legend of Zelda Wind Waker HD.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/ui/img/background/Legend of Zelda Wind Waker HD.jpg -------------------------------------------------------------------------------- /ui/img/background/Mario Kart 8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/ui/img/background/Mario Kart 8.jpg -------------------------------------------------------------------------------- /ui/img/background/Splatoon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/ui/img/background/Splatoon.jpg -------------------------------------------------------------------------------- /ui/img/background/Super Mario Maker.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/ui/img/background/Super Mario Maker.jpg -------------------------------------------------------------------------------- /ui/img/icon/Captain Toad Treasure Tracker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/ui/img/icon/Captain Toad Treasure Tracker.png -------------------------------------------------------------------------------- /ui/img/icon/Donkey Kong Country Tropical Freeze.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/ui/img/icon/Donkey Kong Country Tropical Freeze.png -------------------------------------------------------------------------------- /ui/img/icon/Hyrule Warriors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/ui/img/icon/Hyrule Warriors.png -------------------------------------------------------------------------------- /ui/img/icon/Legend of Zelda Wind Waker HD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/ui/img/icon/Legend of Zelda Wind Waker HD.png -------------------------------------------------------------------------------- /ui/img/icon/Mario Kart 8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/ui/img/icon/Mario Kart 8.png -------------------------------------------------------------------------------- /ui/img/icon/Splatoon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/ui/img/icon/Splatoon.png -------------------------------------------------------------------------------- /ui/img/icon/Super Mario Maker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/ui/img/icon/Super Mario Maker.png -------------------------------------------------------------------------------- /ui/img/installed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheOrionTrain/Cemu-UI/6cd29a2eada8afe69662567228aeeb65623d99cf/ui/img/installed.png -------------------------------------------------------------------------------- /ui/img/settings.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ui/img/switch-a.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /ui/js/cemu-ui.js: -------------------------------------------------------------------------------- 1 | const exe = (typeof app != "undefined") ? true : false; 2 | var cemu = { 3 | initialize: function() { 4 | $('#directory').click(function() { 5 | $('#navigation').addClass('top'); 6 | }); 7 | $("body").keydown(function(event) { 8 | if(event.which == 68) { 9 | $('#download').toggle(); 10 | } 11 | }); 12 | $('#settings').click(function() { 13 | $('#settings-container').addClass('center'); 14 | }); 15 | $('#close-settings').click(function() { 16 | $('#settings-container').removeClass('center'); 17 | }); 18 | $('.game').hover(function() { 19 | cemu.select({ 20 | game: $(this).attr('data-game-id'), 21 | titleId: $(this).attr('data-title-id') 22 | }); 23 | $(this).addClass('selected'); 24 | }); 25 | $('#games-tiled img').hover(function() { 26 | cemu.select({ 27 | game: $($('#games tr')[$(this).index()]).attr('data-game-id'), 28 | titleId: $($('#games tr')[$(this).index()]).attr('data-title-id'), 29 | }); 30 | }); 31 | $('[data-setting] > select').change(function() { 32 | var s = $(this).parents('td').attr('data-setting'); 33 | if (exe) { 34 | Settings.save(s, $(this).val()); 35 | } 36 | }); 37 | $('#settings-container .nav li').click(function() { 38 | old($(this).text().toLowerCase()); 39 | $('.settings').hide(); 40 | $('#'+$(this).text().toLowerCase()).show(); 41 | $('#settings-container .nav li').removeClass('on'); 42 | $(this).addClass('on'); 43 | }); 44 | if (exe) { 45 | if (JSON.parse(Settings.extra).layout == "Tiled") { 46 | $('#games').hide(); 47 | $('#games-tiled').show(); 48 | } 49 | $('[data-setting="game-dir"]').text(Settings.gamesDir); 50 | $('[data-setting="cemu-dir"]').text(Settings.cemuDir); 51 | $('[data-setting="game-dir"]').click(function() { 52 | $(this).text(app.chooseGameFolder()); 53 | }); 54 | $('[data-setting="cemu-dir"]').click(function() { 55 | $(this).text(app.chooseCemuDirectory()); 56 | }); 57 | $('.game, #games-tiled img').dblclick(function() { 58 | app.launchGame($(this).attr('data-game-id')); 59 | }); 60 | $('#launch').click(function() { 61 | app.launchGame(cemu.selected.game); 62 | Events.onGameLaunched(cemu.selected.game); 63 | }); 64 | $('[data-setting] > select').each(function() { 65 | var s = $(this).parents('td').attr('data-setting'), 66 | l = Settings.load(s); 67 | if (l != null && l != "") 68 | $(this).val(l); 69 | }); 70 | } else { 71 | var games = ["ALZE01","ALZE01","ALZE01","ALZE01","ALZE01","ALZE01","ALZE01","ALZE01"]; // For testing purposes 72 | for(var i=0; i < games.length; i++) { 73 | $('').appendTo('#games-tiled'); 74 | } 75 | $('[data-setting="cemu-dir"]').text("/etc/cemu"); 76 | $('[data-setting="game-dir"]').text("/home/thefeeltrain/Desktop/games"); 77 | } 78 | }, 79 | select: function(current) { 80 | if (current != cemu.selected && exe) { 81 | Events.onGameSelected(current.game, current.titleId); 82 | cemu.selected = current; 83 | $('#background').css('background-image', 'url("../../ui/img/background/' + app.getPicture(current.game) + '.jpg")'); 84 | $('#game-icon').css('background-image', 'url("../../ui/img/icon/' + app.getPicture(current.game) + '.png")'); 85 | $('#game-info h2').text(app.getName(current.game)); 86 | $('#game-playtime').text(app.getTimePlayed(current.game)); 87 | $('#game-lastplayed').text(app.getLastPlayed(current.game)); 88 | $('.game').removeClass('selected'); 89 | } 90 | } 91 | }, 92 | old = console.log; 93 | 94 | $(document).ready(function() { 95 | Controller.bind(); 96 | cemu.initialize(); 97 | if (window.console && console.log) { 98 | console.log = function() { 99 | old.apply(this, arguments); 100 | Logger.log(arguments[0].toString(), "Main"); 101 | } 102 | } 103 | }); 104 | -------------------------------------------------------------------------------- /ui/js/gamepad.js: -------------------------------------------------------------------------------- 1 | var Controllers = []; 2 | 3 | var lx = 0, ly = 0, rx = 0, ry = 0; 4 | 5 | var Controller = { 6 | "bind": function() { 7 | window.gamepad = new Gamepad(); 8 | 9 | gamepad.bind(Gamepad.Event.CONNECTED, function(device) { 10 | if ($.inArray(device, Controllers) == -1) { 11 | Controllers.push(device); 12 | $('[data-setting="controller"] select').append(''); 13 | $('[data-setting="controller"] select').val(Settings.load('controller')); 14 | } 15 | }); 16 | 17 | gamepad.bind(Gamepad.Event.DISCONNECTED, function(device) { 18 | if (!device.connected) { 19 | console.log(device); 20 | Controllers = $.grep(Controllers, function (value) { 21 | return value != device; 22 | }); 23 | 24 | $('[data-setting="controller"] select option:not(:contains("None"))').remove(); 25 | Controllers.forEach((controller) => $('[data-setting="controller"] select').append('')); 26 | } 27 | }); 28 | 29 | gamepad.bind(Gamepad.Event.TICK, function(gamepads) { 30 | 31 | }); 32 | 33 | gamepad.bind(Gamepad.Event.BUTTON_UP, function(e) { 34 | console.log(e.gamepad.id); 35 | if (!app.isInFocus()) 36 | return; 37 | if (e.control.includes("FACE") || e.control.includes("STICK")) 38 | $('div[data-name="' + e.control + '"]').removeClass('pressed'); 39 | else 40 | $('div[data-name="' + e.control + '"]').css('opacity', 0); 41 | 42 | if (e.gamepad.name.includes($('[data-setting="controller"] select').val())) { 43 | //do everything in here 44 | console.log(e); 45 | console.log(e.control); 46 | switch (e.control) { 47 | case "DPAD_DOWN": 48 | if (Settings.load("layout") != "Tiled") { 49 | $('tr.selected').next().mouseenter();//console.log("Move down."); 50 | $('#games-container').scrollTo($('#games-tiled img.hovered')); 51 | } else { 52 | var selected = $('#games-tiled img.hovered'); 53 | $($('#games-tiled img')[selected.index() + 5]).mouseenter().addClass("hovered"); 54 | selected.removeClass("hovered"); 55 | $('#games-container').scrollTo($('#games-tiled img.hovered')); 56 | } 57 | break; 58 | 59 | case "DPAD_UP": 60 | if (Settings.load("layout") != "Tiled") { 61 | $('tr.selected').prev().mouseenter();//console.log("Move up."); 62 | $('#games-container').scrollTo($('#games-tiled img.hovered')); 63 | } else { 64 | var selected = $('#games-tiled img.hovered'); 65 | $($('#games-tiled img')[selected.index() - 5]).mouseenter().addClass("hovered"); 66 | selected.removeClass("hovered"); 67 | $('#games-container').scrollTo($('#games-tiled img.hovered')); 68 | } 69 | break; 70 | 71 | case "DPAD_RIGHT": 72 | if (Settings.load("layout") != "Tiled") 73 | return; 74 | 75 | var selected = $('#games-tiled img.hovered'); 76 | $($('#games-tiled img')[selected.index() + 1]).mouseenter().addClass("hovered"); 77 | selected.removeClass("hovered"); 78 | $('#games-container').scrollTo($('#games-tiled img.hovered')); 79 | break; 80 | 81 | case "DPAD_LEFT": 82 | if (Settings.load("layout") != "Tiled") 83 | return; 84 | 85 | var selected = $('#games-tiled img.hovered'); 86 | $($('#games-tiled img')[selected.index() - 1]).mouseenter().addClass("hovered"); 87 | selected.removeClass("hovered"); 88 | $('#games-container').scrollTo($('#games-tiled img.hovered')); 89 | break; 90 | 91 | case "FACE_1": 92 | if ($('#navigation').hasClass('top')) 93 | app.launchGame(cemu.selected.game); 94 | break; 95 | 96 | case "START_FORWARD": 97 | $('#navigation').addClass('top'); 98 | break; 99 | } 100 | } 101 | }); 102 | 103 | gamepad.bind(Gamepad.Event.BUTTON_DOWN, function(e) { 104 | if (!app.isInFocus()) 105 | return; 106 | if (e.gamepad.name.includes($('[data-setting="controller"] select').val())) { 107 | //do everything in here 108 | if (e.control.includes("FACE") || e.control.includes("STICK")) 109 | $('div[data-name="' + e.control + '"]').addClass('pressed'); 110 | else 111 | $('div[data-name="' + e.control + '"]').css('opacity', 1); 112 | } 113 | }); 114 | 115 | gamepad.bind(Gamepad.Event.AXIS_CHANGED, function(e) { 116 | console.log(!app.isInFocus() || !$('#navigation').hasClass('top')); 117 | if (!app.isInFocus()) 118 | return; 119 | if (e.gamepad.name.includes($('[data-setting="controller"] select').val())) { 120 | //do everything in here 121 | //console.log('rotateX(' + lx * -1 + 'deg) rotateY(' + ly + 'deg)'); 122 | if (e.axis.includes("STICK")) { 123 | $('.stick.left').css({'margin-left' : lx + 'px', 'margin-top' : ly + 'px', 'transform' : 'rotateX(' + ly * -1 + 'deg) rotateY(' + lx + 'deg)'}); 124 | $('.stick.right').css({'margin-left' : rx + 'px', 'margin-top' : ry + 'px', 'transform' : 'rotateX(' + ry * -1 + 'deg) rotateY(' + rx + 'deg)'}); 125 | } 126 | 127 | /*if (e.axis.includes("SHOULDER")) 128 | $('div[data-name="' + e.axis + '"]').css('opacity', e.value);*/ 129 | 130 | switch (e.axis) { 131 | case "LEFT_STICK_Y": 132 | ly = e.value * 22; 133 | if ($('#navigation').hasClass('top')) { 134 | if (e.value == 1) { 135 | $('tr.selected').next().mouseenter();//console.log("Move down."); 136 | $('#games-container').scrollTo($('#games-tiled img.hovered')); 137 | } else if (e.value == -1) { 138 | $('tr.selected').prev().mouseenter();//console.log("Move up."); 139 | $('#games-container').scrollTo($('#games-tiled img.hovered')); 140 | } 141 | } 142 | break; 143 | case "LEFT_STICK_X": 144 | lx = e.value * 22; 145 | break; 146 | case "RIGHT_STICK_Y": 147 | ry = e.value * 22; 148 | break; 149 | case "RIGHT_STICK_X": 150 | rx = e.value * 22; 151 | break; 152 | } 153 | } 154 | }); 155 | 156 | if (!gamepad.init()) 157 | console.log('error intializing controllers'); 158 | } 159 | }; -------------------------------------------------------------------------------- /ui/js/jquery.scrollTo.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery.scrollTo 3 | * Copyright (c) 2007-2015 Ariel Flesler - aflesler ○ gmail • com | http://flesler.blogspot.com 4 | * Licensed under MIT 5 | * http://flesler.blogspot.com/2007/10/jqueryscrollto.html 6 | * @projectDescription Lightweight, cross-browser and highly customizable animated scrolling with jQuery 7 | * @author Ariel Flesler 8 | * @version 2.1.2 9 | */ 10 | ;(function(factory) { 11 | 'use strict'; 12 | if (typeof define === 'function' && define.amd) { 13 | // AMD 14 | define(['jquery'], factory); 15 | } else if (typeof module !== 'undefined' && module.exports) { 16 | // CommonJS 17 | module.exports = factory(require('jquery')); 18 | } else { 19 | // Global 20 | factory(jQuery); 21 | } 22 | })(function($) { 23 | 'use strict'; 24 | 25 | var $scrollTo = $.scrollTo = function(target, duration, settings) { 26 | return $(window).scrollTo(target, duration, settings); 27 | }; 28 | 29 | $scrollTo.defaults = { 30 | axis:'xy', 31 | duration: 0, 32 | limit:true 33 | }; 34 | 35 | function isWin(elem) { 36 | return !elem.nodeName || 37 | $.inArray(elem.nodeName.toLowerCase(), ['iframe','#document','html','body']) !== -1; 38 | } 39 | 40 | $.fn.scrollTo = function(target, duration, settings) { 41 | if (typeof duration === 'object') { 42 | settings = duration; 43 | duration = 0; 44 | } 45 | if (typeof settings === 'function') { 46 | settings = { onAfter:settings }; 47 | } 48 | if (target === 'max') { 49 | target = 9e9; 50 | } 51 | 52 | settings = $.extend({}, $scrollTo.defaults, settings); 53 | // Speed is still recognized for backwards compatibility 54 | duration = duration || settings.duration; 55 | // Make sure the settings are given right 56 | var queue = settings.queue && settings.axis.length > 1; 57 | if (queue) { 58 | // Let's keep the overall duration 59 | duration /= 2; 60 | } 61 | settings.offset = both(settings.offset); 62 | settings.over = both(settings.over); 63 | 64 | return this.each(function() { 65 | // Null target yields nothing, just like jQuery does 66 | if (target === null) return; 67 | 68 | var win = isWin(this), 69 | elem = win ? this.contentWindow || window : this, 70 | $elem = $(elem), 71 | targ = target, 72 | attr = {}, 73 | toff; 74 | 75 | switch (typeof targ) { 76 | // A number will pass the regex 77 | case 'number': 78 | case 'string': 79 | if (/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(targ)) { 80 | targ = both(targ); 81 | // We are done 82 | break; 83 | } 84 | // Relative/Absolute selector 85 | targ = win ? $(targ) : $(targ, elem); 86 | /* falls through */ 87 | case 'object': 88 | if (targ.length === 0) return; 89 | // DOMElement / jQuery 90 | if (targ.is || targ.style) { 91 | // Get the real position of the target 92 | toff = (targ = $(targ)).offset(); 93 | } 94 | } 95 | 96 | var offset = $.isFunction(settings.offset) && settings.offset(elem, targ) || settings.offset; 97 | 98 | $.each(settings.axis.split(''), function(i, axis) { 99 | var Pos = axis === 'x' ? 'Left' : 'Top', 100 | pos = Pos.toLowerCase(), 101 | key = 'scroll' + Pos, 102 | prev = $elem[key](), 103 | max = $scrollTo.max(elem, axis); 104 | 105 | if (toff) {// jQuery / DOMElement 106 | attr[key] = toff[pos] + (win ? 0 : prev - $elem.offset()[pos]); 107 | 108 | // If it's a dom element, reduce the margin 109 | if (settings.margin) { 110 | attr[key] -= parseInt(targ.css('margin'+Pos), 10) || 0; 111 | attr[key] -= parseInt(targ.css('border'+Pos+'Width'), 10) || 0; 112 | } 113 | 114 | attr[key] += offset[pos] || 0; 115 | 116 | if (settings.over[pos]) { 117 | // Scroll to a fraction of its width/height 118 | attr[key] += targ[axis === 'x'?'width':'height']() * settings.over[pos]; 119 | } 120 | } else { 121 | var val = targ[pos]; 122 | // Handle percentage values 123 | attr[key] = val.slice && val.slice(-1) === '%' ? 124 | parseFloat(val) / 100 * max 125 | : val; 126 | } 127 | 128 | // Number or 'number' 129 | if (settings.limit && /^\d+$/.test(attr[key])) { 130 | // Check the limits 131 | attr[key] = attr[key] <= 0 ? 0 : Math.min(attr[key], max); 132 | } 133 | 134 | // Don't waste time animating, if there's no need. 135 | if (!i && settings.axis.length > 1) { 136 | if (prev === attr[key]) { 137 | // No animation needed 138 | attr = {}; 139 | } else if (queue) { 140 | // Intermediate animation 141 | animate(settings.onAfterFirst); 142 | // Don't animate this axis again in the next iteration. 143 | attr = {}; 144 | } 145 | } 146 | }); 147 | 148 | animate(settings.onAfter); 149 | 150 | function animate(callback) { 151 | var opts = $.extend({}, settings, { 152 | // The queue setting conflicts with animate() 153 | // Force it to always be true 154 | queue: true, 155 | duration: duration, 156 | complete: callback && function() { 157 | callback.call(elem, targ, settings); 158 | } 159 | }); 160 | $elem.animate(attr, opts); 161 | } 162 | }); 163 | }; 164 | 165 | // Max scrolling position, works on quirks mode 166 | // It only fails (not too badly) on IE, quirks mode. 167 | $scrollTo.max = function(elem, axis) { 168 | var Dim = axis === 'x' ? 'Width' : 'Height', 169 | scroll = 'scroll'+Dim; 170 | 171 | if (!isWin(elem)) 172 | return elem[scroll] - $(elem)[Dim.toLowerCase()](); 173 | 174 | var size = 'client' + Dim, 175 | doc = elem.ownerDocument || elem.document, 176 | html = doc.documentElement, 177 | body = doc.body; 178 | 179 | return Math.max(html[scroll], body[scroll]) - Math.min(html[size], body[size]); 180 | }; 181 | 182 | function both(val) { 183 | return $.isFunction(val) || $.isPlainObject(val) ? val : { top:val, left:val }; 184 | } 185 | 186 | // Add special hooks so that window scroll properties can be animated 187 | $.Tween.propHooks.scrollLeft = 188 | $.Tween.propHooks.scrollTop = { 189 | get: function(t) { 190 | return $(t.elem)[t.prop](); 191 | }, 192 | set: function(t) { 193 | var curr = this.get(t); 194 | // If interrupt is true and user scrolled, stop animating 195 | if (t.options.interrupt && t._last && t._last !== curr) { 196 | return $(t.elem).stop(); 197 | } 198 | var next = Math.round(t.now); 199 | // Don't waste CPU 200 | // Browsers don't render floating point scroll 201 | if (curr !== next) { 202 | $(t.elem)[t.prop](next); 203 | t._last = this.get(t); 204 | } 205 | } 206 | }; 207 | 208 | // AMD requirement 209 | return $scrollTo; 210 | }); 211 | --------------------------------------------------------------------------------