| ... | ... |
@@ -53,6 +53,8 @@ static Uint8 zoom = 1; |
| 53 | 53 |
static Uint32 stdin_event, audio0_event; |
| 54 | 54 |
static Uint64 exec_deadline, deadline_interval, ms_interval; |
| 55 | 55 |
|
| 56 |
+char *rom_path; |
|
| 57 |
+ |
|
| 56 | 58 |
static int |
| 57 | 59 |
error(char *msg, const char *err) |
| 58 | 60 |
{
|
| ... | ... |
@@ -306,7 +308,8 @@ static void |
| 306 | 308 |
restart(Uxn *u) |
| 307 | 309 |
{
|
| 308 | 310 |
screen_resize(&uxn_screen, WIDTH, HEIGHT); |
| 309 |
- start(u, "launcher.rom"); |
|
| 311 |
+ if(!start(u, "launcher.rom")) |
|
| 312 |
+ start(u, rom_path); |
|
| 310 | 313 |
} |
| 311 | 314 |
|
| 312 | 315 |
static Uint8 |
| ... | ... |
@@ -497,6 +500,7 @@ main(int argc, char **argv) |
| 497 | 500 |
} else if(!loaded++) {
|
| 498 | 501 |
if(!start(&u, argv[i])) |
| 499 | 502 |
return error("Boot", "Failed to boot.");
|
| 503 |
+ rom_path = argv[i]; |
|
| 500 | 504 |
} else {
|
| 501 | 505 |
char *p = argv[i]; |
| 502 | 506 |
while(*p) console_input(&u, *p++); |