Skip to content

Commit b399813

Browse files
authored
Merge pull request #36 from dmadison/debug-print
Add L3 and R3 to printDebug
2 parents 23d57f9 + d5c51c3 commit b399813

File tree

1 file changed

+44
-25
lines changed

1 file changed

+44
-25
lines changed

src/XInput.cpp

Lines changed: 44 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -559,12 +559,39 @@ void XInputController::reset() {
559559
autoSendOption = true;
560560
}
561561

562+
static void fillBuffer(char* buff, const char fill) {
563+
uint8_t i = 0;
564+
while (true) {
565+
if (buff[i] == 0) break;
566+
buff[i] = fill;
567+
i++;
568+
}
569+
}
570+
562571
void XInputController::printDebug(Print &output) const {
563572
const char fillCharacter = '_';
573+
char buffer[34];
574+
575+
output.print("XInput Debug: ");
576+
577+
// Left Side Controls
578+
char leftBumper[3] = "LB";
579+
char leftJoyBtn[3] = "L3";
564580

565-
char buffer[80];
581+
if (!getButton(BUTTON_LB)) fillBuffer(leftBumper, fillCharacter);
582+
if (!getButton(BUTTON_L3)) fillBuffer(leftJoyBtn, fillCharacter);
583+
584+
sprintf(buffer,
585+
"LT: %3u %s L:(%6d, %6d, %s)",
566586

567-
// Buttons
587+
getTrigger(TRIGGER_LEFT),
588+
leftBumper,
589+
getJoystickX(JOY_LEFT), getJoystickY(JOY_LEFT),
590+
leftJoyBtn
591+
);
592+
output.print(buffer);
593+
594+
// Face Buttons
568595
const char dpadLPrint = getButton(DPAD_LEFT) ? '<' : fillCharacter;
569596
const char dpadUPrint = getButton(DPAD_UP) ? '^' : fillCharacter;
570597
const char dpadDPrint = getButton(DPAD_DOWN) ? 'v' : fillCharacter;
@@ -580,35 +607,27 @@ void XInputController::printDebug(Print &output) const {
580607

581608
const char logoPrint = getButton(BUTTON_LOGO) ? 'X' : fillCharacter;
582609

583-
// Bumpers
584-
char leftBumper[3] = "LB";
585-
char rightBumper[3] = "RB";
586-
587-
if (!getButton(BUTTON_LB)) {
588-
leftBumper[0] = fillCharacter;
589-
leftBumper[1] = fillCharacter;
590-
}
591-
if (!getButton(BUTTON_RB)) {
592-
rightBumper[0] = fillCharacter;
593-
rightBumper[1] = fillCharacter;
594-
}
595-
596-
output.print("XInput Debug: ");
597610
sprintf(buffer,
598-
"LT: %3u %s L:(%6d, %6d) %c%c%c%c | %c%c%c | %c%c%c%c R:(%6d, %6d) %s RT: %3u",
599-
600-
// Left side controls
601-
getTrigger(TRIGGER_LEFT),
602-
leftBumper,
603-
getJoystickX(JOY_LEFT), getJoystickY(JOY_LEFT),
611+
" %c%c%c%c | %c%c%c | %c%c%c%c ",
604612

605-
// Buttons
606613
dpadLPrint, dpadUPrint, dpadDPrint, dpadRPrint,
607614
backPrint, logoPrint, startPrint,
608-
aButtonPrint, bButtonPrint, xButtonPrint, yButtonPrint,
615+
aButtonPrint, bButtonPrint, xButtonPrint, yButtonPrint
616+
);
617+
output.print(buffer);
618+
619+
// Right Side Controls
620+
char rightBumper[3] = "RB";
621+
char rightJoyBtn[3] = "R3";
609622

610-
// Right side controls
623+
if (!getButton(BUTTON_RB)) fillBuffer(rightBumper, fillCharacter);
624+
if (!getButton(BUTTON_R3)) fillBuffer(rightJoyBtn, fillCharacter);
625+
626+
sprintf(buffer,
627+
"R:(%6d, %6d, %s) %s RT: %3u",
628+
611629
getJoystickX(JOY_RIGHT), getJoystickY(JOY_RIGHT),
630+
rightJoyBtn,
612631
rightBumper,
613632
getTrigger(TRIGGER_RIGHT)
614633
);

0 commit comments

Comments
 (0)