Browse code

emu/load: use RWops - it's more portable and allows loading roms from assets of an apk on Android

Sigrid Solveig Haflínudóttir authored on 15/12/2021 22:54:44
Showing 1 changed files
... ...
@@ -421,11 +421,11 @@ nil_deo(Device *d, Uint8 port)
421 421
 static int
422 422
 load(Uxn *u, char *rom)
423 423
 {
424
-	FILE *f;
424
+	SDL_RWops *f;
425 425
 	int r;
426
-	if(!(f = fopen(rom, "rb"))) return 0;
427
-	r = fread(u->ram.dat + PAGE_PROGRAM, 1, sizeof(u->ram.dat) - PAGE_PROGRAM, f);
428
-	fclose(f);
426
+	if(!(f = SDL_RWFromFile(rom, "rb"))) return 0;
427
+	r = f->read(f, u->ram.dat + PAGE_PROGRAM, 1, sizeof(u->ram.dat) - PAGE_PROGRAM);
428
+	f->close(f);
429 429
 	if(r < 1) return 0;
430 430
 	fprintf(stderr, "Loaded %s\n", rom);
431 431
 	SDL_SetWindowTitle(gWindow, rom);