Ejemplo n.º 1
0
adv_error soundb_alsa_load(adv_conf* context)
{
	sncpy(alsa_option.device_buffer, sizeof(alsa_option.device_buffer), conf_string_get_default(context, "device_alsa_device"));
	sncpy(alsa_option.mixer_buffer, sizeof(alsa_option.mixer_buffer), conf_string_get_default(context, "device_alsa_mixer"));

	alsa_option.initialized = 1;

	return 0;
}
Ejemplo n.º 2
0
adv_error mouseb_load(adv_conf* context)
{
	unsigned i;
	int at_least_one;

	if (mouseb_state.driver_mac == 0) {
		error_set("No mouse driver was compiled in.");
		return -1;
	}

	mouseb_state.is_initialized_flag = 1;
	sncpy(mouseb_state.name, DEVICE_NAME_MAX, conf_string_get_default(context, "device_mouse"));

	/* load specific driver options */
	at_least_one = 0;
	for (i = 0; i < mouseb_state.driver_mac; ++i) {
		const adv_device* dev;

		dev = device_match(mouseb_state.name, (adv_driver*)mouseb_state.driver_map[i], 0);

		if (dev)
			at_least_one = 1;

		if (mouseb_state.driver_map[i]->load(context) != 0)
			return -1;
	}

	if (!at_least_one) {
		device_error("device_mouse", mouseb_state.name, (const adv_driver**)mouseb_state.driver_map, mouseb_state.driver_mac);
		return -1;
	}

	return 0;
}
Ejemplo n.º 3
0
adv_error advance_fileio_config_load(struct advance_fileio_context* context, adv_conf* cfg_context, struct mame_option* option)
{
	struct fileio_item* i;
	for(i=FILEIO_CONFIG;i->type != FILETYPE_end;++i) {
		/* free a previously loaded value */
		path_free(i->dir_map, i->dir_mac);
		i->dir_map = 0;
		i->dir_mac = 0;

		if (i->config) {
			unsigned j;
			const char* s = conf_string_get_default(cfg_context, i->config);
			const char* a;

			switch (i->mode) {
			case FILEIO_MODE_MULTI : a = file_config_list(s, file_config_dir_multidir, 0); break;
			case FILEIO_MODE_SINGLE : a = file_config_list(s, file_config_dir_singledir, 0); break;
			default: a = s; break;
			}

			log_std(("advance:fileio: %s %s\n", i->config, a));
			path_allocate(&i->dir_map, &i->dir_mac, a);
			for(j=0;j<i->dir_mac;++j)
				dir_create(i->dir_map[j]);
		} else {
			/* add the standard directories search as default */
			path_allocate(&i->dir_map, &i->dir_mac, file_config_dir_singlefile());
		}
	}

#ifdef MESS
	{
		const char* s = conf_string_get_default(cfg_context, "dir_crc");
		const char* a = file_config_list(s, file_config_dir_singledir, 0);
		log_std(("advance:fileio: %s %s\n", "dir_crc", a));
		sncpy(option->crc_dir_buffer, sizeof(option->crc_dir_buffer), a);
	}
#endif

	return 0;
}
Ejemplo n.º 4
0
adv_error advance_ui_config_load(struct advance_ui_context* context, adv_conf* cfg_context, struct mame_option* option)
{
	const char* s;
	char* e;

	context->config.ui_speedmark_flag = conf_bool_get_default(cfg_context, "debug_speedmark");

	sncpy(context->config.help_image_buffer, sizeof(context->config.help_image_buffer), conf_string_get_default(cfg_context, "ui_helpimage"));
	sncpy(context->config.ui_font_buffer, sizeof(context->config.ui_font_buffer), conf_string_get_default(cfg_context, "ui_font"));

	context->config.ui_translucency = conf_float_get_default(cfg_context, "ui_translucency") * 255;
	if (context->config.ui_translucency > 255)
		context->config.ui_translucency = 255;

	s = conf_string_get_default(cfg_context, "ui_fontsize");

	context->config.ui_font_sizey = strtol(s, &e, 10);
	while (*e && isspace(*e))
		++e;
	if (*e) {
		context->config.ui_font_sizex = strtol(e, &e, 10);
	} else {
		context->config.ui_font_sizex = 0;
	}

	context->config.ui_font_orientation = option->direct_orientation;

	if (ui_color_load(context, cfg_context, UI_COLOR_INTERFACE_F, UI_COLOR_INTERFACE_B, "ui_color[interface]") != 0
		|| ui_color_load(context, cfg_context, UI_COLOR_TAG_F, UI_COLOR_TAG_B, "ui_color[tag]") != 0
		|| ui_color_load(context, cfg_context, UI_COLOR_SELECT_F, UI_COLOR_SELECT_B, "ui_color[select]") != 0
		|| ui_color_load(context, cfg_context, -1, UI_COLOR_HELP_P1, "ui_color[help_p1]") != 0
		|| ui_color_load(context, cfg_context, -1, UI_COLOR_HELP_P2, "ui_color[help_p2]") != 0
		|| ui_color_load(context, cfg_context, -1, UI_COLOR_HELP_P3, "ui_color[help_p3]") != 0
		|| ui_color_load(context, cfg_context, -1, UI_COLOR_HELP_P4, "ui_color[help_p4]") != 0
		|| ui_color_load(context, cfg_context, -1, UI_COLOR_HELP_OTHER, "ui_color[help_other]") != 0)
		return -1;

	return 0;
}
Ejemplo n.º 5
0
static int ui_color_load(struct advance_ui_context* context, adv_conf* cfg_context, int f, int b, const char* tag)
{
	const char* fs;
	const char* bs;
	const char* s;
	int p;
	char c;
	char* d;

	s = conf_string_get_default(cfg_context, tag);

	d = strdup(s);

	p = 0;

	fs = stoken(&c, &p, d, " ", "");
	if (c != ' ') {
		target_err("Error in option %s\n", tag);
		return -1;
	}
	sskip(&p, d, " ");
	bs = stoken(&c, &p, d, " ", "");
	if (c != 0) {
		target_err("Error in option %s\n", tag);
		return -1;
	}

	if (f >= 0) {
		if (ui_color_hex(&context->config.ui_color[f], fs) != 0) {
			target_err("Error in option %s\n", tag);
			return -1;
		}
	}

	if (b >= 0) {
		if (ui_color_hex(&context->config.ui_color[b], bs) != 0) {
			target_err("Error in option %s\n", tag);
			return -1;
		}
	}

	free(d);

	return 0;
}
Ejemplo n.º 6
0
adv_error mouseb_raw_load(adv_conf* context)
{
	unsigned i;
	for (i = 0; i < RAW_MOUSE_MAX; ++i) {
		char buf[64];
		const char* s;

		snprintf(buf, sizeof(buf), "device_raw_mousetype[%d]", i);
		raw_state.map[i].context.type = conf_int_get_default(context, buf);

		snprintf(buf, sizeof(buf), "device_raw_mousedev[%d]", i);
		s = conf_string_get_default(context, buf);
		if (strcmp(s, "auto") == 0) {
			if (i == 0 && access("/dev/mouse", F_OK) == 0) {
				sncpy(raw_state.map[i].context.dev, sizeof(raw_state.map[i].context.dev), "/dev/mouse");
				if (raw_state.map[i].context.type < 0)
					raw_state.map[i].context.type = MOUSE_PNP;
			} else {
				snprintf(raw_state.map[i].context.dev, sizeof(raw_state.map[i].context.dev), "/dev/input/mouse%d", i);
				switch (raw_state.map[i].context.type) {
				case MOUSE_PS2:
				case MOUSE_IMPS2:
				case MOUSE_EXPPS2:
					/* the /dev/input/mouse interfaces is compatible only with these three protocols */
					break;
				default:
					raw_state.map[i].context.type = MOUSE_IMPS2;
					break;
				}
			}
		} else {
			sncpy(raw_state.map[i].context.dev, sizeof(raw_state.map[i].context.dev), s);
			if (raw_state.map[i].context.type < 0)
				raw_state.map[i].context.type = MOUSE_PNP;
		}
	}

	return 0;
}