[gnome-games/wip/exalm/runner-refactor: 44/56] retro-runner: Reset metadata when preparing, load save ram as part of it



commit 1839f05b99a4d30ff97d29c45b643397a802b4a4
Author: Alexander Mikhaylenko <alexm gnome org>
Date:   Sat Mar 7 03:07:34 2020 +0500

    retro-runner: Reset metadata when preparing, load save ram as part of it

 src/retro/retro-runner.vala | 20 ++++++++------------
 1 file changed, 8 insertions(+), 12 deletions(-)
---
diff --git a/src/retro/retro-runner.vala b/src/retro/retro-runner.vala
index 072dfb97..7383345f 100644
--- a/src/retro/retro-runner.vala
+++ b/src/retro/retro-runner.vala
@@ -200,8 +200,7 @@ public class Games.RetroRunner : Object, Runner {
 
                        instantiate_core ();
 
-                       if (latest_savestate != null)
-                               load_savestate_metadata (latest_savestate);
+                       reset_metadata (latest_savestate);
                }
                catch (RetroError.MODULE_NOT_FOUND e) {
                        debug ("%s\n", e.message);
@@ -280,15 +279,7 @@ public class Games.RetroRunner : Object, Runner {
 
        public void start () throws Error {
                assert (core_loaded);
-
-               if (!save_ram_and_dir_set) {
-                       reset_metadata (latest_savestate);
-
-                       if (latest_savestate != null)
-                               load_save_ram (latest_savestate.get_save_ram_path ());
-
-                       save_ram_and_dir_set = true;
-               }
+               assert (save_ram_and_dir_set);
 
                resume ();
        }
@@ -539,7 +530,12 @@ public class Games.RetroRunner : Object, Runner {
        }
 
        protected virtual void reset_metadata (Savestate? last_savestate) throws Error {
-               if (last_savestate != null && last_savestate.has_media_data ())
+               if (last_savestate == null)
+                       return;
+
+               load_save_ram (latest_savestate.get_save_ram_path ());
+
+               if (last_savestate.has_media_data ())
                        media_set.selected_media_number = last_savestate.get_media_data ();
        }
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]