public Emera3Request(ICancelSync cancel, DriverSetting drvSetting, int timeOutRequestMSec) { this.WaitAnswerMSec = drvSetting.WaitTimeout; this.nRepeatGlobal = drvSetting.RepeatCount; this.timeOutRequestMSec = timeOutRequestMSec; this.cancel = cancel; }
public QueryInfo( EmeraDriver driver, SynchRequestDataDrv requestData, SynchParamsDataDrv requestParam, EmeraSharedSetting ss, EmeraContentSetting cs, DriverSetting driverSetting) { RequestData = requestData; RequestParam = requestParam; this.driver = driver; Request = new EmeraRequest(driver, driverSetting, driver.ReadTimeOutRequestMSec()); DriverSetting = driverSetting; DataBus = driver.Channel; Ss = ss; Cs = cs; NextPoint = new AccountNextPoint( TimeZoneMap.Local, timeOffset: TimeOffset.Level_1, useMin3: false, useMin30: ss.Enbl30min, useDay1: true, useMonth1: true, useYear1: false, archSync: ss.Arch.ToSch()); ElectroChannel = driver.ElectroChannel.ByBrowseName <ElectroChannel>(ElectroChannels.BN.ElectroChannel); }
private void GetROMsInfo() { string ROMsInfo = MameGetString(MAMELuaCommand.GetROMsInfo); string[] ROMs = ROMsInfo.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); string tempDefault = ""; DriverSetting setting = new DriverSetting() { Name = "BIOS", GameName = _gameShortName, LuaCode = LibMAME.BIOS_LUA_CODE, Type = SettingType.BIOS }; foreach (string ROM in ROMs) { if (ROM != string.Empty) { string[] substrings = ROM.Split('~'); string name = substrings[0]; string hashdata = substrings[1]; long flags = long.Parse(substrings[2]); if ((flags & LibMAME.ROMENTRY_TYPEMASK) == LibMAME.ROMENTRYTYPE_SYSTEM_BIOS || (flags & LibMAME.ROMENTRY_TYPEMASK) == LibMAME.ROMENTRYTYPE_DEFAULT_BIOS) { setting.Options.Add(name, hashdata); // if no bios is explicitly marked as default // mame uses the first one in the list // and its index is reflected in the flags (ROM_BIOSFLAGSMASK) if ((flags >> LibMAME.BIOS_INDEX) == LibMAME.BIOS_FIRST) { tempDefault = name; } if ((flags & LibMAME.ROMENTRY_TYPEMASK) == LibMAME.ROMENTRYTYPE_DEFAULT_BIOS) { setting.DefaultValue = name; } } else { hashdata = hashdata.Replace("R", " CRC:").Replace("S", " SHA:"); _romHashes.Add(name, hashdata); } } } if (setting.Options.Count > 0) { if (setting.DefaultValue == null) { setting.DefaultValue = tempDefault; } CurrentDriverSettings.Add(setting); } }
public void OverrideGameSettings() { foreach (KeyValuePair <string, string> setting in _syncSettings.DriverSettings) { DriverSetting s = CurrentDriverSettings.SingleOrDefault(s => s.LookupKey == setting.Key); if (s != null && s.Type == SettingType.DIPSWITCH) { LibMAME.mame_lua_execute($"{ s.LuaCode }.user_value = { setting.Value }"); } } }
public void FetchDefaultGameSettings() { string DIPSwitchTags = MameGetString(MAMELuaCommand.GetDIPSwitchTags); string[] tags = DIPSwitchTags.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); foreach (string tag in tags) { string DIPSwitchFields = MameGetString(MAMELuaCommand.GetDIPSwitchFields(tag)); string[] fieldNames = DIPSwitchFields.Split(new char[] { '^' }, StringSplitOptions.RemoveEmptyEntries); foreach (string fieldName in fieldNames) { DriverSetting setting = new DriverSetting() { Name = fieldName, GameName = _gameShortName, LuaCode = MAMELuaCommand.InputField(tag, fieldName), Type = SettingType.DIPSWITCH, DefaultValue = LibMAME.mame_lua_get_int( $"return { MAMELuaCommand.InputField(tag, fieldName) }.defvalue").ToString() }; string DIPSwitchOptions = MameGetString(MAMELuaCommand.GetDIPSwitchOptions(tag, fieldName)); string[] options = DIPSwitchOptions.Split(new char[] { '@' }, StringSplitOptions.RemoveEmptyEntries); foreach (string option in options) { string[] opt = option.Split(new char[] { '~' }, StringSplitOptions.RemoveEmptyEntries); setting.Options.Add(opt[0], opt[1]); } CurrentDriverSettings.Add(setting); } } }
public MAMEPropertyDescriptor(DriverSetting setting) : base(setting.LookupKey, new Attribute[0]) { Setting = setting; }