@@ -8,7 +8,7 @@ void INI_ConfigLoadGuid(INI_ConfigItem*, const char*); | |||||
INI_ConfigSaveItemResult INI_ConfigSaveGuid(INI_ConfigItem*, const char*); | INI_ConfigSaveItemResult INI_ConfigSaveGuid(INI_ConfigItem*, const char*); | ||||
void INI_ConfigOverrideGuid(INI_ConfigItem*, uint8_t, const char*[]); | void INI_ConfigOverrideGuid(INI_ConfigItem*, uint8_t, const char*[]); | ||||
#define INI_CONFIG_TYPE_FNS_GUID (INI_ConfigTypeFns) { \ | |||||
#define INI_CONFIG_TYPE_GUID (INI_ConfigType) { \ | |||||
.size = sizeof(SDL_GUID), \ | .size = sizeof(SDL_GUID), \ | ||||
.load = INI_ConfigLoadGuid, \ | .load = INI_ConfigLoadGuid, \ | ||||
.save = INI_ConfigSaveGuid, \ | .save = INI_ConfigSaveGuid, \ | ||||
@@ -204,32 +204,35 @@ void IZ_JoystickInitializeConfigItems(INI_ConfigItem config_items[]) { | |||||
sprintf(main_section_name, "Joystick.%d", player_index); | sprintf(main_section_name, "Joystick.%d", player_index); | ||||
u8 base_index = (player_index * (IZ_CONTROLS - 4 + 2)); | u8 base_index = (player_index * (IZ_CONTROLS - 4 + 2)); | ||||
config_items[base_index] = (INI_ConfigItem) { | config_items[base_index] = (INI_ConfigItem) { | ||||
INI_CONFIG_TYPE_FNS_I32, | |||||
INI_CONFIG_TYPE_I32, | |||||
main_section_name, | main_section_name, | ||||
"DeviceID", | "DeviceID", | ||||
NULL, | NULL, | ||||
&IZ_JOYSTICK_DEFAULT_STATE[player_index].config.device_id, | &IZ_JOYSTICK_DEFAULT_STATE[player_index].config.device_id, | ||||
NULL, | NULL, | ||||
INI_CONFIG_TRANSFORMER_NONE, | |||||
NULL, | NULL, | ||||
}; | }; | ||||
config_items[base_index + 1] = (INI_ConfigItem) { | config_items[base_index + 1] = (INI_ConfigItem) { | ||||
INI_CONFIG_TYPE_FNS_U16, | |||||
INI_CONFIG_TYPE_U16, | |||||
main_section_name, | main_section_name, | ||||
"AxisThreshold", | "AxisThreshold", | ||||
NULL, | NULL, | ||||
&IZ_JOYSTICK_DEFAULT_STATE[player_index].config.axis_threshold, | &IZ_JOYSTICK_DEFAULT_STATE[player_index].config.axis_threshold, | ||||
IZ_JoystickIsValidAxisThreshold, | IZ_JoystickIsValidAxisThreshold, | ||||
INI_CONFIG_TRANSFORMER_NONE, | |||||
NULL, | NULL, | ||||
}; | }; | ||||
config_items[base_index + 2] = (INI_ConfigItem) { | config_items[base_index + 2] = (INI_ConfigItem) { | ||||
INI_CONFIG_TYPE_FNS_GUID, | |||||
INI_CONFIG_TYPE_GUID, | |||||
main_section_name, | main_section_name, | ||||
"GUID", | "GUID", | ||||
NULL, | NULL, | ||||
&IZ_JOYSTICK_DEFAULT_STATE[player_index].config.guid, | &IZ_JOYSTICK_DEFAULT_STATE[player_index].config.guid, | ||||
NULL, | NULL, | ||||
INI_CONFIG_TRANSFORMER_NONE, | |||||
NULL, | NULL, | ||||
}; | }; | ||||
@@ -239,12 +242,13 @@ void IZ_JoystickInitializeConfigItems(INI_ConfigItem config_items[]) { | |||||
sprintf(control_mapping_section_name, "Joystick.%d.ControlMapping", player_index); | sprintf(control_mapping_section_name, "Joystick.%d.ControlMapping", player_index); | ||||
for (control_index = 4; control_index < IZ_CONTROLS; control_index += 1) { | for (control_index = 4; control_index < IZ_CONTROLS; control_index += 1) { | ||||
config_items[base_index + 3 + (control_index - 4)] = (INI_ConfigItem) { | config_items[base_index + 3 + (control_index - 4)] = (INI_ConfigItem) { | ||||
INI_CONFIG_TYPE_FNS_U8, | |||||
INI_CONFIG_TYPE_U8, | |||||
control_mapping_section_name, | control_mapping_section_name, | ||||
IZ_ACTION_NAMES[control_index], | IZ_ACTION_NAMES[control_index], | ||||
NULL, | NULL, | ||||
&IZ_JOYSTICK_DEFAULT_STATE[player_index].config.control_mapping[control_index], | &IZ_JOYSTICK_DEFAULT_STATE[player_index].config.control_mapping[control_index], | ||||
NULL, | NULL, | ||||
INI_CONFIG_TRANSFORMER_NONE, | |||||
NULL, | NULL, | ||||
}; | }; | ||||
} | } | ||||
@@ -58,7 +58,7 @@ void IZ_KeyboardInitializeConfigItems(INI_ConfigItem config_items[]) { | |||||
sprintf(control_mapping_section_name, "Keyboard.%d.ControlMapping", player_index); | sprintf(control_mapping_section_name, "Keyboard.%d.ControlMapping", player_index); | ||||
for (control_index = 0; control_index < IZ_CONTROLS; control_index += 1) { | for (control_index = 0; control_index < IZ_CONTROLS; control_index += 1) { | ||||
config_items[player_index * IZ_CONTROLS + control_index] = (INI_ConfigItem) { | config_items[player_index * IZ_CONTROLS + control_index] = (INI_ConfigItem) { | ||||
INI_CONFIG_TYPE_FNS_I32, | |||||
INI_CONFIG_TYPE_I32, | |||||
control_mapping_section_name, | control_mapping_section_name, | ||||
IZ_ACTION_NAMES[control_index], | IZ_ACTION_NAMES[control_index], | ||||
NULL, | NULL, | ||||
@@ -81,30 +81,24 @@ void IZ_MIDIInputInitializeConfigItems(INI_ConfigItem config_items[]) { | |||||
u16 base_index = (player_index * (IZ_CONTROLS + 2)); | u16 base_index = (player_index * (IZ_CONTROLS + 2)); | ||||
config_items[base_index] = (INI_ConfigItem) { | config_items[base_index] = (INI_ConfigItem) { | ||||
INI_CONFIG_TYPE_FNS_I32, | |||||
INI_CONFIG_TYPE_I32, | |||||
main_section_name, | main_section_name, | ||||
"DeviceID", | "DeviceID", | ||||
NULL, | NULL, | ||||
&IZ_MIDI_INPUT_DEFAULT_STATE[player_index].config.device_id, | &IZ_MIDI_INPUT_DEFAULT_STATE[player_index].config.device_id, | ||||
NULL, | NULL, | ||||
{ | |||||
.serialize = NULL, | |||||
.deserialize = NULL, | |||||
}, | |||||
INI_CONFIG_TRANSFORMER_NONE, | |||||
NULL, | NULL, | ||||
}; | }; | ||||
config_items[base_index + 1] = (INI_ConfigItem) { | config_items[base_index + 1] = (INI_ConfigItem) { | ||||
INI_CONFIG_TYPE_FNS_U8, | |||||
INI_CONFIG_TYPE_U8, | |||||
main_section_name, | main_section_name, | ||||
"Channel", | "Channel", | ||||
NULL, | NULL, | ||||
&IZ_MIDI_INPUT_DEFAULT_STATE[player_index].config.channel, | &IZ_MIDI_INPUT_DEFAULT_STATE[player_index].config.channel, | ||||
IZ_MIDIInputIsValidChannel, | IZ_MIDIInputIsValidChannel, | ||||
{ | |||||
.serialize = NULL, | |||||
.deserialize = NULL, | |||||
}, | |||||
INI_CONFIG_TRANSFORMER_NONE, | |||||
NULL, | NULL, | ||||
}; | }; | ||||
@@ -112,7 +106,7 @@ void IZ_MIDIInputInitializeConfigItems(INI_ConfigItem config_items[]) { | |||||
sprintf(control_mapping_section_name, "MIDIInput.%d.ControlMapping", player_index); | sprintf(control_mapping_section_name, "MIDIInput.%d.ControlMapping", player_index); | ||||
for (control_index = 0; control_index < IZ_CONTROLS; control_index += 1) { | for (control_index = 0; control_index < IZ_CONTROLS; control_index += 1) { | ||||
config_items[base_index + 2 + control_index] = (INI_ConfigItem) { | config_items[base_index + 2 + control_index] = (INI_ConfigItem) { | ||||
INI_CONFIG_TYPE_FNS_U8, | |||||
INI_CONFIG_TYPE_U8, | |||||
control_mapping_section_name, | control_mapping_section_name, | ||||
IZ_ACTION_NAMES[control_index], | IZ_ACTION_NAMES[control_index], | ||||
NULL, | NULL, | ||||
@@ -16,28 +16,34 @@ bool IZ_VideoIsValidMaxFPS(u8 max_fps) { | |||||
static INI_ConfigItem video_config_items[] = { | static INI_ConfigItem video_config_items[] = { | ||||
{ | { | ||||
INI_CONFIG_TYPE_FNS_U16, | |||||
INI_CONFIG_TYPE_U16, | |||||
"Video", | "Video", | ||||
"Width", | "Width", | ||||
NULL, | NULL, | ||||
&IZ_VIDEO_DEFAULT_STATE.config.width, | &IZ_VIDEO_DEFAULT_STATE.config.width, | ||||
IZ_VideoIsValidWidth, | IZ_VideoIsValidWidth, | ||||
INI_CONFIG_TRANSFORMER_NONE, | |||||
NULL, | |||||
}, | }, | ||||
{ | { | ||||
INI_CONFIG_TYPE_FNS_U16, | |||||
INI_CONFIG_TYPE_U16, | |||||
"Video", | "Video", | ||||
"Height", | "Height", | ||||
NULL, | NULL, | ||||
&IZ_VIDEO_DEFAULT_STATE.config.height, | &IZ_VIDEO_DEFAULT_STATE.config.height, | ||||
IZ_VideoIsValidHeight, | IZ_VideoIsValidHeight, | ||||
INI_CONFIG_TRANSFORMER_NONE, | |||||
NULL, | |||||
}, | }, | ||||
{ | { | ||||
INI_CONFIG_TYPE_FNS_U8, | |||||
INI_CONFIG_TYPE_U8, | |||||
"Video", | "Video", | ||||
"MaxFps", | "MaxFps", | ||||
"-f", | "-f", | ||||
&IZ_VIDEO_DEFAULT_STATE.config.max_fps, | &IZ_VIDEO_DEFAULT_STATE.config.max_fps, | ||||
IZ_VideoIsValidMaxFPS, | IZ_VideoIsValidMaxFPS, | ||||
INI_CONFIG_TRANSFORMER_NONE, | |||||
NULL, | |||||
}, | }, | ||||
INI_CONFIG_ITEM_NULL, | INI_CONFIG_ITEM_NULL, | ||||
}; | }; | ||||
@@ -16,31 +16,34 @@ static INI_ConfigItem net_client_config_items[IZ_PLAYERS + 3 + 1]; | |||||
void IZ_NetClientInitializeConfigItems(INI_ConfigItem config_items[]) { | void IZ_NetClientInitializeConfigItems(INI_ConfigItem config_items[]) { | ||||
config_items[0] = (INI_ConfigItem) { | config_items[0] = (INI_ConfigItem) { | ||||
INI_CONFIG_TYPE_FNS_U16, | |||||
"Network", | |||||
"PacketIntervalMs", | |||||
"-i", | |||||
&IZ_NET_CLIENT_DEFAULT_STATE.config.packet_interval_ms, | |||||
IZ_NetClientIsValidPacketIntervalMs, | |||||
NULL, | |||||
INI_CONFIG_TYPE_U16, | |||||
"Network", | |||||
"PacketIntervalMs", | |||||
"-i", | |||||
&IZ_NET_CLIENT_DEFAULT_STATE.config.packet_interval_ms, | |||||
IZ_NetClientIsValidPacketIntervalMs, | |||||
INI_CONFIG_TRANSFORMER_NONE, | |||||
NULL, | |||||
}; | }; | ||||
config_items[1] = (INI_ConfigItem) { | config_items[1] = (INI_ConfigItem) { | ||||
INI_CONFIG_TYPE_FNS_U8, | |||||
"Network", | |||||
"MaxReconnectRetries", | |||||
NULL, | |||||
&IZ_NET_CLIENT_DEFAULT_STATE.config.max_reconnect_retries, | |||||
IZ_NetClientIsValidMaxReconnectRetries, | |||||
NULL, | |||||
INI_CONFIG_TYPE_U8, | |||||
"Network", | |||||
"MaxReconnectRetries", | |||||
NULL, | |||||
&IZ_NET_CLIENT_DEFAULT_STATE.config.max_reconnect_retries, | |||||
IZ_NetClientIsValidMaxReconnectRetries, | |||||
INI_CONFIG_TRANSFORMER_NONE, | |||||
NULL, | |||||
}; | }; | ||||
config_items[2] = (INI_ConfigItem) { | config_items[2] = (INI_ConfigItem) { | ||||
INI_CONFIG_TYPE_FNS_U8, | |||||
"Network", | |||||
"ReconnectIntervalSeconds", | |||||
NULL, | |||||
&IZ_NET_CLIENT_DEFAULT_STATE.config.reconnect_interval_secs, | |||||
IZ_NetClientIsValidReconnectIntervalSeconds, | |||||
NULL, | |||||
INI_CONFIG_TYPE_U8, | |||||
"Network", | |||||
"ReconnectIntervalSeconds", | |||||
NULL, | |||||
&IZ_NET_CLIENT_DEFAULT_STATE.config.reconnect_interval_secs, | |||||
IZ_NetClientIsValidReconnectIntervalSeconds, | |||||
INI_CONFIG_TRANSFORMER_NONE, | |||||
NULL, | |||||
}; | }; | ||||
u8 player_index; | u8 player_index; | ||||
@@ -55,6 +58,7 @@ void IZ_NetClientInitializeConfigItems(INI_ConfigItem config_items[]) { | |||||
NULL, | NULL, | ||||
&IZ_NET_CLIENT_DEFAULT_STATE.config.usernames[player_index], | &IZ_NET_CLIENT_DEFAULT_STATE.config.usernames[player_index], | ||||
NULL, | NULL, | ||||
INI_CONFIG_TRANSFORMER_NONE, | |||||
NULL, | NULL, | ||||
}; | }; | ||||
} | } | ||||
@@ -12,10 +12,7 @@ static INI_ConfigItem net_server_config_items[] = { | |||||
"-n", | "-n", | ||||
&IZ_NET_SERVER_DEFAULT_STATE.config.name, | &IZ_NET_SERVER_DEFAULT_STATE.config.name, | ||||
NULL, | NULL, | ||||
{ | |||||
.serialize = NULL, | |||||
.deserialize = NULL, | |||||
}, | |||||
INI_CONFIG_TRANSFORMER_NONE, | |||||
NULL, | NULL, | ||||
}, | }, | ||||
{ | { | ||||
@@ -25,23 +22,17 @@ static INI_ConfigItem net_server_config_items[] = { | |||||
"-m", | "-m", | ||||
&IZ_NET_SERVER_DEFAULT_STATE.config.motd, | &IZ_NET_SERVER_DEFAULT_STATE.config.motd, | ||||
NULL, | NULL, | ||||
{ | |||||
.serialize = NULL, | |||||
.deserialize = NULL, | |||||
}, | |||||
INI_CONFIG_TRANSFORMER_NONE, | |||||
NULL, | NULL, | ||||
}, | }, | ||||
{ | { | ||||
INI_CONFIG_TYPE_FNS_U16, | |||||
INI_CONFIG_TYPE_U16, | |||||
"Network", | "Network", | ||||
"Port", | "Port", | ||||
"-p", | "-p", | ||||
&IZ_NET_SERVER_DEFAULT_STATE.config.port, | &IZ_NET_SERVER_DEFAULT_STATE.config.port, | ||||
IZ_NetServerIsValidPort, | IZ_NetServerIsValidPort, | ||||
{ | |||||
.serialize = NULL, | |||||
.deserialize = NULL, | |||||
}, | |||||
INI_CONFIG_TRANSFORMER_NONE, | |||||
NULL, | NULL, | ||||
}, | }, | ||||
INI_CONFIG_ITEM_NULL, | INI_CONFIG_ITEM_NULL, | ||||
@@ -8,10 +8,7 @@ static INI_ConfigItem repo_config_items[] = { | |||||
"-d", | "-d", | ||||
&IZ_REPO_DEFAULT_STATE.config.path, | &IZ_REPO_DEFAULT_STATE.config.path, | ||||
NULL, | NULL, | ||||
{ | |||||
.serialize = NULL, | |||||
.deserialize = NULL, | |||||
}, | |||||
INI_CONFIG_TRANSFORMER_NONE, | |||||
NULL, | NULL, | ||||
}, | }, | ||||
INI_CONFIG_ITEM_NULL, | INI_CONFIG_ITEM_NULL, | ||||
@@ -1 +1 @@ | |||||
Subproject commit 6dbbef47a430649aec60a327512379b8dc0719a3 | |||||
Subproject commit 482c2faf41a8dd2c2a65acf0c41649d310dba3c8 |