-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathoptions.js
More file actions
39 lines (37 loc) · 2.06 KB
/
options.js
File metadata and controls
39 lines (37 loc) · 2.06 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
import { program, Option } from 'commander';
export default function getOptions() {
let rom = null;
program
.allowUnknownOption()
.name('js game launcher')
.description('js game launcher')
.version('1.0')
.argument('[romfile]', 'rom file (directory of javascript game / rom file)')
.action((romfile) => {
rom = romfile;
})
.addOption(new Option('-rom <string>', 'rom file (directory of javascript game / rom file)'))
.addOption(new Option('-fs, -fullscreen', 'fullscreen mode'))
.addOption(new Option('-fps, -showfps', 'show fps'))
.addOption(new Option('-aa, -antialiasing, -antialias', 'antialias mode'))
.addOption(new Option('-s, -stretch', 'ignore aspect ratio, stretch to fit window'))
.addOption(new Option('-is, -integerscaling', 'only scale by integer values (possible black bars top and bottom)'))
.addOption(new Option('-p1index <string>', 'player 1 controller index'))
.addOption(new Option('-p2index <string>', 'player 2 controller index'))
.addOption(new Option('-p3index <string>', 'player 3 controller index'))
.addOption(new Option('-p4index <string>', 'player 4 controller index'))
.addOption(new Option('-p1name <string>', 'player 1 controller name'))
.addOption(new Option('-p2name <string>', 'player 2 controller name'))
.addOption(new Option('-p3name <string>', 'player 3 controller name'))
.addOption(new Option('-p4name <string>', 'player 4 controller name'))
.addOption(new Option('-p1guid <string>', 'player 1 controller guid'))
.addOption(new Option('-p2guid <string>', 'player 2 controller guid'))
.addOption(new Option('-p3guid <string>', 'player 3 controller guid'))
.addOption(new Option('-p4guid <string>', 'player 4 controller guid'))
.addOption(new Option('-addconcfg <string>', 'additional controller config (emulationstation es_input.cfg format)'))
.addOption(new Option('-gameinfoxml <string>', 'game info xml (emulationstation format)'))
.parse(process.argv);
const options = program.opts();
options.Rom = options.Rom || rom;
return options;
};