Пример #1
0
void FCEUI_SetDirOverride(int which, char *n) {
	odirs[which] = n;

	if (FCEUGameInfo) { /* Rebuild cache of present states/movies. */
		if (which == FCEUIOD_STATE)
			FCEUSS_CheckStates();
		else if (which == FCEUIOD_MOVIE)
			FCEUMOV_CheckMovies();
	}
}
Пример #2
0
void FCEUI_SetDirOverride(int which, char *n)
{
//	FCEU_PrintError("odirs[%d]=%s->%s", which, odirs[which], n);
if(which < FCEUIOD__COUNT)
 odirs[which]=n;

#if 0
 if(FCEUGameInfo)  /* Rebuild cache of present states/movies. */
 {
  if(which==FCEUIOD_STATE)
   FCEUSS_CheckStates();
  else if(which == FCEUIOD_MISC)
   FCEUMOV_CheckMovies();
 }
#endif
}
Пример #3
0
FCEUGI *FCEUI_CopyFamiStart(void) {
	ResetGameLoaded();

	FCEUGameInfo = malloc(sizeof(FCEUGI));
	memset(FCEUGameInfo, 0, sizeof(FCEUGI));

	FCEUGameInfo->soundchan = 0;
	FCEUGameInfo->soundrate = 0;
	FCEUGameInfo->name = "copyfami";
	FCEUGameInfo->type = GIT_CART;
	FCEUGameInfo->vidsys = GIV_USER;
	FCEUGameInfo->input[0] = FCEUGameInfo->input[1] = -1;
	FCEUGameInfo->inputfc = -1;
	FCEUGameInfo->cspecial = 0;

	FCEU_printf("Starting CopyFamicom...\n\n");

	if (!CopyFamiLoad()) {
		FCEU_PrintError("An error occurred while starting CopyFamicom.");
		return 0;
	}

	FCEU_ResetVidSys();
	if (FCEUGameInfo->type != GIT_NSF)
		if (FSettings.GameGenie)
			FCEU_OpenGenie();

	PowerNES();
	FCEUSS_CheckStates();
	FCEUMOV_CheckMovies();

	if (FCEUGameInfo->type != GIT_NSF) {
		FCEU_LoadGamePalette();
		FCEU_LoadGameCheats(0);
	}

	FCEU_ResetPalette();
	FCEU_ResetMessages();  // Save state, status messages, etc.

	return(FCEUGameInfo);
}
Пример #4
0
FCEUGI *FCEUI_LoadGame(const char *name)
{
        FCEUFILE *fp;
	char *ipsfn;

        ResetGameLoaded();

	FCEUGameInfo = malloc(sizeof(FCEUGI));
	memset(FCEUGameInfo, 0, sizeof(FCEUGI));

	FCEUGameInfo->soundchan = 0;
	FCEUGameInfo->soundrate = 0;
        FCEUGameInfo->name=0;
        FCEUGameInfo->type=GIT_CART;
        FCEUGameInfo->vidsys=GIV_USER;
        FCEUGameInfo->input[0]=FCEUGameInfo->input[1]=-1;
        FCEUGameInfo->inputfc=-1;
        FCEUGameInfo->cspecial=0;

	FCEU_printf("Loading %s...\n\n",name);

        GetFileBase(name);

	ipsfn=FCEU_MakeFName(FCEUMKF_IPS,0,0);
	fp=FCEU_fopen(name,ipsfn,"rb",0);
	free(ipsfn);

	if(!fp)
        {
 	 FCEU_PrintError("Error opening \"%s\"!",name);
	 return 0;
	}

        if(iNESLoad(name,fp))
         goto endlseq;
        if(NSFLoad(fp))
         goto endlseq;
        if(UNIFLoad(name,fp))
         goto endlseq;
        if(FDSLoad(name,fp))
         goto endlseq;

        FCEU_PrintError("An error occurred while loading the file.");
        FCEU_fclose(fp);
        return 0;

        endlseq:
        FCEU_fclose(fp);

        FCEU_ResetVidSys();
        if(FCEUGameInfo->type!=GIT_NSF)
         if(FSettings.GameGenie)
	  OpenGenie();

        PowerNES();
	FCEUSS_CheckStates();
	FCEUMOV_CheckMovies();

        if(FCEUGameInfo->type!=GIT_NSF)
        {
         FCEU_LoadGamePalette();
         FCEU_LoadGameCheats(0);
        }
        
	FCEU_ResetPalette();
	FCEU_ResetMessages();	// Save state, status messages, etc.

        return(FCEUGameInfo);
}