... | ... |
@@ -86,18 +86,20 @@ You can send events from Uxn to another application, or another instance of uxn, |
86 | 86 |
uxnemu orca.rom | shim |
87 | 87 |
``` |
88 | 88 |
|
89 |
-## Emulator Options |
|
89 |
+## GUI Emulator Options |
|
90 | 90 |
|
91 |
-- `-s 1`, `-s 2` or `-s 3` set zoom (default 1) |
|
91 |
+- `-1x` Force small scale |
|
92 |
+- `-2x` Force medium scale |
|
93 |
+- `-3x` Force large scale |
|
92 | 94 |
|
93 |
-## Emulator Controls |
|
95 |
+## GUI Emulator Controls |
|
94 | 96 |
|
95 | 97 |
- `F1` toggle zoom |
96 | 98 |
- `F2` toggle debug |
97 | 99 |
- `F3` capture screen |
98 | 100 |
- `F4` load launcher.rom |
99 | 101 |
|
100 |
-### Buttons |
|
102 |
+### GUI Buttons |
|
101 | 103 |
|
102 | 104 |
- `LCTRL` A |
103 | 105 |
- `LALT` B |
... | ... |
@@ -64,7 +64,7 @@ main(int argc, char **argv) |
64 | 64 |
for(i = 2; i < argc; i++) { |
65 | 65 |
char *p = argv[i]; |
66 | 66 |
while(*p) console_input(&u, *p++, CONSOLE_ARG); |
67 |
- console_input(&u, '\n', i == argc-1 ? CONSOLE_END : CONSOLE_EOA); |
|
67 |
+ console_input(&u, '\n', i == argc - 1 ? CONSOLE_END : CONSOLE_EOA); |
|
68 | 68 |
} |
69 | 69 |
while(!u.dev[0x0f]) { |
70 | 70 |
int c = fgetc(stdin); |
... | ... |
@@ -267,9 +267,9 @@ start(Uxn *u, char *rom) |
267 | 267 |
} |
268 | 268 |
|
269 | 269 |
static void |
270 |
-set_zoom(Uint8 scale) |
|
270 |
+set_zoom(Uint8 z) |
|
271 | 271 |
{ |
272 |
- zoom = zoom > 2 ? 1 : zoom + 1; |
|
272 |
+ zoom = z; |
|
273 | 273 |
set_window_size(gWindow, (uxn_screen.width + PAD * 2) * zoom, (uxn_screen.height + PAD * 2) * zoom); |
274 | 274 |
} |
275 | 275 |
|
... | ... |
@@ -351,7 +351,7 @@ static void |
351 | 351 |
do_shortcut(Uxn *u, SDL_Event *event) |
352 | 352 |
{ |
353 | 353 |
if(event->key.keysym.sym == SDLK_F1) |
354 |
- set_zoom(zoom); |
|
354 |
+ set_zoom(zoom == 3 ? 1 : zoom + 1); |
|
355 | 355 |
else if(event->key.keysym.sym == SDLK_F2) |
356 | 356 |
system_inspect(u); |
357 | 357 |
else if(event->key.keysym.sym == SDLK_F3) |
... | ... |
@@ -490,28 +490,24 @@ main(int argc, char **argv) |
490 | 490 |
{ |
491 | 491 |
SDL_DisplayMode DM; |
492 | 492 |
Uxn u = {0}; |
493 |
- int i, loaded = 0; |
|
493 |
+ int i = 1, loaded = 0; |
|
494 | 494 |
if(!init()) |
495 | 495 |
return error("Init", "Failed to initialize emulator."); |
496 | 496 |
screen_resize(&uxn_screen, WIDTH, HEIGHT); |
497 | 497 |
/* set default zoom */ |
498 |
- if(SDL_GetCurrentDisplayMode(0, &DM) == 0) |
|
498 |
+ if(strcmp(argv[i], "-1x") == 0 || strcmp(argv[i], "-2x") == 0 || strcmp(argv[i], "-3x") == 0) |
|
499 |
+ set_zoom(argv[i++][1] - '0'); |
|
500 |
+ else if(SDL_GetCurrentDisplayMode(0, &DM) == 0) |
|
499 | 501 |
set_zoom(DM.w / 1280); |
500 |
- for(i = 1; i < argc; i++) { |
|
501 |
- /* get default zoom from flags */ |
|
502 |
- if(strcmp(argv[i], "-s") == 0) { |
|
503 |
- if(i < argc - 1) |
|
504 |
- set_zoom(atoi(argv[++i])); |
|
505 |
- else |
|
506 |
- return error("Opt", "-s No scale provided."); |
|
507 |
- } else if(!loaded++) { |
|
502 |
+ for(; i < argc; i++) { |
|
503 |
+ if(!loaded++) { |
|
508 | 504 |
if(!start(&u, argv[i])) |
509 | 505 |
return error("Boot", "Failed to boot."); |
510 | 506 |
rom_path = argv[i]; |
511 | 507 |
} else { |
512 | 508 |
char *p = argv[i]; |
513 | 509 |
while(*p) console_input(&u, *p++, CONSOLE_ARG); |
514 |
- console_input(&u, '\n', i == argc ? CONSOLE_END : CONSOLE_EOA); |
|
510 |
+ console_input(&u, '\n', i == argc - 1 ? CONSOLE_END : CONSOLE_EOA); |
|
515 | 511 |
} |
516 | 512 |
} |
517 | 513 |
if(!loaded && !start(&u, "launcher.rom")) |