int MDFNSS_Load(const char *fname, const char *suffix) { gzFile st; if(!MDFNGameInfo->StateAction) { MDFN_DispMessage("Module \"%s\" doesn't support save states.", MDFNGameInfo->shortname); return(0); } if(fname) st=gzopen(fname, "rb"); else { st=gzopen(MDFN_MakeFName(MDFNMKF_STATE,CurrentState,suffix).c_str(),"rb"); } if(st == NULL) { if(!fname && !suffix) { MDFN_DispMessage("State %d load error.",CurrentState); SaveStateStatus[CurrentState]=0; } return(0); } if(MDFNSS_LoadFP(st)) { MDFNI_DisplayState(); if(!fname && !suffix) { LoadStateMovie((char*)MDFN_MakeFName(MDFNMKF_STATE,CurrentState,suffix).c_str()); SaveStateStatus[CurrentState]=1; MDFN_DispMessage("State %d loaded.",CurrentState); SaveStateStatus[CurrentState]=1; } gzclose(st); return(1); } else { SaveStateStatus[CurrentState]=1; MDFN_DispMessage("State %d read error!",CurrentState); gzclose(st); return(0); } }
int MDFNSS_Load(const char *fname, const char *suffix) { gzFile st; if(fname) st=gzopen(fname, "rb"); else { st=gzopen(MDFN_MakeFName(MDFNMKF_STATE,CurrentState,suffix).c_str(),"rb"); } if(st == NULL) { if(!fname && !suffix) { MDFN_DispMessage(_("State %d load error."),CurrentState); SaveStateStatus[CurrentState]=0; } return(0); } if(MDFNSS_LoadFP(st)) { MDFNI_DisplayState(); LoadStateMovie((char*)MDFN_MakeFName(MDFNMKF_STATE,CurrentState,suffix).c_str()); if(!fname && !suffix) { SaveStateStatus[CurrentState]=1; MDFN_DispMessage(_("State %d loaded."),CurrentState); SaveStateStatus[CurrentState]=1; } gzclose(st); return(1); } else { SaveStateStatus[CurrentState]=1; MDFN_DispMessage(_("State %d read error!"),CurrentState); gzclose(st); return(0); } }