Example #1
0
        public static List <Program> GetPrograms(string iniFileName)
        {
            var ini      = new Ini(iniFileName);
            var sections = ini.GetSections();
            var programs = new List <Program>();

            foreach (var section in sections)
            {
                var program = new Program();
                program.FileName        = section;
                program.FileProductName = ini.GetValue(section, "Name") ?? "";
                var hmString = ini.GetValue(section, "HookMask");
                int hookMask;
                // If hook mask is hexadecimal then....
                bool success = hmString.StartsWith("0x")
                                        ? int.TryParse(hmString.Substring(2), System.Globalization.NumberStyles.HexNumber, CultureInfo.InvariantCulture.NumberFormat, out hookMask)
                                        : int.TryParse(hmString, out hookMask);
                if (success)
                {
                    program.HookMask = hookMask;
                    programs.Add(program);
                }
            }
            return(programs);
        }
Example #2
0
		public static List<Program> GetPrograms(string iniFileName)
		{
			var ini = new Ini(iniFileName);
			var sections = ini.GetSections();
			var programs = new List<Program>();
			foreach (var section in sections)
			{
				var program = new Program();
				program.FileName = section;
				program.FileProductName = ini.GetValue(section, "Name") ?? "";
				var hmString = ini.GetValue(section, "HookMask");
				int hookMask;
				// If hook mask is hexadecimal then....
				bool success = hmString.StartsWith("0x")
					? int.TryParse(hmString.Substring(2), System.Globalization.NumberStyles.HexNumber, CultureInfo.InvariantCulture.NumberFormat, out hookMask)
					: int.TryParse(hmString, out hookMask);
				if (success)
				{
					program.HookMask = hookMask;
					programs.Add(program);
				}
			}
			return programs;
		}
		void LoadProgramsFromLocalGdbFile()
		{
			var path = GameDatabaseManager.Current.GdbFile.FullName;
			var ini = new Ini(path);
			var sections = ini.GetSections();
			foreach (var section in sections)
			{
				var program = SettingManager.Programs.Items.FirstOrDefault(x => x.FileName.ToLower() == section.ToLower());
				if (program == null)
				{
					program = new Engine.Data.Program();
					program.FileName = section;
					program.HookMask = 0x00000002;
					program.XInputMask = 0x00000004;
					SettingManager.Programs.Items.Add(program);
				}
				program.FileProductName = ini.GetValue(section, "Name", section);
				int hookMask;
				var hookMaskValue = ini.GetValue(section, "HookMask", "0x00000002");
				if (int.TryParse(hookMaskValue, out hookMask))
				{
					program.HookMask = hookMask;
				}
			}
		}