Corrections

This commit is contained in:
Jasmine Iwanek
2025-01-11 03:39:15 -05:00
parent 3b092bcdb2
commit 8cb220d84b
3 changed files with 17 additions and 18 deletions

View File

@@ -541,7 +541,7 @@ load_input_devices(void)
for (int pov_nr = 0; pov_nr < joystick_get_pov_count(joystick_type); pov_nr++) { for (int pov_nr = 0; pov_nr < joystick_get_pov_count(joystick_type); pov_nr++) {
sprintf(temp, "joystick_%i_pov_%i", js, pov_nr); sprintf(temp, "joystick_%i_pov_%i", js, pov_nr);
p = ini_section_get_string(cat, temp, "0, 0"); p = ini_section_get_string(cat, temp, "0, 0");
joystick_state[js].pov_mapping[js][pov_nr] = joystick_state[js].pov_mapping[pov_nr][1] = 0; joystick_state[js].pov_mapping[pov_nr][0] = joystick_state[js].pov_mapping[pov_nr][1] = 0;
sscanf(p, "%i, %i", &joystick_state[js].pov_mapping[pov_nr][0], sscanf(p, "%i, %i", &joystick_state[js].pov_mapping[pov_nr][0],
&joystick_state[js].pov_mapping[pov_nr][1]); &joystick_state[js].pov_mapping[pov_nr][1]);
} }
@@ -2145,15 +2145,15 @@ save_input_devices(void)
sprintf(tmp2, "joystick_%i_nr", js); sprintf(tmp2, "joystick_%i_nr", js);
ini_section_delete_var(cat, tmp2); ini_section_delete_var(cat, tmp2);
for (int axis_nr = 0; axis_nr < 16; axis_nr++) { for (int axis_nr = 0; axis_nr < MAX_JOY_AXES; axis_nr++) {
sprintf(tmp2, "joystick_%i_axis_%i", js, axis_nr); sprintf(tmp2, "joystick_%i_axis_%i", js, axis_nr);
ini_section_delete_var(cat, tmp2); ini_section_delete_var(cat, tmp2);
} }
for (int button_nr = 0; button_nr < 16; button_nr++) { for (int button_nr = 0; button_nr < MAX_JOY_BUTTONS; button_nr++) {
sprintf(tmp2, "joystick_%i_button_%i", js, button_nr); sprintf(tmp2, "joystick_%i_button_%i", js, button_nr);
ini_section_delete_var(cat, tmp2); ini_section_delete_var(cat, tmp2);
} }
for (int pov_nr = 0; pov_nr < 16; pov_nr++) { for (int pov_nr = 0; pov_nr < MAX_JOY_POVS; pov_nr++) {
sprintf(tmp2, "joystick_%i_pov_%i", js, pov_nr); sprintf(tmp2, "joystick_%i_pov_%i", js, pov_nr);
ini_section_delete_var(cat, tmp2); ini_section_delete_var(cat, tmp2);
} }

View File

@@ -67,9 +67,9 @@ joystick_init(void)
snprintf(plat_joystick_state[js].axis[axis_nr].name, sizeof(plat_joystick_state[js].axis[axis_nr].name), "Axis %i", axis_nr); snprintf(plat_joystick_state[js].axis[axis_nr].name, sizeof(plat_joystick_state[js].axis[axis_nr].name), "Axis %i", axis_nr);
plat_joystick_state[js].axis[axis_nr].id = axis_nr; plat_joystick_state[js].axis[axis_nr].id = axis_nr;
} }
for (int buttons_nr = 0; buttons_nr < plat_joystick_state[js].nr_buttons; buttons_nr++) { for (int button_nr = 0; button_nr < plat_joystick_state[js].nr_buttons; button_nr++) {
snprintf(plat_joystick_state[js].button[buttons_nr].name, sizeof(plat_joystick_state[js].button[buttons_nr].name), "Button %i", buttons_nr); snprintf(plat_joystick_state[js].button[button_nr].name, sizeof(plat_joystick_state[js].button[button_nr].name), "Button %i", button_nr);
plat_joystick_state[js].button[buttons_nr].id = buttons_nr; plat_joystick_state[js].button[button_nr].id = button_nr;
} }
for (int pov_nr = 0; pov_nr < plat_joystick_state[js].nr_povs; pov_nr++) { for (int pov_nr = 0; pov_nr < plat_joystick_state[js].nr_povs; pov_nr++) {
snprintf(plat_joystick_state[js].pov[pov_nr].name, sizeof(plat_joystick_state[js].pov[pov_nr].name), "POV %i", pov_nr); snprintf(plat_joystick_state[js].pov[pov_nr].name, sizeof(plat_joystick_state[js].pov[pov_nr].name), "POV %i", pov_nr);
@@ -143,7 +143,12 @@ joystick_process(void)
plat_joystick_state[js].p[pov_nr] = SDL_JoystickGetHat(sdl_joy[js], pov_nr); plat_joystick_state[js].p[pov_nr] = SDL_JoystickGetHat(sdl_joy[js], pov_nr);
#if 0 #if 0
pclog("joystick %i - x=%i y=%i b[0]=%i b[1]=%i %i\n", js, joystick_state[js].x, joystick_state[js].y, joystick_state[js].b[0], joystick_state[js].b[1], joysticks_present); pclog("joystick %i - x=%i y=%i b[0]=%i b[1]=%i %i\n", js,
joystick_state[js].x,
joystick_state[js].y,
joystick_state[js].b[0],
joystick_state[js].b[1],
joysticks_present);
#endif #endif
} }

View File

@@ -522,16 +522,10 @@ joystick_process(void)
joystick_state[js].button[button_nr] = plat_joystick_state[joystick_nr].b[joystick_state[js].button_mapping[button_nr]]; joystick_state[js].button[button_nr] = plat_joystick_state[joystick_nr].b[joystick_state[js].button_mapping[button_nr]];
for (int pov_nr = 0; pov_nr < joystick_get_pov_count(joystick_type); pov_nr++) { for (int pov_nr = 0; pov_nr < joystick_get_pov_count(joystick_type); pov_nr++) {
int x; int x = joystick_get_axis(joystick_nr, joystick_state[js].pov_mapping[pov_nr][0]);
int y; int y = joystick_get_axis(joystick_nr, joystick_state[js].pov_mapping[pov_nr][1]);
double angle; double angle = (atan2((double) y, (double) x) * 360.0) / (2 * M_PI);
double magnitude; double magnitude = sqrt((double) x * (double) x + (double) y * (double) y);
x = joystick_get_axis(joystick_nr, joystick_state[js].pov_mapping[pov_nr][0]);
y = joystick_get_axis(joystick_nr, joystick_state[js].pov_mapping[pov_nr][1]);
angle = (atan2((double) y, (double) x) * 360.0) / (2 * M_PI);
magnitude = sqrt((double) x * (double) x + (double) y * (double) y);
if (magnitude < 16384) if (magnitude < 16384)
joystick_state[js].pov[pov_nr] = -1; joystick_state[js].pov[pov_nr] = -1;