Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def __init__(self):
self.button = dict()
#Boolean buttons
self.button[enums.Button.BUTTON_A] = False
self.button[enums.Button.BUTTON_B] = False
self.button[enums.Button.BUTTON_X] = False
self.button[enums.Button.BUTTON_Y] = False
self.button[enums.Button.BUTTON_Z] = False
self.button[enums.Button.BUTTON_L] = False
self.button[enums.Button.BUTTON_R] = False
self.button[enums.Button.BUTTON_START] = False
self.button[enums.Button.BUTTON_D_UP] = False
self.button[enums.Button.BUTTON_D_DOWN] = False
self.button[enums.Button.BUTTON_D_LEFT] = False
self.button[enums.Button.BUTTON_D_RIGHT] = False
#Analog sticks
self.main_stick = (.5, .5)
self.c_stick = (.5, .5)
#Analog shoulders
self.l_shoulder = 0
self.r_shoulder = 0
def press_shoulder(self, button, amount):
if not self.pipe:
return
command = "SET " + str(button.value) + " " + str(amount) + "\n"
if self.logger:
self.logger.log("Buttons Pressed", command, concat=True)
if button == enums.Button.BUTTON_L:
self.current.l_shoulder = amount
elif button == enums.Button.BUTTON_R:
self.current.r_shoulder = amount
self.pipe.write(command)
command += "SET MAIN .5 .5" + "\n"
command += "SET C .5 .5" + "\n"
command += "SET L 0" + "\n"
command += "SET R 0" + "\n"
#Set the internal state back to neutral
self.current.button[enums.Button.BUTTON_A] = False
self.current.button[enums.Button.BUTTON_B] = False
self.current.button[enums.Button.BUTTON_X] = False
self.current.button[enums.Button.BUTTON_Y] = False
self.current.button[enums.Button.BUTTON_Z] = False
self.current.button[enums.Button.BUTTON_L] = False
self.current.button[enums.Button.BUTTON_R] = False
self.current.button[enums.Button.BUTTON_START] = False
self.current.button[enums.Button.BUTTON_D_UP] = False
self.current.button[enums.Button.BUTTON_D_DOWN] = False
self.current.button[enums.Button.BUTTON_D_LEFT] = False
self.current.button[enums.Button.BUTTON_D_RIGHT] = False
self.current.main_stick = (.5, .5)
self.current.c_stick = (.5, .5)
self.current.l_shoulder = 0
self.current.r_shoulder = 0
#Send the presses to dolphin
self.pipe.write(command)
if self.logger:
self.logger.log("Buttons Pressed", "Empty Input", concat=True)
command += "SET C .5 .5" + "\n"
command += "SET L 0" + "\n"
command += "SET R 0" + "\n"
#Set the internal state back to neutral
self.current.button[enums.Button.BUTTON_A] = False
self.current.button[enums.Button.BUTTON_B] = False
self.current.button[enums.Button.BUTTON_X] = False
self.current.button[enums.Button.BUTTON_Y] = False
self.current.button[enums.Button.BUTTON_Z] = False
self.current.button[enums.Button.BUTTON_L] = False
self.current.button[enums.Button.BUTTON_R] = False
self.current.button[enums.Button.BUTTON_START] = False
self.current.button[enums.Button.BUTTON_D_UP] = False
self.current.button[enums.Button.BUTTON_D_DOWN] = False
self.current.button[enums.Button.BUTTON_D_LEFT] = False
self.current.button[enums.Button.BUTTON_D_RIGHT] = False
self.current.main_stick = (.5, .5)
self.current.c_stick = (.5, .5)
self.current.l_shoulder = 0
self.current.r_shoulder = 0
#Send the presses to dolphin
self.pipe.write(command)
if self.logger:
self.logger.log("Buttons Pressed", "Empty Input", concat=True)
command += "RELEASE D_UP" + "\n"
command += "RELEASE D_DOWN" + "\n"
command += "RELEASE D_LEFT" + "\n"
command += "RELEASE D_RIGHT" + "\n"
command += "SET MAIN .5 .5" + "\n"
command += "SET C .5 .5" + "\n"
command += "SET L 0" + "\n"
command += "SET R 0" + "\n"
#Set the internal state back to neutral
self.current.button[enums.Button.BUTTON_A] = False
self.current.button[enums.Button.BUTTON_B] = False
self.current.button[enums.Button.BUTTON_X] = False
self.current.button[enums.Button.BUTTON_Y] = False
self.current.button[enums.Button.BUTTON_Z] = False
self.current.button[enums.Button.BUTTON_L] = False
self.current.button[enums.Button.BUTTON_R] = False
self.current.button[enums.Button.BUTTON_START] = False
self.current.button[enums.Button.BUTTON_D_UP] = False
self.current.button[enums.Button.BUTTON_D_DOWN] = False
self.current.button[enums.Button.BUTTON_D_LEFT] = False
self.current.button[enums.Button.BUTTON_D_RIGHT] = False
self.current.main_stick = (.5, .5)
self.current.c_stick = (.5, .5)
self.current.l_shoulder = 0
self.current.r_shoulder = 0
#Send the presses to dolphin
self.pipe.write(command)
if self.logger:
self.logger.log("Buttons Pressed", "Empty Input", concat=True)
def upsmashes(ai_state, controller):
if ai_state.action == enums.Action.STANDING:
controller.tilt_analog(enums.Button.BUTTON_C, .5, 1)
return
controller.empty_input()
command += "RELEASE R" + "\n"
command += "RELEASE START" + "\n"
command += "RELEASE D_UP" + "\n"
command += "RELEASE D_DOWN" + "\n"
command += "RELEASE D_LEFT" + "\n"
command += "RELEASE D_RIGHT" + "\n"
command += "SET MAIN .5 .5" + "\n"
command += "SET C .5 .5" + "\n"
command += "SET L 0" + "\n"
command += "SET R 0" + "\n"
#Set the internal state back to neutral
self.current.button[enums.Button.BUTTON_A] = False
self.current.button[enums.Button.BUTTON_B] = False
self.current.button[enums.Button.BUTTON_X] = False
self.current.button[enums.Button.BUTTON_Y] = False
self.current.button[enums.Button.BUTTON_Z] = False
self.current.button[enums.Button.BUTTON_L] = False
self.current.button[enums.Button.BUTTON_R] = False
self.current.button[enums.Button.BUTTON_START] = False
self.current.button[enums.Button.BUTTON_D_UP] = False
self.current.button[enums.Button.BUTTON_D_DOWN] = False
self.current.button[enums.Button.BUTTON_D_LEFT] = False
self.current.button[enums.Button.BUTTON_D_RIGHT] = False
self.current.main_stick = (.5, .5)
self.current.c_stick = (.5, .5)
self.current.l_shoulder = 0
self.current.r_shoulder = 0
#Send the presses to dolphin
self.pipe.write(command)
if self.logger:
self.logger.log("Buttons Pressed", "Empty Input", concat=True)
command += "RELEASE Z" + "\n"
command += "RELEASE L" + "\n"
command += "RELEASE R" + "\n"
command += "RELEASE START" + "\n"
command += "RELEASE D_UP" + "\n"
command += "RELEASE D_DOWN" + "\n"
command += "RELEASE D_LEFT" + "\n"
command += "RELEASE D_RIGHT" + "\n"
command += "SET MAIN .5 .5" + "\n"
command += "SET C .5 .5" + "\n"
command += "SET L 0" + "\n"
command += "SET R 0" + "\n"
#Set the internal state back to neutral
self.current.button[enums.Button.BUTTON_A] = False
self.current.button[enums.Button.BUTTON_B] = False
self.current.button[enums.Button.BUTTON_X] = False
self.current.button[enums.Button.BUTTON_Y] = False
self.current.button[enums.Button.BUTTON_Z] = False
self.current.button[enums.Button.BUTTON_L] = False
self.current.button[enums.Button.BUTTON_R] = False
self.current.button[enums.Button.BUTTON_START] = False
self.current.button[enums.Button.BUTTON_D_UP] = False
self.current.button[enums.Button.BUTTON_D_DOWN] = False
self.current.button[enums.Button.BUTTON_D_LEFT] = False
self.current.button[enums.Button.BUTTON_D_RIGHT] = False
self.current.main_stick = (.5, .5)
self.current.c_stick = (.5, .5)
self.current.l_shoulder = 0
self.current.r_shoulder = 0
#Send the presses to dolphin
self.pipe.write(command)
if self.logger: