Exemple #1
0
void device_image_interface::setup_working_directory()
{
	bool success = false;
	// get user-specified directory and make sure it exists
	m_working_directory = device().mconfig().options().sw_path();
	// if multipath, get first
	size_t i = m_working_directory.find_first_of(";");
	if (i != std::string::npos)
		m_working_directory.resize(i);
	// validate directory
	if (!m_working_directory.empty())
		if (osd::directory::open(m_working_directory))
			success = true;

	// if not exist, use previous method
	if (!success)
	{
		// first set up the working directory to be the starting directory
		osd_get_full_path(m_working_directory, ".");
		// now try browsing down to "software"
		if (try_change_working_directory("software"))
			success = true;
	}

	if (success)
	{
		// now down to a directory for this computer
		int gamedrv = driver_list::find(device().machine().system());
		while(gamedrv != -1 && !try_change_working_directory(driver_list::driver(gamedrv).name))
		{
			gamedrv = driver_list::compatible_with(gamedrv);
		}
	}
}
Exemple #2
0
void device_image_interface::setup_working_directory()
{
    // first set up the working directory to be the starting directory
    osd_get_full_path(m_working_directory, ".");

    // now try browsing down to "software"
    if (try_change_working_directory("software"))
    {
        // now down to a directory for this computer
        int gamedrv = driver_list::find(device().machine().system());
        while(gamedrv != -1 && !try_change_working_directory(driver_list::driver(gamedrv).name))
        {
            gamedrv = driver_list::compatible_with(gamedrv);
        }
    }
}
void device_image_interface::setup_working_directory()
{
	char *dst = NULL;

	osd_get_full_path(&dst,".");
    /* first set up the working directory to be the starting directory */
    m_working_directory = dst;

    /* now try browsing down to "software" */
    if (try_change_working_directory("software"))
    {
        /* now down to a directory for this computer */
        int gamedrv = driver_list::find(device().machine().system());
        while(gamedrv != -1 && !try_change_working_directory(driver_list::driver(gamedrv).name))
        {
            gamedrv = driver_list::compatible_with(gamedrv);
        }
    }
	osd_free(dst);
}