Browse code

(uxnemu) Simplified boot sequence

Devine Lu Linvega authored on 17/04/2023 16:48:27
Showing 1 changed files
... ...
@@ -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);