mirror of
https://github.com/wiidev/usbloadergx.git
synced 2024-11-22 03:09:15 +01:00
Refresh less when downloading covers
This commit is contained in:
parent
fbfcba4200
commit
a6e073f018
@ -28,6 +28,7 @@
|
|||||||
#include "language/gettext.h"
|
#include "language/gettext.h"
|
||||||
#include "usbloader/GetMissingGameFiles.hpp"
|
#include "usbloader/GetMissingGameFiles.hpp"
|
||||||
#include "utils/StringTools.h"
|
#include "utils/StringTools.h"
|
||||||
|
#include "usbloader/GameList.h"
|
||||||
#include "gecko.h"
|
#include "gecko.h"
|
||||||
|
|
||||||
#define VALID_IMAGE(x) (!(x->size == 36864 || x->size <= 1024 || x->size == 7386 || x->size <= 1174 || x->size == 4446 || x->data == NULL))
|
#define VALID_IMAGE(x) (!(x->size == 36864 || x->size <= 1024 || x->size == 7386 || x->size <= 1174 || x->size == 4446 || x->data == NULL))
|
||||||
@ -89,6 +90,11 @@ void ImageDownloader::Start()
|
|||||||
|
|
||||||
void ImageDownloader::FindMissingImages()
|
void ImageDownloader::FindMissingImages()
|
||||||
{
|
{
|
||||||
|
wString oldFilter(gameList.GetCurrentFilter());
|
||||||
|
|
||||||
|
// Make sure that all games are added to the gamelist
|
||||||
|
gameList.LoadUnfiltered();
|
||||||
|
|
||||||
if(choices & CheckedBox1)
|
if(choices & CheckedBox1)
|
||||||
FindMissing(Settings.covers_path, Settings.URL_Covers3D, NULL, tr("Downloading 3D Covers"), NULL, ".png");
|
FindMissing(Settings.covers_path, Settings.URL_Covers3D, NULL, tr("Downloading 3D Covers"), NULL, ".png");
|
||||||
|
|
||||||
@ -117,6 +123,9 @@ void ImageDownloader::FindMissingImages()
|
|||||||
{
|
{
|
||||||
FindMissing(Settings.BNRCachePath, Settings.URL_Banners, NULL, tr("Downloading Custom Banners"), NULL, ".bnr");
|
FindMissing(Settings.BNRCachePath, Settings.URL_Banners, NULL, tr("Downloading Custom Banners"), NULL, ".bnr");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Bring the game list back to it's old state
|
||||||
|
gameList.FilterList(oldFilter.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
void ImageDownloader::FindMissing(const char *writepath, const char *downloadURL, const char *backupURL, const char *progressTitle, const char *backupProgressTitle, const char *fileExt)
|
void ImageDownloader::FindMissing(const char *writepath, const char *downloadURL, const char *backupURL, const char *progressTitle, const char *backupProgressTitle, const char *fileExt)
|
||||||
@ -128,18 +137,7 @@ void ImageDownloader::FindMissing(const char *writepath, const char *downloadURL
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::vector<std::string> MissingFilesList;
|
std::vector<std::string> MissingFilesList;
|
||||||
|
GetMissingGameFiles(writepath, fileExt, MissingFilesList);
|
||||||
if((Settings.LoaderMode & MODE_GCGAMES) && strcmp(fileExt, ".bnr") == 0)
|
|
||||||
{
|
|
||||||
short LoaderModeBackup = Settings.LoaderMode;
|
|
||||||
Settings.LoaderMode = MODE_GCGAMES; // Limit banner download for GameCube Only.
|
|
||||||
GetMissingGameFiles(writepath, fileExt, MissingFilesList);
|
|
||||||
Settings.LoaderMode = LoaderModeBackup;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
GetMissingGameFiles(writepath, fileExt, MissingFilesList);
|
|
||||||
}
|
|
||||||
int size = MissingImages.size();
|
int size = MissingImages.size();
|
||||||
MissingImages.resize(size+MissingFilesList.size());
|
MissingImages.resize(size+MissingFilesList.size());
|
||||||
|
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string>
|
#include <string.h>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include "FileOperations/fileops.h"
|
#include "FileOperations/fileops.h"
|
||||||
|
#include "settings/CSettings.h"
|
||||||
|
#include "settings/SettingsEnums.h"
|
||||||
#include "usbloader/GameList.h"
|
#include "usbloader/GameList.h"
|
||||||
#include "wstring.hpp"
|
#include "wstring.hpp"
|
||||||
#include "gecko.h"
|
#include "gecko.h"
|
||||||
@ -20,14 +22,19 @@ int GetMissingGameFiles(const char * path, const char * fileext, std::vector<std
|
|||||||
char gameID[7];
|
char gameID[7];
|
||||||
char filepath[512];
|
char filepath[512];
|
||||||
MissingFilesList.clear();
|
MissingFilesList.clear();
|
||||||
wString oldFilter(gameList.GetCurrentFilter());
|
|
||||||
|
|
||||||
//! make sure that all games are added to the gamelist
|
|
||||||
gameList.LoadUnfiltered();
|
|
||||||
|
|
||||||
for (int i = 0; i < gameList.size(); ++i)
|
for (int i = 0; i < gameList.size(); ++i)
|
||||||
{
|
{
|
||||||
struct discHdr* header = gameList[i];
|
struct discHdr* header = gameList[i];
|
||||||
|
|
||||||
|
// Only GameCube games might have missing banners
|
||||||
|
if (strcmp(fileext, ".bnr") == 0 && !(header->type >= TYPE_GAME_GC_IMG && header->type <= TYPE_GAME_GC_EXTRACTED))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
// NAND and EmuNAND games don't have disc artwork
|
||||||
|
if (strcmp(path, Settings.disc_path) == 0 && (header->type == TYPE_GAME_NANDCHAN || header->type == TYPE_GAME_EMUNANDCHAN))
|
||||||
|
continue;
|
||||||
|
|
||||||
snprintf(gameID, sizeof(gameID), "%s", (char *) header->id);
|
snprintf(gameID, sizeof(gameID), "%s", (char *) header->id);
|
||||||
snprintf(filepath, sizeof(filepath), "%s/%s%s", path, gameID, fileext);
|
snprintf(filepath, sizeof(filepath), "%s/%s%s", path, gameID, fileext);
|
||||||
|
|
||||||
@ -64,9 +71,6 @@ int GetMissingGameFiles(const char * path, const char * fileext, std::vector<std
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//! Bring game list to the old state
|
|
||||||
gameList.FilterList(oldFilter.c_str());
|
|
||||||
|
|
||||||
gprintf(" = %i\n", MissingFilesList.size());
|
gprintf(" = %i\n", MissingFilesList.size());
|
||||||
|
|
||||||
return MissingFilesList.size();
|
return MissingFilesList.size();
|
||||||
|
Loading…
Reference in New Issue
Block a user