Skip to content

Instantly share code, notes, and snippets.

@DragoniteSpam
Created November 27, 2020 08:11
Show Gist options
  • Save DragoniteSpam/08425f8d15c1a3cbfba2ed0d94fde98a to your computer and use it in GitHub Desktop.
Save DragoniteSpam/08425f8d15c1a3cbfba2ed0d94fde98a to your computer and use it in GitHub Desktop.
enum InputVerbs {
A, B, X, Y,
LEFT, RIGHT, UP, DOWN,
LOOK_LEFT, LOOK_RIGHT, LOOK_UP, LOOK_DOWN,
PAD_LEFT, PAD_RIGHT, PAD_UP, PAD_DOWN,
PAUSE, UNPAUSE, RUN,
FRIEND_ATTACK,
FRIEND_DEFEND,
SHOULDERR2, // unused
SPELL_FIRE, SPELL_WATER, SPELL_THUNDER,
SPELL_EARTH, SPELL_WIND, SPELL_AETHER,
SPELL_NONE,
}
input_cursor_verbs(InputVerbs.LOOK_LEFT, InputVerbs.LOOK_RIGHT, InputVerbs.LOOK_UP, InputVerbs.LOOK_DOWN, 5);
input_default_key(ord("A"), InputVerbs.LEFT);
input_default_key(ord("D"), InputVerbs.RIGHT);
input_default_key(ord("W"), InputVerbs.UP);
input_default_key(ord("S"), InputVerbs.DOWN);
input_default_key(vk_left, InputVerbs.PAD_LEFT);
input_default_key(vk_right, InputVerbs.PAD_RIGHT);
input_default_key(vk_up, InputVerbs.PAD_UP);
input_default_key(vk_down, InputVerbs.PAD_DOWN);
input_default_key(vk_numpad1, InputVerbs.LOOK_LEFT);
input_default_key(vk_numpad2, InputVerbs.LOOK_RIGHT);
input_default_key(vk_numpad3, InputVerbs.LOOK_UP);
input_default_key(vk_numpad4, InputVerbs.LOOK_DOWN);
input_default_key(ord("Z"), InputVerbs.A); input_default_mouse_button(mb_left, InputVerbs.A, 1);
input_default_key(ord("X"), InputVerbs.B); input_default_mouse_button(mb_right, InputVerbs.B, 1);
input_default_key(ord("C"), InputVerbs.X);
input_default_key(vk_tab, InputVerbs.Y);
input_default_key(vk_escape, InputVerbs.PAUSE);
input_default_key(vk_backspace, InputVerbs.UNPAUSE);
input_default_key(vk_shift, InputVerbs.RUN);
input_default_key(ord("E"), InputVerbs.FRIEND_ATTACK);
input_default_key(ord("Q"), InputVerbs.FRIEND_DEFEND);
input_default_key(ord("U"), InputVerbs.SPELL_NONE);
input_default_key(ord("I"), InputVerbs.SPELL_FIRE);
input_default_key(ord("O"), InputVerbs.SPELL_WATER);
input_default_key(ord("P"), InputVerbs.SPELL_AETHER);
input_default_key(ord("I"), InputVerbs.SPELL_THUNDER);
input_default_key(ord("J"), InputVerbs.SPELL_EARTH);
input_default_key(ord("K"), InputVerbs.SPELL_WIND);
input_default_gamepad_axis(gp_axislh, true, InputVerbs.LEFT);
input_default_gamepad_axis(gp_axislh, false, InputVerbs.RIGHT);
input_default_gamepad_axis(gp_axislv, true, InputVerbs.UP);
input_default_gamepad_axis(gp_axislv, false, InputVerbs.DOWN);
input_default_gamepad_axis(gp_axisrh, true, InputVerbs.LOOK_LEFT);
input_default_gamepad_axis(gp_axisrh, false, InputVerbs.LOOK_RIGHT);
input_default_gamepad_axis(gp_axisrv, true, InputVerbs.LOOK_UP);
input_default_gamepad_axis(gp_axisrv, false, InputVerbs.LOOK_DOWN);
input_default_gamepad_button(gp_padl, InputVerbs.PAD_LEFT);
input_default_gamepad_button(gp_padr, InputVerbs.PAD_RIGHT);
input_default_gamepad_button(gp_padu, InputVerbs.PAD_UP);
input_default_gamepad_button(gp_padd, InputVerbs.PAD_DOWN);
input_default_gamepad_button(gp_face1, InputVerbs.A);
input_default_gamepad_button(gp_face2, InputVerbs.B);
input_default_gamepad_button(gp_face3, InputVerbs.X);
input_default_gamepad_button(gp_face4, InputVerbs.Y);
input_default_gamepad_button(gp_start, InputVerbs.PAUSE);
input_default_gamepad_button(gp_select, InputVerbs.UNPAUSE);
input_default_gamepad_button(gp_shoulderl, InputVerbs.FRIEND_DEFEND);
input_default_gamepad_button(gp_shoulderlb, InputVerbs.RUN);
input_default_gamepad_button(gp_shoulderrb, InputVerbs.SHOULDERR2);
input_default_gamepad_button(gp_shoulderr, InputVerbs.FRIEND_ATTACK);
#macro INPUT_PLAYER_UP input_check(InputVerbs.UP, controller_index)
#macro INPUT_PLAYER_DOWN input_check(InputVerbs.DOWN, controller_index)
#macro INPUT_PLAYER_LEFT input_check(InputVerbs.LEFT, controller_index)
#macro INPUT_PLAYER_RIGHT input_check(InputVerbs.RIGHT, controller_index)
#macro INPUT_PLAYER_LOOK_UP input_check(InputVerbs.LOOK_UP, controller_index)
#macro INPUT_PLAYER_LOOK_DOWN input_check(InputVerbs.LOOK_DOWN, controller_index)
#macro INPUT_PLAYER_LOOK_LEFT input_check(InputVerbs.LOOK_LEFT, controller_index)
#macro INPUT_PLAYER_LOOK_RIGHT input_check(InputVerbs.LOOK_RIGHT, controller_index)
#macro INPUT_PLAYER_PAD_UP input_check(InputVerbs.PAD_UP, controller_index)
#macro INPUT_PLAYER_PAD_DOWN input_check(InputVerbs.PAD_DOWN, controller_index)
#macro INPUT_PLAYER_PAD_LEFT input_check(InputVerbs.PAD_LEFT, controller_index)
#macro INPUT_PLAYER_PAD_RIGHT input_check(InputVerbs.PAD_RIGHT, controller_index)
#macro INPUT_PLAYER_A input_check(InputVerbs.A, controller_index)
#macro INPUT_PLAYER_B input_check(InputVerbs.B, controller_index)
#macro INPUT_PLAYER_X input_check(InputVerbs.X, controller_index)
#macro INPUT_PLAYER_Y input_check(InputVerbs.Y, controller_index)
#macro INPUT_PLAYER_PAUSE input_check(InputVerbs.PAUSE, controller_index)
#macro INPUT_PLAYER_UNPAUSE input_check(InputVerbs.UNPAUSE, controller_index)
#macro INPUT_PLAYER_RUN input_check(InputVerbs.RUN, controller_index)
#macro INPUT_PLAYER_FRIEND_ATTACK input_check(InputVerbs.FRIEND_ATTACK, controller_index)
#macro INPUT_PLAYER_FRIEND_DEFEND input_check(InputVerbs.FRIEND_DEFEND, controller_index)
#macro INPUT_PLAYER_SPELL_FIRE input_check(InputVerbs.SPELL_FIRE, controller_index)
#macro INPUT_PLAYER_SPELL_WATER input_check(InputVerbs.SPELL_WATER, controller_index)
#macro INPUT_PLAYER_SPELL_AETHER input_check(InputVerbs.SPELL_AETHER, controller_index)
#macro INPUT_PLAYER_SPELL_THUNDER input_check(InputVerbs.SPELL_THUNDER, controller_index)
#macro INPUT_PLAYER_SPELL_EARTH input_check(InputVerbs.SPELL_EARTH, controller_index)
#macro INPUT_PLAYER_SPELL_WIND input_check(InputVerbs.SPELL_WIND, controller_index)
#macro INPUT_PLAYER_SPELL_NONE input_check(InputVerbs.SPELL_NONE, controller_index)
#macro INPUT_PLAYER_PRESS_UP input_check_press(InputVerbs.UP, controller_index)
#macro INPUT_PLAYER_PRESS_DOWN input_check_press(InputVerbs.DOWN, controller_index)
#macro INPUT_PLAYER_PRESS_LEFT input_check_press(InputVerbs.LEFT, controller_index)
#macro INPUT_PLAYER_PRESS_RIGHT input_check_press(InputVerbs.RIGHT, controller_index)
#macro INPUT_PLAYER_PRESS_LOOK_UP input_check_press(InputVerbs.LOOK_UP, controller_index)
#macro INPUT_PLAYER_PRESS_LOOK_DOWN input_check_press(InputVerbs.LOOK_DOWN, controller_index)
#macro INPUT_PLAYER_PRESS_LOOK_LEFT input_check_press(InputVerbs.LOOK_LEFT, controller_index)
#macro INPUT_PLAYER_PRESS_LOOK_RIGHT input_check_press(InputVerbs.LOOK_RIGHT, controller_index)
#macro INPUT_PLAYER_PRESS_PAD_UP input_check_press(InputVerbs.PAD_UP, controller_index)
#macro INPUT_PLAYER_PRESS_PAD_DOWN input_check_press(InputVerbs.PAD_DOWN, controller_index)
#macro INPUT_PLAYER_PRESS_PAD_LEFT input_check_press(InputVerbs.PAD_LEFT, controller_index)
#macro INPUT_PLAYER_PRESS_PAD_RIGHT input_check_press(InputVerbs.PAD_RIGHT, controller_index)
#macro INPUT_PLAYER_PRESS_A input_check_press(InputVerbs.A, controller_index)
#macro INPUT_PLAYER_PRESS_B input_check_press(InputVerbs.B, controller_index)
#macro INPUT_PLAYER_PRESS_X input_check_press(InputVerbs.X, controller_index)
#macro INPUT_PLAYER_PRESS_Y input_check_press(InputVerbs.Y, controller_index)
#macro INPUT_PLAYER_PRESS_PAUSE input_check_press(InputVerbs.PAUSE, controller_index)
#macro INPUT_PLAYER_PRESS_UNPAUSE input_check_press(InputVerbs.UNPAUSE, controller_index)
#macro INPUT_PLAYER_PRESS_RUN input_check_press(InputVerbs.RUN, controller_index)
#macro INPUT_PLAYER_PRESS_FRIEND_ATTACK input_check_press(InputVerbs.FRIEND_ATTACK, controller_index)
#macro INPUT_PLAYER_PRESS_FRIEND_DEFEND input_check_press(InputVerbs.FRIEND_DEFEND, controller_index)
#macro INPUT_PLAYER_PRESS_SPELL_FIRE input_check_press(InputVerbs.SPELL_FIRE, controller_index)
#macro INPUT_PLAYER_PRESS_SPELL_WATER input_check_press(InputVerbs.SPELL_WATER, controller_index)
#macro INPUT_PLAYER_PRESS_SPELL_AETHER input_check_press(InputVerbs.SPELL_AETHER, controller_index)
#macro INPUT_PLAYER_PRESS_SPELL_THUNDER input_check_press(InputVerbs.SPELL_THUNDER, controller_index)
#macro INPUT_PLAYER_PRESS_SPELL_EARTH input_check_press(InputVerbs.SPELL_EARTH, controller_index)
#macro INPUT_PLAYER_PRESS_SPELL_WIND input_check_press(InputVerbs.SPELL_WIND, controller_index)
#macro INPUT_PLAYER_PRESS_SPELL_NONE input_check_press(InputVerbs.SPELL_NONE, controller_index)
#macro INPUT_PLAYER_RELEASE_UP input_check_release(InputVerbs.UP, controller_index)
#macro INPUT_PLAYER_RELEASE_DOWN input_check_release(InputVerbs.DOWN, controller_index)
#macro INPUT_PLAYER_RELEASE_LEFT input_check_release(InputVerbs.LEFT, controller_index)
#macro INPUT_PLAYER_RELEASE_RIGHT input_check_release(InputVerbs.RIGHT, controller_index)
#macro INPUT_PLAYER_RELEASE_A input_check_release(InputVerbs.A, controller_index)
#macro INPUT_PLAYER_RELEASE_B input_check_release(InputVerbs.B, controller_index)
#macro INPUT_PLAYER_RELEASE_X input_check_release(InputVerbs.X, controller_index)
#macro INPUT_PLAYER_RELEASE_Y input_check_release(InputVerbs.Y, controller_index)
#macro INPUT_PLAYER_RELEASE_PAUSE input_check_release(InputVerbs.PAUSE, controller_index)
#macro INPUT_PLAYER_RELEASE_UNPAUSE input_check_release(InputVerbs.UNPAUSE, controller_index)
#macro INPUT_PLAYER_RELEASE_RUN input_check_release(InputVerbs.RUN, controller_index)
#macro INPUT_PLAYER_RELEASE_FRIEND_ATTACK input_check_release(InputVerbs.FRIEND_ATTACK, controller_index)
#macro INPUT_PLAYER_RELEASE_FRIEND_DEFEND input_check_release(InputVerbs.FRIEND_DEFEND, controller_index)
#macro INPUT_PLAYER_RELEASE_SPELL_FIRE input_check_release(InputVerbs.SPELL_FIRE, controller_index)
#macro INPUT_PLAYER_RELEASE_SPELL_WATER input_check_release(InputVerbs.SPELL_WATER, controller_index)
#macro INPUT_PLAYER_RELEASE_SPELL_AETHER input_check_release(InputVerbs.SPELL_AETHER, controller_index)
#macro INPUT_PLAYER_RELEASE_SPELL_THUNDER input_check_release(InputVerbs.SPELL_THUNDER, controller_index)
#macro INPUT_PLAYER_RELEASE_SPELL_EARTH input_check_release(InputVerbs.SPELL_EARTH, controller_index)
#macro INPUT_PLAYER_RELEASE_SPELL_WIND input_check_release(InputVerbs.SPELL_WIND, controller_index)
#macro INPUT_PLAYER_RELEASE_SPELL_NONE input_check_release(InputVerbs.SPELL_NONE, controller_index)
#macro INPUT_UP input_check(InputVerbs.UP)
#macro INPUT_DOWN input_check(InputVerbs.DOWN)
#macro INPUT_LEFT input_check(InputVerbs.LEFT)
#macro INPUT_RIGHT input_check(InputVerbs.RIGHT)
#macro INPUT_LOOK_UP input_check(InputVerbs.LOOK_UP)
#macro INPUT_LOOK_DOWN input_check(InputVerbs.LOOK_DOWN)
#macro INPUT_LOOK_LEFT input_check(InputVerbs.LOOK_LEFT)
#macro INPUT_LOOK_RIGHT input_check(InputVerbs.LOOK_RIGHT)
#macro INPUT_PAD_UP input_check(InputVerbs.PAD_UP)
#macro INPUT_PAD_DOWN input_check(InputVerbs.PAD_DOWN)
#macro INPUT_PAD_LEFT input_check(InputVerbs.PAD_LEFT)
#macro INPUT_PAD_RIGHT input_check(InputVerbs.PAD_RIGHT)
#macro INPUT_A input_check(InputVerbs.A)
#macro INPUT_B input_check(InputVerbs.B)
#macro INPUT_X input_check(InputVerbs.X)
#macro INPUT_Y input_check(InputVerbs.Y)
#macro INPUT_PAUSE input_check(InputVerbs.PAUSE)
#macro INPUT_UNPAUSE input_check(InputVerbs.UNPAUSE)
#macro INPUT_RUN input_check(InputVerbs.RUN)
#macro INPUT_FRIEND_ATTACK input_check(InputVerbs.FRIEND_ATTACK)
#macro INPUT_FRIEND_DEFEND input_check(InputVerbs.FRIEND_DEFEND)
#macro INPUT_PRESS_UP input_check_press(InputVerbs.UP)
#macro INPUT_PRESS_DOWN input_check_press(InputVerbs.DOWN)
#macro INPUT_PRESS_LEFT input_check_press(InputVerbs.LEFT)
#macro INPUT_PRESS_RIGHT input_check_press(InputVerbs.RIGHT)
#macro INPUT_PRESS_LOOK_UP input_check_press(InputVerbs.LOOK_UP)
#macro INPUT_PRESS_LOOK_DOWN input_check_press(InputVerbs.LOOK_DOWN)
#macro INPUT_PRESS_LOOK_LEFT input_check_press(InputVerbs.LOOK_LEFT)
#macro INPUT_PRESS_LOOK_RIGHT input_check_press(InputVerbs.LOOK_RIGHT)
#macro INPUT_PRESS_PAD_UP input_check_press(InputVerbs.PAD_UP)
#macro INPUT_PRESS_PAD_DOWN input_check_press(InputVerbs.PAD_DOWN)
#macro INPUT_PRESS_PAD_LEFT input_check_press(InputVerbs.PAD_LEFT)
#macro INPUT_PRESS_PAD_RIGHT input_check_press(InputVerbs.PAD_RIGHT)
#macro INPUT_PRESS_A input_check_press(InputVerbs.A)
#macro INPUT_PRESS_B input_check_press(InputVerbs.B)
#macro INPUT_PRESS_X input_check_press(InputVerbs.X)
#macro INPUT_PRESS_Y input_check_press(InputVerbs.Y)
#macro INPUT_PRESS_PAUSE input_check_press(InputVerbs.PAUSE)
#macro INPUT_PRESS_UNPAUSE input_check_press(InputVerbs.UNPAUSE)
#macro INPUT_PRESS_RUN input_check_press(InputVerbs.RUN)
#macro INPUT_PRESS_FRIEND_ATTACK input_check_press(InputVerbs.FRIEND_ATTACK)
#macro INPUT_PRESS_FRIEND_DEFEND input_check_press(InputVerbs.FRIEND_DEFEND)
#macro INPUT_RELEASE_UP input_check_release(InputVerbs.UP)
#macro INPUT_RELEASE_DOWN input_check_release(InputVerbs.DOWN)
#macro INPUT_RELEASE_LEFT input_check_release(InputVerbs.LEFT)
#macro INPUT_RELEASE_RIGHT input_check_release(InputVerbs.RIGHT)
#macro INPUT_RELEASE_LOOK_UP input_check_release(InputVerbs.LOOK_UP)
#macro INPUT_RELEASE_LOOK_DOWN input_check_release(InputVerbs.LOOK_DOWN)
#macro INPUT_RELEASE_LOOK_LEFT input_check_release(InputVerbs.LOOK_LEFT)
#macro INPUT_RELEASE_LOOK_RIGHT input_check_release(InputVerbs.LOOK_RIGHT)
#macro INPUT_RELEASE_PAD_UP input_check_release(InputVerbs.PAD_UP)
#macro INPUT_RELEASE_PAD_DOWN input_check_release(InputVerbs.PAD_DOWN)
#macro INPUT_RELEASE_PAD_LEFT input_check_release(InputVerbs.PAD_LEFT)
#macro INPUT_RELEASE_PAD_RIGHT input_check_release(InputVerbs.PAD_RIGHT)
#macro INPUT_RELEASE_A input_check_release(InputVerbs.A)
#macro INPUT_RELEASE_B input_check_release(InputVerbs.B)
#macro INPUT_RELEASE_X input_check_release(InputVerbs.X)
#macro INPUT_RELEASE_Y input_check_release(InputVerbs.Y)
#macro INPUT_RELEASE_PAUSE input_check_release(InputVerbs.PAUSE)
#macro INPUT_RELEASE_UNPAUSE input_check_release(InputVerbs.UNPAUSE)
#macro INPUT_RELEASE_RUN input_check_release(InputVerbs.RUN)
#macro INPUT_RELEASE_FRIEND_ATTACK input_check_release(InputVerbs.FRIEND_ATTACK)
#macro INPUT_RELEASE_FRIEND_DEFEND input_check_release(InputVerbs.FRIEND_DEFEND)
#macro INPUT_MENU_UP (INPUT_UP || INPUT_PAD_UP)
#macro INPUT_MENU_DOWN (INPUT_DOWN || INPUT_PAD_DOWN)
#macro INPUT_MENU_LEFT (INPUT_LEFT || INPUT_PAD_LEFT)
#macro INPUT_MENU_RIGHT (INPUT_A || INPUT_RIGHT || INPUT_PAD_RIGHT)
#macro INPUT_MENU_PRESS_UP (INPUT_PRESS_UP || INPUT_PRESS_PAD_UP)
#macro INPUT_MENU_PRESS_DOWN (INPUT_PRESS_DOWN || INPUT_PRESS_PAD_DOWN)
#macro INPUT_MENU_PRESS_LEFT (INPUT_PRESS_LEFT || INPUT_PRESS_PAD_LEFT)
#macro INPUT_MENU_PRESS_RIGHT (INPUT_PRESS_A || INPUT_PRESS_RIGHT || INPUT_PRESS_PAD_RIGHT)
#macro INPUT_MENU_RELEASE_UP (INPUT_RELEASE_UP || INPUT_RELEASE_PAD_UP)
#macro INPUT_MENU_RELEASE_DOWN (INPUT_RELEASE_DOWN || INPUT_RELEASE_PAD_DOWN)
#macro INPUT_MENU_RELEASE_LEFT (INPUT_RELEASE_LEFT || INPUT_RELEASE_PAD_LEFT)
#macro INPUT_MENU_RELEASE_RIGHT (INPUT_RELEASE_A || INPUT_RELEASE_RIGHT || INPUT_RELEASE_PAD_RIGHT)
#macro INPUT_MENU_TOGGLE (INPUT_A || INPUT_MENU_RIGHT || INPUT_MENU_LEFT)
#macro INPUT_MENU_PRESS_TOGGLE (INPUT_PRESS_A || INPUT_MENU_PRESS_RIGHT || INPUT_MENU_PRESS_LEFT)
#macro INPUT_MENU_RELEASE_TOGGLE (INPUT_RELEASE_A || INPUT_MENU_RELEASE_RIGHT || INPUT_MENU_RELEASE_LEFT)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment