Index: mythtv/themes/Terra/game-ui.xml
===================================================================
--- mythtv/themes/Terra/game-ui.xml	(revision 0)
+++ mythtv/themes/Terra/game-ui.xml	(revision 0)
@@ -0,0 +1,130 @@
+<mythuitheme>
+
+  <window name="gameui">
+
+    <imagetype name="fanart" from="basebackdrop" />
+    <imagetype name="topbar" from="basetopbar" />
+
+    <textarea name="heading" from="baseheading">
+        <value>Play Games</value>
+    </textarea>
+
+    <buttontree name="gametreelist">
+        <area>8,52,1264,375</area>
+        <numlists>3</numlists>
+        <spacing>10</spacing>
+        <buttonlist name="listtemplate">
+            <area>0,0,1264,375</area>
+            <layout>vertical</layout>
+            <buttonarea>0,0,100%,97%</buttonarea>
+            <statetype name="buttonitem">
+                <state name="active">
+                    <area>0,0,100%,30</area>
+                    <imagetype name="buttonbackground">
+                        <gradient start="#4b4b3e" end="#4b4b3e" alpha="255"/>
+                    </imagetype>
+                    <textarea name="buttontext">
+                        <area>5,0,85%,30</area>
+                        <font>basesmall</font>
+                        <cutdown>yes</cutdown>
+                        <align>left,vcenter</align>
+                    </textarea>
+                </state>
+                <state name="selected" from="active">
+                    <imagetype name="buttonbackground">
+                        <gradient start="#8a916f" end="#8a916f" alpha="255"/>
+                    </imagetype>
+                    <textarea name="buttontext">
+                        <area>5,0,85%,30</area>
+                        <font>basesmallbrown</font>
+                        <cutdown>yes</cutdown>
+                        <align>left,vcenter</align>
+                    </textarea>
+                </state>
+                <state name="inactive" from="active" />
+            </statetype>
+        </buttonlist>
+    </buttontree>
+
+      <textarea name="gametitle">
+        <area>296,440,752,60</area>
+        <font>baseextralarge</font>
+      </textarea>
+
+      <textarea name="system">
+        <area>296,510,140,35</area>
+        <font>basemedium</font>
+        <value>System:</value>
+      </textarea>
+
+      <textarea name="systemname">
+        <area>436,510,580,35</area>
+        <font>basemedium</font>
+      </textarea>
+
+      <textarea name="year">
+        <area>296,545,140,35</area>
+        <font>basemedium</font>
+        <value>Year:</value>
+      </textarea>
+
+      <textarea name="yearname">
+        <area>436,545,580,35</area>
+        <font>basemedium</font>
+      </textarea>
+
+      <textarea name="genre">
+        <area>296,580,140,35</area>
+        <font>basemedium</font>
+        <value>Genre:</value>
+      </textarea>
+
+      <textarea name="genrename">
+        <area>436,580,580,35</area>
+        <font>basemedium</font>
+      </textarea>
+
+      <textarea name="favorite">
+        <area>296,615,140,35</area>
+        <font>basemedium</font>
+        <value>Favorite:</value>
+      </textarea>
+
+      <textarea name="showfavorite">
+        <area>436,615,580,35</area>
+        <font>basemedium</font>
+      </textarea>
+
+      <imagetype name="gameimage">
+          <area>880,448,300,196</area>
+      </imagetype>
+
+      <imagetype name="boxart">
+          <area>25,448,300,196</area>
+          <preserveaspect>true</preserveaspect>
+      </imagetype>
+
+  </window>
+
+  <window name="gamedetails">
+
+      <textarea name="title" from="basetextarea">
+          <area>80,20,720,40</area>
+          <font>baselarge</font>
+          <value>Game Details:</value>
+      </textarea>
+
+      <imagetype name="background">
+          <filename>pd-background.png</filename>
+          <position>60,60</position>
+      </imagetype>
+
+      <webbrowser name="browser">
+          <area>80,70,1094,555</area>
+          <zoom>1.0</zoom>
+          <background color="#000000" alpha="1"/>
+      </webbrowser>
+
+  </window>
+
+</mythuitheme>
Index: mythplugins/mythgame/theme/theme.pro
===================================================================
--- mythplugins/mythgame/theme/theme.pro	(revision 20716)
+++ mythplugins/mythgame/theme/theme.pro	(working copy)
@@ -10,7 +10,7 @@
 !macx:QMAKE_COPY_DIR = sh ../../cpsvndir
 
 defaultfiles.path = $${PREFIX}/share/mythtv/themes/default
-defaultfiles.files = default/*.xml default/images/*.png
+defaultfiles.files = default/*.xml default/images/*.png default/htmls/*.html
 
 widefiles.path = $${PREFIX}/share/mythtv/themes/default-wide
 widefiles.files = default-wide/*.xml default-wide/images/*.png
Index: mythplugins/mythgame/theme/default/game-ui.xml
===================================================================
--- mythplugins/mythgame/theme/default/game-ui.xml	(revision 20716)
+++ mythplugins/mythgame/theme/default/game-ui.xml	(working copy)
@@ -1,25 +1,11 @@
 <mythuitheme>
 
-  <window name="gametree">
+  <window name="gameui">
 
-    <font name="active" face="Arial">
-        <color>#ffffff</color>
-        <size>18</size>
-        <bold>yes</bold>
-    </font>
+    <imagetype name="fanart">
+        <area>0,0,800,600</area>
+    </imagetype>
 
-    <font name="inactive" face="Arial">
-        <color>#9999cc</color>
-        <size>18</size>
-        <bold>yes</bold>
-    </font>
-
-    <font name="selectable" face="Arial">
-        <color>#8cdeff</color>
-        <size>18</size>
-        <bold>yes</bold>
-    </font>
-
     <font name="largetitle" face="Arial">
         <color>#ffffff</color>
         <dropcolor>#000000</dropcolor>
@@ -33,111 +19,72 @@
         <size>20</size>
         <bold>yes</bold>
     </font>
-
-    <container name="background">
-        <image name="filler" draworder="0" fleximage="yes">
-            <filename>background.png</filename>
-            <position>0,10</position>
-        </image>
-        <image name="titlelines" draworder="0" fleximage="no">
-            <filename>trans-titles.png</filename>
-            <position>0,10</position>
-        </image>
-        <image name="infofiller" draworder="0" fleximage="no">
-            <filename>pf-top.png</filename>
-            <position>26,350</position>
-        </image>
-    </container>
-
-    <container name="gameselector">
+    
+    <buttontree name="gametreelist">
         <area>0,10,800,310</area>
-        <managedtreelist name="gametreelist" draworder="1" bins="2">
-            <area>40,10,720,270</area>
-            <image function="selectionbar" filename="mv_selectionbar.png"></image>
-            <image function="uparrow" filename="mv_up_arrow.png"></image>
-            <image function="downarrow" filename="mv_down_arrow.png"></image>
-            <image function="leftarrow" filename="mv_left_arrow.png"></image>
-            <image function="rightarrow" filename="mv_right_arrow.png"></image>
-            <bin number="1">
-                <area>30,16,190,250</area>
-                <fcnfont name="active" function="active"></fcnfont>
-                <fcnfont name="inactive" function="inactive"></fcnfont>
-                <fcnfont name="active" function="selected"></fcnfont>
-                <fcnfont name="selectable" function="selectable"></fcnfont>
-            </bin>
-            <bin number="2">
-                <area>235,10,535,270</area>
-                <fcnfont name="active" function="active"></fcnfont>
-                <fcnfont name="active" function="selected"></fcnfont>
-                <fcnfont name="inactive" function="inactive"></fcnfont>
-                <fcnfont name="selectable" function="selectable"></fcnfont>
-            </bin>
-        </managedtreelist>
+        <numlists>2</numlists>
+        <spacing>10</spacing>
+        <buttonlist name="listtemplate" from="basebuttonlist" />
+    </buttontree>
 
-        <image name="showinglines" draworder="2" fleximage="yes">
-            <filename>showings.png</filename>
-            <position>0,0</position>
-        </image>
-    </container>
-
-    <container name="game_info">
-      <area>25,355,750,220</area>
-
-      <textarea name="gametitle" draworder="6">
-        <area>13,5,500,50</area>
+    <textarea name="gametitle">
+        <area>38,360,500,50</area>
         <font>largetitle</font>
-      </textarea>
+    </textarea>
 
-      <textarea name="system" draworder="6">
-        <area>13,75,150,35</area>
+    <textarea name="system">
+        <area>38,430,150,35</area>
         <font>infofont</font>
         <value>System:</value>
-      </textarea>
+    </textarea>
 
-      <textarea name="systemname" draworder="6">
-        <area>153,75,500,35</area>
+    <textarea name="systemname">
+        <area>178,430,500,35</area>
         <font>infofont</font>
-      </textarea>
+    </textarea>
 
-      <textarea name="year" draworder="6">
-        <area>13,110,150,35</area>
+    <textarea name="year">
+        <area>38,465,150,35</area>
         <font>infofont</font>
         <value>Year:</value>
-      </textarea>
+    </textarea>
 
-      <textarea name="yearname" draworder="6">
-        <area>153,110,500,35</area>
+    <textarea name="yearname">
+        <area>178,465,500,35</area>
         <font>infofont</font>
-      </textarea>
+    </textarea>
 
-      <textarea name="genre" draworder="6">
-        <area>13,140,150,35</area>
+    <textarea name="genre">
+        <area>38,495,150,35</area>
         <font>infofont</font>
         <value>Genre:</value>
-      </textarea>
+    </textarea>
 
-      <textarea name="genrename" draworder="6">
-        <area>153,140,500,35</area>
+    <textarea name="genrename">
+        <area>178,495,500,35</area>
         <font>infofont</font>
-      </textarea>
+    </textarea>
 
-      <textarea name="favorite" draworder="6">
-        <area>13,170,150,35</area>
+    <textarea name="favorite">
+        <area>38,525,150,35</area>
         <font>infofont</font>
         <value>Favorite:</value>
-      </textarea>
+    </textarea>
 
-      <textarea name="showfavorite" draworder="6">
-        <area>153,170,500,35</area>
+    <textarea name="showfavorite">
+        <area>178,525,500,35</area>
         <font>infofont</font>
-      </textarea>
+    </textarea>
 
-      <image name="gameimage" draworder="6" fleximage="no">
-          <position>535,25</position>
-          <staticsize>180,150</staticsize>
-      </image>
-    </container>
-  
+    <imagetype name="gameimage">
+        <area>600,420,180,150</area>
+    </imagetype>
+
+    <imagetype name="boxart">
+        <area>410,420,180,150</area>
+        <preserveaspect>true</preserveaspect>
+    </imagetype>
+
   </window>
 
 </mythuitheme>
Index: mythplugins/mythgame/theme/default-wide/game-ui.xml
===================================================================
--- mythplugins/mythgame/theme/default-wide/game-ui.xml	(revision 20716)
+++ mythplugins/mythgame/theme/default-wide/game-ui.xml	(working copy)
@@ -1,25 +1,11 @@
 <mythuitheme>
 
-  <window name="gametree">
+  <window name="gameui">
 
-    <font name="active" face="Trebuchet MS">
-        <color>#ffffff</color>
-        <size>18</size>
-        <bold>yes</bold>
-    </font>
+    <imagetype name="fanart">
+        <area>0,0,1280,720</area>
+    </imagetype>
 
-    <font name="inactive" face="Trebuchet MS">
-        <color>#9999cc</color>
-        <size>18</size>
-        <bold>yes</bold>
-    </font>
-
-    <font name="selectable" face="Trebuchet MS">
-        <color>#8cdeff</color>
-        <size>18</size>
-        <bold>yes</bold>
-    </font>
-
     <font name="largetitle" face="Trebuchet MS">
         <color>#ffffff</color>
         <dropcolor>#000000</dropcolor>
@@ -34,112 +20,92 @@
         <bold>yes</bold>
     </font>
 
-    <container name="background">
-        <image name="filler" draworder="0" fleximage="yes">
-            <filename>background.png</filename> <!-- 1280x326 -->
-            <position>0,48</position>
-        </image>
-        <image name="titlelines" draworder="0" fleximage="no">
-            <filename>trans-titles.png</filename> <!-- 1280x326 -->
-            <position>0,50</position>
-            <staticsize>280,315</staticsize>
-        </image>
-        <image name="infofiller" draworder="0" fleximage="no">
-            <filename>pf-top.png</filename> <!-- 1152x260 -->
-            <position>64,412</position>
-        </image>
-    </container>
-
-    <container name="gameselector">
+    <buttontree name="gametreelist">
         <area>8,52,1264,310</area>
-        <managedtreelist name="gametreelist" draworder="1" bins="2">
-            <area>32,0,1200,296</area>
-            <image function="selectionbar" filename="mv_selectionbar.png"></image>
-            <image function="uparrow" filename="mv_up_arrow.png"></image>
-            <image function="downarrow" filename="mv_down_arrow.png"></image>
-            <image function="leftarrow" filename="mv_left_arrow.png"></image>
-            <image function="rightarrow" filename="mv_right_arrow.png"></image>
-            <bin number="1">
-		<area>56,28,288,271</area>
-                <fcnfont name="active" function="active"></fcnfont>
-                <fcnfont name="inactive" function="inactive"></fcnfont>
-                <fcnfont name="active" function="selected"></fcnfont>
-                <fcnfont name="selectable" function="selectable"></fcnfont>
-            </bin>
-            <bin number="2">
-                <area>384,0,816,296</area>
-                <fcnfont name="active" function="active"></fcnfont>
-                <fcnfont name="active" function="selected"></fcnfont>
-                <fcnfont name="inactive" function="inactive"></fcnfont>
-                <fcnfont name="selectable" function="selectable"></fcnfont>
-            </bin>
-        </managedtreelist>
+        <numlists>3</numlists>
+        <spacing>10</spacing>
+        <buttonlist name="listtemplate" from="basebuttonlist" />
+    </buttontree>
 
-	<image name="showinglines" draworder="2" fleximage="yes">
-            <filename>showings.png</filename>
-            <position>20,10</position>
-            <staticsize>1200,310</staticsize>
-	</image>
-    </container>
-
-    <container name="game_info">
-      <area>64,412,1152,260</area>
-
-      <textarea name="gametitle" draworder="6">
-        <area>32,28,752,60</area>
+    <textarea name="gametitle" draworder="6">
+        <area>96,440,752,60</area>
         <font>largetitle</font>
-      </textarea>
+    </textarea>
 
-      <textarea name="system" draworder="6">
-        <area>32,98,140,35</area>
+    <textarea name="system" draworder="6">
+        <area>96,510,140,35</area>
         <font>infofont</font>
         <value>System:</value>
-      </textarea>
+    </textarea>
 
-      <textarea name="systemname" draworder="6">
-        <area>172,98,580,35</area>
+    <textarea name="systemname" draworder="6">
+        <area>236,510,580,35</area>
         <font>infofont</font>
-      </textarea>
+    </textarea>
 
-      <textarea name="year" draworder="6">
-        <area>32,133,140,35</area>
+    <textarea name="year" draworder="6">
+        <area>96,545,140,35</area>
         <font>infofont</font>
         <value>Year:</value>
-      </textarea>
+    </textarea>
 
-      <textarea name="yearname" draworder="6">
-        <area>172,133,580,35</area>
+    <textarea name="yearname" draworder="6">
+        <area>236,545,580,35</area>
         <font>infofont</font>
-      </textarea>
+    </textarea>
 
-      <textarea name="genre" draworder="6">
-        <area>32,168,140,35</area>
+    <textarea name="genre" draworder="6">
+        <area>96,580,140,35</area>
         <font>infofont</font>
         <value>Genre:</value>
-      </textarea>
+    </textarea>
 
-      <textarea name="genrename" draworder="6">
-        <area>172,168,580,35</area>
+    <textarea name="genrename" draworder="6">
+        <area>236,580,580,35</area>
         <font>infofont</font>
-      </textarea>
+    </textarea>
 
-      <textarea name="favorite" draworder="6">
-        <area>32,203,140,35</area>
+    <textarea name="favorite" draworder="6">
+        <area>96,615,140,35</area>
         <font>infofont</font>
         <value>Favorite:</value>
-      </textarea>
+    </textarea>
 
-      <textarea name="showfavorite" draworder="6">
-        <area>172,203,580,35</area>
+    <textarea name="showfavorite" draworder="6">
+        <area>236,615,580,35</area>
         <font>infofont</font>
-      </textarea>
+    </textarea>
 
-      <image name="gameimage" draworder="6" fleximage="no">
-          <position>816,36</position>
-          <staticsize>300,196</staticsize>
-      </image>
-    </container>
-  
+    <imagetype name="boxart">
+        <area>610,500,180,150</area>
+        <preserveaspect>true</preserveaspect>
+    </imagetype>
+
+    <imagetype name="gameimage">
+          <area>880,500,300,196</area>
+    </imagetype>
+
   </window>
 
+  <window name="gamedetails">
+
+    <textarea name="title" from="basetextarea">
+        <area>80,20,720,40</area>
+        <font>baselarge</font>
+        <value>Game Details:</value>
+    </textarea>
+
+    <imagetype name="background">
+        <filename>pd-background.png</filename>
+        <position>60,60</position>
+    </imagetype>
+
+    <webbrowser name="browser">
+        <area>80,70,1094,555</area>
+        <zoom>1.0</zoom>
+        <background color="#000000" alpha="1"/>
+    </webbrowser>
+
+  </window>
+
 </mythuitheme>
Index: mythplugins/mythgame/mythgame/romedit.cpp
===================================================================
--- mythplugins/mythgame/mythgame/romedit.cpp	(revision 20716)
+++ mythplugins/mythgame/mythgame/romedit.cpp	(working copy)
@@ -66,7 +66,31 @@
     }
 };
 
+class Fanart : public LineEditSetting, public GenericDBStorage
+{
+  public:
+    Fanart(const QString &romname) :
+        LineEditSetting(this), GenericDBStorage(
+            this, "gamemetadata", "fanart", "romname", romname)
+    {
+        setLabel(QObject::tr("Fanart"));
+        setHelpText(QObject::tr("Path to Fanart for this Game."));
+    }
+};
 
+class Boxart : public LineEditSetting, public GenericDBStorage
+{
+  public:
+    Boxart(const QString &romname) :
+        LineEditSetting(this), GenericDBStorage(
+            this, "gamemetadata", "boxart", "romname", romname)
+    {
+        setLabel(QObject::tr("Boxart"));
+        setHelpText(QObject::tr("Path to Boxart for this Game."));
+    }
+};
+
+
 class Favourite : public CheckBoxSetting, public GenericDBStorage
 {
   public:
@@ -92,6 +116,8 @@
     group->addChild(new Year(romname));
     group->addChild(new Country(romname));
     group->addChild(new Publisher(romname));
+    group->addChild(new Fanart(romname));
+    group->addChild(new Boxart(romname));
     group->addChild(new Favourite(romname));
     addChild(group);
 }
Index: mythplugins/mythgame/mythgame/gamehandler.cpp
===================================================================
--- mythplugins/mythgame/mythgame/gamehandler.cpp	(revision 20716)
+++ mythplugins/mythgame/mythgame/gamehandler.cpp	(working copy)
@@ -149,7 +149,8 @@
 
 void GameHandler::GetMetadata(GameHandler *handler, QString rom, QString* Genre, QString* Year,
                               QString* Country, QString* CRC32, QString* GameName,
-                              QString *Publisher, QString *Version)
+                              QString *Publisher, QString *Version, QString* Fanart,
+                              QString* Boxart)
 {
     QString key;
     QString tmpcrc;
@@ -165,6 +166,8 @@
     *Genre = QObject::tr("Unknown");
     *Publisher = QObject::tr("Unknown");
     *Version = QObject::tr("0");
+    *Fanart = QObject::tr("");
+    *Boxart = QObject::tr("");
 
     if (*CRC32 != "")
     {
@@ -411,6 +414,8 @@
     QString Year;
     QString Publisher;
     QString Version;
+    QString Fanart;
+    QString Boxart;
 
     int removalprompt = gContext->GetSetting("GameRemovalPrompt").toInt();
     int indepth = gContext->GetSetting("GameDeepScan").toInt();
@@ -423,7 +428,7 @@
             if (indepth)
             {
                 GetMetadata(handler, iter.data().RomFullPath(), &Genre, &Year, &Country, &CRC32, &GameName,
-                            &Publisher, &Version);
+                            &Publisher, &Version, &Fanart, &Boxart);
             }
             else
             {
@@ -434,6 +439,8 @@
                 GameName = QObject::tr("Unknown");
                 Publisher = QObject::tr("Unknown");
                 Version = QObject::tr("0");
+                Fanart = QObject::tr("");
+                Boxart = QObject::tr("");
             }
 
             if (GameName == QObject::tr("Unknown")) 
@@ -446,9 +453,10 @@
             query.prepare("INSERT INTO gamemetadata "
                           "(system, romname, gamename, genre, year, gametype, " 
 		          "rompath, country, crc_value, diskcount, display, "
-			  "publisher, version) "
+			  "publisher, version, fanart, boxart) "
 		          "VALUES (:SYSTEM, :ROMNAME, :GAMENAME, :GENRE, :YEAR, "
-			  ":GAMETYPE, :ROMPATH, :COUNTRY, :CRC32, '1', '1', :PUBLISHER, :VERSION)");
+			  ":GAMETYPE, :ROMPATH, :COUNTRY, :CRC32, '1', '1', :PUBLISHER, :VERSION, "
+                          ":FANART, BOXART)");
 
 
 
@@ -463,7 +471,9 @@
 	    query.bindValue(":CRC32", CRC32);
 	    query.bindValue(":PUBLISHER", Publisher);
 	    query.bindValue(":VERSION", Version);
-	    	    
+            query.bindValue(":FANART", Fanart);
+            query.bindValue(":BOXART", Boxart);
+
             query.exec();
         } 
         else if ((iter.data().FoundLoc() == inDatabase) && (removalprompt))
Index: mythplugins/mythgame/mythgame/rominfo.cpp
===================================================================
--- mythplugins/mythgame/mythgame/rominfo.cpp	(revision 20716)
+++ mythplugins/mythgame/mythgame/rominfo.cpp	(working copy)
@@ -30,7 +30,8 @@
     if (res)
     {
         MSqlQuery query(MSqlQuery::InitCon());
-        query.prepare("SELECT gamename,genre,year,country,publisher,favorite "
+        query.prepare("SELECT gamename,genre,year,country,publisher,favorite, "
+                      "fanart,boxart "
                       "FROM gamemetadata "
                       "WHERE gametype = :GAMETYPE "
                       "AND romname = :ROMNAME");
@@ -53,10 +54,13 @@
         QString t_country   = query.value(3).toString();
         QString t_publisher = query.value(4).toString();
         bool    t_favourite = query.value(5).toBool();
+        QString t_fanart = query.value(6).toString();
+        QString t_boxart = query.value(7).toString();
 
         if ((t_gamename  != Gamename())  || (t_genre     != Genre())   ||
             (t_year      != Year())      || (t_country   != Country()) ||
-            (t_publisher != Publisher()) || (t_favourite != Favorite()))
+            (t_publisher != Publisher()) || (t_favourite != Favorite()) ||
+            (t_fanart    != Fanart())    || (t_boxart    != Boxart()))
         {
             query.prepare("UPDATE gamemetadata "
                           "SET version = 'CUSTOM' "
@@ -147,6 +151,10 @@
         favorite = data.toInt();
     else if (field == "rompath")
         rompath = data;
+    else if (field == "fanart")
+        fanart = data;
+    else if (field == "boxart")
+        boxart = data;
     else if (field == "country")
         country = data;
     else if (field == "publisher")
@@ -211,7 +219,7 @@
 
     QString thequery = "SELECT system,gamename,genre,year,romname,favorite,"
                        "rompath,country,crc_value,diskcount,gametype,publisher,"
-                       "version FROM gamemetadata WHERE gamename = :GAMENAME "
+                       "version,fanart,boxart FROM gamemetadata WHERE gamename = :GAMENAME "
                        + systemtype + " ORDER BY diskcount DESC";
 
     query.prepare(thequery);
@@ -234,6 +242,8 @@
         setGameType(query.value(10).toString());
         setPublisher(query.value(11).toString());
         setVersion(query.value(12).toString());
+        setFanart(query.value(13).toString());
+        setBoxart(query.value(14).toString());
     }
 
     query.prepare("SELECT screenshots FROM gameplayers "
Index: mythplugins/mythgame/mythgame/gamehandler.h
===================================================================
--- mythplugins/mythgame/mythgame/gamehandler.h	(revision 20716)
+++ mythplugins/mythgame/mythgame/gamehandler.h	(working copy)
@@ -67,7 +67,8 @@
     void GetMetadata(GameHandler *handler, QString rom, 
                              QString* Genre, QString* Year, QString* Country,
                              QString* CRC32, QString* GameName,
-                             QString* Publisher, QString* Version);
+                             QString* Publisher, QString* Version,
+                             QString* Fanart, QString* Boxart);
 
     void promptForRemoval(QString filename, QString RomPath );
     void UpdateGameDB(GameHandler *handler);
Index: mythplugins/mythgame/mythgame/rominfo.h
===================================================================
--- mythplugins/mythgame/mythgame/rominfo.h	(revision 20716)
+++ mythplugins/mythgame/mythgame/rominfo.h	(working copy)
@@ -12,7 +12,8 @@
             QString lgenre = "", QString lyear = "", bool lfavorite = FALSE, 
             QString lrompath = "", QString lcountry ="", QString lcrc_value = "",
             int ldiskcount = 0, QString lgametype = "", int lromcount = 0,
-            QString lallsystems = "", QString lpublisher = "", QString lversion = "")
+            QString lallsystems = "", QString lpublisher = "", QString lversion = "",
+            QString lfanart = "", QString lboxart = "")
             {
                 romname = lromname;
                 system = lsystem;
@@ -21,6 +22,8 @@
                 year = lyear;
                 favorite = lfavorite;
                 rompath = lrompath;
+                fanart = lfanart;
+                boxart = lboxart;
                 country = lcountry;
                 crc_value = lcrc_value;
                 diskcount = ldiskcount;
@@ -40,6 +43,8 @@
                 year = lhs.year;
                 favorite = lhs.favorite;
                 rompath = lhs.rompath;
+                fanart = lhs.fanart;
+                boxart = lhs.boxart;
                 country = lhs.country;
                 crc_value = lhs.crc_value;
                 diskcount = lhs.diskcount;
@@ -57,6 +62,12 @@
     QString Rompath() const { return rompath; }
     void setRompath(const QString &lrompath) { rompath = lrompath; }
 
+    QString Fanart() const { return fanart; }
+    void setFanart(const QString &lfanart) { fanart = lfanart; }
+
+    QString Boxart() const { return boxart; }
+    void setBoxart(const QString &lboxart) { boxart = lboxart; }
+
     QString Romname() const { return romname; }
     void setRomname(const QString &lromname) { romname = lromname; }
 
@@ -126,8 +137,12 @@
     QString year;
     bool favorite;
     QString rompath;
+    QString fanart;
+    QString boxart;
 };
 
 bool operator==(const RomInfo& a, const RomInfo& b);
 
+Q_DECLARE_METATYPE(RomInfo *)
+
 #endif
Index: mythplugins/mythgame/mythgame/dbcheck.cpp
===================================================================
--- mythplugins/mythgame/mythgame/dbcheck.cpp	(revision 20716)
+++ mythplugins/mythgame/mythgame/dbcheck.cpp	(working copy)
@@ -12,7 +12,7 @@
 
 #include "gamesettings.h"
 
-const QString currentDatabaseVersion = "1014";
+const QString currentDatabaseVersion = "1015";
 
 static bool UpdateDBVersionNumber(const QString &newnumber)
 {
@@ -384,6 +384,18 @@
             return false;
     }
 
+    if (dbver == "1014")
+    {
+        const QString updates[] = {
 
+"ALTER TABLE gamemetadata ADD fanart VARCHAR(255) NOT NULL AFTER rompath,"
+"ADD boxart VARCHAR( 255 ) NOT NULL AFTER fanart;",
+""
+};
+
+        if (!performActualUpdate(updates, "1015", dbver))
+            return false;
+    }
+
     return true;
 }
Index: mythplugins/mythgame/mythgame/main.cpp
===================================================================
--- mythplugins/mythgame/mythgame/main.cpp	(revision 20716)
+++ mythplugins/mythgame/mythgame/main.cpp	(working copy)
@@ -6,10 +6,10 @@
 #include <QDir>
 #include <QApplication>
 
+#include "gameui.h"
 #include "gamehandler.h"
 #include "rominfo.h"
 #include "gamesettings.h"
-#include "gametree.h"
 #include "dbcheck.h"
 
 #include <mythtv/mythcontext.h>
@@ -60,33 +60,33 @@
 {
     QString themedir = GetMythUI()->GetThemeDir();
 
-    MythThemedMenu *diag = new MythThemedMenu(
+    MythThemedMenu *menu = new MythThemedMenu(
         themedir, which_menu, GetMythMainWindow()->GetMainStack(), "game menu");
 
     GameData data;
 
-    diag->setCallback(GameCallback, &data);
-    diag->setKillable();
+    menu->setCallback(GameCallback, &data);
+    menu->setKillable();
 
-    if (diag->foundTheme())
+    if (menu->foundTheme())
     {
-        if (class LCD * lcd = LCD::Get())
-        {
+        if (LCD * lcd = LCD::Get())
             lcd->switchToTime();
-        }
-        GetMythMainWindow()->GetMainStack()->AddScreen(diag);
+
+        GetMythMainWindow()->GetMainStack()->AddScreen(menu);
         return 0;
     }
     else
     {
         VERBOSE(VB_IMPORTANT, QString("Couldn't find menu %1 or theme %2")
                               .arg(which_menu).arg(themedir));
-        delete diag;
+        delete menu;
         return -1;
     }
 }
 
 void runGames(void);
+int  RunGames(void);
 
 void setupKeys(void)
 {
@@ -105,9 +105,12 @@
 {
     if (!gContext->TestPopupVersion("mythgame", libversion,
                                     MYTH_BINARY_VERSION))
+    {
+        VERBOSE(VB_IMPORTANT,
+                QString("libmythgame.so/main.o: binary version mismatch"));
         return -1;
+    }
 
-
     gContext->ActivateSettingsCache(false);
     if (!UpgradeGameDatabaseSchema())
     {
@@ -126,18 +129,31 @@
     return 0;
 }
 
-void runGames(void)
+void runGames()
 {
-    gContext->addCurrentLocation("mythgame");
-    GameTree gametree(gContext->GetMainWindow(), "gametree", "game-");
-    gametree.exec();
-    gContext->removeCurrentLocation();
+    RunGames();
 }
 
+int RunGames(void)
+{
+    MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack();
+    GameUI *game = new GameUI(mainStack);
+
+    if (game->Create())
+    {
+        mainStack->AddScreen(game);
+        return 0;
+    }
+    else
+    {
+        delete game;
+        return -1;
+    } 
+}
+
 int mythplugin_run(void)
 {
-    runGames();
-    return 0;
+    return RunGames();
 }
 
 int mythplugin_config(void)
Index: mythplugins/mythgame/mythgame/mythgame.pro
===================================================================
--- mythplugins/mythgame/mythgame/mythgame.pro	(revision 20716)
+++ mythplugins/mythgame/mythgame/mythgame.pro	(working copy)
@@ -9,11 +9,12 @@
 INSTALLS += target
 
 # Input
-HEADERS += gamehandler.h rominfo.h unzip.h gamesettings.h gametree.h
-HEADERS += rom_metadata.h romedit.h
+HEADERS += gamehandler.h rominfo.h unzip.h gamesettings.h gameui.h
+HEADERS += rom_metadata.h romedit.h gamedetails.h
 
-SOURCES += main.cpp gamehandler.cpp rominfo.cpp gametree.cpp unzip.c
+SOURCES += main.cpp gamehandler.cpp rominfo.cpp gameui.cpp unzip.c
 SOURCES += gamesettings.cpp dbcheck.cpp rom_metadata.cpp romedit.cpp
+SOURCES += gamedetails.cpp
 
 use_hidesyms {
     QMAKE_CXXFLAGS += -fvisibility=hidden
