Assorted Joystick fixes
Implemented use of DirectInput sliders. They were previously lumped in with axis and then not read or used at all. Lots of use of joystick_type == 7 or joystick_type != 7 to detect if the joystick_type was none. Changed this to a define. The text to enumerate the types of joysticks was contained in a numbered LPARAM sheet. Switched to using the name listed in the joystick struct. Joysticks with more than 32 buttons would overflow the plat_joystick_state button array. Added overflow checks. Added a 4 axis 4 button joystick type that Win98 can pick up as a generic 4 axis 4 button controller.
This commit is contained in:
@@ -607,7 +607,7 @@ load_input_devices(void)
|
||||
else
|
||||
mouse_type = 0;
|
||||
|
||||
joystick_type = config_get_int(cat, "joystick_type", 7);
|
||||
joystick_type = config_get_int(cat, "joystick_type", JOYSTICK_TYPE_NONE);
|
||||
|
||||
for (c=0; c<joystick_get_max_joysticks(joystick_type); c++) {
|
||||
sprintf(temp, "joystick_%i_nr", c);
|
||||
@@ -1266,7 +1266,7 @@ config_load(void)
|
||||
gfxcard = video_get_video_from_internal_name("cga");
|
||||
vid_api = plat_vidapi("default");
|
||||
time_sync = TIME_SYNC_ENABLED;
|
||||
joystick_type = 7;
|
||||
joystick_type = JOYSTICK_TYPE_NONE;
|
||||
hdc_current = hdc_get_from_internal_name("none");
|
||||
serial_enabled[0] = 1;
|
||||
serial_enabled[1] = 1;
|
||||
@@ -1488,7 +1488,7 @@ save_input_devices(void)
|
||||
|
||||
config_set_string(cat, "mouse_type", mouse_get_internal_name(mouse_type));
|
||||
|
||||
if (joystick_type == 7) {
|
||||
if (joystick_type == JOYSTICK_TYPE_NONE) {
|
||||
config_delete_var(cat, "joystick_type");
|
||||
|
||||
for (c = 0; c < 16; c++) {
|
||||
|
||||
Reference in New Issue
Block a user