Ejemplo n.º 1
0
bool obs_module_load(void)
{
	struct win_version_info ver;
	bool win8_or_above = false;
	char *config_dir;

	config_dir = obs_module_config_path(NULL);
	if (config_dir) {
		os_mkdirs(config_dir);
		bfree(config_dir);
	}

	get_win_ver(&ver);

	win8_or_above = ver.major > 6 || (ver.major == 6 && ver.minor >= 2);

	obs_enter_graphics();

	if (win8_or_above && gs_get_device_type() == GS_DEVICE_DIRECT3D_11)
		obs_register_source(&duplicator_capture_info);
	else
		obs_register_source(&monitor_capture_info);

	obs_leave_graphics();

	obs_register_source(&window_capture_info);

	if (/*cached_versions_match() &&*/ load_cached_graphics_offsets(IS32BIT)) {
		load_cached_graphics_offsets(!IS32BIT);
		obs_register_source(&game_capture_info);

	} else if (load_graphics_offsets(IS32BIT)) {
		load_graphics_offsets(!IS32BIT);
		obs_register_source(&game_capture_info);
	}

	return true;
}
Ejemplo n.º 2
0
bool load_cached_graphics_offsets(bool is32bit)
{
	char *config_ini = NULL;
	bool success;

	config_ini = obs_module_config_path(is32bit ? "32.ini" : "64.ini");
	success = load_offsets_from_file(is32bit ? &offsets32 : &offsets64,
			config_ini);
	if (!success)
		success = load_graphics_offsets(is32bit);

	bfree(config_ini);
	return success;
}