mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2025-12-09 17:42:55 +00:00
44 lines
1.9 KiB
C
44 lines
1.9 KiB
C
#include "djui.h"
|
|
#include "src/pc/utils/misc.h"
|
|
#include "src/pc/configfile.h"
|
|
#include "src/pc/controller/controller_api.h"
|
|
#include "src/pc/controller/controller_sdl.h"
|
|
|
|
void djui_panel_controls_value_change(UNUSED struct DjuiBase* caller) {
|
|
controller_reconfigure();
|
|
}
|
|
|
|
void djui_panel_controls_create(struct DjuiBase* caller) {
|
|
struct DjuiThreePanel* panel = djui_panel_menu_create("\\#ff0800\\C\\#1be700\\O\\#00b3ff\\N\\#ffef00\\T\\#ff0800\\R\\#1be700\\O\\#00b3ff\\L\\#ffef00\\S");
|
|
struct DjuiFlowLayout* body = (struct DjuiFlowLayout*)djui_three_panel_get_body(panel);
|
|
{
|
|
djui_button_create(&body->base, "N64 Binds", DJUI_BUTTON_STYLE_NORMAL, djui_panel_controls_n64_create);
|
|
djui_button_create(&body->base, "Extra Binds", DJUI_BUTTON_STYLE_NORMAL, djui_panel_controls_extra_create);
|
|
djui_checkbox_create(&body->base, "Background Gamepad (must restart)", &configBackgroundGamepad, NULL);
|
|
|
|
#ifdef HAVE_SDL2
|
|
int numJoys = SDL_NumJoysticks();
|
|
if (numJoys == 0) { numJoys = 1; }
|
|
if (numJoys > 10) { numJoys = 10; }
|
|
int strSize = numJoys * 2;
|
|
char* gamepadChoices[numJoys];
|
|
char gamepadChoicesLong[strSize];
|
|
for (int i = 0; i < numJoys; i++) {
|
|
int index = i * 2;
|
|
if (i > 9) {
|
|
index += (i - 9);
|
|
}
|
|
sprintf(&gamepadChoicesLong[index], "%d", i);
|
|
gamepadChoices[i] = &gamepadChoicesLong[index];
|
|
}
|
|
djui_selectionbox_create(&body->base, "Gamepad", gamepadChoices, numJoys, &configGamepadNumber, NULL);
|
|
#endif
|
|
|
|
djui_slider_create(&body->base, "Deadzone", &configStickDeadzone, 0, 100, djui_panel_controls_value_change);
|
|
djui_slider_create(&body->base, "Rumble Strength", &configRumbleStrength, 0, 100, djui_panel_controls_value_change);
|
|
|
|
djui_button_create(&body->base, "Back", DJUI_BUTTON_STYLE_BACK, djui_panel_menu_back);
|
|
}
|
|
|
|
djui_panel_add(caller, panel, NULL);
|
|
}
|