summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorsl1nk3.s <sl1nk3.s@gmail.com>2009-09-25 16:29:00 +0000
committersl1nk3.s <sl1nk3.s@gmail.com>2009-09-25 16:29:00 +0000
commitd2f4183a6b2d57086348b4ffec0714f42e86e510 (patch)
tree6207af488280e93835fee1f53771b214951e2249 /Source/Core
parentbb9d5197ce4b29490175ac9457e824768d703405 (diff)
Some GUI changes, added keyboard search and reworked "emulation state" a bit
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4320 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/DolphinWX/Src/Frame.cpp8
-rw-r--r--Source/Core/DolphinWX/Src/FrameTools.cpp3
-rw-r--r--Source/Core/DolphinWX/Src/GameListCtrl.cpp284
-rw-r--r--Source/Core/DolphinWX/Src/GameListCtrl.h22
-rw-r--r--Source/Core/DolphinWX/Src/ISOProperties.cpp8
-rw-r--r--Source/Core/DolphinWX/resources/Platform_Gamecube.xpm608
-rw-r--r--Source/Core/DolphinWX/resources/Platform_Wad.xpm609
-rw-r--r--Source/Core/DolphinWX/resources/Platform_Wii.xpm520
-rw-r--r--Source/Core/DolphinWX/resources/rating_gamelist.h451
9 files changed, 1490 insertions, 1023 deletions
diff --git a/Source/Core/DolphinWX/Src/Frame.cpp b/Source/Core/DolphinWX/Src/Frame.cpp
index 31e08368a3..0d3dd1fa9b 100644
--- a/Source/Core/DolphinWX/Src/Frame.cpp
+++ b/Source/Core/DolphinWX/Src/Frame.cpp
@@ -679,11 +679,11 @@ void CFrame::OnGameListCtrl_ItemActivated(wxListEvent& WXUNUSED (event))
// 2. Boot the default or last loaded iso.
// 3. Call BrowseForDirectory if the gamelist is empty
if (!m_GameListCtrl->GetGameNames().size() &&
- !((SConfig::GetInstance().m_ListGC ||
- SConfig::GetInstance().m_ListWii ||
+ !((SConfig::GetInstance().m_ListGC &&
+ SConfig::GetInstance().m_ListWii &&
SConfig::GetInstance().m_ListWad) &&
- (SConfig::GetInstance().m_ListJap ||
- SConfig::GetInstance().m_ListUsa ||
+ (SConfig::GetInstance().m_ListJap &&
+ SConfig::GetInstance().m_ListUsa &&
SConfig::GetInstance().m_ListPal)))
{
SConfig::GetInstance().m_ListGC = SConfig::GetInstance().m_ListWii =
diff --git a/Source/Core/DolphinWX/Src/FrameTools.cpp b/Source/Core/DolphinWX/Src/FrameTools.cpp
index 15a066d345..eb7fcb17d7 100644
--- a/Source/Core/DolphinWX/Src/FrameTools.cpp
+++ b/Source/Core/DolphinWX/Src/FrameTools.cpp
@@ -953,11 +953,10 @@ void CFrame::UpdateGUI()
}
}
+ if (m_ToolBar) m_ToolBar->Refresh();
if (g_pCodeWindow) g_pCodeWindow->Update();
// Commit changes to manager
- if (m_ToolBar)
- m_ToolBar->Refresh();
m_Mgr->Update();
}
diff --git a/Source/Core/DolphinWX/Src/GameListCtrl.cpp b/Source/Core/DolphinWX/Src/GameListCtrl.cpp
index 962da621f5..dc197ce3e9 100644
--- a/Source/Core/DolphinWX/Src/GameListCtrl.cpp
+++ b/Source/Core/DolphinWX/Src/GameListCtrl.cpp
@@ -46,13 +46,14 @@
#include "../resources/Platform_Wad.xpm"
#include "../resources/Platform_Wii.xpm"
#include "../resources/Platform_Gamecube.xpm"
+
+ #include "../resources/rating_gamelist.h"
#endif // USE_XPM_BITMAPS
size_t CGameListCtrl::m_currentItem = 0;
size_t CGameListCtrl::m_numberItem = 0;
std::string CGameListCtrl::m_currentFilename;
-
static int currentColumn = 0;
bool operator < (const GameListItem &one, const GameListItem &other)
{
@@ -85,25 +86,32 @@ bool operator < (const GameListItem &one, const GameListItem &other)
}
}
-BEGIN_EVENT_TABLE(CGameListCtrl, wxListCtrl)
-EVT_SIZE(CGameListCtrl::OnSize)
-EVT_RIGHT_DOWN(CGameListCtrl::OnRightClick)
-EVT_LIST_COL_BEGIN_DRAG(LIST_CTRL, CGameListCtrl::OnColBeginDrag)
-EVT_LIST_COL_CLICK(LIST_CTRL, CGameListCtrl::OnColumnClick)
-EVT_MENU(IDM_PROPERTIES, CGameListCtrl::OnProperties)
-EVT_MENU(IDM_OPENCONTAININGFOLDER, CGameListCtrl::OnOpenContainingFolder)
-EVT_MENU(IDM_OPENSAVEFOLDER, CGameListCtrl::OnOpenSaveFolder)
-EVT_MENU(IDM_SETDEFAULTGCM, CGameListCtrl::OnSetDefaultGCM)
-EVT_MENU(IDM_COMPRESSGCM, CGameListCtrl::OnCompressGCM)
-EVT_MENU(IDM_MULTICOMPRESSGCM, CGameListCtrl::OnMultiCompressGCM)
-EVT_MENU(IDM_MULTIDECOMPRESSGCM, CGameListCtrl::OnMultiDecompressGCM)
-EVT_MENU(IDM_DELETEGCM, CGameListCtrl::OnDeleteGCM)
-EVT_MENU(IDM_INSTALLWAD, CGameListCtrl::OnInstallWAD)
+BEGIN_EVENT_TABLE(wxEmuStateTip, wxTipWindow)
+ EVT_KEY_DOWN(wxEmuStateTip::OnKeyDown)
+END_EVENT_TABLE()
+
+BEGIN_EVENT_TABLE(CGameListCtrl, wxListCtrl)
+ EVT_SIZE(CGameListCtrl::OnSize)
+ EVT_RIGHT_DOWN(CGameListCtrl::OnRightClick)
+ EVT_LIST_KEY_DOWN(LIST_CTRL, CGameListCtrl::OnKeyPress)
+ EVT_MOTION(CGameListCtrl::OnMouseMotion)
+ EVT_LIST_COL_BEGIN_DRAG(LIST_CTRL, CGameListCtrl::OnColBeginDrag)
+ EVT_LIST_COL_CLICK(LIST_CTRL, CGameListCtrl::OnColumnClick)
+ EVT_MENU(IDM_PROPERTIES, CGameListCtrl::OnProperties)
+ EVT_MENU(IDM_OPENCONTAININGFOLDER, CGameListCtrl::OnOpenContainingFolder)
+ EVT_MENU(IDM_OPENSAVEFOLDER, CGameListCtrl::OnOpenSaveFolder)
+ EVT_MENU(IDM_SETDEFAULTGCM, CGameListCtrl::OnSetDefaultGCM)
+ EVT_MENU(IDM_COMPRESSGCM, CGameListCtrl::OnCompressGCM)
+ EVT_MENU(IDM_MULTICOMPRESSGCM, CGameListCtrl::OnMultiCompressGCM)
+ EVT_MENU(IDM_MULTIDECOMPRESSGCM, CGameListCtrl::OnMultiDecompressGCM)
+ EVT_MENU(IDM_DELETEGCM, CGameListCtrl::OnDeleteGCM)
+ EVT_MENU(IDM_INSTALLWAD, CGameListCtrl::OnInstallWAD)
END_EVENT_TABLE()
+
CGameListCtrl::CGameListCtrl(wxWindow* parent, const wxWindowID id, const wxPoint& pos, const wxSize& size, long style)
- : wxListCtrl(parent, id, pos, size, style)
+ : wxListCtrl(parent, id, pos, size, style), toolTip(0)
{
}
@@ -147,6 +155,20 @@ void CGameListCtrl::InitBitmaps()
m_PlatformImageIndex[1] = m_imageListSmall->Add(iconTemp);
iconTemp.CopyFromBitmap(wxBitmap(Platform_Wad_xpm));
m_PlatformImageIndex[2] = m_imageListSmall->Add(iconTemp);
+
+ m_EmuStateImageIndex.resize(6);
+ iconTemp.CopyFromBitmap(wxBitmap(rating_0));
+ m_EmuStateImageIndex[0] = m_imageListSmall->Add(iconTemp);
+ iconTemp.CopyFromBitmap(wxBitmap(rating_1));
+ m_EmuStateImageIndex[1] = m_imageListSmall->Add(iconTemp);
+ iconTemp.CopyFromBitmap(wxBitmap(rating_2));
+ m_EmuStateImageIndex[2] = m_imageListSmall->Add(iconTemp);
+ iconTemp.CopyFromBitmap(wxBitmap(rating_3));
+ m_EmuStateImageIndex[3] = m_imageListSmall->Add(iconTemp);
+ iconTemp.CopyFromBitmap(wxBitmap(rating_4));
+ m_EmuStateImageIndex[4] = m_imageListSmall->Add(iconTemp);
+ iconTemp.CopyFromBitmap(wxBitmap(rating_5));
+ m_EmuStateImageIndex[5] = m_imageListSmall->Add(iconTemp);
}
void CGameListCtrl::BrowseForDirectory()
@@ -206,6 +228,7 @@ void CGameListCtrl::Update()
Show();
// add columns
+ InsertColumn(COLUMN_PLATFORM, _(""));
InsertColumn(COLUMN_BANNER, _("Banner"));
InsertColumn(COLUMN_TITLE, _("Title"));
InsertColumn(COLUMN_COMPANY, _("Company"));
@@ -213,17 +236,16 @@ void CGameListCtrl::Update()
InsertColumn(COLUMN_COUNTRY, _(""));
InsertColumn(COLUMN_SIZE, _("Size"));
InsertColumn(COLUMN_EMULATION_STATE, _("Emulation"));
- InsertColumn(COLUMN_PLATFORM, _("Platform"));
// set initial sizes for columns
- SetColumnWidth(COLUMN_BANNER, 106);
+ SetColumnWidth(COLUMN_PLATFORM, 35);
+ SetColumnWidth(COLUMN_BANNER, 96);
SetColumnWidth(COLUMN_TITLE, 150);
SetColumnWidth(COLUMN_COMPANY, 130);
SetColumnWidth(COLUMN_NOTES, 150);
SetColumnWidth(COLUMN_COUNTRY, 32);
- SetColumnWidth(COLUMN_EMULATION_STATE, 120);
- SetColumnWidth(COLUMN_PLATFORM, 50);
+ SetColumnWidth(COLUMN_EMULATION_STATE, 50);
Hide();
@@ -235,16 +257,23 @@ void CGameListCtrl::Update()
SetItemTextColour(i, wxColour(0xFF0000));
}
+ // Sort items by Title
+ wxListEvent event;
+ event.m_col = COLUMN_TITLE; last_column = 0;
+ OnColumnClick(event);
+
SetColumnWidth(COLUMN_SIZE, wxLIST_AUTOSIZE);
}
else
{
wxString errorString;
- if ((SConfig::GetInstance().m_ListGC ||
- SConfig::GetInstance().m_ListWii ||
+ // We just check for one hide setting to be enabled, as we may only have GC games
+ // for example, and hide them, so we should show the second message instead
+ if ((SConfig::GetInstance().m_ListGC &&
+ SConfig::GetInstance().m_ListWii &&
SConfig::GetInstance().m_ListWad) &&
- (SConfig::GetInstance().m_ListJap ||
- SConfig::GetInstance().m_ListUsa ||
+ (SConfig::GetInstance().m_ListJap &&
+ SConfig::GetInstance().m_ListUsa &&
SConfig::GetInstance().m_ListPal))
{
errorString = _("Dolphin could not find any GC/Wii ISOs. Doubleclick here to browse for files...");
@@ -253,11 +282,10 @@ void CGameListCtrl::Update()
{
errorString = _("Dolphin is currently set to hide all games. Doubleclick here to show all games...");
}
- InsertColumn(COLUMN_BANNER, _("No ISOs or WADS found"));
- long index = InsertItem(0, wxString::FromAscii("msgRow"));
- SetItem(index, COLUMN_BANNER, errorString);
+ InsertColumn(0, _("No ISOs or WADS found"));
+ long index = InsertItem(0, errorString);
SetItemFont(index, *wxITALIC_FONT);
- SetColumnWidth(COLUMN_BANNER, wxLIST_AUTOSIZE);
+ SetColumnWidth(0, wxLIST_AUTOSIZE);
}
Show();
@@ -308,14 +336,14 @@ void CGameListCtrl::InsertItemInReportView(long _Index)
m_gamePath.append(std::string(rISOFile.GetFileName()) + '\n');
int ImageIndex = -1;
-
if (rISOFile.GetImage().IsOk())
- {
ImageIndex = m_imageListSmall->Add(rISOFile.GetImage());
- }
- // Insert a row with the banner image
- long ItemIndex = InsertItem(_Index, wxEmptyString, ImageIndex);
+ // Insert a row with the platform image, that will be used as the Index
+ long ItemIndex = InsertItem(_Index, wxEmptyString, m_PlatformImageIndex[rISOFile.GetPlatform()]);
+
+ // Set the game's banner in the second column
+ SetItemColumnImage(_Index, COLUMN_BANNER, ImageIndex);
switch (rISOFile.GetCountry())
{
@@ -357,57 +385,16 @@ void CGameListCtrl::InsertItemInReportView(long _Index)
std::string GameIni = FULL_GAMECONFIG_DIR + (rISOFile.GetUniqueID()) + ".ini";
ini.Load(GameIni.c_str());
- // Emulation status = COLUMN_EMULATION_STATE
- {
- wxListItem item;
- item.SetId(_Index);
- std::string EmuState;
- std::string issues;
- item.SetColumn(COLUMN_EMULATION_STATE);
- ini.Get("EmuState","EmulationStateId",&EmuState);
- if (!EmuState.empty())
- {
- switch(atoi(EmuState.c_str()))
- {
- case 5:
- item.SetText(_("Perfect"));
- break;
- case 4:
- item.SetText(_("In Game"));
- break;
- case 3:
- item.SetText(_("Intro"));
- break;
- case 2:
- //NOTE (Daco): IMO under 2 goes problems like music and games that only work with specific settings
- ini.Get("EmuState","EmulationIssues",&issues);
- if (!issues.empty())
- {
- issues = "Problems: " + issues;
- item.SetText(wxString::FromAscii(issues.c_str()));
- }
- else
- item.SetText(_("Problems: Other"));
- break;
- case 1:
- item.SetText(_("Broken"));
- break;
- case 0:
- item.SetText(_("Not Set"));
- break;
- default:
- //if the EmuState isn't a number between 0 & 5 we dont know the state D:
- item.SetText(_("unknown emu ID"));
- break;
- }
- }
- SetItem(item);
- }
+ // Emulation status
+ int nState;
+
+ ini.Get("EmuState", "EmulationStateId", &nState);
+
+ // Emulation state
+ SetItemColumnImage(_Index, COLUMN_EMULATION_STATE, m_EmuStateImageIndex[nState]);
// Country
SetItemColumnImage(_Index, COLUMN_COUNTRY, m_FlagImageIndex[rISOFile.GetCountry()]);
- //Platform
- SetItemColumnImage(_Index, COLUMN_PLATFORM, m_PlatformImageIndex[rISOFile.GetPlatform()]);
// Background color
SetBackgroundColor();
@@ -640,6 +627,19 @@ int wxCALLBACK wxListCompare(long item1, long item2, long sortData)
if(iso1->GetPlatform() > iso2->GetPlatform()) return 1 *t;
if(iso1->GetPlatform() < iso2->GetPlatform()) return -1 *t;
return 0;
+ case CGameListCtrl::COLUMN_EMULATION_STATE:
+ IniFile ini; int nState1 = 0, nState2 = 0;
+ std::string GameIni1 = FULL_GAMECONFIG_DIR + iso1->GetUniqueID() + ".ini";
+ std::string GameIni2 = FULL_GAMECONFIG_DIR + iso2->GetUniqueID() + ".ini";
+
+ ini.Load(GameIni1.c_str());
+ ini.Get("EmuState", "EmulationStateId", &nState1);
+ ini.Load(GameIni2.c_str());
+ ini.Get("EmuState", "EmulationStateId", &nState2);
+
+ if(nState1 > nState2) return 1 *t;
+ if(nState1 < nState2) return -1 *t;
+ return 0;
}
return 0;
@@ -647,7 +647,7 @@ int wxCALLBACK wxListCompare(long item1, long item2, long sortData)
void CGameListCtrl::OnColumnClick(wxListEvent& event)
{
- if(event.GetColumn() != COLUMN_BANNER && event.GetColumn() != COLUMN_EMULATION_STATE)
+ if(event.GetColumn() != COLUMN_BANNER)
{
int current_column = event.GetColumn();
@@ -670,6 +670,107 @@ void CGameListCtrl::OnColumnClick(wxListEvent& event)
event.Skip();
}
+// This is used by keyboard gamelist search
+void CGameListCtrl::OnKeyPress(wxListEvent& event)
+{
+ static int lastKey = 0, sLoop = 0;
+ int Loop = 0;
+
+ for (int i = 0; i < (int)m_ISOFiles.size(); i++)
+ {
+ // Easy way to get game string
+ wxListItem bleh;
+ bleh.SetId(i);
+ bleh.SetColumn(COLUMN_TITLE);
+ bleh.SetMask(wxLIST_MASK_TEXT);
+ GetItem(bleh);
+
+ wxString text = bleh.GetText();
+
+ if (text.MakeUpper().at(0) == event.GetKeyCode())
+ {
+ if (lastKey == event.GetKeyCode() && Loop < sLoop)
+ {
+ Loop++;
+ if (i+1 == (int)m_ISOFiles.size())
+ i = -1;
+ continue;
+ }
+ else if (lastKey != event.GetKeyCode())
+ sLoop = 0;
+
+ lastKey = event.GetKeyCode();
+ sLoop++;
+
+ UnselectAll();
+ SetItemState(i, wxLIST_STATE_SELECTED|wxLIST_STATE_FOCUSED, wxLIST_STATE_SELECTED|wxLIST_STATE_FOCUSED);
+ EnsureVisible(i);
+ break;
+ }
+
+ // If we get past the last game in the list, we'll have to go back to the first one.
+ if (i+1 == (int)m_ISOFiles.size() && sLoop > 0 && Loop > 0)
+ i = -1;
+ }
+
+ event.Skip();
+}
+
+// This shows a little tooltip with the current Game's emulation state
+void CGameListCtrl::OnMouseMotion(wxMouseEvent& event)
+{
+ int flags; long subitem;
+ long item = HitTest(event.GetPosition(), flags, &subitem);
+ static int lastItem = -1;
+
+ if (item != wxNOT_FOUND)
+ {
+ if (subitem == COLUMN_EMULATION_STATE)
+ {
+ if (toolTip || lastItem == item) {
+ event.Skip();
+ return;
+ }
+
+ const GameListItem& rISO = m_ISOFiles[GetItemData(item)];
+
+ IniFile ini;
+ ini.Load(std::string(FULL_GAMECONFIG_DIR + (rISO.GetUniqueID()) + ".ini").c_str());
+
+ // Emulation status
+ std::string emuState[5] = {"Broken", "Intro", "In-Game", "Playable", "Perfect"}, issues;
+
+ int nState;
+ ini.Get("EmuState", "EmulationStateId", &nState);
+ ini.Get("EmuState", "EmulationIssues", &issues, "No Description");
+
+ // If the key exists in the ini but is not set, we still use "No description"
+ issues = (issues == "" ? "No Description" : issues);
+
+ // Get item Coords then convert from wxWindow coord to Screen coord
+ wxRect Rect;
+ this->GetItemRect(item, Rect);
+ int mx = Rect.GetWidth();
+ int my = Rect.GetY();
+ this->ClientToScreen(&mx, &my);
+
+ // Show a tooltip containing the EmuState and the state description
+ if (nState > 0 && nState < 6)
+ toolTip = new wxEmuStateTip(this->GetGrandParent(), wxString::Format(wxT(" ^ %s :\n%s"),
+ wxString::FromAscii(emuState[nState - 1].c_str()), wxString::FromAscii(issues.c_str())), &toolTip);
+ else
+ toolTip = new wxEmuStateTip(this->GetGrandParent(), wxT("Not Set"), &toolTip);
+
+ toolTip->SetBoundingRect(wxRect(mx - GetColumnWidth(subitem), my, GetColumnWidth(subitem), Rect.GetHeight()));
+ toolTip->SetPosition(wxPoint(mx - GetColumnWidth(subitem), my - 10 + Rect.GetHeight()));
+
+ lastItem = item;
+ }
+ }
+
+ event.Skip();
+}
+
void CGameListCtrl::OnRightClick(wxMouseEvent& event)
{
// Focus the clicked item.
@@ -1044,11 +1145,22 @@ void CGameListCtrl::AutomaticColumnWidth()
+ GetColumnWidth(COLUMN_SIZE)
+ GetColumnWidth(COLUMN_EMULATION_STATE)
+ GetColumnWidth(COLUMN_PLATFORM)
- + 8); // some pad to keep the horizontal scrollbar away :)
+ + 5); // some pad to keep the horizontal scrollbar away :)
+
+ // We hide the Company column if the window is too small
+ if (0.66*resizable > 200)
+ {
+ SetColumnWidth(COLUMN_TITLE, 0.66*resizable);
+ SetColumnWidth(COLUMN_COMPANY, 0.34*resizable);
+ }
+ else
+ {
+ SetColumnWidth(COLUMN_TITLE, resizable);
+ SetColumnWidth(COLUMN_COMPANY, 0);
+ }
- SetColumnWidth(COLUMN_TITLE, wxMax(0.3*resizable, 100));
- SetColumnWidth(COLUMN_COMPANY, wxMax(0.2*resizable, 90));
- SetColumnWidth(COLUMN_NOTES, wxMax(0.5*resizable, 100));
+ // We currently always hide the notes column
+ SetColumnWidth(COLUMN_NOTES, 0);
}
}
diff --git a/Source/Core/DolphinWX/Src/GameListCtrl.h b/Source/Core/DolphinWX/Src/GameListCtrl.h
index b8ee29732c..7a7989a5ab 100644
--- a/Source/Core/DolphinWX/Src/GameListCtrl.h
+++ b/Source/Core/DolphinWX/Src/GameListCtrl.h
@@ -21,9 +21,22 @@
#include <vector>
#include <wx/listctrl.h>
+#include <wx/tipwin.h>
#include "ISOFile.h"
+
+class wxEmuStateTip : public wxTipWindow
+{
+public:
+ wxEmuStateTip(wxWindow* parent, const wxString& text, wxEmuStateTip** windowPtr)
+ : wxTipWindow(parent, text, 70, (wxTipWindow**)windowPtr) {}
+ // wxTipWindow doesn't correctly handle KeyEvents and crashes... we must overload that.
+ void OnKeyDown(wxKeyEvent& event) { event.StopPropagation(); Close(); }
+private:
+ DECLARE_EVENT_TABLE()
+};
+
class CGameListCtrl : public wxListCtrl
{
public:
@@ -43,14 +56,14 @@ public:
enum
{
- COLUMN_BANNER = 0,
+ COLUMN_PLATFORM = 0,
+ COLUMN_BANNER,
COLUMN_TITLE,
COLUMN_COMPANY,
COLUMN_NOTES,
COLUMN_COUNTRY,
COLUMN_SIZE,
COLUMN_EMULATION_STATE,
- COLUMN_PLATFORM,
NUMBER_OF_COLUMN
};
@@ -58,6 +71,7 @@ private:
std::vector<int> m_FlagImageIndex;
std::vector<int> m_PlatformImageIndex;
+ std::vector<int> m_EmuStateImageIndex;
std::vector<GameListItem> m_ISOFiles;
// NetPlay string for the gamelist
@@ -67,6 +81,7 @@ private:
int last_column;
int last_sort;
wxSize lastpos;
+ wxEmuStateTip *toolTip;
void InitBitmaps();
void InsertItemInReportView(long _Index);
void SetBackgroundColor();
@@ -76,8 +91,10 @@ private:
// events
void OnRightClick(wxMouseEvent& event);
+ void OnMouseMotion(wxMouseEvent& event);
void OnColumnClick(wxListEvent& event);
void OnColBeginDrag(wxListEvent& event);
+ void OnKeyPress(wxListEvent& event);
void OnSize(wxSizeEvent& event);
void OnProperties(wxCommandEvent& event);
void OnOpenContainingFolder(wxCommandEvent& event);
@@ -100,6 +117,5 @@ private:
static void MultiCompressCB(const char* text, float percent, void* arg);
};
-
#endif
diff --git a/Source/Core/DolphinWX/Src/ISOProperties.cpp b/Source/Core/DolphinWX/Src/ISOProperties.cpp
index 83fc1405dd..a2546c80b3 100644
--- a/Source/Core/DolphinWX/Src/ISOProperties.cpp
+++ b/Source/Core/DolphinWX/Src/ISOProperties.cpp
@@ -334,12 +334,12 @@ void CISOProperties::CreateGUIControls(bool IsWad)
EmuStateText = new wxStaticText(m_GameConfig, ID_EMUSTATE_TEXT, _("Emulation State: "), wxDefaultPosition, wxDefaultSize);
arrayStringFor_EmuState.Add(_("Not Set"));
arrayStringFor_EmuState.Add(_("Broken"));
- arrayStringFor_EmuState.Add(_("Problems: "));
arrayStringFor_EmuState.Add(_("Intro"));
arrayStringFor_EmuState.Add(_("In Game"));
+ arrayStringFor_EmuState.Add(_("Playable"));
arrayStringFor_EmuState.Add(_("Perfect"));
EmuState = new wxChoice(m_GameConfig, ID_EMUSTATE, wxDefaultPosition, wxDefaultSize, arrayStringFor_EmuState, 0, wxDefaultValidator);
- EmuIssues = new wxTextCtrl(m_GameConfig,ID_EMU_ISSUES, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0,wxDefaultValidator);
+ EmuIssues = new wxTextCtrl(m_GameConfig, ID_EMU_ISSUES, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
wxBoxSizer* sConfigPage;
sConfigPage = new wxBoxSizer(wxVERTICAL);
@@ -753,7 +753,7 @@ void CISOProperties::SetRefresh(wxCommandEvent& event)
bRefreshList = true;
if (event.GetId() == ID_EMUSTATE)
- EmuIssues->Enable(event.GetSelection() == 2);
+ EmuIssues->Enable(event.GetSelection() != 0);
}
void CISOProperties::LoadGameConfig()
@@ -839,7 +839,7 @@ void CISOProperties::LoadGameConfig()
EmuIssues->SetValue(wxString::FromAscii(sTemp.c_str()));
bRefreshList = true;
}
- EmuIssues->Enable(EmuState->GetSelection() == 2);
+ EmuIssues->Enable(EmuState->GetSelection() != 0);
PatchList_Load();
ActionReplayList_Load();
diff --git a/Source/Core/DolphinWX/resources/Platform_Gamecube.xpm b/Source/Core/DolphinWX/resources/Platform_Gamecube.xpm
index 5b8f5ef50a..25c8b8265e 100644
--- a/Source/Core/DolphinWX/resources/Platform_Gamecube.xpm
+++ b/Source/Core/DolphinWX/resources/Platform_Gamecube.xpm
@@ -1,390 +1,240 @@
/* XPM */
-static const char *const Platform_Gamecube_xpm[] = {
+static const char *Platform_Gamecube_xpm[] = {
/* columns rows colors chars-per-pixel */
-"96 32 354 2",
-"!X c #E3E2E2",
-"= c #E3E2E3",
-"JX c #0C0708",
-"+ c #E6E6E6",
-"yo c #7F7D7D",
-"eX c #ECEBEC",
-"- c #EFEFEF",
-"c. c #828181",
-"d. c #181415",
-"c c #F5F4F5",
-"Lo c #1E191A",
-">. c #F8F8F8",
-"eo c #1E191C",
-"}. c #211D1E",
-"E. c #272224",
-"|X c #949393",
-"5. c #9A9898",
-"{ c #9A9899",
-".o c #9D9C9C",
-"3 c #332F30",
-"/. c #A3A1A1",
-"J. c #A3A1A2",
-"/X c #3C3839",
-"`X c #424040",
-"`. c #454142",
-"%o c #484545",
-"io c #B5B3B4",
-"Wo c #B8B7B7",
-"FX c #514E4E",
-"pX c #514E4F",
-"M. c #C1C0C0",
-"kX c #575355",
-"jo c #C7C5C5",
-"'X c #5A5757",
-"So c #C7C5C6",
-"2X c #CAC9C9",
-";X c #CAC9CA",
-" X c #D6D6D6",
-"g. c #6C696A",
-"U c #757273",
-"&o c #E5E4E4",
-"> c #E5E4E5",
-"0. c #787677",
-"-X c #E8E8E8",
-"%X c #817F7F",
-"mo c #1A1617",
-"7o c #F4F5F4",
-"-o c #878485",
-"^ c #1D1A1B",
-";. c #201B1C",
-"'. c #201B1D",
-"@ c #FAFAFA",
-"Mo c #8D8C8C",
-"6. c #231F20",
-"no c #939192",
-"y. c #262324",
-"Q. c #999998",
-"y c #2C2829",
-"V. c #9F9E9E",
-"x. c #322D2F",
-"Io c #ABA8A9",
-"OX c #3E3A3B",
-"F. c #3E3A3C",
-"xo c #413E3E",
-"r. c #B1B0B0",
-"^X c #474344",
-"Ro c #B7B5B5",
-"r c #BAB9B9",
-"lX c #504C4C",
-"d c #595556",
-"-. c #C9C7C8",
-"v c #5C595A",
-"4X c #CCCBCB",
-"3X c #CCCBCC",
-"nX c #656262",
-"Jo c #6E6B6C",
-" c None",
-"o. c #716F6F",
-"bX c #DEDDDD",
-"9o c #E7E6E6",
-"j c #7A7879",
-"% c #EAEAEA",
-"l c #838182",
-"T. c #868584",
-"p. c #191415",
-"7X c #F3F3F3",
-"4. c #868585",
-"&X c #191416",
-"qo c #898686",
-";o c #898687",
-"<o c #221D1E",
-"* c #FCFCFC",
-"[X c #221D1F",
-"Uo c #252122",
-"H c #959393",
-"to c #959394",
-"j. c #989797",
-"4o c #2B2628",
-"5 c #2E2A2B",
-":o c #312E2E",
-"` c #9E9C9D",
-">o c #312E2F",
-"i c #A1A0A0",
-"2 c #373334",
-"6 c #3A3738",
-"zo c #A7A5A6",
-"Q c #AAA9A9",
-"(. c #AAA9AA",
-"P. c #434041",
-"tX c #B3B2B2",
-"Go c #B9B7B8",
-"hX c #4C494A",
-"iX c #524E50",
-":. c #555253",
-"{. c #5B5758",
-"yX c #5E5B5C",
-",X c #CECDCD",
-"%. c #CECDCE",
-"U. c #676464",
-"R c #D7D6D6",
-"E c #D7D6D7",
-"=X c #DADADA",
-"!. c #706D6D",
-"$o c #DADADB",
-"m c #737172",
-": c #E3E3E2",
-"~X c #E3E3E3",
-"I. c #E6E7E6",
-"+X c #E9E8E9",
-"6X c #ECECEC",
-"b c #151112",
-"qX c #F2F1F1",
-"I c #1B1617",
-"X c #F5F5F5",
-"{X c #888486",
-"+. c #1E1A1B",
-"J c #8E8C8D",
-"M c #FEFEFE",
-"$X c #241F21",
-"]. c #272324",
-"v. c #9A9999",
-"lo c #302C2D",
-"a c #333031",
-"9 c #393536",
-"D. c #A9A7A7",
-"Oo c #3C3939",
-"O. c #A9A7A8",
-"Z. c #ACABAB",
-"h. c #423E3F",
-"wo c #B2B0B0",
-"0 c #454243",
-"uo c #B5B4B4",
-"xX c #4E4B4C",
-"| c #BEBDBD",
-"[. c #545051",
-"/ c #C4C2C3",
-"1X c #D0CFCF",
-"No c #D3D3D3",
-"z. c #696666",
-"#o c #D9D8D8",
-" . c #DCDCDC",
-"UX c #726F70",
-"O c #E5E5E5",
-"m. c #EBEAEA",
-"' c #7E7C7C",
-"Ho c #EEEEEE",
-".X c #848182",
-"Z c #171314",
-"N. c #1D1819",
-"}X c #8A8688",
-"5o c #1D181A",
-")X c #F7F7F7",
-"ro c #8D8A8B",
-"Y. c #201C1D",
-"LX c #908E8E",
-"k. c #232021",
-"7. c #292526",
-"G c #999797",
-"G. c #322E2F",
-"fX c #A2A0A0",
-"1. c #353233",
-"f. c #A5A4A4",
-"C c #3B3738",
-"a. c #ABA9AA",
-"e. c #AEADAD",
-"sX c #B7B6B6",
-"NX c #4D494A",
-"zX c #504D4D",
-"Do c #C0BFBF",
-"6o c #565252",
-".. c #C0BFC0",
-"Zo c #565253",
-"f c #C3C3C3",
-"mX c #595656",
-"} c #C6C4C5",
-"F c #625F60",
-"K. c #D5D5D5",
-"(X c #DBDADA",
-"PX c #747172",
-"<X c #E7E7E7",
-"z c #807E7E",
-"=. c #EDECEC",
-"8X c #EDECED",
-"wX c #F0F0F0",
-"g c #191516",
-"b. c #898788",
-"XX c #1F1A1B",
-"0X c #F9F9F9",
-"8. c #221E1F",
-"# c #FFFEFE",
-"@. c #282324",
-"s c #2B2728",
-"L c #9B999A",
-"Yo c #312C2D",
-"4 c #343031",
-"*. c #343032",
-"$. c #373435",
-"^. c #A7A6A6",
-"~. c #ADABAC",
-"*X c #403D3E",
-"go c #B6B4B4",
-"+o c #B6B4B5",
-"B. c #524F50",
-"Eo c #C2C1C1",
-"AX c #585455",
-"BX c #5B5859",
-":X c #CBCACA",
-">X c #CBCACB",
-"( c #646161",
-"3. c #D1CFD0",
-"7 c #D4D3D3",
-"u. c #D4D3D4",
-"q c #D7D7D7",
-"w c #6D6A6A",
-"s. c #6D6A6B",
-"VX c #E0E0E0",
-"w. c #767374",
-"l. c #797777",
-"ko c #E6E5E5",
-", c #E9E9E9",
-"D c #120E0F",
-"KX c #828080",
-"W. c #828081",
-"; c #F2F2F2",
-"X. c #1B1718",
-"x c #888586",
-"Ko c #211C1D",
-"< c #FBFBFB",
-"H. c #918E8E",
-") c #242021",
-"<. c #2D292A",
-",o c #302D2E",
-"do c #332E30",
-"Co c #A6A4A5",
-"co c #A9A8A7",
-"L. c #3F3B3C",
-"]X c #AFADAD",
-"GX c #AFADAE",
-"Fo c #B2B1B1",
-"8o c #484445",
-"To c #B8B6B6",
-"*o c #B8B6B7",
-"so c #BBBABA",
-"MX c #514D4E",
-"oo c #5A5656",
-"~ c #635F60",
-"QX c #666363",
-"vo c #666364",
-"Y c #D6D5D5",
-"n. c #DFDEDE",
-"Xo c #E8E7E7",
-"B c #110C0E",
-"5X c #EBEBEB",
-"K c #817E7E",
-"9. c #141011",
-"9X c #F1F0F0",
-"A c #848282",
-"bo c #848283",
-"W c #F4F4F4",
-" o c #1D191A",
-"Po c #231E1F",
-"& c #FDFDFD",
-"u c #908F8F",
-"] c #262223",
-"i. c #939092",
-"S c #969495",
-"Vo c #2C2728",
-"YX c #2F2B2C",
-"S. c #322F30",
-"C. c #A2A1A1",
-"3o c #383435",
-"t c #A5A2A3",
-"h c #413D3E",
-"po c #B4B3B3",
-"ao c #4A4647",
-"TX c #B7B4B6",
-"A. c #4D4A4B",
-"Qo c #BDBCBC",
-"DX c #504E4E",
-"uX c #534F50",
-"Ao c #C3C1C1",
-"cX c #565353",
-"SX c #565354",
-"aX c #5C5859",
-"gX c #C9C9C9",
-"@o c #5F5C5D",
-"1 c #626060",
-"@X c #CFCECE",
-",. c #686565",
-"EX c #686566",
-"T c #D8D7D7",
-"IX c #716E6E",
-"1o c #716E6F",
-"0o c #747272",
-"_. c #E1E0E1",
-"! c #747273",
-"o c #E4E4E4",
-"$ c #EAE9E9",
-"k c #7D7B7B",
-"2. c #EDEDEC",
-"n c #161213",
-"). c #F0F1F1",
-"=o c #1C1718",
-"_X c #F6F6F6",
-"[ c #898888",
-"_ c #1F1B1C",
-"CX c #1F1B1D",
-"rX c #FCFBFB",
-"|. c #221F20",
-"oX c #252022",
+"96 32 204 2",
+"E. c #B1B0B0",
+"] c #8E8B8C",
+"`. c #E8E8E8",
+"O c #CFCECF",
+"q. c #F7F7F7",
+" . c #231F20",
+"N. c #191415",
+"x. c #191416",
+"~ c #322E2F",
+"G. c #4B4849",
+"S. c #646263",
+"@. c #5A5758",
+"^. c #504C4D",
+"4 c #828080",
+"p. c #C3C3C3",
+":. c #B9B8B8",
+"H c #C8C7C7",
+"c. c #BEBCBC",
+"L c #E1E1E1",
+"G c #F0F0EF",
+"n c #F0F0F0",
+"L. c #E6E5E6",
". c #FFFFFF",
-"#X c #282425",
-"#. c #2E292A",
-"RX c #2E292B",
-"e c #312D2E",
-"vX c #A4A3A3",
-"p c #3A3637",
-"&. c #3D3A3A",
-"ho c #B3B1B1",
-"HX c #B6B5B5",
-"t. c #4C4849",
-"dX c #4F4C4C",
-"ZX c #4F4C4D",
-"P c #BFBEBE",
-"V c #525050",
-"q. c #BFBEBF",
-"fo c #555152",
-"jX c #585555",
-"8 c #C5C3C4",
-"N c #5E5A5B",
-"Bo c #D1D0D0",
-"2o c #D4D4D4",
-"WX c #6A6767",
-"R. c #D7D5D6",
+"! c #1C1819",
+"d. c #2B2728",
+"z c #535051",
+"H. c #9E9E9E",
+"a c #716E6F",
+"9 c #8A8888",
+"1X c #B2B1B1",
+"V. c #8F8C8D",
+"XX c #A8A6A7",
+"X. c #DFDEDF",
+"o. c #EEEDED",
+";X c #151112",
+", c #242021",
+"$ c #3D3A3A",
+"j. c #1A1517",
+"]. c #292426",
+"f. c #656364",
+"[. c #6A6768",
+"y. c #929091",
+"& c #BAB9B9",
+"I. c #D3D3D3",
+"# c #B0AEAF",
+"o c #C9C8C8",
+"%X c #C9C8C9",
+",X c #F1F1F1",
+"7 c #2C2829",
+"5. c #221D1E",
+"!. c #3B3738",
+"x c #221D1F",
+"[ c #312C2D",
+"u c #7C7A7A",
+"-X c #8B8989",
+"A c #B3B2B2",
+"F. c #C2C1C1",
+"a. c #B8B6B6",
+"P c #C2C1C2",
+">X c #D1D0D1",
+"K c #EAEAEA",
+"#. c #C7C5C6",
+"0 c #E0DFDF",
+"$X c #F9F9F9",
+"}. c #EFEEEE",
+"v. c #252121",
+"8 c #252122",
+"{ c #1B1617",
+"&. c #3E3B3D",
+"d c #343031",
+"+X c #2A2526",
+"y c #2A2527",
+"< c #5C5959",
+"OX c #848282",
+"I c #615D5E",
+"#X c #898686",
+"6. c #939192",
+"<X c #A2A0A1",
+"B c #B1AFAF",
+"U. c #CAC9CA",
+"n. c #E3E3E3",
+"* c #F2F2F2",
+"p c #E8E7E7",
+".X c #373435",
+"A. c #2D292A",
+"k. c #231E1F",
+"C. c #6E6C6C",
+"w c #9B9999",
+"1. c #9B999A",
+"O. c #C3C2C2",
+"D c #EBEBEB",
+"0. c #FAFAFA",
+";. c #262223",
+"r. c #3F3C3D",
+"s. c #1C1719",
+"z. c #8F8E8E",
+"; c #534F50",
+"m c #ADACAC",
+"T. c #ADACAD",
+"b. c #BCBBBB",
+"R c #D5D5D5",
+" c None",
+"Y c #CBCACA",
+"Z. c #F3F3F3",
+"' c #E9E8E8",
+"*X c #151012",
+"M c #2E2A2B",
+"_ c #241F20",
+"u. c #241F21",
+") c #332E2F",
+"). c #4C4849",
+"S c #A6A5A5",
+"'. c #9C9A9B",
+"l c #C4C3C4",
+"(. c #BAB8B9",
+"<. c #ECECEC",
+"2 c #FBFBFB",
+"R. c #F1F0F0",
+"M. c #272324",
+"c c #1D181A",
+"+. c #545050",
+"m. c #635F60",
+"- c #C7C7C7",
+"oX c #DBDADB",
+"$. c #F4F4F4",
+"= c #F9F8F8",
+"( c #201C1D",
+"e. c #2F2B2C",
+": c #252021",
+"E c #575455",
+"t. c #4D494A",
+"^ c #9D9B9C",
+"Q c #C5C4C4",
+"3. c #D4D3D4",
+"i c #EDEDED",
+"X c #FCFCFC",
+"V c #F2F1F1",
+"{. c #F2F1F2",
+"8. c #322F2F",
+"7. c #191516",
+"t c #282425",
+"% c #413E3F",
+"6 c #2D282A",
+"P. c #787676",
+"h. c #8C898A",
+"Q. c #BEBDBE",
+"%. c #B4B2B2",
+"K. c #CDCCCD",
+",. c #DCDBDB",
+"b c #F5F5F5",
+"W. c #FAF9FA",
+"~. c #211D1E",
+"/ c #211D1F",
+"N c #302C2C",
+"Y. c #171214",
+"e c #302C2D",
+"h c #262122",
+"*. c #262123",
+"U c #676465",
+"l. c #999898",
+"B. c #999899",
+"} c #D5D4D5",
+"@ c #EEEEEE",
+"D. c #E4E3E3",
+"+ c #FDFDFD",
+"F c #F3F2F2",
+"i. c #1A1617",
+"5 c #292526",
+"_. c #423F40",
+"j c #1F1A1B",
+"|. c #605D5E",
+"=X c #979595",
+"J. c #979596",
+"` c #B0AFAF",
+"C c #A6A4A5",
+".. c #B5B3B3",
+"3 c #D8D8D8",
+"1 c #CECDCD",
+"/. c #C4C2C3",
+"r c #221E1E",
+"s c #221E1F",
+"=. c #312D2E",
+"4. c #636161",
+"k c #595656",
+"9. c #817F7F",
+"w. c #777475",
+"f c #868383",
+"W c #D1D1D1",
+"Z c #AEACAC",
+"| c #C7C6C6",
+"-. c #D6D5D5",
+"g. c #EFEFEF",
+"g c #D6D5D6",
+"q c #E5E4E4",
+"T c #FEFEFE",
+"@X c #1B1718",
+" X c #2A2626",
+"> c #2A2627",
+"v c #393535",
+":X c #615E5F",
+"&X c #575354",
+"J c #706D6E",
+"2. c #A2A1A1",
+">. c #7F7C7D",
/* pixels */
" ",
" ",
" ",
" ",
-". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". X o O O O O O + @ . . # O $ . . . % O & . . . . * = - ; : O O O O > , < . . . . . . . . . . . . . ",
-"% 1 2 3 4 4 4 5 6 7 . . 8 9 0 q . * w e r . . . . t y u i 4 p 3 3 a s d + . . . . . . . . . . . . . ",
-"f g h j k l l z x > . c v b n m . M N B V - . . > C Z A S D F G H J K L ; . . . . . . . . . . . . . ",
-"P I U . ; Y T R E W . Q g ! ~ ^ / . ( ) _ ` . . ' _ ] [ { g ' } | .. . . . . . . . . . . . . . . . ",
-"..X.o.. O.+.@.#.$.%.; &.*.=.-.;.:.>.,.<.1.9 2.3.#.C s 4.5.6.7.8.9.0.. . . . . . . . . . . . . . . . ",
-"q.I w.. O e.r.t.y.u.i.p.a.. . s.d.f.g.h.j.k.l.z.y ` x.c.v.d.b.n.7 m.. . . . . . . . . . . . . . . . ",
-"M.N.B.V.C.Z.a.A.S.D.F.G.H.J.; K.<.L.P.h.I.U.Y.+.T.R.E.W.Q.g !.~.^./.G (.).. . . . . . . . . . . . . ",
-"_.`.6.Y.'._ _ ].[.{.] 5 }.|. X. .XXXoXOX+X@X#Xp % 7 $X%Xj._ ] _ ;.Y.&X*X=X. . . . . . . . . . . . . ",
-". -X;X:X>X>X:X,X<X1X2X3X;X4XX . & 5Xm.6X7XW 8X>.& 9X- 0X@ X qX, - wX$ eX; W W W . M W W W W W W X & ",
-". . . . . . . . . . . . . . . rXtXyXuXiXiXpXaXsX1XdXfX. . . gXhXJ.e.jXkXlXzXxXcXvXbXnXmXpXMXMXNXBXVX ",
-". . . . . . . . . . . . . . . $ hXCXZXAXSXDXp.FXGX9.z . . . HXJXKXLXZ B.PXIXUXYX6 TXRX1.EXWXQX{.EX!X ",
-". . . . . . . . . . . . . . . ~X^X/X(X)X_X% `X'X]X[X{X. . . r g }X|X o.owXXo5XooOo+oG.@o#o$o= 0X@ M ",
-". . . . . . . . . . . . . . . o %op &o. . . + - *o=o-o. . . r d.;oS ] :oG.>o,o<o1o2o3oy 4o5o6o7o. . ",
-". . . . . . . . . . . . . . . ~X8oC 9o. . @ 0oqowoeoro. . . M.d.;oto_ youoiopoxXaosodofogohojo. . . ",
-". . . . . . . . . . . . . . . ko`.lofXHXpozo_ xoco'.voHXtXsX;on bonomoMoNo@XBocXVoCoe ZoAoSoDoFoGoHo ",
-". . . . . . . . . . . . . . . 7XJoKo}.;.;.KoLoIX7 6 Po;.;.;.Ko6.IonoLoUo}.}.Y._ @oM.3 6.;.'.;.g Yo,X ",
-". . . . . . . . . . . . . . . . Xor HXToToRoGo+ . 1X+oToToToioEo)X#otX*oToToRor 9oW WoHXToToTogoQoHo ",
-". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+" ",
+" . . . . . . . . X o O + . . . . . . . . ",
+" . . . . . . . @ # $ % & * . . . . . . . ",
+" . . . . . = - ; : > > , < 1 2 . . . . . ",
+" . . . . 3 4 , > 5 6 7 > 5 8 9 0 . . . . ",
+" . X q w e r t y u i p a 5 t s d f * . . ",
+" . g h j t s k 1 . . . + l z x c v & . . ",
+" b n m M N B b . V C Z b . b A S D . F G ",
+" H J @ K L . . P I x r U Y T . . . R E W ",
+" Q ! ~ R . T ^ / ( ) ~ j _ ` . ' ] [ { } ",
+" | . .... X.o.O.+.r s @.#.$.%.&.*.=., -. ",
+" | .;.:.T >.E ,.<.1.2.<.3.4.5.> M ~ , -. ",
+" | .;.:.. 6.7.8.9.0.q.w.e.5 5 r.t.e , -. ",
+" | .;.:.. y.u.e i.p.a.s.=.d.f.g.| h 8 -. ",
+" | .;.& . h.j.~ k.l.z._ =.x.:.. c.;.8 -. ",
+" | .v.b.. n.m.M.N.B.V.N.t C.Z.. O.: 8 -. ",
+" O.x A.S.D.. . F.G.H.J.z K.. . L.P.7 _ I. ",
+" U.Y.e M.e T.n . D R.K g.. i E.=.t M 7.3 ",
+" W.Q.!. .M.~.^./.+ . . 0.(.).5.t ._.H 2 ",
+" . . `.'.~ s ].5 [.{.}.|. Xt 5..XXXi . . ",
+" . . . . oXOX, +X@X6.#X! 5 8 h.L . . . . ",
+" . . . . . $X%X&X*X=X-X;X:X>X2 . . . . . ",
+" . . . . . . . ,XC XX<X1X$.. . . . . . . ",
+" ",
" ",
" ",
" ",
diff --git a/Source/Core/DolphinWX/resources/Platform_Wad.xpm b/Source/Core/DolphinWX/resources/Platform_Wad.xpm
index 386f452a00..83e118edc7 100644
--- a/Source/Core/DolphinWX/resources/Platform_Wad.xpm
+++ b/Source/Core/DolphinWX/resources/Platform_Wad.xpm
@@ -1,248 +1,383 @@
/* XPM */
-static const char * Platform_Wad_xpm[] = {
+static const char *Platform_Wad_xpm[] = {
/* columns rows colors chars-per-pixel */
-"96 32 212 2",
-";. c #D4D5D6",
-"% c #CACACB",
-"W. c #D9D9DB",
-"'. c #E8E8E9",
-"6 c #F7F7F6",
-"R. c #F7F7F7",
-"= c #F7F7F8",
-"6. c #787B7E",
-"-. c #878A8D",
-"q c #7D7F82",
-"d c #7D7F83",
-"x. c #8C8E91",
-"S. c #AAACAE",
-"d. c #828388",
-"8. c #A0A1A4",
-"&. c #C8CACA",
-"$. c #BEBFC1",
-"- c #CDCED0",
-", c #D2D2D3",
-"b. c #EBECED",
-"P c #FAFBFB",
-". c #FFFFFF",
-"f c #717477",
-"t c #808386",
-"i c #85878A",
-"n. c #949698",
-"i. c #9EA1A4",
-"} c #85878B",
-"@. c #A3A5A7",
-"W c #8A8B8E",
-"_. c #A3A5A8",
-"O. c #C6C7C9",
-"a c #D5D6D7",
-"6X c #90E3F8",
-"~ c #E9E9EA",
-"h c #E9E9EB",
-"+ c #F8F8F8",
-"=X c #45CDEF",
-"U c #7E8084",
-"| c #9C9EA0",
-"*X c #70C5DA",
-" . c #9C9EA1",
-"F c #ABADAE",
-"N. c #ABADAF",
-"+X c #CECFCF",
-"1. c #B5B5B9",
-"v. c #ECEDED",
-"o c #F1F1F1",
-"J. c #E7E6E7",
-"9X c #E3F8FD",
-"<. c #818488",
-"E. c #86888B",
-"] c #959799",
-"T. c #95979A",
-"&X c #A9E8F7",
-"(. c #B3B5B7",
-"` c #C7C8C9",
-"#X c #C7C8CA",
-"-X c #D4E0E2",
-"> c #F4F5F5",
-"5X c #74DCF6",
-"_ c #F9F9F9",
-"C c #F9F9FA",
-"k c #707276",
-"8 c #898C8F",
-"y c #7F8184",
-"~. c #7F8185",
-"4 c #8E9092",
-"l c #9D9FA1",
-"I c #ACAEB0",
-"E c #939498",
-"+. c #B1B2B3",
-"< c #CACCCD",
-"y. c #D9DBDB",
-"`. c #CFD0D1",
-",. c #C0C1C4",
-"x c #EDEEEE",
-"0 c #D4D4D5",
-"z. c #E3E3E3",
-"B c #87898C",
-":X c #C7F1FC",
-".. c #87898D",
-"A c #96989B",
-"Y c #A5A7AA",
-"h. c #B4B6B8",
-"[ c #EBEBEB",
-") c #FAFAFA",
-"H c #FAFAFB",
-"3X c #58D5F5",
-"j c #8A8D90",
-"v c #808285",
-"m. c #8F9194",
-"r. c #9EA0A3",
-"C. c #85868B",
-"g c #ADAFB1",
-"p. c #BCBEBF",
-"). c #A3A4A8",
-"J c #A8A8AB",
-"s c #DFE0E1",
+"96 32 347 2",
+"hX c #71CBE2",
+"v. c #DADCDC",
+"a c #DDDDDE",
+"!. c #DDDDDF",
+"} c #E0E1E1",
+"i c #76777B",
+")X c #62D8F4",
+"go c #5CD6F5",
+"a. c #ECEBEC",
+">. c #EFEFEF",
+"FX c #6EDCF7",
+"x. c #7C7F82",
+"qo c #8CE3F7",
+"sX c #9EE6F8",
+"Z c #F2F3F3",
+"oo c #A7E9F9",
+"yX c #F2F3F4",
+"Bo c #AAEAFA",
+"c c #828488",
+"3. c #85888A",
+"X c #F8F8F8",
+"*X c #85888B",
+"do c #D1F4FC",
+"po c #CEF3FC",
+"H c #88898C",
+"K. c #85888C",
+"gX c #D7FCFF",
+"6. c #8B8D8F",
+"*o c #F8FEFE",
+"`X c #F2FCFF",
+" o c #EFFBFF",
+";X c #F5FDFF",
+"M. c #9A9B9E",
+"] c #B8BABB",
+"z. c #BEBFC1",
+", c #D6D6D8",
+"N c #E8E8E9",
+"BX c #58D6F4",
+"vo c #6AD9F5",
+"ao c #79DEF7",
+"zX c #4FD9FA",
+"V c #7B7D81",
+" . c #F1F1F0",
+"r c #7E8184",
+"!X c #94E4F8",
+"m. c #F1F1F2",
+"IX c #9DE7FA",
+"Fo c #BEEFFB",
+"Do c #B5ECFB",
+"` c #84868A",
+".. c #FAFAF9",
+"PX c #B8F0FE",
+"8 c #FAFAFA",
+"Ho c #DCF6FD",
+"yo c #E5F9FD",
+"wo c #E2F8FD",
+"rX c #DFF7FD",
+"3X c #E2F8FE",
+"# c #FDFEFD",
+"QX c #FDFEFE",
+"qX c #848C92",
+"6X c #8A8E92",
+"r. c #8D8F93",
+"_ c #909396",
+"u c #96989A",
+">X c #84959C",
+",. c #9C9DA0",
+"A c #9FA1A3",
+"'. c #9FA1A4",
+"2 c #ABABAD",
+"D. c #AEAFB2",
+"l. c #B1B3B4",
+"iX c #BDBDC0",
+"D c #C3C5C5",
+"( c #C6C6C8",
+"v c #C9CACB",
+"<. c #CCCECF",
" c None",
-"<X c #F1FCFE",
-"1 c #E9E8EA",
-": c #F8F7F8",
-"9. c #74777A",
-"%. c #A1A4A5",
-"! c #929598",
-"L. c #888A8D",
-"g. c #7E7F82",
-"Z. c #97999C",
-"]. c #8D8E91",
-"f. c #A6A8AB",
-"4X c #ABEAFA",
-"K c #D8D9DA",
-"8X c #82E0F7",
-"o. c #E7E8E8",
-"; c #CECECF",
-"R c #E7E8E9",
-"{ c #CECED1",
-"m c #F6F7F7",
-"q. c #FBFBFB",
-"D. c #FBFBFC",
-" X c #F1F0F1",
-"5. c #8B8E90",
-"%X c #3CCEF3",
-"l. c #A9ACAD",
-"p c #818387",
-"K. c #909296",
-"/ c #AEB0B3",
-"b c #BDBFC0",
-"M c #A4A5A8",
-"oX c #CCCECF",
-">. c #C2C3C3",
-"9 c #C2C3C5",
-"5 c #D1D2D3",
-"*. c #E0E1E1",
-"r c #C7C7CA",
-"e c #D6D6D7",
-"@ c #EFF0F0",
-"2 c #EFF0F1",
-"$X c #E5E5E6",
-"* c #F4F4F4",
-"@X c #F4F4F5",
-"}. c #75787B",
-"7X c #D5F5FC",
-"c. c #939697",
-"[. c #7A7C7F",
-"2. c #898B8E",
-"U. c #898B8F",
-"Q. c #A7A9AB",
-"H. c #989A9E",
-"G. c #B6B8BA",
-"Z c #BBBCBD",
-"B. c #BBBCBE",
-"7. c #CACBCC",
-"4. c #E8E9E9",
-"1X c #66D9F5",
-"3. c #E3E2E3",
-"# c #FCFCFC",
-"( c #FCFCFD",
-"' c #828487",
-"Y. c #919395",
-"!. c #919396",
-"0. c #AFB1B3",
-"& c #D2D3D3",
-".X c #E1E2E3",
-"$ c #E6E6E6",
-"T c #F5F5F6",
-"/. c #7B7D80",
-"N c #85888C",
-"2X c #B9EEFB",
-"OX c #BCBDBF",
-"M. c #E4E6E7",
-"t. c #DADBDB",
-"#. c #DADBDC",
-"s. c #E9EAEA",
-"e. c #F8F9F8",
-"X. c #D0D0D2",
-"n c #FDFDFD",
-",X c #4AD2F4",
-"w. c #7E8185",
-"^ c #838588",
-"3 c #A1A3A5",
-"{. c #A1A3A6",
-"7 c #B0B2B3",
-":. c #B5B6B8",
-"a. c #F6F6F5",
-"X c #F6F6F6",
-"z c #F6F6F7",
-"XX c #FBFAFB",
-"u. c #86898C",
-"k. c #7C7E81",
-"=. c #8B8D90",
-"Q c #8B8D91",
-"F. c #A9ABAC",
-"j. c #B8BABB",
-">X c #9DE7F9",
-"D c #BDBEC0",
-"|. c #B3B3B6",
-"^. c #CCCDCF",
-"P. c #C2C2C4",
-"V. c #D1D1D3",
-"L c #FEFEFD",
-"S c #EFEFF0",
-"G c #E5E4E5",
-"O c #FEFEFE",
-"u c #FEFEFF",
-";X c #2ECBF2",
-"w c #848689",
-"c c #939598",
-"V c #A2A4A7",
-"I. c #C0C2C3",
-"A. c #B6B7B9",
+"| c #DBDCDD",
+"w. c #E1E1E2",
+"> c #E4E5E5",
+"EX c #60D7F5",
+" X c #EDEBEC",
+"RX c #72DDF6",
+"8o c #69DAF6",
+"+X c #F0ECED",
+"Y. c #EDEEEF",
+"eo c #8AE2F8",
+"g. c #F3F3F4",
+"0o c #ABEAFA",
+"]. c #F9F8F7",
+"'X c #CCF2FC",
+"no c #D8F6FD",
+"J c #86888C",
+"HX c #E7F8FC",
+"$ c #FCFCFC",
+"Jo c #F0FBFE",
+"_X c #DEF8FF",
+"to c #F3FCFE",
+"/. c #8F9194",
+"k c #8F9195",
+"n c #95969A",
+"`. c #989A9C",
+"h c #9E9FA2",
+"5X c #899EA7",
+"0X c #8FA6AD",
+"[. c #AAACAE",
+"&. c #B9BABC",
+"M c #C2C3C4",
+"H. c #C5C7C8",
+"f. c #CBCCCD",
+"c. c #D1D1D2",
+"1 c #DDDEDF",
+"6o c #38CEF3",
+"/X c #44CFF2",
+"#o c #56D5F4",
+"VX c #53D4F4",
+"9X c #D4E7ED",
+"jo c #59D6F5",
+"bX c #56D5F5",
+"Y c #ECECED",
+".X c #F2EEEF",
+"-. c #EFF0F0",
+"LX c #74DCF7",
+"aX c #80E0F8",
+"7o c #7DDFF8",
+"#X c #7F8184",
+"xo c #95E4F8",
+"<o c #92E3F8",
+"dX c #5FDEFD",
+"@o c #98E5F9",
+"; c #F5F5F5",
+"lo c #9BE6FA",
+"C. c #828588",
+"MX c #98E8FC",
+"So c #C5F1FB",
+"Co c #BFEFFB",
+"% c #F8F9F9",
+"mX c #A7F0FF",
+"cX c #CBF6FF",
+"I. c #888A8D",
+"eX c #E3F8FD",
+"Io c #ECFBFE",
+"). c #888A8E",
+"ho c #E3F8FE",
+"+ c #FEFEFE",
+"8X c #E9FAFF",
+"|. c #8E8F93",
+"e c #919396",
+"=. c #9A9C9F",
+"@X c #A3A2A4",
+"2. c #A3A5A7",
+"P. c #B5B7B9",
+"F. c #B8B8BA",
+"=X c #BEC0C1",
+"7 c #C7C9CA",
+"p c #CACACC",
+"Z. c #CDCECF",
+"5 c #D3D3D5",
+"F c #D6D7D9",
+"W c #DCDCDD",
+"= c #E5E5E5",
+"0. c #E5E5E6",
+"uo c #6DDBF5",
+"[X c #61D7F5",
+"y. c #EEEEEE",
+"-o c #70DCF6",
+"ko c #6DDBF6",
+"+o c #6ADAF6",
+"NX c #67D9F6",
+"z c #EEEEEF",
+"vX c #52D8F9",
+"~X c #70DCF8",
+"GX c #AFE5F4",
+">o c #88E1F7",
+"5o c #91E4F8",
+"TX c #8BE2F8",
+"pX c #F1F2F3",
+".o c #9AE7F9",
+"+. c #818387",
+"YX c #B5EDFA",
+"S. c #818388",
+"R c #F7F7F7",
+"Q c #F7F7F8",
+"o c #FAFBFA",
+"* c #FAFBFB",
+"[ c #8A8C8E",
+"WX c #EEFAFD",
+"R. c #8A8C8F",
+"W. c #909194",
+"^. c #9C9EA1",
+"V. c #A2A3A6",
+";. c #A5A7A9",
+"/ c #AEB0B1",
+"U. c #B4B5B7",
+"' c #BDBEC0",
+"t c #C0C2C4",
+"OX c #CCCCCD",
+"C c #CCCCCE",
+"j. c #CFD0D1",
+"jX c #A5CBD6",
+"P c #D5D5D6",
+"f c #DBDDDC",
+"t. c #E1E2E3",
+"y c #E7E7E9",
+"1o c #57D5F4",
+"%o c #54D4F4",
+":o c #66DAF6",
+"4X c #CFE8EF",
+"B. c #EDECED",
+"nX c #45D5F9",
+"4 c #F0F0F0",
+"^X c #72DEF9",
+"&o c #9FE7F8",
+"s c #808184",
+"(X c #99E5F8",
+"d. c #7D8084",
+"i. c #838588",
+"2X c #F0F6F7",
+"^ c #838589",
+"Mo c #C0EFFB",
+"Lo c #C3F0FC",
+". c #F9F9FA",
+"tX c #E7F9FD",
+"L c #FFFEFE",
+"d c #8C8E91",
+"Q. c #929397",
+"(. c #959799",
+"XX c #9B999C",
+"B c #989B9E",
+"s. c #9EA0A3",
+"$. c #A7A9AB",
+"0 c #ADAEB1",
+"A. c #C8C9CA",
+"$X c #CECECF",
+"q c #D1D2D4",
+"wX c #CBD3D7",
+"J. c #D7D7D8",
+"o. c #DADBDB",
+"fo c #50D4F4",
+"j c #76797C",
+"UX c #5FD6F4",
+"Xo c #56D6F5",
+"ZX c #7ADCF4",
+"lX c #56D9FA",
+"|X c #98E6F8",
+"=o c #92E4F8",
+"AX c #D4EEF5",
+"CX c #86E3FA",
+"Oo c #AAE9F9",
+"Go c #B3ECFA",
+"#. c #F5F6F6",
+"m c #828688",
+"]X c #B0EBFB",
+"oX c #85878A",
+"Po c #CEF2FC",
+") c #85878B",
+"! c #FBFBFB",
+"co c #D1F3FD",
+"JX c #D1F6FE",
+"KX c #F8FDFE",
+"}. c #8B8C8F",
+"Ao c #F8FDFF",
+"%. c #8B8C90",
+"I c #8E9092",
+"b. c #8E9094",
+"U c #97999B",
+"9. c #97999C",
+"e. c #97999D",
+"6 c #A3A6A9",
+"3 c #BBBDBE",
+"9 c #C1C2C4",
+"p. c #CACBCC",
+"- c #D9D9DA",
+"8. c #DFDEE0",
+"9o c #31CBF2",
+"SX c #46D2F5",
+"mo c #5ED7F4",
+"~. c #EBEBEB",
+"$o c #64D9F5",
+"5. c #EBEBEC",
+"2o c #88E2F7",
+"1X c #DFEDF1",
+"k. c #818486",
+"< c #F4F4F5",
+"Ko c #C7F1FB",
+"@ c #F7F8F8",
+"Vo c #CDF3FC",
+"4o c #C7F1FC",
+":. c #87898C",
+"{. c #8A8A8D",
+"-X c #EEFBFE",
+"ro c #E8F9FE",
+"x c #909295",
+"7. c #909296",
+"*. c #939698",
+",X c #8A9398",
+"u. c #96979B",
+"n. c #999B9E",
+"@. c #9FA0A3",
+"h. c #A2A4A6",
+"L. c #B1B2B5",
+"~ c #B4B6B8",
+"%X c #BDBFC1",
+"N. c #CCCDCE",
+"7X c #CCD0D2",
+"T. c #DBDBDD",
+"X. c #E4E4E4",
+"l c #E4E4E6",
+"so c #33CDF3",
+"E c #E7E8E8",
+"w c #E7E8E9",
+"xX c #C0E1EB",
+"No c #48D1F4",
+"T c #EAE9EA",
+"zo c #45D0F4",
+"kX c #4ED6F6",
+"g c #EDEDED",
+"1. c #EDEDEE",
+"b c #EDEDEF",
+";o c #78DEF7",
+"}X c #8DE2F7",
+"3o c #93E4F8",
+"&X c #808286",
+"{X c #B1EBF9",
+"G. c #838688",
+"io c #B7EDFA",
+",o c #B7EDFB",
+"DX c #C9F3FC",
+"& c #F9FAFA",
+"fX c #C6F8FF",
+"Zo c #D8F5FD",
+"S c #898B8E",
+": c #FFFFFE",
+"bo c #F9FDFF",
+"O c #FFFFFF",
+"G c #8C8F92",
+"E. c #929498",
+"{ c #A1A2A5",
+"q. c #AAABAE",
+"<X c #B3B4B6",
+"uX c #B9B9BD",
+":X c #CBCBCD",
+"4. c #CECFCF",
+"K c #CECFD1",
+"_. c #CECFD2",
+"O. c #D4D4D5",
/* pixels */
" ",
" ",
" ",
" ",
-". . . . . . . . . . . . . . . . . . . X o O . . + @ # . . . . . . . . . . . . . . . . . . . . . . . ",
-"$ % & * . . . = - ; : . . . > , < 1 2 3 4 5 O 6 7 8 9 # . . . . . . . . . . . . . . . . . . . . . . ",
-"0 q w e . . O r t y r u . . & i p a s d f g O h j k l z . . . . . . . . . . . . . . . . . . . . . . ",
-"x c v b n . m M N B V C . . Z w A S = D F G . H < J K L . . . . . . . . . . . . . . . . . . . . . . ",
-"P I U Y T . R E W Q ! ~ . T Y ^ / ( . n ) . . . . _ . . . . . . . . . . . . . . . . . . . . . . . . ",
-". ` ' ] [ . { } | ...X.. o.A w O.. @ +.@.#.. _ $.%.&.# . . . . . . . . . . . . . . . . . . . . . . ",
-". *.=.-.;.. :.U >.,.<.1.. & 2.=.3.. 4.5.6.7.. m 8.9.0.q.. . . . . . . . . . . . . . . . . . . . . . ",
-". o l w.b e.r.' t.y.u.i.q.p.v r.a.. s.c d.- . = f.g.h.q.. . . . . . . . . . . . . . . . . . . . . . ",
-". n j.k.l.z.x.c.v.b.n.m.M.N.q B.n . s.c p - . = f.q h.q.. . . . . . . . . . . . . . . . . . . . . . ",
-". . V.C.Z.A.i S.D.# F.2.G.H.i 0 . . s.c p - . = f.q h.q.. . . . . . . . . . . . . . . . . . . . . . ",
-". . J.n.=.K.L.P.. . I.U.Y.=.T.~ . . s.c p - . = f.q h.q.. . . . . . . . . . . . . . . . . . . . . . ",
-". . R.M E.=.=.W.. . #.Q 5.w Q.m . . s.!.~.^.. = Y /.(.) O . . . . . . . . . . . . . . . . . . . . . ",
-". . . < B p ).> . . X _.t B `.. . . '.].[.7.. R.{.}.|. X.XS . . . . . . . . . . . . . . . . . . . . ",
-". . . XXoXOXs.. . . . ~ B.+XP . . . @X#X$.$X%X&X5 *X=X+ -X;X:X>X;X;X;X,X. <X;X>X1X;X2X<X,X;X;X;X2X. ",
-". . . . . . . . . . . . . . . . . . . . . . ;X2X<X%X,X. >X3X<X;X2X. 2X;X<X2X;X1X>X,X4X>X5X. . 3X>X. ",
-". . . . . . . . . . . . . . . . . . . . . . ;X:X4X;X1X. ,X4X. . . . >X%X. >X,X. <X;X2X,X6X. . ;X4X. ",
-". . . . . . . . . . . . . . . . . . . . . . ;X:X1X%X1X:X%X<X. . . . 5X5X. 5X5X. . . <X;X2X. 7X;X7X. ",
-". . . . . . . . . . . . . . . . . . . . . . ;X4X;X6X1X8X6X. 7X;X;X;X;X>X. %X>X. . . 2X;X;X;X;X,X. . ",
-". . . . . . . . . . . . . . . . . . . . . . ;X5X8X>X5X;X9X. ,X2X. 7X;X7X7X;X7X. . . 6X3X. . . . . . ",
-". . . . . . . . . . . . . . . . . . . . . 9X;X;X:X8X;X1X. 2X;X9X. 4X;X<X2X;X. . . . 1X5X. . ,X>X. . ",
-". . . . . . . . . . . . . . . . . . . . . 9X;X3X. 8X;X2X. >X%X:X8X3X3X. 6X3X. . . . ,X>X. <X;X2X. . ",
-". . . . . . . . . . . . . . . . . . . . . 9X;X4X. 8X,X. . >X;X%X8X%X6X. 3X6X. . . . 5X;X;X;X8X. . . ",
-". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+" ",
+" ",
+" ",
+". X o O O O O + @ # O O O O $ % & * = - ; O : > , < ",
+"1 2 3 4 O O + 5 6 7 8 O O . 9 0 q w e r t O y u i p ",
+"a s d f O O g h j k l O O z x c v b n m M O N B V C ",
+"Z A S D O O F G H J K L O P I U Y O T a R O O E W Q ",
+"! ~ ^ / O O ( ) _ ` ' & O ] [ { + 8 } | .O ..X.o.4 ",
+"O O.+.@.#.X $.%.&.*.=.-.: ;.:.M O >.,.[ <.O 1.2.3.4. ",
+"O 5.6.7.8.z e 9.0.q.` w.N e.r.t.O y.u.i.p.O a.s.d.f. ",
+"O g.h.:.j.a k.l.+ z.x.c.v.b.n.m.O z M.:.N.O B.V.C.Z. ",
+"O $ A.S.D.F.G.H.O J.K.L.P.I.U.$ O Y.M.:.N.O B.V.C.Z. ",
+"O O T.R.E.W.Q.!.O ~.^./.(.)._.+ O z M.:.N.O B.V.C.Z. ",
+"O O z `.I.:.'.Y.O ].[.{.}.|. XO O .XXXoXOXO +X@X#X$X ",
+"O O 8 %X&X*X=XO -X;X:X>X,X<X1X2X3X4X5X6X7X8X9X0XqXwXeXrXtX ",
+"O O O yXuXiXpXO aXsXO dXfXgXhXjXkXlXzXxXcXvXbXnXmXMXNXBXVX ",
+" CXZXAXSXDXFXGXHXJXKXLXPXIXUXYXTXRXEXWXQXNX ",
+" !X~X^X/X(X)X_X`X'X]X[X{X}X|XO o.oXoooOo+o ",
+" @oVX#o$o%o&o*o=o-o;o:o'X>o,oO QX<o1o2o3o4o ",
+" 5o6o7o8o9oeX0oqowo]XeoroeotoO youoioO porX ",
+" aosodofogohojokolozoxocovoboO nomo3oMoNoBo ",
+" VoCoO 4oZoAoSoDoFoGoHoJoKoAoO Jo4oLoPoMoIo ",
+" ",
+" ",
" ",
" ",
" ",
diff --git a/Source/Core/DolphinWX/resources/Platform_Wii.xpm b/Source/Core/DolphinWX/resources/Platform_Wii.xpm
index 8715d94768..eb163b80f0 100644
--- a/Source/Core/DolphinWX/resources/Platform_Wii.xpm
+++ b/Source/Core/DolphinWX/resources/Platform_Wii.xpm
@@ -1,319 +1,223 @@
/* XPM */
-static const char * Platform_Wii_xpm[] = {
+static const char *Platform_Wii_xpm[] = {
/* columns rows colors chars-per-pixel */
-"96 32 283 2",
-"~. c #D4D5D6",
-"c c #E3E4E4",
-"zX c #E3E4E5",
-"% c #D9D9DA",
-"@o c #E8E8E8",
-"8 c #D9D9DB",
-"sX c #E8E8E9",
-"[. c #F7F7F6",
-"d. c #F7F7F8",
-"6. c #DEDDDF",
-"h c #878A8C",
-"m c #8C8E91",
-"xX c #9B9D9F",
-"+. c #8C8E92",
-"`. c #AAACAE",
-"j c #CDCECF",
-"nX c #CDCED0",
-"M. c #DCDDDD",
-"n. c #DCDDDE",
-"t c #FAFBFB",
-"Oo c #FFFFFE",
-". c #FFFFFF",
-"'. c #85878A",
-"e c #85878B",
-";. c #949699",
-"KX c #8A8B8E",
-"E c #A3A5A7",
-".o c #C1C3C5",
-"}. c #C6C7C8",
-"kX c #C6C7C9",
-"Xo c #C6C7CA",
-"@ c #D5D6D7",
-"M c #E4E5E5",
-"; c #DADADB",
-"MX c #F3F4F5",
-"O c #E9E9E9",
-"Q c #F8F8F8",
-"4 c #F8F8F9",
-"WX c #888B8E",
-"~X c #7E8084",
-"G c #8D8F92",
-"q. c #9C9EA0",
-"R c #8D8F93",
-"2. c #929396",
-"AX c #A1A2A4",
-"4X c #BABCBE",
-"J. c #A1A2A5",
-"N c #B0B1B4",
-"y c #BFC0C1",
-"oX c #BFC0C2",
-"5. c #CECFD0",
-"9. c #CECFD1",
-"yX c #DDDEDF",
-"-. c #DDDEE0",
-"d c #ECEDED",
-"ZX c #E2E2E3",
-"c. c #F1F1F2",
-"UX c #F6F5F6",
-"z c #818488",
-"7X c #9FA2A4",
-"g c #86888B",
-"/. c #86888C",
-"rX c #95979A",
-"D c #A4A6A8",
-"h. c #B3B5B6",
-"l c #9A9B9E",
-"(X c #C2C4C5",
-"S. c #9A9B9F",
-"H c #B8B9BB",
-"Q. c #D6D7D7",
-"-X c #BDBDBF",
-"HX c #BDBDC0",
-"). c #E5E6E6",
-"v c #D6D7D9",
-"0. c #EAEAEA",
-"=. c #DBDBDD",
-"G. c #EAEAEB",
-"FX c #F9F9F9",
-"GX c #F9F9FA",
-"*X c #898C8F",
-"VX c #8E9092",
-"~ c #8E9093",
-"w. c #8E9094",
-"+X c #9D9FA2",
-"F. c #ACAEB1",
-"} c #A2A3A6",
-"pX c #CACCCD",
-"3X c #B1B2B4",
-"CX c #C0C1C2",
-"0 c #D9DBDB",
-"#. c #C0C1C3",
-"1 c #CFD0D0",
-"b. c #DEDFDF",
-"cX c #C5C5C7",
-"N. c #DEDFE0",
-"B. c #EDEEEE",
-"tX c #E3E3E3",
-"k c #E3E3E4",
-"a c #D4D4D7",
-"9 c #F2F2F3",
-"&. c #919497",
-"^ c #87898C",
-"n c #87898D",
-"Z c #96989B",
-"mX c #A5A7A9",
-"a. c #8C8D90",
-"RX c #9B9C9E",
-"2X c #A5A7AA",
-"s. c #9B9C9F",
-"+ c #C3C5C6",
-"bX c #AAABAE",
-"X. c #B9BABC",
-"i. c #C8C9CA",
-"- c #D7D8D9",
-"2 c #CDCDCE",
-"QX c #CDCDCF",
-"BX c #E6E7E8",
-"E. c #EBEBEB",
-"# c #FAFAFA",
-"H. c #FFFEFE",
-"P c #808286",
-"C c #8F9194",
-"@. c #8F9195",
-"[ c #9EA0A2",
-"^X c #ADAFB1",
-"x. c #ADAFB2",
-"*. c #949599",
-"YX c #BCBEC0",
-"1X c #A3A4A7",
-"I. c #B2B3B5",
-"+o c #C1C2C3",
-"p. c #D0D1D2",
-"iX c #D0D1D3",
-"<. c #DFE0E1",
+"96 32 187 2",
+":. c #C5C6C8",
+"V c #D4D5D6",
+"k c #E3E4E4",
+"w. c #CACACC",
+"5. c #E8E8E9",
+"5 c #F7F7F8",
+"8 c #8C8E91",
+".X c #AAACAF",
+"+. c #AFB0B2",
+"= c #DCDDDE",
+"L. c #EBECED",
+"H c #FAFBFB",
+"%. c #F0F0F0",
+"J. c #F0F0F1",
+"+ c #FFFFFF",
+"O. c #808386",
+"U. c #8F9294",
+"0. c #85878A",
+"S. c #949698",
+"K. c #949699",
+"2. c #B2B4B6",
+"!. c #A8A9AC",
+"z. c #B7B8BA",
+"S c #C6C7C8",
+"7. c #D5D6D7",
+"P c #F3F4F4",
+") c #E9E9E9",
+"m. c #E9E9EB",
+"% c #F8F8F8",
+"n. c #F8F8F9",
+"p. c #888B8D",
+"h c #7E8084",
+"n c #8D8F92",
+"k. c #9C9EA0",
+"8. c #8D8F93",
+"u c #BABCBE",
+"} c #E2E2E2",
+"N c #E2E2E3",
+"( c #F1F1F1",
+">. c #818487",
+"x. c #818488",
+"K c #86888B",
+"A. c #959799",
+"<. c #86888C",
+"r. c #95979A",
+"j. c #8B8C8F",
+"v c #B3B5B7",
+"9. c #A9AAAD",
+", c #C7C8C9",
+"* c #E5E6E7",
+"*. c #F9F9F9",
+"Q. c #7F8184",
+",. c #8E9092",
+"B c #8E9093",
+"U c #9D9FA3",
+"R. c #A2A3A6",
+"[ c #CFD0D0",
+"e c #C0C1C3",
+"d c #EDEEEE",
+"(. c #FCFDFD",
+"b c #87898C",
+"/ c #96989A",
+"^ c #87898D",
+"t c #96989B",
+"L c #A5A7A9",
+"- c #E6E7E8",
+"X c #DCDCDD",
+"]. c #FAFAFA",
+"e. c #8A8D90",
+"N. c #8F9194",
+"d. c #9EA0A3",
+"{. c #9EA0A4",
+"=. c #A3A4A7",
+" X c #A3A4A8",
+"s. c #CBCDCE",
+"| c #C1C2C3",
+"o c #DFE0E0",
+"Z c #C6C6C8",
" c None",
-"IX c #EEEFEF",
-".X c #E4E4E4",
-"$. c #FDFEFD",
-"gX c #F3F3F3",
-"wX c #F3F3F4",
-"0X c #929597",
-"u. c #83868A",
-"dX c #929598",
-"u c #888A8D",
-"t. c #888A8E",
-"R. c #C4C6C6",
-"=X c #C4C6C7",
-"z. c #B5B7BA",
-"_X c #C9CACB",
-": c #D8D9D9",
-"r. c #C9CACD",
-"7 c #D8D9DA",
-"m. c #E7E8E8",
-"{ c #ECECEC",
-"@X c #FBFBFA",
-"< c #ECECED",
-"f. c #FBFBFB",
-",. c #8B8E91",
-"]. c #818386",
-"B c #818387",
-"T c #909295",
-"y. c #909296",
-".. c #9FA1A3",
-"EX c #86878B",
-";X c #AEB0B1",
-"j. c #AEB0B2",
-"hX c #B3B4B6",
-"&X c #B3B4B7",
-"|. c #C2C3C5",
-"oo c #C2C3C6",
-"V. c #D1D2D3",
-"8. c #E0E1E1",
-"PX c #C7C7C9",
-"LX c #E0E1E2",
-"A. c #E5E5E6",
-"= c #F4F4F4",
-":X c #F4F4F5",
-"XX c #84878A",
-"A c #898B8E",
-"eX c #989A9D",
-"NX c #A7A9AB",
-"9X c #B6B8B9",
-"J c #B6B8BA",
-"P. c #ACADB0",
-"6 c #D9DADA",
-"5 c #D9DADB",
-"3. c #D9DADC",
-"1. c #E8E9E9",
-"L. c #CFCFD1",
-"U c #F7F8F8",
-"3 c #EDEDEE",
-"]X c #EDEDEF",
-"$ c #FCFCFC",
-"uX c #8C8F91",
-"] c #8C8F92",
-"_. c #828487",
-"K c #919395",
-"w c #828488",
-"| c #919396",
-"jX c #919397",
-"Y c #B4B5B7",
-"' c #C3C4C5",
-"! c #B4B5B8",
-"& c #C3C4C6",
-"W. c #E1E2E2",
-"aX c #E1E2E3",
-"SX c #D7D7D8",
-"* c #E6E6E6",
-"` c #F5F5F5",
-"l. c #F5F5F6",
-"k. c #85888B",
-"/X c #7B7D81",
-"6X c #8A8C8E",
-"f c #8A8C8F",
-" X c #8A8C90",
-"( c #999B9E",
-"_ c #A8AAAC",
-"q c #8F9093",
-"JX c #9E9FA2",
-">X c #ADAEB0",
-"%. c #C6C8C9",
-"$X c #ADAEB1",
-")X c #BCBDBF",
-"[X c #BCBDC0",
-"vX c #CBCCCE",
-"> c #DADBDC",
-"5X c #DFDFDF",
-"#X c #D0D0D2",
-"%X c #F8F9F9",
-"o. c #DFDFE0",
-"4. c #EEEEEE",
-"qX c #EEEEEF",
-"o c #FDFDFD",
-"s c #FDFDFE",
-"i c #838588",
-"TX c #838589",
-"L c #929496",
-"/ c #929497",
-"DX c #929498",
-"C. c #A1A3A5",
-",X c #A1A3A6",
-"U. c #88898D",
-"x c #97989A",
-"fX c #97989C",
-"D. c #B0B2B5",
-"I c #B5B6B8",
-"}X c #D3D4D5",
-"`X c #D3D4D6",
-"K. c #C9C9CB",
-"(. c #D8D8D9",
-" o c #E7E7E8",
-"Z. c #F6F6F6",
-") c #86898C",
-"!X c #7C7E83",
-"p c #8B8D90",
-"!. c #8B8D91",
-" . c #9A9C9F",
-"r c #B8BABB",
-"OX c #C7C9C9",
-"{X c #AEAFB1",
-"e. c #C7C9CA",
-"v. c #DBDCDC",
-">. c #DBDCDD",
-"'X c #EAEBEC",
-":. c #E0E0E0",
-"|X c #F9FAFA",
-"<X c #EFEFF0",
-"7. c #FEFEFD",
-"X c #FEFEFE",
-"W c #FEFEFF",
-", c #F4F3F3",
-"Y. c #8E9193",
-"^. c #8E9194",
-"T. c #848688",
-"S c #848689",
-"b c #84868A",
-"V c #939598",
-"{. c #A2A4A6",
-"O. c #98999D",
-"F c #A7A8AA",
-"g. c #B6B7B8",
-"8X c #B6B7B9",
-"lX c #C5C6C7",
+"|. c #D5D5D7",
+"R c #E4E4E5",
+"XX c #F3F3F3",
+"! c #F3F3F4",
+"O c #F8F7F7",
+"#. c #838689",
+"' c #888A8D",
+"x c #888A8E",
+"Q c #97999C",
+";. c #A6A8AA",
+"c c #C4C6C6",
+"@. c #C4C6C7",
+"b. c #BABBBD",
+"4. c #C9CACB",
+"P. c #C9CACC",
+"1. c #BFBFC2",
+"; c #F6F7F7",
+"r c #ECECED",
+"f c #FBFBFB",
+"T. c #FBFBFC",
+"p c #909296",
+"7 c #86878A",
+"{ c #BDBFC0",
+"] c #A4A5A8",
+"_ c #D1D2D4",
+"D c #E0E1E1",
+"~. c #C7C7C9",
+"Y. c #EFF0F0",
+"I c #F4F4F4",
+"f. c #F4F4F5",
+"w c #84878A",
+"s c #939699",
+"W c #898B8E",
+"6. c #898B8F",
+"B. c #989A9D",
+"g. c #989A9E",
+"` c #A7A9AB",
+"^. c #8E8F93",
+" . c #C5C7C7",
+"E. c #ACADAF",
+"[. c #BBBCBF",
+"c. c #C0C0C2",
+"6 c #D9DADB",
+"0 c #DEDEDF",
+". c #EDEDEE",
+"@ c #FCFCFC",
+"a c #7D8083",
+"j c #828487",
+"F c #9B9EA1",
+"z c #96979A",
+"`. c #A5A6A8",
+"W. c #A5A6A9",
+"y. c #B4B5B7",
+"Z. c #D2D3D4",
+"2 c #E1E2E2",
+"h. c #C8C8CA",
+"# c #E1E2E3",
+"l. c #F0F1F2",
+"). c #E6E6E7",
+"M c #F5F5F6",
+"Y c #8A8C8F",
+"X. c #8A8C90",
+"3 c #999B9D",
+"A c #999B9E",
+"q. c #ADAEB0",
+"&. c #CBCCCD",
+"G. c #CBCCCE",
+"$ c #DADBDC",
+"/. c #F8F9F9",
+"l c #EEEEEE",
+"'. c #EEEEEF",
+"< c #FDFDFD",
+"C c #FDFDFE",
+"3. c #7E8184",
+"u. c #838588",
+"M. c #929496",
+"y c #838589",
+"H. c #929497",
+"V. c #88898C",
+"i. c #B0B2B3",
+"J c #B0B2B4",
+"> c #97989B",
+"C. c #B5B6B9",
+"~ c #C4C5C6",
+"9 c #D3D4D4",
+"4 c #ABABAF",
+"D. c #D3D4D6",
+".. c #E7E7E7",
+"G c #F6F6F7",
+"-. c #7C7E81",
+"o. c #8B8D90",
+"a. c #9A9C9E",
+"q c #8B8D91",
+"m c #9A9C9F",
+"$. c #A9ABAD",
+"v. c #A9ABAE",
+"E c #BDBEBF",
+"g c #AEAFB2",
+"}. c #BDBEC1",
+"t. c #EAEBEB",
+"i c #EFEFF0",
+"& c #FEFEFE",
+"1 c #FEFEFF",
+"I. c #848689",
+"T c #8E9195",
+"F. c #A2A4A6",
+"_. c #A2A4A7",
+": c #C5C6C7",
/* pixels */
" ",
" ",
" ",
" ",
-". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X X . . . . . . X X X . . . . . . ",
-"X X X X X . . . . . . . . . o o . . . . . . . . . X X X X X . . O + @ # . . . . $ % & * o . . . . . ",
-"= - ; : > , . . . . . . . < 1 2 3 . . . . . . . 4 5 6 7 8 9 . 0 q w e r t . . . y u i p a s . . . . ",
-"d f g e h j . . . . . . k l z z x c . . . . . . v b n e m M # N B V f C - . . k Z A V S D = . . . . ",
-"$ F p C G H . . . . . s J b K L P I U . . . . . Y p T R E W Q ! B ~ ^ / > . . M ( ) ~ b _ ` . . . . ",
-"o ' ^ T ] [ ` . . . . { } ) | | A .d . . . . $ ..~ C G X.. . o.O.+.@.#.$.. . . %.&.G *.=.X . . . . ",
-"X -.f T G ;.:.. . . . >.&.p T T ~ ,.<.. . . . 1.2.C C T 3.. . . 4.5.6.$ . . . . 7.8.9.0.X . . . . . ",
-". ` q.m ~ w.e.. . . . r.t.C ~ C y.u.i.$ . . . p.a.T C s.d.. . . . . . . . . . . . . . . . . . . . . ",
-". f.g.n T m h.. . . ` j.k.@.V / T e N l.. . . z.m T G x.. . . c.v.b.n.m.o . . . O M.N.v.B.X . . . . ",
-". o V.^ T m C.Z.. . A.S.t.f D.F.C f ;.G.. . H.J.~ C m K.. . X L.S ~ g P.4 . . X I.U.Y.T.R.f.. . . . ",
-". . E.C ~ m Z W.. . Q.] !.u ~.5.^.] /.(.. . ).2.C C T A.. . X 5._.m S `.4 . . X N '.m ].& f.. . . . ",
-". . [.{.f ~ w.}.. . |.'. XK .XA.Z !.XXoX# . OX!.C ~ +X@X. . X #Xg T u $X%X. . X &X*XT '.=Xf.. . . . ",
-". . f.-Xg T X;X. :X>Xg n ,X<XU 1Xf ^ 2X:X. 3X+.@.p 4X. . . X #Xg T u $X%X. . X &X*XT '.=Xf.. . . . ",
-". . . 5X6XC p 7XZ.G.( u g 8Xf.. 9Xp a.0XqXs +XG T m > . . . X #Xg T u $X%X. . X &X*XT '.=Xf.. . . . ",
-". . . wXeXp m rXtXyXf f uXiX. . pXC +.g aXsXdXC w.fXgX. . . X #Xg T u $X%X. . X &X*XT '.=Xf.. . . . ",
-". . . Q hXg ~ jXkXlX'.A ( zX. . sXxX!.g cXvXC C m bX. . . . X #Xg T u $X%X. . X &X*XT '.=Xf.. . . . ",
-". . . o nXe @.T mX2Xf ^ P.MX. . X `.p f } NX@.T f %.. . . . X #Xg T u $X%X. . X &X*XT '.=Xf.. . . . ",
-". . . . BXVX~ T T | C n #.. . . . CXR ~ T K T @.R ZX. . . . X #Xg T u $X%X. . X &X*XT '.=Xf.. . . . ",
-". . . . gXAXA | T T m T @ . . . . SXDX+.C C T ~ .FX. . . . X #Xg T u $X%X. . X &X*XT '.=Xf.. . . . ",
-". . . . GXHXi | T | u +Xm.. . . . c.JX!.T T T A I X . . . . X #Xg T u $X%X. . X &X*XT '.=Xf.. . . . ",
-". . . . . yX6Xm T T e Y o . . . . . I.*X^.T C KXLX. . . . . X #Xg T u $X%X. . X &X*XT '.PXZ.IXUXd.. ",
-". . . . . FXYXw u TXRXM . . . . . . m.xXEXWX'.H $ . . . . . X QX!Xn ~XF 4 . . W ^XP n /X(XQ b.)X_Xo ",
-". . . . . . %X`XF.YX'X. . . . . . . . ]X[X{X}X|X. . . . . . W o.oXooo@ $ . . Oo7 & Xo+oZXX ` zX@oX ",
-". . . . . . . X $ o . . . . . . . . . . o $ X . . . . . . . . . o o o X . . . . X o o o X . . X X . ",
+" ",
+" ",
+" ",
+" ",
+" ",
+". X o O + + + @ # $ % + + + & * = - ; : > , < 1 2 3 4 5 ",
+"6 7 8 9 + + + 0 q w e + + + r t y u i p a s d f g h j k ",
+"l z x c < + f v b n m M + + N 8 B V C Z A S @ & D F g G ",
+"H J K L P + I U Y B T R + < E W Q ! + f I f + + & I % + ",
+"+ ~ ^ / ( + ) q s A b _ < & ` ' ] & @ [ { 9 + + } | .P ",
+"+ ..X.o.$ + , O.+.@.#.$.< %.z ' &.& *.=.-.;.+ + :.>.,.) ",
+"+ 5 3 <.1.f 2.3.4.5.6.t ( 7.8.p - + *.9.0.q.+ + w.e.r.t. ",
+"+ f y.u.i.( 3 p.5.G a.<.R s.<.d.f.+ *.9.0.q.+ + w.e.r.t. ",
+"+ & $ <.g.h.j.k.l.@ z.x.c.v.K b.& + n.9.0.q.+ + w.e.r.t. ",
+"+ + m.M.N.B.V.C.< + Z.o.A.S.6.D.+ + *.9.0.q.+ + w.e.r.t. ",
+"+ + f F.Y N.' G.+ + k H.n B p J.+ + *.9.0.q.+ + w.e.K.L. ",
+"+ + + P.I.x U.Y.+ + T.R.<.K E.n.+ + n.W.Q.!.+ + ~.w ^.i ",
+"+ + + /.C.m Z.(.+ + + )._.`.'.+ + + ].[.{.}.+ + |. X.XXX ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
" ",
" ",
" ",
diff --git a/Source/Core/DolphinWX/resources/rating_gamelist.h b/Source/Core/DolphinWX/resources/rating_gamelist.h
new file mode 100644
index 0000000000..de90bc79eb
--- /dev/null
+++ b/Source/Core/DolphinWX/resources/rating_gamelist.h
@@ -0,0 +1,451 @@
+static const char *rating_5[] = {
+"96 32 33 1",
+"7 c #EBB027",
+" c None",
+"< c #E6A619",
+"6 c #F3BE3B",
+"9 c #EBA722",
+"= c #E4A30E",
+"1 c #F6C53F",
+"3 c #F4B615",
+"> c #F2B300",
+"0 c #DA8900",
+"o c #FAD048",
+"$ c #F8C71D",
+"e c #D88600",
+"# c #FDD445",
+"8 c #E8A81F",
+": c #F6BE00",
+"w c #E4A50B",
+"- c #F1C033",
+"q c #E5A60E",
+"* c #EFB42F",
+"% c #F5BC09",
+"r c #D27700",
+"; c #FACC3B",
+", c #F2B219",
+"X c #F3C53A",
+"O c #F8C940",
+"4 c #F0AF22",
+"5 c #E9AE1B",
+"2 c #F6C025",
+". c #F4C93D",
+"+ c #F2C632",
+"& c #F4BA27",
+"@ c #FAD44D",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" .X .X .X .X .X ",
+" oO oO oO oO oO ",
+" +@#$%&*= +@#$%&*= +@#$%&*= +@#$%&*= +@#$%&*= ",
+" -;:>,< -;:>,< -;:>,< -;:>,< -;:>,< ",
+" 1234 1234 1234 1234 1234 ",
+" 567890 567890 567890 567890 567890 ",
+" qw er qw er qw er qw er qw er ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" "
+};
+
+static const char *rating_4[] = {
+"96 32 47 1",
+"l c #D2D2D2",
+"o c #E1E1E1",
+"i c #EBB027",
+" c None",
+"9 c #E6A619",
+"u c #F3BE3B",
+"3 c #DADADA",
+"a c #EBA722",
+": c #E4A30E",
+"w c #F6C53F",
+"# c #E2E2E2",
+"r c #F4B615",
+"7 c #F2B300",
+"s c #DA8900",
+"q c #DBDBDB",
+"O c #FAD048",
+"* c #F8C71D",
+"@ c #E3E3E3",
+"h c #D88600",
+"& c #FDD445",
+"p c #E8A81F",
+"6 c #F6BE00",
+"0 c #DCDCDC",
+"g c #E4A50B",
+"k c #D5D5D5",
+", c #E4E4E4",
+"4 c #F1C033",
+"1 c #DDDDDD",
+"f c #E5A60E",
+"d c #D6D6D6",
+"; c #EFB42F",
+"= c #F5BC09",
+"j c #D27700",
+"5 c #FACC3B",
+"8 c #F2B219",
+"< c #DEDEDE",
+"X c #F3C53A",
+"+ c #F8C940",
+"t c #F0AF22",
+"y c #E9AE1B",
+"e c #F6C025",
+"2 c #DFDFDF",
+". c #F4C93D",
+"$ c #F2C632",
+"- c #F4BA27",
+"> c #E0E0E0",
+"% c #FAD44D",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" .X .X .X .X oo ",
+" O+ O+ O+ O+ @# ",
+" $%&*=-;: $%&*=-;: $%&*=-;: $%&*=-;: >,,<1223 ",
+" 456789 456789 456789 456789 2#031q ",
+" wert wert wert wert #21< ",
+" yuipas yuipas yuipas yuipas 0o<01d ",
+" fg hj fg hj fg hj fg hj 33 kl ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" "
+};
+
+static const char *rating_3[] = {
+"96 32 47 1",
+"l c #D2D2D2",
+"o c #E1E1E1",
+"i c #EBB027",
+" c None",
+"9 c #E6A619",
+"u c #F3BE3B",
+"3 c #DADADA",
+"a c #EBA722",
+": c #E4A30E",
+"w c #F6C53F",
+"# c #E2E2E2",
+"r c #F4B615",
+"7 c #F2B300",
+"s c #DA8900",
+"q c #DBDBDB",
+"O c #FAD048",
+"* c #F8C71D",
+"@ c #E3E3E3",
+"h c #D88600",
+"& c #FDD445",
+"p c #E8A81F",
+"6 c #F6BE00",
+"0 c #DCDCDC",
+"g c #E4A50B",
+"k c #D5D5D5",
+", c #E4E4E4",
+"4 c #F1C033",
+"1 c #DDDDDD",
+"f c #E5A60E",
+"d c #D6D6D6",
+"; c #EFB42F",
+"= c #F5BC09",
+"j c #D27700",
+"5 c #FACC3B",
+"8 c #F2B219",
+"< c #DEDEDE",
+"X c #F3C53A",
+"+ c #F8C940",
+"t c #F0AF22",
+"y c #E9AE1B",
+"e c #F6C025",
+"2 c #DFDFDF",
+". c #F4C93D",
+"$ c #F2C632",
+"- c #F4BA27",
+"> c #E0E0E0",
+"% c #FAD44D",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" .X .X .X oo oo ",
+" O+ O+ O+ @# @# ",
+" $%&*=-;: $%&*=-;: $%&*=-;: >,,<1223 >,,<1223 ",
+" 456789 456789 456789 2#031q 2#031q ",
+" wert wert wert #21< #21< ",
+" yuipas yuipas yuipas 0o<01d 0o<01d ",
+" fg hj fg hj fg hj 33 kl 33 kl ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" "
+};
+
+static const char *rating_2[] = {
+"96 32 47 1",
+"l c #D2D2D2",
+"o c #E1E1E1",
+"i c #EBB027",
+" c None",
+"9 c #E6A619",
+"u c #F3BE3B",
+"3 c #DADADA",
+"a c #EBA722",
+": c #E4A30E",
+"w c #F6C53F",
+"# c #E2E2E2",
+"r c #F4B615",
+"7 c #F2B300",
+"s c #DA8900",
+"q c #DBDBDB",
+"O c #FAD048",
+"* c #F8C71D",
+"@ c #E3E3E3",
+"h c #D88600",
+"& c #FDD445",
+"p c #E8A81F",
+"6 c #F6BE00",
+"0 c #DCDCDC",
+"g c #E4A50B",
+"k c #D5D5D5",
+", c #E4E4E4",
+"4 c #F1C033",
+"1 c #DDDDDD",
+"f c #E5A60E",
+"d c #D6D6D6",
+"; c #EFB42F",
+"= c #F5BC09",
+"j c #D27700",
+"5 c #FACC3B",
+"8 c #F2B219",
+"< c #DEDEDE",
+"X c #F3C53A",
+"+ c #F8C940",
+"t c #F0AF22",
+"y c #E9AE1B",
+"e c #F6C025",
+"2 c #DFDFDF",
+". c #F4C93D",
+"$ c #F2C632",
+"- c #F4BA27",
+"> c #E0E0E0",
+"% c #FAD44D",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" .X .X oo oo oo ",
+" O+ O+ @# @# @# ",
+" $%&*=-;: $%&*=-;: >,,<1223 >,,<1223 >,,<1223 ",
+" 456789 456789 2#031q 2#031q 2#031q ",
+" wert wert #21< #21< #21< ",
+" yuipas yuipas 0o<01d 0o<01d 0o<01d ",
+" fg hj fg hj 33 kl 33 kl 33 kl ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" "
+};
+
+static const char *rating_1[] = {
+"96 32 47 1",
+"l c #D2D2D2",
+"o c #E1E1E1",
+"i c #EBB027",
+" c None",
+"9 c #E6A619",
+"u c #F3BE3B",
+"3 c #DADADA",
+"a c #EBA722",
+": c #E4A30E",
+"w c #F6C53F",
+"# c #E2E2E2",
+"r c #F4B615",
+"7 c #F2B300",
+"s c #DA8900",
+"q c #DBDBDB",
+"O c #FAD048",
+"* c #F8C71D",
+"@ c #E3E3E3",
+"h c #D88600",
+"& c #FDD445",
+"p c #E8A81F",
+"6 c #F6BE00",
+"0 c #DCDCDC",
+"g c #E4A50B",
+"k c #D5D5D5",
+", c #E4E4E4",
+"4 c #F1C033",
+"1 c #DDDDDD",
+"f c #E5A60E",
+"d c #D6D6D6",
+"; c #EFB42F",
+"= c #F5BC09",
+"j c #D27700",
+"5 c #FACC3B",
+"8 c #F2B219",
+"< c #DEDEDE",
+"X c #F3C53A",
+"+ c #F8C940",
+"t c #F0AF22",
+"y c #E9AE1B",
+"e c #F6C025",
+"2 c #DFDFDF",
+". c #F4C93D",
+"$ c #F2C632",
+"- c #F4BA27",
+"> c #E0E0E0",
+"% c #FAD44D",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" .X oo oo oo oo ",
+" O+ @# @# @# @# ",
+" $%&*=-;: >,,<1223 >,,<1223 >,,<1223 >,,<1223 ",
+" 456789 2#031q 2#031q 2#031q 2#031q ",
+" wert #21< #21< #21< #21< ",
+" yuipas 0o<01d 0o<01d 0o<01d 0o<01d ",
+" fg hj 33 kl 33 kl 33 kl 33 kl ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" "
+};
+
+static const char *rating_0[] = {
+"96 32 15 1",
+"; c #D2D2D2",
+". c #E1E1E1",
+" c None",
+"% c #DADADA",
+"o c #E2E2E2",
+"* c #DBDBDB",
+"X c #E3E3E3",
+"& c #DCDCDC",
+"- c #D5D5D5",
+"+ c #E4E4E4",
+"# c #DDDDDD",
+"= c #D6D6D6",
+"@ c #DEDEDE",
+"$ c #DFDFDF",
+"O c #E0E0E0",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" .. .. .. .. .. ",
+" Xo Xo Xo Xo Xo ",
+" O++@#$$% O++@#$$% O++@#$$% O++@#$$% O++@#$$% ",
+" $o&%#* $o&%#* $o&%#* $o&%#* $o&%#* ",
+" o$#@ o$#@ o$#@ o$#@ o$#@ ",
+" &.@&#= &.@&#= &.@&#= &.@&#= &.@&#= ",
+" %% -; %% -; %% -; %% -; %% -; ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" "
+};