diff blastem.c @ 875:54ffba3768d6

Make menu stuff work on Android (theoretically)
author Michael Pavone <pavone@retrodev.com>
date Sun, 08 Nov 2015 22:03:34 -0800
parents b6842dfb8edf
children 9f149f0e98b7
line wrap: on
line diff
--- a/blastem.c	Sun Nov 08 18:38:33 2015 -0800
+++ b/blastem.c	Sun Nov 08 22:03:34 2015 -0800
@@ -1061,11 +1061,23 @@
 		if (!romfname) {
 			romfname = "menu.bin";
 		}
+		if (romfname[0] == '/') {
+			if (!(rom_size = load_rom(romfname))) {
+				fatal_error("Failed to open UI ROM %s for reading", romfname);
+			}
+		} else {
+			long fsize;
+			cart = (uint16_t *)read_bundled_file(romfname, &fsize);
+			if (!cart) {
+				fatal_error("Failed to open UI ROM %s for reading", romfname);
+			}
+			rom_size = nearest_pow2(fsize);
+			if (rom_size > fsize) {
+				cart = realloc(cart, rom_size);
+			}
+		}
 		//TODO: load relative to executable or from assets depending on platform
-		if (!(rom_size = load_rom(romfname))) {
-			fatal_error("Failed to open UI ROM %s for reading", romfname);
 
-		}
 		loaded = 1;
 	}
 	tern_node *rom_db = load_rom_db();