--- macstrings-orig.h Wed Jun 9 23:43:39 2004 +++ macstrings.h Thu Jun 10 10:15:57 2004 @@ -80,4 +80,6 @@ kSampleAuditProgressTitle, kScreenshotFolderName, + kScreenshotNotWorkingFileName, + kScreenshotNotAvailableFileName, kScreenshotTitleFolderName, kROMFolderName, --- macinfo-orig.c Wed Jun 9 23:45:47 2004 +++ macinfo.c Fri Jun 11 19:30:24 2004 @@ -121,5 +121,5 @@ static OSErr FindImageFile(const char *gamename, int shotType, FSSpec *spec, Handle *hand, OSType *componentSubType); static OSErr GetImageFileAsPict(const FSSpec *spec, Handle hand, OSType gitype, PicHandle *pict); -static OSErr LoadScreenshotIntoIW(const char *gamename, int clone, ControlRef imageWell, int shotType); +static OSErr LoadScreenshotIntoIW(const char *gamename, int clone, ControlRef imageWell, int shotType, int notWorking); static OSErr FSpGetFolderDirID(const FSSpec *spec, long *dirID); @@ -409,5 +409,5 @@ // attempt to load this screenshot - err = LoadScreenshotIntoIW(driver->name, isClone, data->imageWell, menuItem); + err = LoadScreenshotIntoIW(driver->name, isClone, data->imageWell, menuItem, IsBroken(inGame)); // if we succeeded, or if we've disabled parent shots, break out @@ -1197,5 +1197,5 @@ static OSErr LoadScreenshotIntoIW(const char *gamename, int clone, ControlRef imageWell, - int shotType) + int shotType, int notWorking) { ControlButtonContentInfo info; @@ -1205,4 +1205,12 @@ PicHandle pict; OSErr err; +#ifndef MAXNAMLEN +# if TARGET_RT_MAC_MACHO +# define MAXNAMLEN 255 // OS X dirent.h +# else +# define MAXNAMLEN 32 // OS 9 +# endif /* TARGET_RT_MAC_MACHO */ +#endif /* MAXNAMLEN */ + char ssNotAvailableName[MAXNAMLEN + 1]; // Dispose of the prior PicHandle (if any) @@ -1214,4 +1222,25 @@ // Try to find the appropriate image for this gamename and shotType err = FindImageFile(gamename, shotType, &spec, &hand, &componentSubType); + + // Image not found, look for "Not Working" image in folder if game not working + if ((fnfErr == err) && notWorking) // -43 file not found + { + strcpy(ssNotAvailableName, + GetIndCString(rStrings, kScreenshotNotWorkingFileName, + "Not Working")); //mamelang.rsrc rStrings: insert STR#128/30 + + err = FindImageFile(ssNotAvailableName, shotType, &spec, &hand, &componentSubType); + } + + // Image still not found or game is working and no image found, + // look for "Not Available" image in folder + if (fnfErr == err) // -43 file not found + { + strcpy(ssNotAvailableName, + GetIndCString(rStrings, kScreenshotNotAvailableFileName, + "Not Available")); //mamelang.rsrc rStrings: insert STR#128/31 + + err = FindImageFile(ssNotAvailableName, shotType, &spec, &hand, &componentSubType); + } if (noErr == err)