Example #1
0
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);
	}
}
Example #2
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);
	}
}