Files
AM2R-Community-Updates/scripts/check_keys.gml
2020-12-22 20:54:55 -06:00

344 lines
12 KiB
Plaintext

/// check_keys()
// some duplicate code, but fancy.
ctrl_Left = 0;
ctrl_Right = 0;
ctrl_Up = 0;
ctrl_Down = 0;
ctrl_A = 0;
ctrl_B = 0;
ctrl_X = 0;
ctrl_L = 0;
ctrl_R = 0;
ctrl_Select = 0;
ctrl_Start = 0;
ctrl_L2 = 0;
ctrl_R2 = 0;
ctrl_Exit = 0;
ctrl_Menu1 = 0;
ctrl_Menu2 = 0;
walk_zone = 0;
if ((ctrl_Left == 0) && (ctrl_Right == 0) && (!keyboard_check(global.opkeybtn_right)) && keyboard_check(global.opkeybtn_left)) {
ctrl_Left = 1;
global.controltype = 0;
}
if ((ctrl_Left == 0) && (ctrl_Right == 0) && (!keyboard_check(global.opkeybtn_left)) && keyboard_check(global.opkeybtn_right)) {
ctrl_Right = 1;
global.controltype = 0;
}
if ((ctrl_Up == 0) && (ctrl_Down == 0) && (!keyboard_check(global.opkeybtn_down)) && keyboard_check(global.opkeybtn_up)) {
ctrl_Up = 1;
global.controltype = 0;
}
if ((ctrl_Up == 0) && (ctrl_Down == 0) && (!keyboard_check(global.opkeybtn_up)) && keyboard_check(global.opkeybtn_down)) {
ctrl_Down = 1;
global.controltype = 0;
}
if (keyboard_check(global.opkeybtn_a)) {
ctrl_A = 1;
global.controltype = 0;
}
if (keyboard_check(global.opkeybtn_b)) {
ctrl_B = 1;
global.controltype = 0;
}
if (keyboard_check(global.opkeybtn_x)) {
ctrl_X = 1;
global.controltype = 0;
}
if (keyboard_check(global.opkeybtn_l)) {
ctrl_L = 1;
global.controltype = 0;
}
if ((global.opaimstyle == true) && keyboard_check(global.opkeybtn_l2)) {
ctrl_L2 = 1;
global.controltype = 0;
}
if (keyboard_check(global.opkeybtn_r)) {
ctrl_R = 1;
global.controltype = 0;
}
if (keyboard_check(global.opkeybtn_r2)) {
ctrl_R2 = 1;
global.controltype = 0;
}
if (keyboard_check(global.opkeybtn_select)) {
ctrl_Select = 1;
global.controltype = 0;
}
if (keyboard_check(global.opkeybtn_start)) {
ctrl_Start = 1;
global.controltype = 0;
}
if (keyboard_check(global.opkeybtn_exit)) {
ctrl_Exit = 1;
global.controltype = 0;
}
if (keyboard_check(global.opkeybtn_menu1)) {
ctrl_Menu1 = 1;
global.controltype = 0;
}
if (keyboard_check(global.opkeybtn_menu2)) {
ctrl_Menu2 = 1;
global.controltype = 0;
}
/*
if (ctrl_Left == 0 && ctrl_Right == 0 && !keyboard_check(global.opkeybtn_right) && keyboard_check(global.opkeybtn_left)) {
ctrl_Left = 1;
global.controltype = 0;
}
if (ctrl_Left == 0 && ctrl_Right == 0 && !keyboard_check(global.opkeybtn_left) && keyboard_check(global.opkeybtn_right)) {
ctrl_Right = 1;
global.controltype = 0;
}
if (ctrl_Up == 0 && ctrl_Down == 0 && !keyboard_check(global.opkeybtn_down) && keyboard_check(global.opkeybtn_up)) {
ctrl_Up = 1;
global.controltype = 0;
}
if (ctrl_Up == 0 && ctrl_Down == 0 && !keyboard_check(global.opkeybtn_up) && keyboard_check(global.opkeybtn_down)) {
ctrl_Down = 1;
global.controltype = 0;
}
if (keyboard_check(global.opkeybtn_a)) {
ctrl_A = 1;
global.controltype = 0;
}
if (keyboard_check(global.opkeybtn_b)) {
ctrl_B = 1;
global.controltype = 0;
}
if (keyboard_check(global.opkeybtn_x)) {
ctrl_X = 1;
global.controltype = 0;
}
if (keyboard_check(global.opkeybtn_l)) {
ctrl_L = 1;
global.controltype = 0;
}
if (global.opaimstyle == true && keyboard_check(global.opkeybtn_l2)) {
ctrl_L2 = 1;
global.controltype = 0;
}
if (keyboard_check(global.opkeybtn_r)) {
ctrl_R = 1;
global.controltype = 0;
}
if (keyboard_check(global.opkeybtn_r2)) {
ctrl_R2 = 1;
global.controltype = 0;
}
if (keyboard_check(global.opkeybtn_select)) {
ctrl_Select = 1;
global.controltype = 0;
}
if (keyboard_check(global.opkeybtn_start)) {
ctrl_Start = 1;
global.controltype = 0;
}
if (keyboard_check(global.opkeybtn_exit)) {
ctrl_Exit = 1;
global.controltype = 0;
}
if (keyboard_check(global.opkeybtn_menu1)) {
ctrl_Menu1 = 1;
global.controltype = 0;
}
if (keyboard_check(global.opkeybtn_menu2)) {
ctrl_Menu2 = 1;
global.controltype = 0;
}
*/
if (gamepad_is_supported()) {
if (gamepad_is_connected(global.gamepadIndex) && global.opxjoyenable) {
if (global.opxjoyvib) gamepad_set_vibration(global.gamepadIndex, global.vibL, global.vibR);
xjoyx = gamepad_axis_value(global.gamepadIndex, gp_axislh);
xjoyy = gamepad_axis_value(global.gamepadIndex, gp_axislv);
if (is_walkzone(xjoyx, xjoyy, 1)) walk_zone = 1;
if (is_past_deadzone(xjoyx, xjoyy, 1)) {
if ((ctrl_Left == 0) && (ctrl_Right == 0) && (xjoyx < -(global.opxjoydz / 200))) {
ctrl_Left = -xjoyx;
global.controltype = 2;
}
if ((ctrl_Left == 0) && (ctrl_Right == 0) && (xjoyx > (global.opxjoydz / 200))) {
ctrl_Right = xjoyx;
global.controltype = 2;
}
if ((ctrl_Up == 0) && (ctrl_Down == 0) && (xjoyy < -(global.opxjoydz / 200))) {
ctrl_Up = 1;
global.controltype = 2;
}
if ((ctrl_Up == 0) && (ctrl_Down == 0) && (xjoyy > (global.opxjoydz / 200))) {
ctrl_Down = 1;
global.controltype = 2;
}
}
if ((ctrl_Left == 0) && (ctrl_Right == false) && gamepad_button_check(global.gamepadIndex, gp_padl)) {
ctrl_Left = 1;
global.controltype = 2;
walk_zone = 0;
}
if ((ctrl_Left == 0) && (ctrl_Right == false) && gamepad_button_check(global.gamepadIndex, gp_padr)) {
ctrl_Right = 1;
global.controltype = 2;
walk_zone = 0;
}
if ((ctrl_Up == 0) && (ctrl_Down == false) && gamepad_button_check(global.gamepadIndex, gp_padu)) {
ctrl_Up = 1;
global.controltype = 2;
walk_zone = 0;
}
if ((ctrl_Up == 0) && (ctrl_Down == false) && gamepad_button_check(global.gamepadIndex, gp_padd)) {
ctrl_Down = 1;
global.controltype = 2;
walk_zone = 0;
}
if ((ctrl_A == false) && gamepad_button_check(global.gamepadIndex, global.opxjoybtn_a)) {
ctrl_A = 1;
global.controltype = 2;
}
if ((ctrl_B == false) && gamepad_button_check(global.gamepadIndex, global.opxjoybtn_b)) {
ctrl_B = 1;
global.controltype = 2;
}
if ((ctrl_X == false) && gamepad_button_check(global.gamepadIndex, global.opxjoybtn_x)) {
ctrl_X = 1;
global.controltype = 2;
}
if ((ctrl_L == false) && gamepad_button_check(global.gamepadIndex, global.opxjoybtn_l)) {
ctrl_L = 1;
global.controltype = 2;
}
if ((global.opaimstyle == 1) && (ctrl_L2 == false) && gamepad_button_check(global.gamepadIndex, global.opxjoybtn_l2)) {
ctrl_L2 = 1;
global.controltype = 2;
}
if ((ctrl_R == false) && gamepad_button_check(global.gamepadIndex, global.opxjoybtn_r)) {
ctrl_R = 1;
global.controltype = 2;
}
if ((ctrl_R2 == false) && gamepad_button_check(global.gamepadIndex, global.opxjoybtn_r2)) {
ctrl_R2 = 1;
global.controltype = 2;
}
if ((ctrl_Select == false) && gamepad_button_check(global.gamepadIndex, global.opxjoybtn_sel)) {
ctrl_Select = 1;
global.controltype = 2;
}
if ((ctrl_Start == false) && gamepad_button_check(global.gamepadIndex, global.opxjoybtn_str)) {
ctrl_Start = 1;
global.controltype = 2;
}
if ((ctrl_Exit == false) && gamepad_button_check(global.gamepadIndex, global.opxjoybtn_exit)) {
ctrl_Exit = 1;
global.controltype = 2;
}
if ((ctrl_Menu1 == false) && gamepad_button_check(global.gamepadIndex, global.opxjoybtn_menu1)) {
ctrl_Menu1 = 1;
global.controltype = 2;
}
if ((ctrl_Menu2 == false) && gamepad_button_check(global.gamepadIndex, global.opxjoybtn_menu2)) {
ctrl_Menu2 = 1;
global.controltype = 2;
}
} // if (gamepad_is_connected(0) && global.opxjoyenable)
} // if (gamepad_is_supported())
// Android thingies
if (global.joydetected && global.openablejoy && !gamepad_is_connected(global.gamepadIndex)) {
joyx = check_axis(global.opjoybtn_xax);
joyy = check_axis(global.opjoybtn_yax);
if (is_walkzone(joyx, joyy, 0)) walk_zone = 1;
if (is_past_deadzone(joyx, joyy, 0)) {
if ((ctrl_Left == 0) && (ctrl_Right == 0) && (joyx < 0)) {
ctrl_Left = -joyx;
global.controltype = 1;
}
if ((ctrl_Left == 0) && (ctrl_Right == 0) && (joyx > 0)) {
ctrl_Right = joyx;
global.controltype = 1;
}
if ((ctrl_Up == 0) && (ctrl_Down == 0) && (joyy < 0)) {
ctrl_Up = 1;
global.controltype = 1;
}
if ((ctrl_Up == 0) && (ctrl_Down == 0) && (joyy > 0)) {
ctrl_Down = 1;
global.controltype = 1;
}
}
if(global.dpad_rebind) {
if ((ctrl_Left == 0) && (ctrl_Right == false) && joystick_check_button(global.opjoyid, global.opjoybtn_padl)) {
ctrl_Left = 1;
global.controltype = 1;
walk_zone = 0;
}
if ((ctrl_Left == 0) && (ctrl_Right == false) && joystick_check_button(global.opjoyid, global.opjoybtn_padr)) {
ctrl_Right = 1;
global.controltype = 1;
walk_zone = 0;
}
if ((ctrl_Up == 0) && (ctrl_Down == false) && joystick_check_button(global.opjoyid, global.opjoybtn_padu)) {
ctrl_Up = 1;
global.controltype = 1;
walk_zone = 0;
}
if ((ctrl_Up == 0) && (ctrl_Down == false) && joystick_check_button(global.opjoyid, global.opjoybtn_padd)) {
ctrl_Down = 1;
global.controltype = 1;
walk_zone = 0;
}
}
if ((ctrl_A == 0) && joystick_check_button(global.opjoyid, global.opjoybtn_a)) {
ctrl_A = 1;
global.controltype = 1;
}
if ((ctrl_B == 0) && joystick_check_button(global.opjoyid, global.opjoybtn_b)) {
ctrl_B = 1;
global.controltype = 1;
}
if ((ctrl_X == 0) && joystick_check_button(global.opjoyid, global.opjoybtn_x)) {
ctrl_X = 1;
global.controltype = 1;
}
if ((ctrl_L == 0) && joystick_check_button(global.opjoyid, global.opjoybtn_l)) {
ctrl_L = 1;
global.controltype = 1;
}
if ((global.opaimstyle == 1) && (ctrl_L2 == 0) && joystick_check_button(global.opjoyid, global.opjoybtn_l2)) {
ctrl_L2 = 1;
global.controltype = 1;
}
if ((ctrl_R == 0) && joystick_check_button(global.opjoyid, global.opjoybtn_r)) {
ctrl_R = 1;
global.controltype = 1;
}
if ((ctrl_R2 == 0) && joystick_check_button(global.opjoyid, global.opjoybtn_r2)) {
ctrl_R2 = 1;
global.controltype = 1;
}
if ((ctrl_Select == 0) && joystick_check_button(global.opjoyid, global.opjoybtn_sel)) {
ctrl_Select = 1;
global.controltype = 1;
}
if ((ctrl_Start == 0) && joystick_check_button(global.opjoyid, global.opjoybtn_str)) {
ctrl_Start = 1;
global.controltype = 1;
}
if ((ctrl_Exit == 0) && joystick_check_button(global.opjoyid, global.opjoybtn_exit)) {
ctrl_Exit = 1;
global.controltype = 1;
}
if ((ctrl_Menu1 == 0) && joystick_check_button(global.opjoyid, global.opjoybtn_menu1)) {
ctrl_Menu1 = 1;
global.controltype = 1;
}
if ((ctrl_Menu2 == 0) && joystick_check_button(global.opjoyid, global.opjoybtn_menu2)) {
ctrl_Menu2 = 1;
global.controltype = 1;
}
} // if (global.joydetected && global.openablejoy && !gamepad_is_connected(0))