#define MC(x) {{BUTTC_KEYBOARD},{0},{x},1} #define MK2(x1,x2) {{BUTTC_KEYBOARD},{0},{MKK(x1),MKK(x2)},2} #define MKZ() {{0},{0},{0},0} #define GPZ() {MKZ(), MKZ(), MKZ(), MKZ()} ButtConfig GamePadConfig[4][12]={ //Gamepad 1 { MK(F), MK(D), MK(S), MK(ENTER), MK(BL_CURSORUP), MK(BL_CURSORDOWN),MK(BL_CURSORLEFT),MK(BL_CURSORRIGHT) }, //Gamepad 2 GPZ(), //Gamepad 3 GPZ(), //Gamepad 4 GPZ() }; ButtConfig GamePadPreset1[4][12]={GPZ(),GPZ(),GPZ(),GPZ()}; ButtConfig GamePadPreset2[4][12]={GPZ(),GPZ(),GPZ(),GPZ()}; ButtConfig GamePadPreset3[4][12]={GPZ(),GPZ(),GPZ(),GPZ()}; char *InputPresetDir = 0; extern int rapidAlternator; // for auto-fire / autofire int DesynchAutoFire=0; // A and B not at same time
#define GPZ() {MKZ(), MKZ(), MKZ(), MKZ()} ButtConfig GamePadConfig[4][10]={ /* Gamepad 1 */ { // MK(KP3), MK(KP2), MK(TAB), MK(ENTER), MK(W), MK(Z), // MK(A), MK(S), MKZ(), MKZ() MK(O), MK(P), MK(TAB), MK(ENTER), MK(W), MK(S), // b, a, select, start, up, down, left, right, n/a, n/a MK(A), MK(D), MKZ(), MKZ() // MK(C), MK(D), MK(TAB), MK(ENTER), MK(CURSORUP), MK(CURSORDOWN), // b, a, select, start, up, down, left, right, n/a, n/a // MK(CURSORLEFT), MK(CURSORRIGHT), MKZ(), MKZ() }, /* Gamepad 2 */ GPZ(), /* Gamepad 3 */ GPZ(), /* Gamepad 4 */ GPZ() }; static void UpdateGamepad(void) { static int rapid=0; uint32 JS=0; // WHAT THE F**K does js stand for? A bitvector that holds the states of all buttons on all controllers (4 controllers x 8 buttons) int x; int wg; // WHAT THE F**K DOES WG STAND FOR?? (I think it stands for "which gamepad." Yeah that's obvious.)