diff --git a/Source/Android/assets/Dolphin.ini b/Source/Android/assets/Dolphin.ini index 2dbfe2ba35..1d0113587f 100644 --- a/Source/Android/assets/Dolphin.ini +++ b/Source/Android/assets/Dolphin.ini @@ -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 diff --git a/Source/Core/Core/ConfigManager.cpp b/Source/Core/Core/ConfigManager.cpp index f9e8c170a0..2c74b423b4 100644 --- a/Source/Core/Core/ConfigManager.cpp +++ b/Source/Core/Core/ConfigManager.cpp @@ -274,9 +274,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); @@ -478,21 +484,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("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("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); diff --git a/Source/Core/Core/ConfigManager.h b/Source/Core/Core/ConfigManager.h index c5a2cfbcc3..7c14d9dfb8 100644 --- a/Source/Core/Core/ConfigManager.h +++ b/Source/Core/Core/ConfigManager.h @@ -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; diff --git a/Source/Core/Core/CoreParameter.cpp b/Source/Core/Core/CoreParameter.cpp index bef3eb9f52..a8effe8a08 100644 --- a/Source/Core/Core/CoreParameter.cpp +++ b/Source/Core/Core/CoreParameter.cpp @@ -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_INTERNATIONAL: 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_SDK: + case DiscIO::IVolume::COUNTRY_UNKNOWN: default: if (PanicYesNoT("Your GCM/ISO file seems to be invalid (invalid country)." "\nContinue with PAL region?")) @@ -249,14 +255,18 @@ 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_INTERNATIONAL: case DiscIO::IVolume::COUNTRY_ITALY: case DiscIO::IVolume::COUNTRY_RUSSIA: bNTSC = false; Region = EUR_DIR; break; + case DiscIO::IVolume::COUNTRY_SDK: + case DiscIO::IVolume::COUNTRY_UNKNOWN: default: bNTSC = false; Region = EUR_DIR; diff --git a/Source/Core/DiscIO/Volume.h b/Source/Core/DiscIO/Volume.h index 0b10bf2387..09442c89df 100644 --- a/Source/Core/DiscIO/Volume.h +++ b/Source/Core/DiscIO/Volume.h @@ -34,20 +34,24 @@ public: virtual bool CheckIntegrity() const { return false; } virtual bool IsDiscTwo() const { return false; } + // Increment CACHE_REVISION if values are changed (ISOFile.cpp) enum ECountry { COUNTRY_EUROPE = 0, - COUNTRY_FRANCE, - COUNTRY_RUSSIA, - COUNTRY_USA, COUNTRY_JAPAN, - COUNTRY_KOREA, + COUNTRY_USA, + COUNTRY_AUSTRALIA, + COUNTRY_FRANCE, + COUNTRY_GERMANY, + COUNTRY_INTERNATIONAL, COUNTRY_ITALY, + COUNTRY_KOREA, + COUNTRY_NETHERLANDS, + COUNTRY_RUSSIA, + COUNTRY_SPAIN, COUNTRY_TAIWAN, COUNTRY_SDK, COUNTRY_UNKNOWN, - COUNTRY_GERMANY, - COUNTRY_AUSTRALIA, NUMBER_OF_COUNTRIES }; diff --git a/Source/Core/DiscIO/VolumeCommon.cpp b/Source/Core/DiscIO/VolumeCommon.cpp index 7da110403a..69a9cc8981 100644 --- a/Source/Core/DiscIO/VolumeCommon.cpp +++ b/Source/Core/DiscIO/VolumeCommon.cpp @@ -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': @@ -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 @@ -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': diff --git a/Source/Core/DolphinQt/Utils/Resources.cpp b/Source/Core/DolphinQt/Utils/Resources.cpp index 0056f4f972..0826c04b22 100644 --- a/Source/Core/DolphinQt/Utils/Resources.cpp +++ b/Source/Core/DolphinQt/Utils/Resources.cpp @@ -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_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_EUROPE].load(dir + SL("Flag_Europe.png")); + m_regions[DiscIO::IVolume::COUNTRY_USA].load(dir + SL("Flag_USA.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_Europe.png")); // Uses European flag as a placeholder 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); diff --git a/Source/Core/DolphinWX/Frame.cpp b/Source/Core/DolphinWX/Frame.cpp index 1d42b02a55..3784ae4bc9 100644 --- a/Source/Core/DolphinWX/Frame.cpp +++ b/Source/Core/DolphinWX/Frame.cpp @@ -836,17 +836,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); @@ -855,9 +870,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); diff --git a/Source/Core/DolphinWX/FrameTools.cpp b/Source/Core/DolphinWX/FrameTools.cpp index 22dbdc0e6d..b9aa252275 100644 --- a/Source/Core/DolphinWX/FrameTools.cpp +++ b/Source/Core/DolphinWX/FrameTools.cpp @@ -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")); @@ -1936,15 +1949,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; diff --git a/Source/Core/DolphinWX/GameListCtrl.cpp b/Source/Core/DolphinWX/GameListCtrl.cpp index f94f59484e..d95daa8d62 100644 --- a/Source/Core/DolphinWX/GameListCtrl.cpp +++ b/Source/Core/DolphinWX/GameListCtrl.cpp @@ -72,8 +72,10 @@ #include "DolphinWX/resources/Flag_Italy.xpm" #include "DolphinWX/resources/Flag_Japan.xpm" #include "DolphinWX/resources/Flag_Korea.xpm" +#include "DolphinWX/resources/Flag_Netherlands.xpm" #include "DolphinWX/resources/Flag_Russia.xpm" #include "DolphinWX/resources/Flag_SDK.xpm" +#include "DolphinWX/resources/Flag_Spain.xpm" #include "DolphinWX/resources/Flag_Taiwan.xpm" #include "DolphinWX/resources/Flag_Unknown.xpm" #include "DolphinWX/resources/Flag_USA.xpm" @@ -223,18 +225,21 @@ void CGameListCtrl::InitBitmaps() SetImageList(m_imageListSmall, wxIMAGE_LIST_SMALL); m_FlagImageIndex.resize(DiscIO::IVolume::NUMBER_OF_COUNTRIES); - m_FlagImageIndex[DiscIO::IVolume::COUNTRY_EUROPE] = m_imageListSmall->Add(wxBitmap(Flag_Europe_xpm)); - m_FlagImageIndex[DiscIO::IVolume::COUNTRY_GERMANY] = m_imageListSmall->Add(wxBitmap(Flag_Germany_xpm)); - m_FlagImageIndex[DiscIO::IVolume::COUNTRY_FRANCE] = m_imageListSmall->Add(wxBitmap(Flag_France_xpm)); - m_FlagImageIndex[DiscIO::IVolume::COUNTRY_USA] = m_imageListSmall->Add(wxBitmap(Flag_USA_xpm)); - m_FlagImageIndex[DiscIO::IVolume::COUNTRY_JAPAN] = m_imageListSmall->Add(wxBitmap(Flag_Japan_xpm)); - m_FlagImageIndex[DiscIO::IVolume::COUNTRY_KOREA] = m_imageListSmall->Add(wxBitmap(Flag_Korea_xpm)); - m_FlagImageIndex[DiscIO::IVolume::COUNTRY_ITALY] = m_imageListSmall->Add(wxBitmap(Flag_Italy_xpm)); - m_FlagImageIndex[DiscIO::IVolume::COUNTRY_TAIWAN] = m_imageListSmall->Add(wxBitmap(Flag_Taiwan_xpm)); - m_FlagImageIndex[DiscIO::IVolume::COUNTRY_RUSSIA] = m_imageListSmall->Add(wxBitmap(Flag_Russia_xpm)); - m_FlagImageIndex[DiscIO::IVolume::COUNTRY_AUSTRALIA] = m_imageListSmall->Add(wxBitmap(Flag_Australia_xpm)); - m_FlagImageIndex[DiscIO::IVolume::COUNTRY_SDK] = m_imageListSmall->Add(wxBitmap(Flag_SDK_xpm)); - m_FlagImageIndex[DiscIO::IVolume::COUNTRY_UNKNOWN] = m_imageListSmall->Add(wxBitmap(Flag_Unknown_xpm)); + m_FlagImageIndex[DiscIO::IVolume::COUNTRY_JAPAN] = m_imageListSmall->Add(wxBitmap(Flag_Japan_xpm)); + m_FlagImageIndex[DiscIO::IVolume::COUNTRY_EUROPE] = m_imageListSmall->Add(wxBitmap(Flag_Europe_xpm)); + m_FlagImageIndex[DiscIO::IVolume::COUNTRY_USA] = m_imageListSmall->Add(wxBitmap(Flag_USA_xpm)); + m_FlagImageIndex[DiscIO::IVolume::COUNTRY_AUSTRALIA] = m_imageListSmall->Add(wxBitmap(Flag_Australia_xpm)); + m_FlagImageIndex[DiscIO::IVolume::COUNTRY_FRANCE] = m_imageListSmall->Add(wxBitmap(Flag_France_xpm)); + m_FlagImageIndex[DiscIO::IVolume::COUNTRY_GERMANY] = m_imageListSmall->Add(wxBitmap(Flag_Germany_xpm)); + m_FlagImageIndex[DiscIO::IVolume::COUNTRY_INTERNATIONAL] = m_imageListSmall->Add(wxBitmap(Flag_Europe_xpm)); // Uses European flag as a placeholder + m_FlagImageIndex[DiscIO::IVolume::COUNTRY_ITALY] = m_imageListSmall->Add(wxBitmap(Flag_Italy_xpm)); + m_FlagImageIndex[DiscIO::IVolume::COUNTRY_KOREA] = m_imageListSmall->Add(wxBitmap(Flag_Korea_xpm)); + m_FlagImageIndex[DiscIO::IVolume::COUNTRY_NETHERLANDS] = m_imageListSmall->Add(wxBitmap(Flag_Netherlands_xpm)); + m_FlagImageIndex[DiscIO::IVolume::COUNTRY_RUSSIA] = m_imageListSmall->Add(wxBitmap(Flag_Russia_xpm)); + m_FlagImageIndex[DiscIO::IVolume::COUNTRY_SDK] = m_imageListSmall->Add(wxBitmap(Flag_SDK_xpm)); + m_FlagImageIndex[DiscIO::IVolume::COUNTRY_SPAIN] = m_imageListSmall->Add(wxBitmap(Flag_Spain_xpm)); + m_FlagImageIndex[DiscIO::IVolume::COUNTRY_TAIWAN] = m_imageListSmall->Add(wxBitmap(Flag_Taiwan_xpm)); + m_FlagImageIndex[DiscIO::IVolume::COUNTRY_UNKNOWN] = m_imageListSmall->Add(wxBitmap(Flag_Unknown_xpm)); m_PlatformImageIndex.resize(3); m_PlatformImageIndex[0] = m_imageListSmall->Add(wxBitmap(Platform_Gamecube_xpm)); @@ -625,6 +630,22 @@ void CGameListCtrl::ScanForISOs() switch(iso_file->GetCountry()) { + case DiscIO::IVolume::COUNTRY_AUSTRALIA: + if (!SConfig::GetInstance().m_ListAustralia) + list = false; + break; + case DiscIO::IVolume::COUNTRY_GERMANY: + if (!SConfig::GetInstance().m_ListGermany) + list = false; + break; + case DiscIO::IVolume::COUNTRY_RUSSIA: + if (!SConfig::GetInstance().m_ListRussia) + list = false; + break; + case DiscIO::IVolume::COUNTRY_UNKNOWN: + if (!SConfig::GetInstance().m_ListUnknown) + list = false; + break; case DiscIO::IVolume::COUNTRY_TAIWAN: if (!SConfig::GetInstance().m_ListTaiwan) list = false; @@ -649,6 +670,14 @@ void CGameListCtrl::ScanForISOs() if (!SConfig::GetInstance().m_ListItaly) list = false; break; + case DiscIO::IVolume::COUNTRY_SPAIN: + if (!SConfig::GetInstance().m_ListSpain) + list = false; + break; + case DiscIO::IVolume::COUNTRY_NETHERLANDS: + if (!SConfig::GetInstance().m_ListNetherlands) + list = false; + break; default: if (!SConfig::GetInstance().m_ListPal) list = false; diff --git a/Source/Core/DolphinWX/Globals.h b/Source/Core/DolphinWX/Globals.h index 6e6554462a..edbd89bf6a 100644 --- a/Source/Core/DolphinWX/Globals.h +++ b/Source/Core/DolphinWX/Globals.h @@ -127,9 +127,15 @@ enum IDM_LISTJAP, IDM_LISTPAL, IDM_LISTUSA, + IDM_LISTAUSTRALIA, IDM_LISTFRANCE, + IDM_LISTGERMANY, + IDM_LISTINTERNATIONAL, IDM_LISTITALY, IDM_LISTKOREA, + IDM_LISTNETHERLANDS, + IDM_LISTRUSSIA, + IDM_LISTSPAIN, IDM_LISTTAIWAN, IDM_LIST_UNK, IDM_LISTDRIVES, diff --git a/Source/Core/DolphinWX/ISOFile.cpp b/Source/Core/DolphinWX/ISOFile.cpp index deb6df8c8c..b4dbdf91d2 100644 --- a/Source/Core/DolphinWX/ISOFile.cpp +++ b/Source/Core/DolphinWX/ISOFile.cpp @@ -37,7 +37,7 @@ #include "DolphinWX/ISOFile.h" #include "DolphinWX/WxUtils.h" -static const u32 CACHE_REVISION = 0x115; +static const u32 CACHE_REVISION = 0x116; #define DVD_BANNER_WIDTH 96 #define DVD_BANNER_HEIGHT 32 diff --git a/Source/Core/DolphinWX/ISOProperties.cpp b/Source/Core/DolphinWX/ISOProperties.cpp index f2d0a501ae..487ab94544 100644 --- a/Source/Core/DolphinWX/ISOProperties.cpp +++ b/Source/Core/DolphinWX/ISOProperties.cpp @@ -196,18 +196,33 @@ CISOProperties::CISOProperties(const std::string fileName, wxWindow* parent, wxW m_GameID->SetValue(StrToWxStr(OpenISO->GetUniqueID())); switch (OpenISO->GetCountry()) { + case DiscIO::IVolume::COUNTRY_AUSTRALIA: + m_Country->SetValue(_("AUSTRALIA")); + break; case DiscIO::IVolume::COUNTRY_EUROPE: m_Country->SetValue(_("EUROPE")); break; case DiscIO::IVolume::COUNTRY_FRANCE: m_Country->SetValue(_("FRANCE")); break; + case DiscIO::IVolume::COUNTRY_INTERNATIONAL: + m_Country->SetValue(_("INTERNATIONAL")); + break; case DiscIO::IVolume::COUNTRY_ITALY: m_Country->SetValue(_("ITALY")); break; + case DiscIO::IVolume::COUNTRY_GERMANY: + m_Country->SetValue(_("GERMANY")); + break; + case DiscIO::IVolume::COUNTRY_NETHERLANDS: + m_Country->SetValue(_("NETHERLANDS")); + break; case DiscIO::IVolume::COUNTRY_RUSSIA: m_Country->SetValue(_("RUSSIA")); break; + case DiscIO::IVolume::COUNTRY_SPAIN: + m_Country->SetValue(_("SPAIN")); + break; case DiscIO::IVolume::COUNTRY_USA: m_Country->SetValue(_("USA")); if (!IsWad) // For (non wad) NTSC Games, there's no multi lang @@ -241,6 +256,7 @@ CISOProperties::CISOProperties(const std::string fileName, wxWindow* parent, wxW case DiscIO::IVolume::COUNTRY_SDK: m_Country->SetValue(_("No Country (SDK)")); break; + case DiscIO::IVolume::COUNTRY_UNKNOWN: default: m_Country->SetValue(_("UNKNOWN")); break; diff --git a/Source/Core/DolphinWX/resources/Flag_Netherlands.xpm b/Source/Core/DolphinWX/resources/Flag_Netherlands.xpm new file mode 100644 index 0000000000..c02e098412 --- /dev/null +++ b/Source/Core/DolphinWX/resources/Flag_Netherlands.xpm @@ -0,0 +1,43 @@ +/* XPM */ +static const char * Flag_Netherlands_xpm[] = { +"96 32 8 1", +" c None", +". c #000000", +"+ c #AE1C28", +"@ c #C3565F", +"# c #FFFFFF", +"$ c #526EA5", +"% c #1F448A", +"& c #21468B", +" ", +" ", +" ", +" ", +"................................ ", +".++++++++++++++++++++++++++++++. ", +".++++++++++++++++++++++++++++++. ", +".++++++++++++++++++++++++++++++. ", +".++++++++++++++++++++++++++++++. ", +".++++++++++++++++++++++++++++++. ", +".++++++++++++++++++++++++++++++. ", +".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. ", +".##############################. ", +".##############################. ", +".##############################. ", +".##############################. ", +".##############################. ", +".##############################. ", +".$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$. ", +".%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%. ", +".&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&. ", +".&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&. ", +".&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&. ", +".&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&. ", +".&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&. ", +"................................ ", +" ", +" ", +" ", +" ", +" ", +" "}; diff --git a/Source/Core/DolphinWX/resources/Flag_Spain.xpm b/Source/Core/DolphinWX/resources/Flag_Spain.xpm new file mode 100644 index 0000000000..09d1cffb4b --- /dev/null +++ b/Source/Core/DolphinWX/resources/Flag_Spain.xpm @@ -0,0 +1,94 @@ +/* XPM */ +static const char * Flag_Spain_xpm[] = { +"96 32 59 1", +" c None", +". c #000000", +"+ c #C60B1E", +"@ c #FFC400", +"# c #E8B707", +"$ c #E6B709", +"% c #FAC006", +"& c #C08113", +"* c #B9720D", +"= c #B9720E", +"- c #BF8113", +"; c #FAC005", +"> c #D99F03", +", c #D69A03", +"' c #C47F08", +") c #A37D0A", +"! c #AB7D0A", +"~ c #C58109", +"{ c #DDA102", +"] c #E3B91B", +"^ c #DCB41F", +"/ c #A73C12", +"( c #A83D11", +"_ c #B59BA2", +": c #C5A6A9", +"< c #DDB420", +"[ c #DFB61E", +"} c #CE872D", +"| c #C67C30", +"1 c #925318", +"2 c #854523", +"3 c #A17C89", +"4 c #C6A0B1", +"5 c #C77F2F", +"6 c #C8822E", +"7 c #D59433", +"8 c #CD8D39", +"9 c #A64D1B", +"0 c #7C423D", +"a c #7D4443", +"b c #B9572A", +"c c #CC8C39", +"d c #D08E35", +"e c #E3B72C", +"f c #DDB632", +"g c #A7560E", +"h c #AB580D", +"i c #B44C15", +"j c #B34C13", +"k c #DDB52E", +"l c #DEB32E", +"m c #C7AA2D", +"n c #C6AD31", +"o c #C4872C", +"p c #B58955", +"q c #B9885E", +"r c #CF8932", +"s c #C6AC2F", +"t c #C4AA2E", +" ", +" ", +" ", +" ", +"................................ ", +".++++++++++++++++++++++++++++++. ", +".++++++++++++++++++++++++++++++. ", +".++++++++++++++++++++++++++++++. ", +".++++++++++++++++++++++++++++++. ", +".++++++++++++++++++++++++++++++. ", +".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. ", +".@@@@@@@@@#$@@@@@@@@@@@@@@@@@@@. ", +".@@@@@@@%&*=-;@@@@@@@@@@@@@@@@@. ", +".@@@@@@>,')!~{{@@@@@@@@@@@@@@@@. ", +".@@@@@@]^/(_:<[@@@@@@@@@@@@@@@@. ", +".@@@@@@}|123456@@@@@@@@@@@@@@@@. ", +".@@@@@@7890abcd@@@@@@@@@@@@@@@@. ", +".@@@@@@efghijkl@@@@@@@@@@@@@@@@. ", +".@@@@@@mnopqrst@@@@@@@@@@@@@@@@. ", +".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. ", +".++++++++++++++++++++++++++++++. ", +".++++++++++++++++++++++++++++++. ", +".++++++++++++++++++++++++++++++. ", +".++++++++++++++++++++++++++++++. ", +".++++++++++++++++++++++++++++++. ", +"................................ ", +" ", +" ", +" ", +" ", +" ", +" "};