fix fds not saving game
This commit is contained in:
@@ -179,6 +179,11 @@ void FCEUI_SetRenderedLines(int ntscf, int ntscl, int palf, int pall);
|
||||
below this directory. */
|
||||
void FCEUI_SetBaseDirectory(char *dir);
|
||||
|
||||
#ifdef __LIBRETRO__
|
||||
void FCEUI_SetSaveDirectory(char *sav_dir);
|
||||
#endif
|
||||
|
||||
|
||||
/* Tells FCE Ultra to copy the palette data pointed to by pal and use it.
|
||||
Data pointed to by pal needs to be 64*3 bytes in length.
|
||||
*/
|
||||
|
||||
@@ -1637,6 +1637,7 @@ bool retro_load_game(const struct retro_game_info *game)
|
||||
{
|
||||
unsigned i;
|
||||
char* dir=NULL;
|
||||
char* sav_dir=NULL;
|
||||
size_t fourscore_len = sizeof(fourscore_db_list) / sizeof(fourscore_db_list[0]);
|
||||
size_t famicom_4p_len = sizeof(famicom_4p_db_list) / sizeof(famicom_4p_db_list[0]);
|
||||
|
||||
@@ -1706,6 +1707,8 @@ bool retro_load_game(const struct retro_game_info *game)
|
||||
|
||||
if (environ_cb(RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY, &dir) && dir)
|
||||
FCEUI_SetBaseDirectory(dir);
|
||||
if (environ_cb(RETRO_ENVIRONMENT_GET_SAVE_DIRECTORY, &sav_dir) && sav_dir)
|
||||
FCEUI_SetSaveDirectory(sav_dir);
|
||||
|
||||
FCEUI_Initialize();
|
||||
|
||||
|
||||
@@ -42,6 +42,7 @@
|
||||
#include "md5.h"
|
||||
|
||||
static char BaseDirectory[2048];
|
||||
static char SaveDirectory[2048];
|
||||
static char FileBase[2048];
|
||||
static char FileExt[2048]; /* Includes the . character, as in ".nes" */
|
||||
|
||||
@@ -53,6 +54,12 @@ void FCEUI_SetBaseDirectory(char *dir)
|
||||
BaseDirectory[2047] = 0;
|
||||
}
|
||||
|
||||
void FCEUI_SetSaveDirectory(char *sav_dir)
|
||||
{
|
||||
strncpy(SaveDirectory, sav_dir, 2047);
|
||||
SaveDirectory[2047] = 0;
|
||||
}
|
||||
|
||||
static char *odirs[FCEUIOD__COUNT] = { 0, 0, 0, 0, 0, 0 }; // odirs, odors. ^_^
|
||||
|
||||
void FCEUI_SetDirOverride(int which, char *n)
|
||||
@@ -87,6 +94,9 @@ char *FCEU_MakeFName(int type, int id1, char *cd1)
|
||||
else
|
||||
sprintf(tmp, "%s"PSS "gameinfo"PSS "%s.pal", BaseDirectory, FileBase);
|
||||
break;
|
||||
case FCEUMKF_FDS:
|
||||
sprintf(tmp, "%s"PSS "%s.fds", SaveDirectory, FileBase);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user