forked from dinkc64/LakeSnes
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathhomebrew.js
More file actions
52 lines (45 loc) · 1.78 KB
/
Copy pathhomebrew.js
File metadata and controls
52 lines (45 loc) · 1.78 KB
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/* Copyright (C) 2024 John Törnblom
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 3, or (at your option) any
later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING. If not, see
<http://www.gnu.org/licenses/>. */
async function main() {
const PAYLOAD = window.workingDir + '/lakesnes.elf';
const ROMDIR = window.workingDir + '/roms/';
const ROMTYPES = ['smc', 'sfc']
async function getRomList() {
let listing = await ApiClient.fsListDir(ROMDIR);
if (!listing.data) {
throw new Error("Failed to load rom list, error code: " + listing.status);
}
return listing.data.filter(entry =>
ROMTYPES.includes(entry.name.slice(-3))).map(entry => {
const name = entry.name.slice(0, -4);
return {
mainText: name,
imgPath: '/fs/' + ROMDIR + name + '.jpg',
onclick: async () => {
return {
path: PAYLOAD,
args: ROMDIR + entry.name
}
}
};
});
}
return {
mainText: "LakeSnes",
secondaryText: 'Super Nintendo Emulator',
onclick: async () => {
let items = await getRomList();
showCarousel(items);
}
};
}