| ... | ... |
@@ -490,29 +490,29 @@ main(int argc, char **argv) |
| 490 | 490 |
{
|
| 491 | 491 |
SDL_DisplayMode DM; |
| 492 | 492 |
Uxn u = {0};
|
| 493 |
- int i = 1, loaded = 0; |
|
| 493 |
+ int i = 1; |
|
| 494 | 494 |
if(!init()) |
| 495 | 495 |
return error("Init", "Failed to initialize emulator.");
|
| 496 |
+ /* default resolution */ |
|
| 496 | 497 |
screen_resize(&uxn_screen, WIDTH, HEIGHT); |
| 497 |
- /* set default zoom */ |
|
| 498 |
+ /* default zoom */ |
|
| 498 | 499 |
if(strcmp(argv[i], "-1x") == 0 || strcmp(argv[i], "-2x") == 0 || strcmp(argv[i], "-3x") == 0) |
| 499 | 500 |
set_zoom(argv[i++][1] - '0'); |
| 500 | 501 |
else if(SDL_GetCurrentDisplayMode(0, &DM) == 0) |
| 501 | 502 |
set_zoom(DM.w / 1280); |
| 503 |
+ /* load rom */ |
|
| 504 |
+ if(!start(&u, argv[i])) |
|
| 505 |
+ return error("usage", "uxnemu [-s scale] file.rom");
|
|
| 506 |
+ rom_path = argv[i++]; |
|
| 507 |
+ /* read arguments */ |
|
| 502 | 508 |
for(; i < argc; i++) {
|
| 503 |
- if(!loaded++) {
|
|
| 504 |
- if(!start(&u, argv[i])) |
|
| 505 |
- return error("Boot", "Failed to boot.");
|
|
| 506 |
- rom_path = argv[i]; |
|
| 507 |
- } else {
|
|
| 508 |
- char *p = argv[i]; |
|
| 509 |
- while(*p) console_input(&u, *p++, CONSOLE_ARG); |
|
| 510 |
- console_input(&u, '\n', i == argc - 1 ? CONSOLE_END : CONSOLE_EOA); |
|
| 511 |
- } |
|
| 509 |
+ char *p = argv[i]; |
|
| 510 |
+ while(*p) console_input(&u, *p++, CONSOLE_ARG); |
|
| 511 |
+ console_input(&u, '\n', i == argc - 1 ? CONSOLE_END : CONSOLE_EOA); |
|
| 512 | 512 |
} |
| 513 |
- if(!loaded && !start(&u, "launcher.rom")) |
|
| 514 |
- return error("usage", "uxnemu [-s scale] file.rom");
|
|
| 513 |
+ /* start rom */ |
|
| 515 | 514 |
run(&u); |
| 515 |
+ /* finished */ |
|
| 516 | 516 |
#ifdef _WIN32 |
| 517 | 517 |
#pragma GCC diagnostic ignored "-Wint-to-pointer-cast" |
| 518 | 518 |
TerminateThread((HANDLE)SDL_GetThreadID(stdin_thread), 0); |