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

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

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

revision 199 by william, Mon Aug 4 11:35:06 2014 UTC revision 200 by william, Mon Aug 4 12:39:13 2014 UTC
# Line 84  namespace EmuXPortal.Api Line 84  namespace EmuXPortal.Api
84              public IEmuConfig Create(logger log, string rom_path) { return this.Create(log, string.Empty, rom_path); }              public IEmuConfig Create(logger log, string rom_path) { return this.Create(log, string.Empty, rom_path); }
85              public IEmuConfig Create(logger log, string config_path, string rom_path)              public IEmuConfig Create(logger log, string config_path, string rom_path)
86              {              {
87                    IEmuConfig parent_rom = null;
88                  if (rom_path == "")                  if (rom_path == "")
89                  {                  {
90                      if (config_path != "")                      if (config_path != "")
# Line 100  namespace EmuXPortal.Api Line 101  namespace EmuXPortal.Api
101                  {                  {
102                      config_path = string.Format(@"{0}\{1}", EmuRomPath, EMU_CONFIG);                      config_path = string.Format(@"{0}\{1}", EmuRomPath, EMU_CONFIG);
103                  }                  }
104                
105    
106                    if (rom_path == "")
107                    {
108                        FileInfo emu_config = new FileInfo(string.Format(@"{0}\{1}", new FileInfo(config_path).Directory, EMU_CONFIG));
109                        //if (emu_config.Exists)
110                        //{
111                        //    EmuRomPath = emu_config.Directory.FullName;
112                        //}
113                        while (!emu_config.Exists)
114                        {
115                            try
116                            {
117                                emu_config = new FileInfo(string.Format(@"{0}\{1}", emu_config.Directory.Parent.FullName, EMU_CONFIG));                          
118                            }
119                            catch (Exception)
120                            {
121                                break;
122                            }
123                        }
124                        if (emu_config.Exists)
125                        {
126                            EmuRomPath = emu_config.Directory.FullName;
127                            // load the rom config
128                            parent_rom = EmuConfigLoader.Load(log, emu_config.FullName, EmuRomPath);
129                        }
130    
131                        
132                    }
133    
134                  // read the actual config emu.config                  // read the actual config emu.config
135                  FileInfo fi = new FileInfo(config_path);                  FileInfo fi = new FileInfo(config_path);
136                  if (fi.Exists)                  if (fi.Exists)
# Line 262  namespace EmuXPortal.Api Line 292  namespace EmuXPortal.Api
292                  }                  }
293                  else { log.WriteLine("Could not find EMU Config File: {0}", config_path); }                  else { log.WriteLine("Could not find EMU Config File: {0}", config_path); }
294    
295                    if (parent_rom != null)
296                    {
297                        if (parent_rom.HasExternalConfigs)
298                        {
299                            foreach (var rom in parent_rom.ExternalConfigs)
300                            {
301                                if (rom.ConfigPath == config_path)
302                                {
303                                    this.PlatformNameShort = parent_rom.PlatformNameShort;
304                                    this.PlatformNameLong = parent_rom.PlatformNameLong;
305                                    break;
306                                }
307                            }
308                            
309                        }
310                    }
311    
312                  return this;                  return this;
313              }              }
314    
# Line 276  namespace EmuXPortal.Api Line 323  namespace EmuXPortal.Api
323              public EmuConfig(logger log, string PlatformNameShort, string PlatformNameLong, string PlatformImage, string Extenstions, string EmuPath) : this(log, PlatformNameShort, PlatformNameLong, PlatformImage, Extenstions, EmuPath, "") { }              public EmuConfig(logger log, string PlatformNameShort, string PlatformNameLong, string PlatformImage, string Extenstions, string EmuPath) : this(log, PlatformNameShort, PlatformNameLong, PlatformImage, Extenstions, EmuPath, "") { }
324              public EmuConfig(logger log, string PlatformNameShort, string PlatformNameLong, string PlatformImage, string Extenstions, string EmuPath, string EmuOptions)              public EmuConfig(logger log, string PlatformNameShort, string PlatformNameLong, string PlatformImage, string Extenstions, string EmuPath, string EmuOptions)
325              {              {
326                  //if (string.IsNullOrEmpty(EmuRomPath))                  
327                  //{                  
328                  //    if (Debugger.IsAttached)  
                 //        Debugger.Break();  
                 //}  
329                  this.PlatformNameShort = PlatformNameShort;                  this.PlatformNameShort = PlatformNameShort;
330                  this.PlatformNameLong = PlatformNameLong;                  this.PlatformNameLong = PlatformNameLong;
331                  this.PlatformImage = (PlatformImage == "") ? Properties.Resources.DefaultPlatformImage : Image.FromFile(PlatformImage);                  this.PlatformImage = (PlatformImage == "") ? Properties.Resources.DefaultPlatformImage : Image.FromFile(PlatformImage);

Legend:
Removed from v.199  
changed lines
  Added in v.200

  ViewVC Help
Powered by ViewVC 1.1.22