/[EmuXPortal]/trunk/EmuXPortal/Api/RomConfig.cs
ViewVC logotype

Diff of /trunk/EmuXPortal/Api/RomConfig.cs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 27 by william, Wed Apr 4 03:38:07 2012 UTC revision 85 by william, Tue Jun 19 03:38:40 2012 UTC
# Line 18  namespace EmuXPortal.Api Line 18  namespace EmuXPortal.Api
18      public static class RomLoader      public static class RomLoader
19      {      {
20          private const string EMU_CONFIG = "emu.config"; // if this file signifies the emulator configuration          private const string EMU_CONFIG = "emu.config"; // if this file signifies the emulator configuration
21          public static IRomConfig Load(string rom_file)          public static IRomConfig Load(string rom_file, IEmuConfig EMUConfig)
22          {          {
23              IRomConfig config = null;              IRomConfig config = null;
24              config = new RomConfig(rom_file);              config = new RomConfig(rom_file, EMUConfig);            
25              return config;              return config;
26          }          }
27          #region private class RomConfig : IRomConfig          #region private class RomConfig : IRomConfig
28          private class RomConfig : IRomConfig          private class RomConfig : IRomConfig
29          {          {
30              public RomConfig(string rom_file)              public RomConfig(string rom_file, IEmuConfig EMUConfig)
31              {              {
32                  FileInfo fi = new FileInfo(rom_file);                  FileInfo fi = new FileInfo(rom_file);
33                  this.RomFile =fi.FullName;                  this.RomFile =fi.FullName;
34                  this.RomTitle = fi.Name;                  this.RomTitle = EMUConfig.GameTitle == "" ? fi.Name : EMUConfig.GameTitle;                
35                  string rom_img = "";                  string rom_img = "";
36                  // load image                  // load image
37                  if (File.Exists(string.Format("{0}.jpg", fi.FullName.Replace(fi.Extension, "")))) { rom_img = string.Format("{0}.jpg", fi.FullName.Replace(fi.Extension, "")); }                  if (File.Exists(string.Format("{0}.jpg", fi.FullName.Replace(fi.Extension, "")))) { rom_img = string.Format("{0}.jpg", fi.FullName.Replace(fi.Extension, "")); }
38                  this.RomImage = (rom_img == "") ? Properties.Resources.DefaultGameImage : Image.FromFile(rom_img);                  this.RomImage = (rom_img == "") ? Properties.Resources.DefaultGameImage : Image.FromFile(rom_img);
39                  string config_dir = fi.Directory.Parent.FullName;  
40                  Config = EmuConfigLoader.Load(config_dir);  
41                    if (EMUConfig.GameImage != string.Empty)
42                    {
43                        FileInfo fi_gameimage = new FileInfo(EMUConfig.GameImage);
44                        if (fi_gameimage.Exists) { this.RomImage = Image.FromFile(fi_gameimage.FullName); }
45                        else
46                        {
47                            FileInfo t = new FileInfo(EMUConfig.ConfigPath);
48                            string path = t.FullName.Replace(t.Name, "").Replace(t.Extension, "");
49                            string image_path = string.Format(@"{0}{1}", path, fi_gameimage.Name);
50                            FileInfo x = new FileInfo(image_path);
51                            if (x.Exists) { this.RomImage = Image.FromFile(x.FullName); }
52                            else
53                            {
54                                if (EMUConfig.GameExe != string.Empty)
55                                {
56                                    FileInfo fi_gamexe = new FileInfo(EMUConfig.GameExe);
57                                    path = fi_gamexe.FullName.Replace(fi_gamexe.Name, "").Replace(fi_gamexe.Extension, "");
58                                    image_path = string.Format(@"{0}{1}", path, fi_gameimage.Name);
59                                    x = new FileInfo(image_path);
60                                    if (x.Exists) { this.RomImage = Image.FromFile(x.FullName); }
61                                }
62                            }
63                        }
64                    }
65    
66    
67                    //string config_dir = fi.Directory.Parent.FullName;
68                    //Config = EmuConfigLoader.Load(config_dir);
69                    Config = EMUConfig;
70              }              }
71              #region IRomConfig Members              #region IRomConfig Members
72              public string RomFile { get; private set; }              public string RomFile { get; private set; }

Legend:
Removed from v.27  
changed lines
  Added in v.85

  ViewVC Help
Powered by ViewVC 1.1.22