Exemple #1
0
void MDFNI_EnableStateRewind(int enable)
{
 if(MDFNGameInfo)
  MDFN_StateEvilEnd();

 EvilEnabled = enable;

 if(MDFNGameInfo)
  MDFN_StateEvilBegin();
}
Exemple #2
0
void MDFNI_EnableStateRewind(int enable)
{
 if(!MDFNGameInfo->StateAction) 
  return;

 MDFN_StateEvilEnd();

 EvilEnabled = enable;

 MDFN_StateEvilBegin();
}
void MDFNI_CloseGame(void)
{
    if(MDFNGameInfo)
    {
        if(MDFNnetplay)
            MDFNI_NetplayStop();

        MDFNMOV_Stop();

        if(MDFNGameInfo->GameType != GMT_PLAYER)
            MDFN_FlushGameCheats(0);

        MDFNGameInfo->CloseGame();
        if(MDFNGameInfo->name)
        {
            free(MDFNGameInfo->name);
            MDFNGameInfo->name=0;
        }
        MDFNMP_Kill();

        MDFNGameInfo = NULL;
        MDFN_StateEvilEnd();

        for(unsigned i = 0; i < CDInterfaces.size(); i++)
            delete CDInterfaces[i];
        CDInterfaces.clear();
    }
    TBlur_Kill();

#ifdef WANT_DEBUGGER
    MDFNDBG_Kill();
#endif

    for(unsigned int x = 0; x < sizeof(PortDeviceCache) / sizeof(char *); x++)
    {
        if(PortDeviceCache[x])
        {
            free(PortDeviceCache[x]);
            PortDeviceCache[x] = NULL;
        }
    }

    memset(PortDataCache, 0, sizeof(PortDataCache));
    memset(PortDataLenCache, 0, sizeof(PortDataLenCache));
    memset(PortDeviceCache, 0, sizeof(PortDeviceCache));
}