Skip to content

Commit

Permalink
Added additional country flags
Browse files Browse the repository at this point in the history
Added country flags for games from Netherlands and Spain, as well as a separate category for Region Free games. (Uses European flag as placeholder)

Also fixed various country filters not showing up as options in the "Show regions" menu.
  • Loading branch information
Stevoisiak committed Nov 11, 2014
1 parent 71d8165 commit ff8b3c7
Show file tree
Hide file tree
Showing 14 changed files with 331 additions and 46 deletions.
6 changes: 6 additions & 0 deletions Source/Android/assets/Dolphin.ini
Original file line number Diff line number Diff line change
Expand Up @@ -169,9 +169,15 @@ ListGC = True
ListJap = True
ListPal = True
ListUsa = True
ListAustralia = True
ListFrance = True
ListGermany = True
ListInternational = True
ListItaly = True
ListKorea = True
ListNetherlands = True
ListRussia = True
ListSpain = True
ListTaiwan = True
ListUnknown = True
ListSort = 3
Expand Down
42 changes: 27 additions & 15 deletions Source/Core/Core/ConfigManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -262,9 +262,15 @@ void SConfig::SaveGameListSettings(IniFile& ini)
gamelist->Set("ListJap", m_ListJap);
gamelist->Set("ListPal", m_ListPal);
gamelist->Set("ListUsa", m_ListUsa);
gamelist->Set("ListAustralia", m_ListAustralia);
gamelist->Set("ListFrance", m_ListFrance);
gamelist->Set("ListGermany", m_ListGermany);
gamelist->Set("ListInternational", m_ListInternational);
gamelist->Set("ListItaly", m_ListItaly);
gamelist->Set("ListKorea", m_ListKorea);
gamelist->Set("ListNetherlands", m_ListNetherlands);
gamelist->Set("ListRussia", m_ListRussia);
gamelist->Set("ListSpain", m_ListSpain);
gamelist->Set("ListTaiwan", m_ListTaiwan);
gamelist->Set("ListUnknown", m_ListUnknown);
gamelist->Set("ListSort", m_ListSort);
Expand Down Expand Up @@ -466,21 +472,27 @@ void SConfig::LoadGameListSettings(IniFile& ini)
{
IniFile::Section* gamelist = ini.GetOrCreateSection("GameList");

gamelist->Get("ListDrives", &m_ListDrives, false);
gamelist->Get("ListWad", &m_ListWad, true);
gamelist->Get("ListWii", &m_ListWii, true);
gamelist->Get("ListGC", &m_ListGC, true);
gamelist->Get("ListJap", &m_ListJap, true);
gamelist->Get("ListPal", &m_ListPal, true);
gamelist->Get("ListUsa", &m_ListUsa, true);

gamelist->Get("ListFrance", &m_ListFrance, true);
gamelist->Get("ListItaly", &m_ListItaly, true);
gamelist->Get("ListKorea", &m_ListKorea, true);
gamelist->Get("ListTaiwan", &m_ListTaiwan, true);
gamelist->Get("ListUnknown", &m_ListUnknown, true);
gamelist->Get("ListSort", &m_ListSort, 3);
gamelist->Get("ListSortSecondary",&m_ListSort2, 0);
gamelist->Get("ListDrives", &m_ListDrives, false);
gamelist->Get("ListWad", &m_ListWad, true);
gamelist->Get("ListWii", &m_ListWii, true);
gamelist->Get("ListGC", &m_ListGC, true);
gamelist->Get("ListJap", &m_ListJap, true);
gamelist->Get("ListPal", &m_ListPal, true);
gamelist->Get("ListUsa", &m_ListUsa, true);

gamelist->Get("ListAustralia", &m_ListAustralia, true);
gamelist->Get("ListFrance", &m_ListFrance, true);
gamelist->Get("ListGermany", &m_ListGermany, true);
gamelist->Get("ListInternational", &m_ListInternational, true);
gamelist->Get("ListItaly", &m_ListItaly, true);
gamelist->Get("ListKorea", &m_ListKorea, true);
gamelist->Get("ListNetherlands", &m_ListNetherlands, true);
gamelist->Get("ListRussia", &m_ListRussia, true);
gamelist->Get("ListSpain", &m_ListSpain, true);
gamelist->Get("ListTaiwan", &m_ListTaiwan, true);
gamelist->Get("ListUnknown", &m_ListUnknown, true);
gamelist->Get("ListSort", &m_ListSort, 3);
gamelist->Get("ListSortSecondary", &m_ListSort2, 0);

// Determines if compressed games display in blue
gamelist->Get("ColorCompressed", &m_ColorCompressed, true);
Expand Down
6 changes: 6 additions & 0 deletions Source/Core/Core/ConfigManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,15 @@ struct SConfig : NonCopyable
bool m_ListPal;
bool m_ListUsa;
bool m_ListJap;
bool m_ListAustralia;
bool m_ListFrance;
bool m_ListGermany;
bool m_ListInternational;
bool m_ListItaly;
bool m_ListKorea;
bool m_ListNetherlands;
bool m_ListRussia;
bool m_ListSpain;
bool m_ListTaiwan;
bool m_ListUnknown;
int m_ListSort;
Expand Down
11 changes: 11 additions & 0 deletions Source/Core/Core/CoreParameter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -169,14 +169,20 @@ bool SCoreStartupParameter::AutoSetup(EBootBS2 _BootBS2)
Region = JAP_DIR;
break;

case DiscIO::IVolume::COUNTRY_AUSTRALIA:
case DiscIO::IVolume::COUNTRY_EUROPE:
case DiscIO::IVolume::COUNTRY_FRANCE:
case DiscIO::IVolume::COUNTRY_ITALY:
case DiscIO::IVolume::COUNTRY_NETHERLANDS:
case DiscIO::IVolume::COUNTRY_RUSSIA:
case DiscIO::IVolume::COUNTRY_SPAIN:
bNTSC = false;
Region = EUR_DIR;
break;

case DiscIO::IVolume::COUNTRY_INTERNATIONAL:
case DiscIO::IVolume::COUNTRY_SDK:
case DiscIO::IVolume::COUNTRY_UNKNOWN:
default:
if (PanicYesNoT("Your GCM/ISO file seems to be invalid (invalid country)."
"\nContinue with PAL region?"))
Expand Down Expand Up @@ -249,6 +255,7 @@ bool SCoreStartupParameter::AutoSetup(EBootBS2 _BootBS2)
Region = JAP_DIR;
break;

case DiscIO::IVolume::COUNTRY_AUSTRALIA:
case DiscIO::IVolume::COUNTRY_EUROPE:
case DiscIO::IVolume::COUNTRY_FRANCE:
case DiscIO::IVolume::COUNTRY_ITALY:
Expand All @@ -257,6 +264,10 @@ bool SCoreStartupParameter::AutoSetup(EBootBS2 _BootBS2)
Region = EUR_DIR;
break;

case DiscIO::IVolume::COUNTRY_INTERNATIONAL:
case DiscIO::IVolume::COUNTRY_SDK:
case DiscIO::IVolume::COUNTRY_UNKNOWN:
// TODO: Separate Region Dir for regionless games?
default:
bNTSC = false;
Region = EUR_DIR;
Expand Down
4 changes: 4 additions & 0 deletions Source/Core/DiscIO/Volume.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ class IVolume
virtual bool CheckIntegrity() const { return false; }
virtual bool IsDiscTwo() const { return false; }

// Rearranging countries may require cache to be purged
enum ECountry
{
COUNTRY_EUROPE = 0,
Expand All @@ -48,6 +49,9 @@ class IVolume
COUNTRY_UNKNOWN,
COUNTRY_GERMANY,
COUNTRY_AUSTRALIA,
COUNTRY_INTERNATIONAL,
COUNTRY_SPAIN,
COUNTRY_NETHERLANDS,
NUMBER_OF_COUNTRIES
};

Expand Down
20 changes: 12 additions & 8 deletions Source/Core/DiscIO/VolumeCommon.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,24 +15,22 @@ IVolume::ECountry CountrySwitch(u8 CountryCode)
{
switch (CountryCode)
{
// Region free - fall through to European defaults for now
// Region free - Uses European flag as placeholder
case 'A':

return IVolume::COUNTRY_INTERNATIONAL;

// PAL
case 'D': // German
case 'D':
return IVolume::COUNTRY_GERMANY;

case 'X': // Used by a couple PAL games
case 'Y': // German, french

case 'Y': // German, French
case 'L': // Japanese import to PAL regions
case 'M': // Japanese import to PAL regions
case 'S': // Spanish-speaking regions
case 'P':
return IVolume::COUNTRY_EUROPE;

case 'U': // Australia
case 'U':
return IVolume::COUNTRY_AUSTRALIA;

case 'F':
Expand All @@ -41,9 +39,15 @@ IVolume::ECountry CountrySwitch(u8 CountryCode)
case 'I':
return IVolume::COUNTRY_ITALY;

case 'H':
return IVolume::COUNTRY_NETHERLANDS;

case 'R':
return IVolume::COUNTRY_RUSSIA;

case 'S':
return IVolume::COUNTRY_SPAIN;

// NTSC
case 'E':
case 'N': // Japanese import to USA and other NTSC regions
Expand All @@ -54,8 +58,8 @@ IVolume::ECountry CountrySwitch(u8 CountryCode)
return IVolume::COUNTRY_JAPAN;

case 'K':
case 'T': // Korea with English language
case 'Q': // Korea with Japanese language
case 'T': // Korea with English language
return IVolume::COUNTRY_KOREA;

case 'O':
Expand Down
16 changes: 11 additions & 5 deletions Source/Core/DolphinQt/Utils/Resources.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,21 @@ void Resources::Init()
QString dir = QString::fromStdString(File::GetSysDirectory() + "Resources/");

m_regions.resize(DiscIO::IVolume::NUMBER_OF_COUNTRIES);
m_regions[DiscIO::IVolume::COUNTRY_JAPAN].load(dir + SL("Flag_Japan.png"));
m_regions[DiscIO::IVolume::COUNTRY_EUROPE].load(dir + SL("Flag_Europe.png"));
m_regions[DiscIO::IVolume::COUNTRY_FRANCE].load(dir + SL("Flag_France.png"));
m_regions[DiscIO::IVolume::COUNTRY_RUSSIA].load(dir + SL("Flag_Unknown.png")); // TODO
m_regions[DiscIO::IVolume::COUNTRY_USA].load(dir + SL("Flag_USA.png"));
m_regions[DiscIO::IVolume::COUNTRY_JAPAN].load(dir + SL("Flag_Japan.png"));
m_regions[DiscIO::IVolume::COUNTRY_KOREA].load(dir + SL("Flag_Korea.png"));

m_regions[DiscIO::IVolume::COUNTRY_AUSTRALIA].load(dir + SL("Flag_Australia.png"));
m_regions[DiscIO::IVolume::COUNTRY_FRANCE].load(dir + SL("Flag_France.png"));
m_regions[DiscIO::IVolume::COUNTRY_GERMANY].load(dir + SL("Flag_Germany.png"));
m_regions[DiscIO::IVolume::COUNTRY_INTERNATIONAL].load(dir + SL("Flag_International.png"));
m_regions[DiscIO::IVolume::COUNTRY_ITALY].load(dir + SL("Flag_Italy.png"));
m_regions[DiscIO::IVolume::COUNTRY_TAIWAN].load(dir + SL("Flag_Taiwan.png"));
m_regions[DiscIO::IVolume::COUNTRY_KOREA].load(dir + SL("Flag_Korea.png"));
m_regions[DiscIO::IVolume::COUNTRY_NETHERLANDS].load(dir + SL("Flag_Netherlands.png"));
m_regions[DiscIO::IVolume::COUNTRY_RUSSIA].load(dir + SL("Flag_Russia.png"));
m_regions[DiscIO::IVolume::COUNTRY_SDK].load(dir + SL("Flag_SDK.png"));
m_regions[DiscIO::IVolume::COUNTRY_SPAIN].load(dir + SL("Flag_Spain.png"));
m_regions[DiscIO::IVolume::COUNTRY_TAIWAN].load(dir + SL("Flag_Taiwan.png"));
m_regions[DiscIO::IVolume::COUNTRY_UNKNOWN].load(dir + SL("Flag_Unknown.png"));

m_platforms.resize(3);
Expand Down
30 changes: 25 additions & 5 deletions Source/Core/DolphinWX/Frame.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -853,17 +853,32 @@ void CFrame::OnGameListCtrl_ItemActivated(wxListEvent& WXUNUSED (event))
(SConfig::GetInstance().m_ListJap &&
SConfig::GetInstance().m_ListUsa &&
SConfig::GetInstance().m_ListPal &&
SConfig::GetInstance().m_ListAustralia &&
SConfig::GetInstance().m_ListFrance &&
SConfig::GetInstance().m_ListGermany &&
SConfig::GetInstance().m_ListItaly &&
SConfig::GetInstance().m_ListKorea &&
SConfig::GetInstance().m_ListNetherlands &&
SConfig::GetInstance().m_ListRussia &&
SConfig::GetInstance().m_ListSpain &&
SConfig::GetInstance().m_ListTaiwan &&
SConfig::GetInstance().m_ListUnknown)))
{
SConfig::GetInstance().m_ListGC = SConfig::GetInstance().m_ListWii =
SConfig::GetInstance().m_ListWad = SConfig::GetInstance().m_ListJap =
SConfig::GetInstance().m_ListUsa = SConfig::GetInstance().m_ListPal =
SConfig::GetInstance().m_ListFrance = SConfig::GetInstance().m_ListItaly =
SConfig::GetInstance().m_ListKorea = SConfig::GetInstance().m_ListTaiwan =
SConfig::GetInstance().m_ListGC =
SConfig::GetInstance().m_ListWii =
SConfig::GetInstance().m_ListWad =
SConfig::GetInstance().m_ListJap =
SConfig::GetInstance().m_ListUsa =
SConfig::GetInstance().m_ListPal =
SConfig::GetInstance().m_ListAustralia =
SConfig::GetInstance().m_ListFrance =
SConfig::GetInstance().m_ListGermany =
SConfig::GetInstance().m_ListItaly =
SConfig::GetInstance().m_ListKorea =
SConfig::GetInstance().m_ListNetherlands =
SConfig::GetInstance().m_ListRussia =
SConfig::GetInstance().m_ListSpain =
SConfig::GetInstance().m_ListTaiwan =
SConfig::GetInstance().m_ListUnknown = true;

GetMenuBar()->FindItem(IDM_LISTGC)->Check(true);
Expand All @@ -872,9 +887,14 @@ void CFrame::OnGameListCtrl_ItemActivated(wxListEvent& WXUNUSED (event))
GetMenuBar()->FindItem(IDM_LISTJAP)->Check(true);
GetMenuBar()->FindItem(IDM_LISTUSA)->Check(true);
GetMenuBar()->FindItem(IDM_LISTPAL)->Check(true);
GetMenuBar()->FindItem(IDM_LISTAUSTRALIA)->Check(true);
GetMenuBar()->FindItem(IDM_LISTFRANCE)->Check(true);
GetMenuBar()->FindItem(IDM_LISTGERMANY)->Check(true);
GetMenuBar()->FindItem(IDM_LISTITALY)->Check(true);
GetMenuBar()->FindItem(IDM_LISTKOREA)->Check(true);
GetMenuBar()->FindItem(IDM_LISTNETHERLANDS)->Check(true);
GetMenuBar()->FindItem(IDM_LISTRUSSIA)->Check(true);
GetMenuBar()->FindItem(IDM_LISTSPAIN)->Check(true);
GetMenuBar()->FindItem(IDM_LISTTAIWAN)->Check(true);
GetMenuBar()->FindItem(IDM_LIST_UNK)->Check(true);

Expand Down
30 changes: 29 additions & 1 deletion Source/Core/DolphinWX/FrameTools.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -328,16 +328,29 @@ wxMenuBar* CFrame::CreateMenu()
regionMenu->AppendCheckItem(IDM_LISTUSA, _("Show USA"));
regionMenu->Check(IDM_LISTUSA, SConfig::GetInstance().m_ListUsa);
regionMenu->AppendSeparator();
regionMenu->AppendCheckItem(IDM_LISTAUSTRALIA, _("Show Australia"));
regionMenu->Check(IDM_LISTAUSTRALIA, SConfig::GetInstance().m_ListAustralia);
regionMenu->AppendCheckItem(IDM_LISTFRANCE, _("Show France"));
regionMenu->Check(IDM_LISTFRANCE, SConfig::GetInstance().m_ListFrance);
regionMenu->AppendCheckItem(IDM_LISTGERMANY, _("Show Germany"));
regionMenu->Check(IDM_LISTGERMANY, SConfig::GetInstance().m_ListGermany);
regionMenu->AppendCheckItem(IDM_LISTINTERNATIONAL, _("Show International"));
regionMenu->Check(IDM_LISTINTERNATIONAL, SConfig::GetInstance().m_ListInternational);
regionMenu->AppendCheckItem(IDM_LISTITALY, _("Show Italy"));
regionMenu->Check(IDM_LISTITALY, SConfig::GetInstance().m_ListItaly);
regionMenu->AppendCheckItem(IDM_LISTKOREA, _("Show Korea"));
regionMenu->Check(IDM_LISTKOREA, SConfig::GetInstance().m_ListKorea);
regionMenu->AppendCheckItem(IDM_LISTNETHERLANDS, _("Show Netherlands"));
regionMenu->Check(IDM_LISTNETHERLANDS, SConfig::GetInstance().m_ListNetherlands);
regionMenu->AppendCheckItem(IDM_LISTRUSSIA, _("Show Russia"));
regionMenu->Check(IDM_LISTRUSSIA, SConfig::GetInstance().m_ListRussia);
regionMenu->AppendCheckItem(IDM_LISTSPAIN, _("Show Spain"));
regionMenu->Check(IDM_LISTSPAIN, SConfig::GetInstance().m_ListSpain);
regionMenu->AppendCheckItem(IDM_LISTTAIWAN, _("Show Taiwan"));
regionMenu->Check(IDM_LISTTAIWAN, SConfig::GetInstance().m_ListTaiwan);
regionMenu->AppendCheckItem(IDM_LIST_UNK, _("Show unknown"));
regionMenu->AppendCheckItem(IDM_LIST_UNK, _("Show Unknown"));
regionMenu->Check(IDM_LIST_UNK, SConfig::GetInstance().m_ListUnknown);

viewMenu->AppendCheckItem(IDM_LISTDRIVES, _("Show Drives"));
viewMenu->Check(IDM_LISTDRIVES, SConfig::GetInstance().m_ListDrives);
viewMenu->Append(IDM_PURGECACHE, _("Purge Cache"));
Expand Down Expand Up @@ -1935,15 +1948,30 @@ void CFrame::GameListChanged(wxCommandEvent& event)
case IDM_LISTUSA:
SConfig::GetInstance().m_ListUsa = event.IsChecked();
break;
case IDM_LISTAUSTRALIA:
SConfig::GetInstance().m_ListAustralia = event.IsChecked();
break;
case IDM_LISTFRANCE:
SConfig::GetInstance().m_ListFrance = event.IsChecked();
break;
case IDM_LISTGERMANY:
SConfig::GetInstance().m_ListGermany = event.IsChecked();
break;
case IDM_LISTITALY:
SConfig::GetInstance().m_ListItaly = event.IsChecked();
break;
case IDM_LISTKOREA:
SConfig::GetInstance().m_ListKorea = event.IsChecked();
break;
case IDM_LISTNETHERLANDS:
SConfig::GetInstance().m_ListNetherlands = event.IsChecked();
break;
case IDM_LISTRUSSIA:
SConfig::GetInstance().m_ListRussia = event.IsChecked();
break;
case IDM_LISTSPAIN:
SConfig::GetInstance().m_ListSpain = event.IsChecked();
break;
case IDM_LISTTAIWAN:
SConfig::GetInstance().m_ListTaiwan = event.IsChecked();
break;
Expand Down

0 comments on commit ff8b3c7

Please sign in to comment.