Example #1
0
static void print_game_configs(FILE *out, const game_driver *game, const input_port_config *portlist)
{
	const input_port_config *port;
	const input_field_config *field;

	/* iterate looking for configurations */
	for (port = portlist; port != NULL; port = port->next)
		for (field = port->fieldlist; field != NULL; field = field->next)
			if (field->type == IPT_CONFIG)
			{
				const input_setting_config *setting;

				/* output the configuration name information */
				fprintf(out, "\t\t<configuration name=\"%s\">\n", xml_normalize_string(input_field_name(field)));

				/* loop over settings */
				for (setting = field->settinglist; setting != NULL; setting = setting->next)
				{
					fprintf(out, "\t\t\t<confsetting name=\"%s\"", xml_normalize_string(setting->name));
					if (setting->value == field->defvalue)
						fprintf(out, " default=\"yes\"");
					fprintf(out, "/>\n");
				}

				/* terminate the configuration entry */
				fprintf(out, "\t\t</configuration>\n");
			}
}
Example #2
0
void info_xml_creator::output_switches(const ioport_list &portlist, int type, const char *outertag, const char *innertag)
{
	// iterate looking for DIP switches
	for (input_port_config *port = portlist.first(); port != NULL; port = port->next())
		for (input_field_config *field = port->fieldlist().first(); field != NULL; field = field->next())
			if (field->type == type)
			{
				// output the switch name information
				fprintf(m_output, "\t\t<%s name=\"%s\"", outertag, xml_normalize_string(input_field_name(field)));
				fprintf(m_output, " tag=\"%s\"", xml_normalize_string(field->port().tag()));
				fprintf(m_output, " mask=\"%u\"", field->mask);
				fprintf(m_output, ">\n");

				// loop over settings
				for (input_setting_config *setting = field->settinglist().first(); setting != NULL; setting = setting->next())
				{
					fprintf(m_output, "\t\t\t<%s name=\"%s\"", innertag, xml_normalize_string(setting->name));
					fprintf(m_output, " value=\"%u\"", setting->value);
					if (setting->value == field->defvalue)
						fprintf(m_output, " default=\"yes\"");
					fprintf(m_output, "/>\n");
				}

				// terminate the switch entry
				fprintf(m_output, "\t\t</%s>\n", outertag);
			}
}
Example #3
0
static const input_setting_config *find_switch(running_machine &machine, const char *switch_name,
	const char *switch_setting, int switch_type, int *found_field)
{
	int found = FALSE;
	const input_port_config *port;
	const input_field_config *field = NULL;
	const input_setting_config *setting = NULL;

	/* find switch with the name */
	found = FALSE;
	for (port = machine.m_portlist.first(); !found && (port != NULL); port = port->next())
	{
		for (field = port->fieldlist; !found && (field != NULL); field = field->next)
		{
			if (field->type == switch_type && input_field_name(field) && !mame_stricmp(input_field_name(field), switch_name))
				found = TRUE;
		}
	}

	/* did we find the field? */
	if (field != NULL)
	{
		/* we did find the field - now find the setting */
		for (setting = field->settinglist; setting != NULL; setting = setting->next)
		{
			if (setting->name != NULL && !mame_stricmp(setting->name, switch_setting))
				break;
		}
	}

	/* return whether the field was found at all, if we're asked that */
	if (found_field != NULL)
		*found_field = (field != NULL);

	return setting;
}
Example #4
0
void info_xml_creator::output_categories(const ioport_list &portlist)
{
	// iterate looking for Categories
	for (input_port_config *port = portlist.first(); port != NULL; port = port->next())
		for (input_field_config *field = port->fieldlist().first(); field != NULL; field = field->next())
			if (field->type == IPT_CATEGORY)
			{
				// output the category name information
				fprintf(m_output, "\t\t<category name=\"%s\">\n", xml_normalize_string(input_field_name(field)));

				// loop over item settings
				for (input_setting_config *setting = field->settinglist().first(); setting != NULL; setting = setting->next())
				{
					fprintf(m_output, "\t\t\t<item name=\"%s\"", xml_normalize_string(setting->name));
					if (setting->value == field->defvalue)
						fprintf(m_output, " default=\"yes\"");
					fprintf(m_output, "/>\n");
				}

				// terminate the category entry
				fprintf(m_output, "\t\t</category>\n");
			}
}
Example #5
0
static void print_game_adjusters(FILE *out, const game_driver *game, const input_port_config *portlist)
{
	const input_port_config *port;
	const input_field_config *field;

	/* iterate looking for Adjusters */
	for (port = portlist; port != NULL; port = port->next)
		for (field = port->fieldlist; field != NULL; field = field->next)
			if (field->type == IPT_ADJUSTER)
			{
				/* output the adjuster information */
				fprintf(out, "\t\t<adjuster name=\"%s\" default=\"%d\"/>\n", xml_normalize_string(input_field_name(field)), field->defvalue);
			}
}
Example #6
0
void info_xml_creator::output_adjusters(const ioport_list &portlist)
{
	// iterate looking for Adjusters
	for (input_port_config *port = portlist.first(); port != NULL; port = port->next())
		for (input_field_config *field = port->fieldlist().first(); field != NULL; field = field->next())
			if (field->type == IPT_ADJUSTER)
				fprintf(m_output, "\t\t<adjuster name=\"%s\" default=\"%d\"/>\n", xml_normalize_string(input_field_name(field)), field->defvalue);
}