diff --git a/Source/Core/DiscIO/Src/VolumeCreator.cpp b/Source/Core/DiscIO/Src/VolumeCreator.cpp
index 248bb806c8..890c2dec00 100644
--- a/Source/Core/DiscIO/Src/VolumeCreator.cpp
+++ b/Source/Core/DiscIO/Src/VolumeCreator.cpp
@@ -120,6 +120,7 @@ bool IsVolumeWiiDisc(const IVolume *_rVolume)
_rVolume->Read(0x18, 4, (u8*)&MagicWord);
return (Common::swap32(MagicWord) == 0x5D1C9EA3);
+ //Gamecube 0xc2339f3d
}
IVolume* CreateVolumeFromCryptedWiiImage(IBlobReader& _rReader, u32 _PartitionGroup, u32 _VolumeType, u32 _VolumeNum, bool Korean)
diff --git a/Source/Core/DolphinWX/DolphinWX.vcproj b/Source/Core/DolphinWX/DolphinWX.vcproj
index 566826048b..a195b42330 100644
--- a/Source/Core/DolphinWX/DolphinWX.vcproj
+++ b/Source/Core/DolphinWX/DolphinWX.vcproj
@@ -952,6 +952,14 @@
RelativePath=".\resources\Flag_USA.xpm"
>
+
+
+
+
diff --git a/Source/Core/DolphinWX/Src/GameListCtrl.cpp b/Source/Core/DolphinWX/Src/GameListCtrl.cpp
index 7bcf08b448..30e72b32e6 100644
--- a/Source/Core/DolphinWX/Src/GameListCtrl.cpp
+++ b/Source/Core/DolphinWX/Src/GameListCtrl.cpp
@@ -39,6 +39,8 @@
#include "../resources/Flag_Italy.xpm"
#include "../resources/Flag_Japan.xpm"
#include "../resources/Flag_USA.xpm"
+ #include "../resources/Platform_Wii.xpm"
+ #include "../resources/Platform_Gamecube.xpm"
#endif // USE_XPM_BITMAPS
// ugly that this lib included code from the main
@@ -76,6 +78,7 @@ bool operator < (const GameListItem &one, const GameListItem &other)
case CGameListCtrl::COLUMN_NOTES: return strcasecmp(one.GetDescription(indexOne).c_str(), other.GetDescription(indexOther).c_str()) < 0;
case CGameListCtrl::COLUMN_COUNTRY: return (one.GetCountry() < other.GetCountry());
case CGameListCtrl::COLUMN_SIZE: return (one.GetFileSize() < other.GetFileSize());
+ case CGameListCtrl::COLUMN_PLATFORM: return (one.GetPlatform() < other.GetPlatform());
default: return strcasecmp(one.GetName(indexOne).c_str(), other.GetName(indexOther).c_str()) < 0;
}
}
@@ -125,6 +128,12 @@ void CGameListCtrl::InitBitmaps()
m_FlagImageIndex[DiscIO::IVolume::COUNTRY_JAP] = m_imageListSmall->Add(iconTemp);
iconTemp.CopyFromBitmap(wxBitmap(Flag_Europe_xpm));
m_FlagImageIndex[DiscIO::IVolume::COUNTRY_UNKNOWN] = m_imageListSmall->Add(iconTemp);
+
+ m_PlatformImageIndex.resize(2);
+ iconTemp.CopyFromBitmap(wxBitmap(Platform_Gamecube_xpm));
+ m_PlatformImageIndex[0] = m_imageListSmall->Add(iconTemp);
+ iconTemp.CopyFromBitmap(wxBitmap(Platform_Wii_xpm));
+ m_PlatformImageIndex[1] = m_imageListSmall->Add(iconTemp);
}
void CGameListCtrl::BrowseForDirectory()
@@ -186,15 +195,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_TITLE, 150);
- SetColumnWidth(COLUMN_COMPANY, 100);
+ SetColumnWidth(COLUMN_COMPANY, 130);
SetColumnWidth(COLUMN_NOTES, 150);
SetColumnWidth(COLUMN_COUNTRY, 32);
SetColumnWidth(COLUMN_EMULATION_STATE, 130);
+ SetColumnWidth(COLUMN_PLATFORM, 90);
// add all items
for (int i = 0; i < (int)m_ISOFiles.size(); i++)
@@ -361,6 +371,7 @@ void CGameListCtrl::InsertItemInReportView(long _Index)
// Country
SetItemColumnImage(_Index, COLUMN_COUNTRY, m_FlagImageIndex[rISOFile.GetCountry()]);
+ SetItemColumnImage(_Index, COLUMN_PLATFORM, m_PlatformImageIndex[rISOFile.GetPlatform()]);
// Background color
SetBackgroundColor();
@@ -568,6 +579,10 @@ int wxCALLBACK wxListCompare(long item1, long item2, long sortData)
if (iso1->GetFileSize() > iso2->GetFileSize()) return 1 *t;
if (iso1->GetFileSize() < iso2->GetFileSize()) return -1 *t;
return 0;
+ case CGameListCtrl::COLUMN_PLATFORM:
+ if(iso1->GetPlatform() > iso2->GetPlatform()) return 1 *t;
+ if(iso1->GetPlatform() < iso2->GetPlatform()) return -1 *t;
+ return 0;
}
return 0;
@@ -942,6 +957,7 @@ void CGameListCtrl::AutomaticColumnWidth()
+ GetColumnWidth(COLUMN_COUNTRY)
+ GetColumnWidth(COLUMN_SIZE)
+ GetColumnWidth(COLUMN_EMULATION_STATE)
+ + GetColumnWidth(COLUMN_PLATFORM)
+ 5); // some pad to keep the horizontal scrollbar away :)
SetColumnWidth(COLUMN_TITLE, wxMax(0.3*resizable, 100));
diff --git a/Source/Core/DolphinWX/Src/GameListCtrl.h b/Source/Core/DolphinWX/Src/GameListCtrl.h
index 9b5d52e7c8..db2bc98d77 100644
--- a/Source/Core/DolphinWX/Src/GameListCtrl.h
+++ b/Source/Core/DolphinWX/Src/GameListCtrl.h
@@ -50,12 +50,14 @@ public:
COLUMN_COUNTRY,
COLUMN_SIZE,
COLUMN_EMULATION_STATE,
+ COLUMN_PLATFORM,
NUMBER_OF_COLUMN
};
private:
std::vector m_FlagImageIndex;
+ std::vector m_PlatformImageIndex;
std::vector m_ISOFiles;
// NetPlay string for the gamelist
diff --git a/Source/Core/DolphinWX/Src/ISOFile.cpp b/Source/Core/DolphinWX/Src/ISOFile.cpp
index 773b323a26..ca66f2fc6a 100644
--- a/Source/Core/DolphinWX/Src/ISOFile.cpp
+++ b/Source/Core/DolphinWX/Src/ISOFile.cpp
@@ -47,6 +47,7 @@ GameListItem::GameListItem(const std::string& _rFileName)
, m_pImage(NULL)
, m_ImageSize(0)
, m_IsWii(false)
+ , m_Platform(false)
{
if (LoadFromCache())
@@ -60,6 +61,8 @@ GameListItem::GameListItem(const std::string& _rFileName)
if (pVolume != NULL)
{
m_IsWii = DiscIO::IsVolumeWiiDisc(pVolume);
+ m_Platform = DiscIO::IsVolumeWiiDisc(pVolume);
+
m_Company = "N/A";
for (int i = 0; i < 6; i++)
{
@@ -169,6 +172,7 @@ void GameListItem::DoState(PointerWrap &p)
p.Do(m_BlobCompressed);
p.DoBuffer(&m_pImage, m_ImageSize);
p.Do(m_IsWii);
+ p.Do(m_Platform);
}
std::string GameListItem::CreateCacheFilename()
diff --git a/Source/Core/DolphinWX/Src/ISOFile.h b/Source/Core/DolphinWX/Src/ISOFile.h
index 9b701011db..5d585ee2c6 100644
--- a/Source/Core/DolphinWX/Src/ISOFile.h
+++ b/Source/Core/DolphinWX/Src/ISOFile.h
@@ -38,6 +38,7 @@ public:
const std::string& GetIssues() const {return m_Issues;}
bool IsCompressed() const {return m_BlobCompressed;}
bool IsWii() const {return m_IsWii;}
+ bool GetPlatform() const {return m_Platform;}
u64 GetFileSize() const {return m_FileSize;}
u64 GetVolumeSize() const {return m_VolumeSize;}
#if defined(HAVE_WX) && HAVE_WX
@@ -66,6 +67,7 @@ private:
u8* m_pImage;
u32 m_ImageSize;
bool m_IsWii;
+ bool m_Platform;
bool LoadFromCache();
void SaveToCache();
diff --git a/Source/Core/DolphinWX/resources/Platform_Gamecube.xpm b/Source/Core/DolphinWX/resources/Platform_Gamecube.xpm
new file mode 100644
index 0000000000..5ecdbf6f3a
--- /dev/null
+++ b/Source/Core/DolphinWX/resources/Platform_Gamecube.xpm
@@ -0,0 +1,682 @@
+/* XPM */
+static const char *const Platform_Gamecube_xpm[] = {
+/* width height num_colors chars_per_pixel */
+"96 32 643 2",
+/* colors */
+" c #ffffff",
+" . c #fefefe",
+" X c #b3bdce",
+" o c #bfc6d1",
+" O c #e5e6e8",
+" + c #b3bdd0",
+" @ c #a2bce2",
+" # c #97b5dd",
+" $ c #a9b7cb",
+" % c #efeff2",
+" & c #d3d4da",
+" * c #cbd3e8",
+" = c #c2cfec",
+" - c #b7c6e4",
+" ; c #b1c2e2",
+" : c #adc2e5",
+" > c #adbed9",
+" , c #d0d2d9",
+" < c #eaeaec",
+" 1 c #c8cbd5",
+" 2 c #dde4f6",
+" 3 c #d3dbf0",
+" 4 c #ced6ec",
+" 5 c #d0d8ef",
+" 6 c #c8d2eb",
+" 7 c #bdcae6",
+" 8 c #bac9e8",
+" 9 c #bbcae8",
+" 0 c #b8becc",
+" q c #f5f5f6",
+" w c #d9dade",
+" e c #d7dbe9",
+" r c #e0e6f9",
+" t c #d4dcef",
+" y c #d8dff1",
+" u c #d7dff3",
+" i c #95abcd",
+" p c #a7bbdb",
+" a c #cfd8f0",
+" s c #c5d0e9",
+" d c #c2cee9",
+" f c #c9d5f0",
+" g c #bdc4d7",
+" h c #dcdde1",
+" j c #fdfdfe",
+" k c #f2f2f3",
+" l c #cfd0d7",
+" z c #eaedf9",
+" x c #e3e7f7",
+" c c #dbe0f1",
+" v c #c7d3ec",
+" b c #93a7c1",
+" n c #eff2f5",
+" m c #dbdfe6",
+" M c #9fb0cc",
+" N c #c7d3ee",
+" B c #cfd6ee",
+" V c #cdd5ec",
+" C c #d9e1f8",
+" Z c #9cb0cf",
+" A c #eff0f2",
+" S c #d3d7de",
+" D c #e2e0e5",
+" F c #f6f7ff",
+" G c #e8eaf5",
+" H c #e8eaf6",
+" J c #eaedfc",
+" K c #a4b7d4",
+" L c #b6c1d0",
+" P c #f9f9fa",
+" I c #a5b2c7",
+" U c #b8c7e4",
+" Y c #cfd8ef",
+" T c #8fa4c2",
+" R c #dce2ea",
+" E c #fcfcfd",
+" W c #f6f6f7",
+" Q c #fcfcfc",
+" ! c #fafafa",
+" ~ c #f9f9f9",
+" ^ c #fdfdfd",
+" / c #ecedef",
+" ( c #f1f2f3",
+" ) c #edeef0",
+" _ c #f3f3f4",
+" ` c #ebecee",
+" ' c #f1f1f3",
+" ] c #fbfbfb",
+" [ c #f6f7f7",
+" { c #f4f5f6",
+" } c #eeeff1",
+" | c #ededef",
+". c #f4f4f5",
+".. c #85a1c7",
+".X c #bacbe8",
+".o c #f4f3f9",
+".O c #fbfaff",
+".+ c #dce3f4",
+".@ c #95a6c0",
+".# c #e5e8ed",
+".$ c #d1d2d7",
+".% c #d9dadf",
+".& c #c5ccd7",
+".* c #a5b7cf",
+".= c #ecedee",
+".- c #95a5bd",
+".; c #a6b7cd",
+".: c #9ea0a8",
+".> c #b0b2b8",
+"., c #d4d5d8",
+".< c #bdbec4",
+".1 c #dddee1",
+".2 c #9c9fa8",
+".3 c #fbfbfc",
+".4 c #b2b4ba",
+".5 c #cbccd0",
+".6 c #c7c9ce",
+".7 c #a6a7af",
+".8 c #edeeef",
+".9 c #9498a1",
+".0 c #9599a2",
+".q c #9598a2",
+".w c #aeb0b7",
+".e c #e3e4e7",
+".r c #9fa2a9",
+".t c #999ca5",
+".y c #a7a9b1",
+".u c #cfd0d4",
+".i c #a1a4ab",
+".p c #e7e7e9",
+".a c #9598a1",
+".s c #a3a4ac",
+".d c #92959d",
+".f c #b5b7be",
+".g c #cfd1d5",
+".h c #9da0a8",
+".j c #9a9ca4",
+".k c #b6b8bf",
+".l c #819dc4",
+".z c #5b87c1",
+".x c #97b2d7",
+".c c #b8c5da",
+".v c #adb8c8",
+".b c #f2f2f4",
+".n c #ccced6",
+".m c #e4e9fa",
+".M c #dae1f3",
+".N c #c5c8d1",
+".B c #f8f8f9",
+".V c #cecfd4",
+".C c #6782aa",
+".Z c #34619e",
+".A c #9fb1ca",
+".S c #b4b6bb",
+".D c #a7a9b0",
+".F c #a6a8af",
+".G c #c9cace",
+".H c #dfe0e3",
+".J c #a0a2aa",
+".K c #8a8c96",
+".L c #9fa1a9",
+".P c #acacb3",
+".I c #b1b3b9",
+".U c #aeb0b6",
+".Y c #e6e7e8",
+".T c #c4c6ca",
+".R c #bdbec3",
+".E c #cdced3",
+".W c #d9dadd",
+".Q c #a4a7ae",
+".! c #a9aab0",
+".~ c #f5f6f6",
+".^ c #91929c",
+"./ c #bdc0c5",
+".( c #f1f1f2",
+".) c #b6b7bc",
+"._ c #a8aab0",
+".` c #d0d2d5",
+".' c #f2f3f4",
+".] c #989ba4",
+".[ c #839fc5",
+".{ c #658ec5",
+".} c #618dc7",
+".| c #90a0b7",
+"X c #d9dadc",
+"X. c #e6e6eb",
+"XX c #eff2fc",
+"Xo c #e1e4f3",
+"XO c #e1e5f4",
+"X+ c #eaeefd",
+"X@ c #d4d5df",
+"X# c #e5e5e7",
+"X$ c #afb8c8",
+"X% c #466ea2",
+"X& c #2f5c99",
+"X* c #3b66a2",
+"X= c #a4b5cd",
+"X- c #adafb6",
+"X; c #9698a2",
+"X: c #999ba3",
+"X> c #dfe0e2",
+"X, c #9ea1a8",
+"X< c #f7f7f7",
+"X1 c #8e919a",
+"X2 c #8e909a",
+"X3 c #a3a5ab",
+"X4 c #b3b5bb",
+"X5 c #acaeb4",
+"X6 c #cacbcf",
+"X7 c #b6b8bd",
+"X8 c #c3c4c9",
+"X9 c #d6d7da",
+"X0 c #8c8f98",
+"Xq c #95979f",
+"Xw c #a4a6ad",
+"Xe c #93949e",
+"Xr c #adb0b9",
+"Xt c #aaacb2",
+"Xy c #d8d9dc",
+"Xu c #fafafb",
+"Xi c #829ec4",
+"Xp c #648ec5",
+"Xa c #6691c8",
+"Xs c #96a5ba",
+"Xd c #f7f8fd",
+"Xf c #fdfaff",
+"Xg c #ecedf7",
+"Xh c #ebecf6",
+"Xj c #fbfbff",
+"Xk c #dcdee7",
+"Xl c #748bab",
+"Xz c #325f9a",
+"Xx c #305c98",
+"Xc c #3a649f",
+"Xv c #3d68a3",
+"Xb c #90a5c3",
+"Xn c #d2d3d7",
+"Xm c #dfdfe2",
+"XM c #91939c",
+"XN c #ced0d4",
+"XB c #bcbec2",
+"XV c #aeb0b5",
+"XC c #adafb5",
+"XZ c #c6c7cc",
+"XA c #acafb5",
+"XS c #ebeced",
+"XD c #f0f0f1",
+"XF c #d5d6d9",
+"XG c #acadb4",
+"XH c #b1b2b9",
+"XJ c #b3b4ba",
+"XK c #92949d",
+"XL c #b3b6bd",
+"XP c #d5d7da",
+"XI c #b4b5bb",
+"XU c #adaeb4",
+"XY c #bbbcc1",
+"XT c #9d9fa8",
+"XR c #819dc3",
+"XE c #638dc3",
+"XW c #93a1b8",
+"XQ c #a6bcd7",
+"X! c #89acd7",
+"X~ c #d3dced",
+"X^ c #fbf8fc",
+"X/ c #f4f3fa",
+"X( c #f5f4fb",
+"X) c #fffdff",
+"X_ c #c2cbdb",
+"X` c #466d9c",
+"X' c #275692",
+"X] c #345e99",
+"X[ c #38639d",
+"X{ c #3c66a1",
+"X} c #436ba8",
+"X| c #96aac8",
+"o c #b0b1b7",
+"o. c #e5e5e8",
+"oX c #c7c8cc",
+"oo c #cacbd0",
+"oO c #e4e5e8",
+"o+ c #a1a3ab",
+"o@ c #a8aab1",
+"o# c #bbbdc3",
+"o$ c #b2b4bb",
+"o% c #aeafb6",
+"o& c #a0a2a9",
+"o* c #a8abb3",
+"o= c #d3d4d8",
+"o- c #c0c1c7",
+"o; c #a4a7af",
+"o: c #f8f8f8",
+"o> c #a9abb2",
+"o, c #cccdd1",
+"o< c #eaebec",
+"o1 c #a1a3aa",
+"o2 c #809cc2",
+"o3 c #618ac2",
+"o4 c #638ec6",
+"o5 c #92a1b8",
+"o6 c #a9bbd5",
+"o7 c #76a1d2",
+"o8 c #759fcf",
+"o9 c #b1c6e2",
+"o0 c #fbfafd",
+"oq c #f9f8fa",
+"ow c #8a9fbc",
+"oe c #27558b",
+"or c #25548e",
+"ot c #335e97",
+"oy c #36619c",
+"ou c #3b66a1",
+"oi c #3f68a3",
+"op c #466eab",
+"oa c #a5b6d0",
+"os c #7e9ac2",
+"od c #5e87c0",
+"of c #618bc4",
+"og c #92a1b7",
+"oh c #a6b9d3",
+"oj c #769fcf",
+"ok c #79a3d2",
+"ol c #78a3d3",
+"oz c #96b3d8",
+"ox c #5577a1",
+"oc c #1c4e88",
+"ov c #29588f",
+"ob c #305c95",
+"on c #35619c",
+"om c #4a6ea2",
+"oM c #5477a9",
+"oN c #436ca8",
+"oB c #4b72af",
+"oV c #99abc7",
+"oC c #d5d6da",
+"oZ c #c0c1c6",
+"oA c #a7a8b0",
+"oS c #a9aab1",
+"oD c #a8a9b0",
+"oF c #b2b3ba",
+"oG c #dadade",
+"oH c #d5d5d9",
+"oJ c #afb1b9",
+"oK c #c0c0c6",
+"oL c #eeeeef",
+"oP c #cacacf",
+"oI c #e2e2e5",
+"oU c #afb0b7",
+"oY c #aaabb2",
+"oT c #acadb3",
+"oR c #aaacb3",
+"oE c #c2c3c8",
+"oW c #dadbdf",
+"oQ c #a7a7af",
+"o! c #d0d1d5",
+"o~ c #e7e8ea",
+"o^ c #dbdbde",
+"o/ c #bcbec3",
+"o( c #dedfe2",
+"o) c #9e9fa7",
+"o_ c #9b9da5",
+"o` c #dbdcde",
+"o' c #c8c9cd",
+"o] c #a6a6ae",
+"o[ c #7e99c1",
+"o{ c #5983bc",
+"o} c #5d87c1",
+"o| c #91a0b6",
+"O c #a5b8d3",
+"O. c #6f98cb",
+"OX c #769ece",
+"Oo c #81a9d7",
+"OO c #759ccc",
+"O+ c #24548d",
+"O@ c #2a588f",
+"O# c #2c5991",
+"O$ c #325f99",
+"O% c #6482ac",
+"O& c #e6e8ec",
+"O* c #8296b3",
+"O= c #4971af",
+"O- c #4f76b2",
+"O; c #99acc9",
+"O: c #e3e3e5",
+"O> c #f1f2f2",
+"O, c #cbccd1",
+"O< c #c7c8cd",
+"O1 c #bcbdc3",
+"O2 c #d9d9dd",
+"O3 c #feffff",
+"O4 c #c5c7ce",
+"O5 c #cbcdd1",
+"O6 c #e2e2e6",
+"O7 c #e4e5e7",
+"O8 c #c4c5ca",
+"O9 c #c8c9ce",
+"O0 c #c3c5cb",
+"Oq c #dcdde0",
+"Ow c #d2d3d6",
+"Oe c #d3d5d7",
+"Or c #e3e3e6",
+"Ot c #b7b8bf",
+"Oy c #c5c6ca",
+"Ou c #f9fafa",
+"Oi c #e5e6e7",
+"Op c #c5c7cc",
+"Oa c #cccdd2",
+"Os c #b8b9c0",
+"Od c #7b97bf",
+"Of c #5780bb",
+"Og c #5a85bf",
+"Oh c #a2b6d2",
+"Oj c #6993c9",
+"Ok c #7098ca",
+"Ol c #7ca5d3",
+"Oz c #799fcd",
+"Ox c #2d5a91",
+"Oc c #2e5a93",
+"Ov c #acbacd",
+"Ob c #7d93b1",
+"On c #4d75b3",
+"Om c #527bb7",
+"OM c #99adc9",
+"ON c #f3f4f5",
+"OB c #bbbbc2",
+"OV c #dadbde",
+"OC c #d8d8dc",
+"OZ c #babbc1",
+"OA c #e9e9ea",
+"OS c #c0c1c9",
+"OD c #dfe1e4",
+"OF c #edeef1",
+"OG c #e2e2e4",
+"OH c #c9cbcf",
+"OJ c #d1d2d5",
+"OK c #d7d7db",
+"OL c #eaeaeb",
+"OP c #e6e7e9",
+"OI c #f3f3f5",
+"OU c #dadadd",
+"OY c #e6e6e9",
+"OT c #e2e3e6",
+"OR c #d4d6d9",
+"OE c #e1e2e5",
+"OW c #d1d2d6",
+"OQ c #7593be",
+"O! c #5680bb",
+"O~ c #90a0b6",
+"O^ c #b1bdcf",
+"O/ c #6792c9",
+"O( c #6c95c9",
+"O) c #79a1d0",
+"O_ c #779ecc",
+"O` c #305d97",
+"O' c #39649f",
+"O] c #bfc7d3",
+"O[ c #8397b5",
+"O{ c #517ab7",
+"O} c #547db8",
+"O| c #9cb0cd",
+"+ c #ececee",
+"+. c #c8c8cd",
+"+X c #d8dadd",
+"+o c #c2c4ca",
+"+O c #bebec5",
+"++ c #f6f7f8",
+"+@ c #c5c6cc",
+"+# c #c0c3c9",
+"+$ c #e2e3e5",
+"+% c #cfd0d3",
+"+& c #e0e0e3",
+"+* c #b1b3ba",
+"+= c #d8d9dd",
+"+- c #bec0c6",
+"+; c #e4e4e7",
+"+: c #c9cacf",
+"+> c #7393be",
+"+, c #4a78b5",
+"+< c #4f7ab7",
+"+1 c #97a5ba",
+"+2 c #aebbce",
+"+3 c #6e95c6",
+"+4 c #78a2d3",
+"+5 c #769dcc",
+"+6 c #2b5b94",
+"+7 c #5072a1",
+"+8 c #c6cdd8",
+"+9 c #869ab8",
+"+0 c #537cb9",
+"+q c #5881bb",
+"+w c #9fb2cd",
+"+e c #c1c2c8",
+"+r c #cecfd3",
+"+t c #b0b2b9",
+"+y c #e8e8eb",
+"+u c #dbdcdf",
+"+i c #dcdcdf",
+"+p c #c7c7cd",
+"+a c #e0e1e4",
+"+s c #e4e4e6",
+"+d c #b7b9c0",
+"+f c #b9bac0",
+"+g c #bfc0c5",
+"+h c #fbfcfc",
+"+j c #e8e9eb",
+"+k c #f3f3f6",
+"+l c #c2c2c8",
+"+z c #d4d5d9",
+"+x c #bbbbc1",
+"+c c #c1c1c4",
+"+v c #bebfc4",
+"+b c #e3e4e6",
+"+n c #c5c6ce",
+"+m c #cdcfd3",
+"+M c #d0d0d6",
+"+N c #b9bbc1",
+"+B c #dbdce0",
+"+V c #7292be",
+"+C c #4777b4",
+"+Z c #4574b3",
+"+A c #7391bd",
+"+S c #d5d7dd",
+"+D c #dbdee4",
+"+F c #89a5c8",
+"+G c #7aa3d2",
+"+H c #2e5c95",
+"+J c #7f94b1",
+"+K c #eff1f3",
+"+L c #a9b8ce",
+"+P c #557cb5",
+"+I c #537bb6",
+"+U c #5a83bd",
+"+Y c #a0b3cd",
+"+T c #f7f7f8",
+"+R c #eaeaee",
+"+E c #c9cbd1",
+"+W c #f0f0f2",
+"+Q c #dedee2",
+"+! c #b2b2ba",
+"+~ c #d0d2d6",
+"+^ c #f8f7f9",
+"+/ c #8c8f99",
+"+( c #acafb6",
+"+) c #6c8fbe",
+"+_ c #4878b6",
+"+` c #4676b3",
+"+' c #4875b4",
+"+] c #6188bf",
+"+[ c #a8b4c8",
+"+{ c #a7b4c8",
+"+} c #b4bfce",
+"+| c #e0e2e6",
+"@ c #829bbf",
+"@. c #4e75b1",
+"@X c #547cb6",
+"@o c #5c87c0",
+"@O c #9eb2ce",
+"@+ c #c6c7cd",
+"@@ c #c2c3c9",
+"@# c #d3d4d7",
+"@$ c #c1c3c8",
+"@% c #bfc0c6",
+"@& c #c3c4ca",
+"@* c #d4d4d8",
+"@= c #c1c2c7",
+"@- c #d7d7da",
+"@; c #c4c5cb",
+"@: c #bebfc5",
+"@> c #c3c5ca",
+"@, c #eff0f1",
+"@< c #bac3d1",
+"@1 c #5781b7",
+"@2 c #4879b7",
+"@3 c #4d78b4",
+"@4 c #537cb7",
+"@5 c #5985c0",
+"@6 c #89a3c7",
+"@7 c #d8dade",
+"@8 c #c0c5d1",
+"@9 c #5b7dac",
+"@0 c #406ba9",
+"@q c #496fac",
+"@w c #5077b2",
+"@e c #5882be",
+"@r c #6c8cba",
+"@t c #d0d5de",
+"@y c #7893ba",
+"@u c #507bb8",
+"@i c #5880ba",
+"@p c #5982bb",
+"@a c #5984be",
+"@s c #6d92c5",
+"@d c #bac2cf",
+"@f c #efeff0",
+"@g c #99a9c2",
+"@h c #4069a1",
+"@j c #36629e",
+"@k c #446ca7",
+"@l c #4d73b0",
+"@z c #527ab6",
+"@x c #8da0bd",
+"@c c #f2f3f5",
+"@v c #abb7ca",
+"@b c #5d85bb",
+"@n c #5b85be",
+"@m c #5d86bd",
+"@M c #5e88c0",
+"@N c #6993ca",
+"@B c #94a9c5",
+"@V c #6d88ac",
+"@C c #2e5b96",
+"@Z c #315d98",
+"@A c #3d66a2",
+"@S c #4871ae",
+"@D c #6081b5",
+"@F c #bec7d5",
+"@G c #d9dee5",
+"@H c #7c98c0",
+"@J c #608ac2",
+"@K c #6089c0",
+"@L c #658ec4",
+"@P c #5c87bf",
+"@I c #27568e",
+"@U c #2f5c95",
+"@Y c #406ba8",
+"@T c #8096b7",
+"@R c #eaedf1",
+"@E c #9fafc6",
+"@W c #6087be",
+"@Q c #6790c7",
+"@! c #5d86bb",
+"@~ c #2c5990",
+"@^ c #31609a",
+"@/ c #b7c0ce",
+"@( c #d0d6e0",
+"@) c #7998c4",
+"@_ c #608ac1",
+"@` c #2c5a93",
+"@' c #748cae",
+"@] c #e5e8ec",
+"@[ c #f3f4f6",
+"@{ c #a9b9d1",
+"@} c #afbccc",
+/* pixels */
+" ",
+" ",
+" . 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 x 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 k W Q j ! E Q ! ! ~ ^ / ( ) _ E ` ' ] [ . { } | . | ",
+" ...X.o.O.+.@.# .$.% .&.* . .=.-.; ..:.>.,.< .1.2.3 .4.5.6.7 .8.9.0.q.w .e.r.t.y .u.i.p.a q .s.t.d.f .g.h.j.k . ",
+" .l.z.x.c.v .b.n.m.M.N.B .V.C.Z.A ..S.D.F.G .H.J W k.K.L.P.I . !.U.Y . .T.R.5.E .W.Q.D.!.~ .^./.(.) ^ ._.`.'.] ~ ",
+" .[.{.}.| X X.XXXoXOX+X@X# kX$X%X&X*X= ^X-X;X:.G X>X,X< ~X1X2X3X4 X5 ( X6X7X8.R X9X0XqXw [ XeXr E.S ^ XtXyXu.t.B ",
+" XiXpXaXs oXdXfXgXhXhXhXjXkXlXzXxXcXvXb E.4Xn.UX6 XmX,X< WXMXNXBXV .XC.( XZXAXSXD XFXGXHXJ W XKXLXPXI ^ XUXY.WXT ~ ",
+" XRXEXaXW XQX!X~X^X/X(X)X_X`X'X]X[X{X}X| ^o o.oXoo oOo+ ! ]o@ qo#.k o$.( _o%o&o* o=o-X#o;o: .Do>.:o, oO,.Go'O+,+<+1 .+2+3+4+5Ox+6+7+8 +9+0+q+w ON+ +e+rXI+t.B+-OJ+y+@ P+u+i+pO8Op+a |.RXm+s.8+d+f+gOw /Xy+hO8X9+u.(+j+k+lXn+zoFo~OU .+x+c+v+b+n+m+MoF+N+rOT ",
+" +V+C+Z+A+S +D+F+G+H+J+K ^+L+P+I+U+Y qXP .3+T.B .< +R+EoH Xn.u O7.p+WoOXD +T ! QX9X XuXu .,+Q ] ! OXy +!+~ +^ ! Q. ",
+" +)+_+`+'+]+[XD +h+{+} +|@ O=@.@X@o@O o(@+oE@@oE@#@$+eoE+eXS @%@&X9 .u@* PO8O:X8oE@@@@X8.5 ~XyoE@@@=@-+&.$@&X8oE@;OqOPoZoZ+g@:.$.H+lX8@@@@@>O< ",
+" @<@1@2@3@4@5@6@7 @8@9@0@q@w@e@r@t ",
+" .#@y@u@i@p@a@s@d P@f@g@h@j@k@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@Uon@Y@T@R ",
+" ^@E@W@Q@!@~@^om@/ ",
+" @(@)@_@`@'@] ",
+" @[@{@} ",
+" ",
+" ",
+" "
+};
diff --git a/Source/Core/DolphinWX/resources/Platform_Wii.xpm b/Source/Core/DolphinWX/resources/Platform_Wii.xpm
new file mode 100644
index 0000000000..f034d44754
--- /dev/null
+++ b/Source/Core/DolphinWX/resources/Platform_Wii.xpm
@@ -0,0 +1,122 @@
+/* XPM */
+static const char * Platform_Wii_xpm[] = {
+/* width height num_colors chars_per_pixel */
+"96 32 83 1",
+/* colors */
+" c #ffffff",
+". c #fefefe",
+"X c #f0f0f0",
+"o c #d8d8d8",
+"O c #cfcfcf",
+"+ c #d2d2d2",
+"@ c #e3e3e3",
+"# c #f7f7f7",
+"$ c #eaeaea",
+"% c #d5d5d5",
+"& c #cecece",
+"* c #e4e4e4",
+"= c #f9f9f9",
+"- c #f1f1f1",
+"; c #e9e9e9",
+": c #ebebeb",
+"> c #ececec",
+", c #ededed",
+"< c #e1e1e1",
+"1 c #f6f6f6",
+"2 c #f8f8f8",
+"3 c #eeeeee",
+"4 c #fdfdfd",
+"5 c #fcfcfc",
+"6 c #cacaca",
+"7 c #afafaf",
+"8 c #aeaeae",
+"9 c #b1b1b1",
+"0 c #e2e2e2",
+"q c #fbfbfb",
+"w c #c6c6c6",
+"e c #b0b0b0",
+"r c #b3b3b3",
+"t c #e8e8e8",
+"y c #e6e6e6",
+"u c #dcdcdc",
+"i c #b4b4b4",
+"p c #adadad",
+"a c #d1d1d1",
+"s c #cbcbcb",
+"d c #d0d0d0",
+"f c #acacac",
+"g c #c9c9c9",
+"h c #efefef",
+"j c #bdbdbd",
+"k c #d7d7d7",
+"l c #ababab",
+"z c #fafafa",
+"x c #f5f5f5",
+"c c #c3c3c3",
+"v c #e7e7e7",
+"b c #e5e5e5",
+"n c #bbbbbb",
+"m c #bababa",
+"M c #dddddd",
+"N c #b5b5b5",
+"B c #d6d6d6",
+"V c #c4c4c4",
+"C c #f4f4f4",
+"Z c #b8b8b8",
+"A c #b6b6b6",
+"S c #c5c5c5",
+"D c #e0e0e0",
+"F c #b7b7b7",
+"G c #d9d9d9",
+"H c #bcbcbc",
+"J c #bfbfbf",
+"K c #dedede",
+"L c #c7c7c7",
+"P c #c2c2c2",
+"I c #d3d3d3",
+"U c #f3f3f3",
+"Y c #b2b2b2",
+"T c #cccccc",
+"R c #d4d4d4",
+"E c #dfdfdf",
+"W c #f2f2f2",
+"Q c #cdcdcd",
+"! c #dbdbdb",
+"~ c #b9b9b9",
+"^ c #c8c8c8",
+"/ c #c0c0c0",
+"( c #dadada",
+/* pixels */
+" ",
+" ",
+" ",
+" .XoO+@# .$%&+*= ",
+"-;:::::$>. =,<*;1 2>33333,34 567787890 qw877e8rt ",
+"y89999997- .ui77p77a4 s7999998a df99999ep> .gp99999eph ",
+"5je999998d kle99999pjz xe9999998> .c7999999l@ 4j7999999fv ",
+" bp99999e92 X899999999po k899999en5 -e8e99epc5 ,e8e9e7p64 ",
+" qme99999pM d799999999eNz =Ne99999p< #BnrNV04 COZiASb. ",
+" D899999emq 1999999999998D @899999eFq 52z. q2z. ",
+" =Ae999998$ G89999999999eH5 5Je99999pK ",
+" Kp999997S. zZe99999r999998t ,899999ei= .qqqqqqqq .qqqqqqq5 ",
+" 2re999997X 0899997Lt799997c. .68999998G ;NZZZZZFHq yrZZZZZAP5 ",
+" o8999998I 4Je9999pt S799997h Ue99999eY1 v7eeeee7Nq @8eeeee7nq ",
+" 19e9999er# $899997j5 ;899997T %8999998% ve99999eAq *799999eHq ",
+" R8999998M .L79999pb 5je9999ex 2Ne999999x ve99999eAq *799999eHq ",
+" xe99999em5 -79999emq *899998R E8999998a ve99999eAq *799999eHq ",
+" O8999998t d899998K qme999er= 4He99999eW ve99999eAq *799999eHq ",
+" W7999997S. 199999eA= u899998u ;8999997Q ve99999eAq *799999eHq ",
+" .67999997- G899998! U89999e~q w7999997X ve99999eAq *799999eHq ",
+" h8999998G5Fe999er# 4c799998:x7999997L. ve99999eAq *799999eHq ",
+" qFe9999ewu899997Q ;p99997+I79999983 ve99999eAq *799999eHq ",
+" G8999999999999p$ 5j7999999999997S. ve99999eAq *799999eHq ",
+" #Ye9999999999eH5 *p9999999999980 ve99999eAq *799999eHq ",
+" %89999999999p* zZe999999999e91 ve99999eAq *799999eHq ",
+" 1ee999999997Fq Ef999999999f% ve99999eAq *799999eHq ",
+" *p799999977: 4^pe999999fw4 ve99999eAq *799999eHq ",
+" ,j7eee78/- 4GN7e9e7iu. y7eeeee7Nz @8eeeee7nq ",
+" 5XEB%EX4 =t(Iot2 xE<<<<