Example #1
0
// ensure the given spritesheet is loaded
static void Sprites::LoadSheetIfNeeded(int sheetno)
{
	if (!spritesheet[sheetno])
	{
		char pbm_name[MAXPATHLEN];
#if 1
		char *s = sheetfiles.StringAt(sheetno);
		if (!strncmp(s, "..", 2)) {
			sprintf(pbm_name, "%s", s + 2);
		}
		else {
			sprintf(pbm_name, "%s/%s", data_dir, s);
		}
#else
		sprintf(pbm_name, "%s/%s", data_dir, sheetfiles.StringAt(sheetno));
#endif
		spritesheet[sheetno] = new NXSurface;
		spritesheet[sheetno]->LoadImage(pbm_name, true);
		
		// fix the blue dash in the middle of the starpoof effect on that one frame,
		// I'm pretty sure this is a glitch.
		if (!settings->emulate_bugs)
		{
			if (sheetno == 3)	// Caret.pbm
				spritesheet[sheetno]->FillRect(40, 58, 41, 58, 0, 0, 0);
		}
	}
}
Example #2
0
// ensure the given spritesheet is loaded
static void Sprites::LoadSheetIfNeeded(int sheetno)
{
	if (!spritesheet[sheetno])
	{
                char pbm_name[1024];
		retro_create_path_string(pbm_name, sizeof(pbm_name), data_dir, sheetfiles.StringAt(sheetno));
		NX_LOG("LoadSheetIfNeeded: %s\n", pbm_name);

#ifdef _WIN32
      for (unsigned i = 0; i < sizeof(pbm_name); i++)
      {
         if (pbm_name[i] == '/')
            pbm_name[i] = '\\';
      }
#endif

		spritesheet[sheetno] = new NXSurface;
		spritesheet[sheetno]->LoadImage(pbm_name, true);
		
		// fix the blue dash in the middle of the starpoof effect on that one frame,
		// I'm pretty sure this is a glitch.
		if (!settings->emulate_bugs)
		{
			if (sheetno == 3)	// Caret.pbm
				spritesheet[sheetno]->FillRect(40, 58, 41, 58, 0, 0, 0);
		}
	}
}