private void ValidateVJoyConfiguration(CompileInfo info, StreamWriter file) { file.WriteLine(" private bool ValidateVJoyConfiguration()"); file.WriteLine(" {"); //foreach (var name in Enum.GetNames(typeof(HID_USAGES))) //{ // file.Write("lookup[\"Axis"); // file.Write(name.Replace("HID_USAGE_", "")); // file.Write("\"] = \"bool Axis"); // file.Write(name.Replace("HID_USAGE_", "")); // file.Write(" = joystick.GetVJDAxisExist(id, HID_USAGES."); // file.Write(name); // file.WriteLine(");\";"); //} file.WriteLine(" // Make sure all needed axes and buttons are supported"); var list = new List <string>(); var axis = info.GetVJoyAxis(); foreach (var vJoyAxis in axis) { file.Write(" "); file.WriteLine(lookup[vJoyAxis]); list.Add("!" + vJoyAxis); } list.Add("nButtons < " + info.GetMaxButtons()); list.Add("cont < " + info.GetMaxPOVs()); file.WriteLine(" int nButtons = joystick.GetVJDButtonNumber(id);"); file.WriteLine(" int cont = joystick.GetVJDContPovNumber(id);"); file.Write(" if ("); file.Write(String.Join(" || ", list)); file.WriteLine(")"); file.WriteLine(" {"); file.Write(" mainForm.ReportError(\"vJoy Device is not configured correctly. Must have "); file.Write(String.Join(", ", axis)); file.Write(" analog axis, "); file.Write(info.GetMaxButtons()); file.Write(" buttons and "); file.Write(info.GetMaxPOVs()); file.WriteLine(" analog POVs. Cannot continue\\n\");"); file.WriteLine(" return false;"); file.WriteLine(" }"); file.WriteLine(" return true;"); file.WriteLine(" }"); file.WriteLine(); }