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, SHOULDERL, // unused SHOULDERR, // unused 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("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.SHOULDERL); input_default_gamepad_button(gp_shoulderlb, InputVerbs.RUN); input_default_gamepad_button(gp_shoulderrb, InputVerbs.SHOULDERR2); input_default_gamepad_button(gp_shoulderr, InputVerbs.SHOULDERR); #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_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_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_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_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_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)