]> Chaos Git - corbenik/corbenik.git/commitdiff
FIRM versions aren't known without loading; use lazy load of some sort
authorchaoskagami <chaos.kagami@gmail.com>
Tue, 24 May 2016 21:44:35 +0000 (17:44 -0400)
committerchaoskagami <chaos.kagami@gmail.com>
Tue, 24 May 2016 21:44:35 +0000 (17:44 -0400)
source/firm/firm.c
source/menu.c

index c784db80b1bca232e6e67067c8c4d9b56938c91b..71b68de48f7841de1fcf0745a19e202bf61209d7 100644 (file)
@@ -367,6 +367,8 @@ find_proc9(firm_h* firm, firm_section_h* process9, exefs_h** p9exefs)
     return 1;
 }
 
+int firm_loaded = 0;
+
 int
 load_firms()
 {
@@ -392,6 +394,8 @@ load_firms()
     else
         find_proc9(agb_firm_loc, &agb_firm_proc9, &agb_firm_p9_exefs);
 
+       firm_loaded = 1; // Loaded.
+
     return 0;
 }
 
index 5ecaaad5a5fde9072c91d8556b46fd2b8a6b89bf..f2917e2edbedf0fe2de5cc9bd83456c8684ebcf8 100644 (file)
@@ -156,9 +156,15 @@ menu_options()
     return 0;
 }
 
+extern int firm_loaded;
+
 int
 menu_info()
 {
+       // This menu requres firm to be loaded. Unfortunately.
+       if (!firm_loaded)
+               load_firms();
+
     clear_screen(TOP_SCREEN);
 
     set_cursor(TOP_SCREEN, 0, 0);