Path: blob/master/libsnes/bsnes/snes/controller/gamepad/gamepad.cpp
2 views
#ifdef CONTROLLER_CPP12uint2 Gamepad::data() {3if(counter >= 16) return 1;4uint2 result = interface()->inputPoll(port, Input::Device::Joypad, 0, counter);5if(latched == 0) counter++;6return result;7}89void Gamepad::latch(bool data) {10if(latched == data) return;11latched = data;12counter = 0;13}1415void Gamepad::serialize(serializer& s) {16Processor::serialize(s);17//Save block.18unsigned char block[Controller::SaveSize] = {0};19block[0] = latched ? 1 : 0;20block[1] = counter;21s.array(block, Controller::SaveSize);22if(s.mode() == nall::serializer::Load) {23latched = (block[0] != 0);24counter = block[1];25}26}2728Gamepad::Gamepad(bool port) : Controller(port) {29latched = 0;30counter = 0;31}3233#endif343536