void joystick_set_value_and(unsigned int joyport, BYTE value) { if (event_playback_active()) return; latch_joystick_value[joyport] &= value; latch_joystick_value[0] = (BYTE)joyport; joystick_process_latch(); }
void joystick_set_value_or(unsigned int joyport, BYTE value) { if (event_playback_active()) return; latch_joystick_value[joyport] |= value; latch_joystick_value[joyport] &= ~joystick_opposite_direction[value & 0xf]; latch_joystick_value[0] = (BYTE)joyport; joystick_process_latch(); }
void joystick_set_value_absolute(unsigned int joyport, BYTE value) { if (event_playback_active()) { return; } if (latch_joystick_value[joyport] != value) { latch_joystick_value[joyport] = value; latch_joystick_value[0] = (BYTE)joyport; joystick_process_latch(); } }