/// <summary> /// Path to glapitemp.h file /// </summary> public FunctionNameDictionary Parse(string path) { StreamReader sr = File.OpenText(path); FunctionNameDictionary functions = new FunctionNameDictionary(); string line = null; int matchpos = -1; while ((line = sr.ReadLine()) != null) { if ((matchpos = line.IndexOf("KEYWORD2 NAME(")) >= 0) { int closingbracketpos = line.IndexOf(")", matchpos); string fname = "gl" + line.Substring(matchpos + 14, closingbracketpos - 14 - matchpos); if (fname.IndexOf("_dispatch_stub") >= 0) { continue; /* Trash not needed */ } if (!functions.ContainsKey(fname)) { functions.Add(fname, null); } } } return(functions); }
/// <summary> /// Path to glapioffsets.h file /// </summary> public FunctionNameDictionary Parse(string path) { StreamReader sr = File.OpenText(path); FunctionNameDictionary functions = new FunctionNameDictionary(); string line = null; while ((line = sr.ReadLine()) != null) { if (line.IndexOf("#define _gloffset_") >= 0) { string part = line.Substring(18, line.Length - 18); string fname = "gl" + (part.Split(' ')[0].Trim()); if (!functions.ContainsKey(fname)) { functions.Add(fname, null); } } } return(functions); }