Merge pull request #415 from Dwedit/save_state_fix

Save state fix
This commit is contained in:
Autechre
2020-12-30 22:08:04 +01:00
committed by GitHub
3 changed files with 9 additions and 2 deletions

View File

@@ -39,7 +39,7 @@ typedef uint32_t uint32;
typedef unsigned long long uint64;
typedef long long int64;
#define GINLINE inline
#elif MSVC
#elif MSVC | _MSC_VER
typedef __int64 int64;
typedef unsigned __int64 uint64;
#define GINLINE /* Can't declare a function INLINE

View File

@@ -1099,7 +1099,12 @@ static int iNES_Init(int num) {
}
}
if (head.ROM_type & 8)
AddExState(ExtraNTARAM, 2048, 0, "EXNR");
{
if (ExtraNTARAM != NULL)
{
AddExState(ExtraNTARAM, 2048, 0, "EXNR");
}
}
tmp->init(&iNESCart);
return 1;
}

View File

@@ -325,6 +325,8 @@ void ResetExState(void (*PreSave)(void), void (*PostSave)(void))
void AddExState(void *v, uint32 s, int type, char *desc)
{
/* prevent adding a terminator to the list if a NULL pointer was provided */
if (v == NULL) return;
memset(SFMDATA[SFEXINDEX].desc, 0, sizeof(SFMDATA[SFEXINDEX].desc));
if (desc)
strncpy(SFMDATA[SFEXINDEX].desc, desc, sizeof(SFMDATA[SFEXINDEX].desc));