Win32 - Changes to how directory overrides work. Fixed logic problems that were resulting in directory assignment rather than override.
FCEU_GetPath - changed lua, memw, avi, roms to return null rather than base directory if no overrides are set.
This commit is contained in:
parent
3f1ad16e21
commit
e75d9e52dc
|
@ -78,8 +78,7 @@ void CloseDirectoriesDialog(HWND hwndDlg)
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
initDirectories();
|
||||
//initDirectories(); //adelikat 03/02/09 - commenting out. This function fills in empty directory overrides, which is not what we want, we want the user to have the option of leaving them blank
|
||||
CreateDirs(); // Create needed directories.
|
||||
SetDirs(); // Set the directories in the core.
|
||||
|
||||
|
|
|
@ -534,6 +534,8 @@ void do_exit()
|
|||
}
|
||||
|
||||
//Puts the default directory names into the elements of the directory_names array that aren't already defined.
|
||||
//adelikat: commenting out this function, we don't need this. This turns the idea of directory overrides to directory assignment
|
||||
/*
|
||||
void initDirectories()
|
||||
{
|
||||
for (unsigned int i = 0; i < NUMBER_OF_DEFAULT_DIRECTORIES; i++)
|
||||
|
@ -558,6 +560,7 @@ void initDirectories()
|
|||
strcpy(directory_names[NUMBER_OF_DIRECTORIES - 1], BaseDirectory.c_str());
|
||||
}
|
||||
}
|
||||
*/
|
||||
#include "x6502.h"
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
|
@ -596,11 +599,13 @@ int main(int argc,char *argv[])
|
|||
|
||||
if (ConfigToLoad) cfgFile.assign(ConfigToLoad);
|
||||
|
||||
//initDirectories();
|
||||
|
||||
// Load the config information
|
||||
sprintf(TempArray,"%s\\%s",BaseDirectory.c_str(),cfgFile.c_str());
|
||||
LoadConfig(TempArray);
|
||||
|
||||
initDirectories();
|
||||
|
||||
|
||||
//Bleh, need to find a better place for this.
|
||||
{
|
||||
|
|
|
@ -118,6 +118,6 @@ void DoPriority();
|
|||
void RemoveDirs();
|
||||
void CreateDirs();
|
||||
void SetDirs();
|
||||
void initDirectories();
|
||||
//void initDirectories(); //adelikat 03/02/09 - commenting out reference to a directory that I commented out
|
||||
|
||||
#endif
|
||||
|
|
|
@ -865,9 +865,13 @@ void LoadNewGamey(HWND hParent, const char *initialdir)
|
|||
ofn.lpstrFile=nameo;
|
||||
ofn.nMaxFile=256;
|
||||
ofn.Flags=OFN_EXPLORER|OFN_FILEMUSTEXIST|OFN_HIDEREADONLY; //OFN_EXPLORER|OFN_ENABLETEMPLATE|OFN_ENABLEHOOK;
|
||||
std::string stdinitdir =FCEU_GetPath(FCEUMKF_ROMS);
|
||||
ofn.lpstrInitialDir = initialdir ? initialdir : stdinitdir.c_str();
|
||||
|
||||
string stdinitdir =FCEU_GetPath(FCEUMKF_ROMS);
|
||||
|
||||
if (initialdir) //adelikat: If a directory is specified in the function parameter, it should take priority
|
||||
ofn.lpstrInitialDir = initialdir;
|
||||
else //adelikat: Else just use the override, if no override it will default to 0 - last directory used.
|
||||
ofn.lpstrInitialDir = stdinitdir.c_str();
|
||||
|
||||
// Show the Open File dialog
|
||||
if(GetOpenFileName(&ofn))
|
||||
{
|
||||
|
@ -1913,7 +1917,7 @@ void FCEUD_AviRecordTo(void)
|
|||
|
||||
std::string aviDirectory = FCEU_GetPath(21); //21 = FCEUMKF_AVI
|
||||
if (aviDirectory.find_last_of("\\") != (aviDirectory.size()-1))
|
||||
aviDirectory.append("\\"); //if directory override has no / then add one
|
||||
aviDirectory.append("\\"); //if directory override has no \ then add one
|
||||
|
||||
//if we are playing a movie, construct the filename from the current movie.
|
||||
if(FCEUMOV_Mode(MOVIEMODE_PLAY|MOVIEMODE_RECORD))
|
||||
|
|
14
src/file.cpp
14
src/file.cpp
|
@ -505,7 +505,7 @@ void FCEUI_SetDirOverride(int which, char *n)
|
|||
}
|
||||
#endif
|
||||
|
||||
std::string FCEU_GetPath(int type)
|
||||
std::string FCEU_GetPath(int type)
|
||||
{
|
||||
char ret[FILENAME_MAX];
|
||||
switch(type)
|
||||
|
@ -526,8 +526,10 @@ std::string FCEU_GetPath(int type)
|
|||
if(odirs[FCEUIOD_MEMW])
|
||||
return (odirs[FCEUIOD_MEMW]);
|
||||
else
|
||||
return BaseDirectory + PSS + "tools";
|
||||
return ""; //adelikat: 03/02/09 - return null so it defaults to last directory used
|
||||
//return BaseDirectory + PSS + "tools";
|
||||
break;
|
||||
//adelikat: TODO: this no longer exist and could be removed (but that would require changing a lot of other directory arrays
|
||||
case FCEUMKF_BBOT:
|
||||
if(odirs[FCEUIOD_BBOT])
|
||||
return (odirs[FCEUIOD_BBOT]);
|
||||
|
@ -538,7 +540,7 @@ std::string FCEU_GetPath(int type)
|
|||
if(odirs[FCEUIOD_ROMS])
|
||||
return (odirs[FCEUIOD_ROMS]);
|
||||
else
|
||||
return BaseDirectory;
|
||||
return ""; //adelikat: removing base directory return, should return null it goes to last used directory
|
||||
break;
|
||||
case FCEUMKF_INPUT:
|
||||
if(odirs[FCEUIOD_INPUT])
|
||||
|
@ -548,7 +550,8 @@ std::string FCEU_GetPath(int type)
|
|||
break;
|
||||
case FCEUMKF_LUA:
|
||||
if(odirs[FCEUIOD_LUA])
|
||||
return (odirs[FCEUIOD_LUA]);
|
||||
return ""; //adelikat: 03/02/09 - return null so it defaults to last directory used
|
||||
//return (odirs[FCEUIOD_LUA]);
|
||||
else
|
||||
return BaseDirectory + PSS + "tools";
|
||||
break;
|
||||
|
@ -556,7 +559,8 @@ std::string FCEU_GetPath(int type)
|
|||
if(odirs[FCEUIOD_AVI])
|
||||
return (odirs[FCEUIOD_AVI]);
|
||||
else
|
||||
return BaseDirectory + PSS + "tools";
|
||||
return ""; //adelikat - 03/02/09 - if no override, should return null and allow the last directory to be used intead
|
||||
//return BaseDirectory + PSS + "tools";
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue