From ef4ed3c2993fcb9ad8de7b8585dc299dae5634fc Mon Sep 17 00:00:00 2001
From: emb <>
Date: Mon, 19 Jan 2015 16:40:15 -0600
Subject: [PATCH] Added hyperlists
---
.../Common/Collections/Arcade/Include.xml | 749 -
.../Common/Collections/Arcade/Settings.conf | 53 +-
.../Common/Collections/Main/Menu.xml | 7 -
.../Common/Collections/Main/Settings.conf | 13 +-
.../Collections/NES and Arcade/Menu.xml | 5 -
.../Collections/NES and Arcade/Settings.conf | 9 -
.../Settings.conf | 50 +-
.../Environment/Common/Meta/Hyperlist/AAE.xml | 359 +
.../Meta/Hyperlist/American Laser Games.xml | 79 +
.../Common/Meta/Hyperlist/Amstrad GX4000.xml | 259 +
.../Common/Meta/Hyperlist/Atari 2600.xml | 6489 ++
.../Common/Meta/Hyperlist/Atari 5200.xml | 729 +
.../Common/Meta/Hyperlist/Atari 7800.xml | 599 +
.../Common/Meta/Hyperlist/Atari Jaguar.xml | 549 +
.../Common/Meta/Hyperlist/Atari Lynx.xml | 759 +
.../Common/Meta/Hyperlist/Bally Astrocade.xml | 489 +
.../Hyperlist/Bandai WonderSwan Color.xml | 949 +
.../Common/Meta/Hyperlist/Casio PV-1000.xml | 59 +
.../Common/Meta/Hyperlist/ColecoVision.xml | 1409 +
.../Meta/Hyperlist/Commodore Amiga CD32.xml | 1639 +
.../Common/Meta/Hyperlist/DICE.xml | 149 +
.../Common/Meta/Hyperlist/Daphne.xml | 179 +
.../Meta/Hyperlist/Emerson Arcadia 2001.xml | 559 +
.../Meta/Hyperlist/Entex Adventure Vision.xml | 49 +
.../Meta/Hyperlist/Fairchild Channel F.xml | 309 +
.../Common/Meta/Hyperlist/GCE Vectrex.xml | 239 +
.../Common/Meta/Hyperlist/MAME.xml | 91549 ++++++++++++++++
.../Common/Meta/Hyperlist/MUGEN.xml | 459 +
.../Meta/Hyperlist/Magnavox Odyssey 2.xml | 999 +
.../Meta/Hyperlist/Mattel Intellivision.xml | 1419 +
.../Meta/Hyperlist/NEC PC Engine-CD.xml | 1189 +
.../Common/Meta/Hyperlist/NEC PC Engine.xml | 1599 +
.../Common/Meta/Hyperlist/NEC PC-FX.xml | 629 +
.../Common/Meta/Hyperlist/NEC SuperGrafx.xml | 59 +
.../Meta/Hyperlist/NEC TurboGrafx-16.xml | 949 +
.../Meta/Hyperlist/NEC TurboGrafx-CD.xml | 469 +
.../Common/Meta/Hyperlist/Nintendo 64.xml | 3039 +
.../Nintendo Entertainment System.xml | 7919 ++
.../Meta/Hyperlist/Nintendo Famicom.xml | 2919 +
.../Hyperlist/Nintendo Game Boy Advance.xml | 11299 ++
.../Hyperlist/Nintendo Game Boy Color.xml | 5359 +
.../Meta/Hyperlist/Nintendo Game Boy.xml | 5659 +
.../Meta/Hyperlist/Nintendo GameCube.xml | 6389 ++
.../Meta/Hyperlist/Nintendo Pokemon Mini.xml | 119 +
.../Meta/Hyperlist/Nintendo Super Famicom.xml | 5119 +
.../Meta/Hyperlist/Nintendo Virtual Boy.xml | 209 +
.../Common/Meta/Hyperlist/OpenBOR.xml | 589 +
.../Common/Meta/Hyperlist/Panasonic 3DO.xml | 2169 +
.../Common/Meta/Hyperlist/Philips VG 5000.xml | 219 +
.../Common/Meta/Hyperlist/PopCap.xml | 829 +
.../Common/Meta/Hyperlist/RCA Studio II.xml | 59 +
.../Common/Meta/Hyperlist/SNK Neo Geo CD.xml | 909 +
.../Hyperlist/SNK Neo Geo Pocket Color.xml | 409 +
.../Common/Meta/Hyperlist/SNK Neo Geo.xml | 1409 +
.../Meta/Hyperlist/Sammy Atomiswave.xml | 239 +
.../Common/Meta/Hyperlist/ScummVM.xml | 2079 +
.../Common/Meta/Hyperlist/Sega 32X.xml | 339 +
.../Common/Meta/Hyperlist/Sega CD.xml | 1719 +
.../Common/Meta/Hyperlist/Sega Dreamcast.xml | 3479 +
.../Common/Meta/Hyperlist/Sega Game Gear.xml | 2599 +
.../Common/Meta/Hyperlist/Sega Genesis.xml | 7819 ++
.../Meta/Hyperlist/Sega Master System.xml | 2789 +
.../Common/Meta/Hyperlist/Sega Model 2.xml | 569 +
.../Common/Meta/Hyperlist/Sega Model 3.xml | 239 +
.../Common/Meta/Hyperlist/Sega Naomi.xml | 1749 +
.../Common/Meta/Hyperlist/Sega SG-1000.xml | 739 +
.../Common/Meta/Hyperlist/Sega ST-V.xml | 619 +
.../Common/Meta/Hyperlist/Sega Saturn.xml | 3039 +
.../Super Nintendo Entertainment System.xml | 7879 ++
.../Common/Meta/Hyperlist/Tiger Game.com.xml | 209 +
.../Common/Meta/Hyperlist/Touhou Project.xml | 249 +
.../Meta/Hyperlist/VTech CreatiVision.xml | 179 +
.../Common/Meta/Hyperlist/WoW Action Max.xml | 59 +
.../Common/Meta/Hyperlist/Zinc.xml | 469 +
Package/Environment/Common/Settings.conf | 6 +
RetroFE/Source/CMakeLists.txt | 2 -
RetroFE/Source/Collection/Item.cpp | 27 +-
RetroFE/Source/Collection/Item.h | 14 +-
RetroFE/Source/Database/MamelistMetadata.cpp | 132 -
RetroFE/Source/Database/MamelistMetadata.h | 18 -
RetroFE/Source/Database/MetadataDatabase.cpp | 127 +-
RetroFE/Source/Database/MetadataDatabase.h | 1 +
RetroFE/Source/Graphics/PageBuilder.cpp | 2 +-
RetroFE/Source/Main.cpp | 1 -
RetroFE/Source/RetroFE.cpp | 1 -
85 files changed, 207080 insertions(+), 990 deletions(-)
delete mode 100644 Package/Environment/Common/Collections/Arcade/Include.xml
delete mode 100644 Package/Environment/Common/Collections/NES and Arcade/Menu.xml
delete mode 100644 Package/Environment/Common/Collections/NES and Arcade/Settings.conf
create mode 100644 Package/Environment/Common/Meta/Hyperlist/AAE.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/American Laser Games.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Amstrad GX4000.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Atari 2600.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Atari 5200.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Atari 7800.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Atari Jaguar.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Atari Lynx.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Bally Astrocade.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Bandai WonderSwan Color.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Casio PV-1000.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/ColecoVision.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Commodore Amiga CD32.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/DICE.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Daphne.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Emerson Arcadia 2001.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Entex Adventure Vision.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Fairchild Channel F.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/GCE Vectrex.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/MAME.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/MUGEN.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Magnavox Odyssey 2.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Mattel Intellivision.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/NEC PC Engine-CD.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/NEC PC Engine.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/NEC PC-FX.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/NEC SuperGrafx.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/NEC TurboGrafx-16.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/NEC TurboGrafx-CD.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Nintendo 64.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Nintendo Entertainment System.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Nintendo Famicom.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Nintendo Game Boy Advance.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Nintendo Game Boy Color.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Nintendo Game Boy.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Nintendo GameCube.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Nintendo Pokemon Mini.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Nintendo Super Famicom.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Nintendo Virtual Boy.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/OpenBOR.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Panasonic 3DO.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Philips VG 5000.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/PopCap.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/RCA Studio II.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/SNK Neo Geo CD.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/SNK Neo Geo Pocket Color.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/SNK Neo Geo.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Sammy Atomiswave.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/ScummVM.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Sega 32X.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Sega CD.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Sega Dreamcast.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Sega Game Gear.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Sega Genesis.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Sega Master System.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Sega Model 2.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Sega Model 3.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Sega Naomi.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Sega SG-1000.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Sega ST-V.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Sega Saturn.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Super Nintendo Entertainment System.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Tiger Game.com.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Touhou Project.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/VTech CreatiVision.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/WoW Action Max.xml
create mode 100644 Package/Environment/Common/Meta/Hyperlist/Zinc.xml
delete mode 100644 RetroFE/Source/Database/MamelistMetadata.cpp
delete mode 100644 RetroFE/Source/Database/MamelistMetadata.h
diff --git a/Package/Environment/Common/Collections/Arcade/Include.xml b/Package/Environment/Common/Collections/Arcade/Include.xml
deleted file mode 100644
index 0b7017d..0000000
--- a/Package/Environment/Common/Collections/Arcade/Include.xml
+++ /dev/null
@@ -1,749 +0,0 @@
-
-
\ No newline at end of file
diff --git a/Package/Environment/Common/Collections/Arcade/Settings.conf b/Package/Environment/Common/Collections/Arcade/Settings.conf
index 341f7b6..f92d150 100644
--- a/Package/Environment/Common/Collections/Arcade/Settings.conf
+++ b/Package/Environment/Common/Collections/Arcade/Settings.conf
@@ -1,13 +1,48 @@
-# override the default layout with something else if desired
-#layout = Default
-launcher = MAME
+###############################################################################
+# The location of where your ROM items exist. Examples:
+# list.path = D:/ROMs/MAME (absolute path)
+# list.path = ../ROMs/MAME (relative path to root of FE dir)
+#
+# If BASE_ITEM_PATH=D:/ROMs and the name of this collection is named "Arcade"
+# then the configuration below will search in D:/ROMs/Arcade
+###############################################################################
+list.path = %BASE_ITEM_PATH%/%ITEM_COLLECTION_NAME%
-list.path = ../ROMs/MAME
+###############################################################################
+# Extensions are comma separated without spaces
+###############################################################################
list.extensions = zip
-media.video = ../Media/Arcade/Videos
-media.title = ../Media/Arcade/Titles
-media.snap = ../Media/Arcade/Snaps
-media.box = ../Media/Arcade/Boxes
-media.cart = ../Media/Arcade/Carts
+###############################################################################
+# The executable to run when an item in a collection item is selected
+###############################################################################
+launcher = MAME
+###############################################################################
+# On default, MAME roms are not clearly named. We need to use the MAME
+# metadata for them.
+###############################################################################
+metadata.type = MAME
+
+###############################################################################
+# Uncomment and edit the following line to override the global Settings layout
+###############################################################################
+# layout = Default
+
+###############################################################################
+# Media paths on default scan for artwork:
+# %BASE_MEDIA_PATH%/%ITEM_COLLECTION_NAME%/Video
+# %BASE_MEDIA_PATH%/%ITEM_COLLECTION_NAME%/Title
+# %BASE_MEDIA_PATH%/%ITEM_COLLECTION_NAME%/Snap
+# %BASE_MEDIA_PATH%/%ITEM_COLLECTION_NAME%/Box
+# %BASE_MEDIA_PATH%/%ITEM_COLLECTION_NAME%/Cart
+#
+# This is done to help enforce a consistent directory stucture and streamline
+# the configuration process. To individually override artwork, uncomment and
+# edit the lines below:
+###############################################################################
+# media.video = ../Media/%ITEM_COLLECTION_NAME%/Video
+# media.title = ../Media/%ITEM_COLLECTION_NAME%/Title
+# media.snap = ../Media/%ITEM_COLLECTION_NAME%/Snap
+# media.box = ../Media/%ITEM_COLLECTION_NAME%/Box
+# media.cart = ../Media/%ITEM_COLLECTION_NAME%/Cart
diff --git a/Package/Environment/Common/Collections/Main/Menu.xml b/Package/Environment/Common/Collections/Main/Menu.xml
index 1e9b9a9..5467c10 100644
--- a/Package/Environment/Common/Collections/Main/Menu.xml
+++ b/Package/Environment/Common/Collections/Main/Menu.xml
@@ -1,11 +1,4 @@
diff --git a/Package/Environment/Common/Collections/Main/Settings.conf b/Package/Environment/Common/Collections/Main/Settings.conf
index e7e4bc2..6b50e8c 100644
--- a/Package/Environment/Common/Collections/Main/Settings.conf
+++ b/Package/Environment/Common/Collections/Main/Settings.conf
@@ -1,9 +1,6 @@
-# override the default layout with something else if desired
+###############################################################################
+# This main collection is intended to be a menu for navigating to other
+# collections (although this can also be configured to list and launch items).
+# See Menu.xml to configure the menu
+###############################################################################
layout = Showcase 16x9
-
-media.video = ../Media/Systems/Videos
-media.title = ../Media/Systems/Titles
-media.box = ../Media/Systems/Boxes
-media.cart = ../Media/Systems/Carts
-media.snap = ../Media/Systems/Snaps
-
diff --git a/Package/Environment/Common/Collections/NES and Arcade/Menu.xml b/Package/Environment/Common/Collections/NES and Arcade/Menu.xml
deleted file mode 100644
index df54a3b..0000000
--- a/Package/Environment/Common/Collections/NES and Arcade/Menu.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/Package/Environment/Common/Collections/NES and Arcade/Settings.conf b/Package/Environment/Common/Collections/NES and Arcade/Settings.conf
deleted file mode 100644
index 5863137..0000000
--- a/Package/Environment/Common/Collections/NES and Arcade/Settings.conf
+++ /dev/null
@@ -1,9 +0,0 @@
-# override the default layout with something else if desired
-# layout = SomeCustomBuiltTheme
-
-media.video = ../Media/Systems/Videos
-media.title = ../Media/Systems/Titles
-media.box = ../Media/Systems/Boxes
-media.cart = ../Media/Systems/Carts
-media.snap = ../Media/Systems/Snaps
-
diff --git a/Package/Environment/Common/Collections/Nintendo Entertainment System/Settings.conf b/Package/Environment/Common/Collections/Nintendo Entertainment System/Settings.conf
index 6b6725e..8b19b7b 100644
--- a/Package/Environment/Common/Collections/Nintendo Entertainment System/Settings.conf
+++ b/Package/Environment/Common/Collections/Nintendo Entertainment System/Settings.conf
@@ -1,13 +1,43 @@
-# override the default layout with something else if desired
-#layout = SomeNewLayout
+###############################################################################
+# The location of where your ROM items exist. Examples:
+# list.path = D:/ROMs/MAME (absolute path)
+# list.path = ../ROMs/MAME (relative path to root of FE dir)
+#
+# If BASE_ITEM_PATH=D:/ROMs and the name of this collection is named "Nintendo
+# Entertainment System" then the configuration below will search in
+# "D:/ROMs/Nintendo Entertainment System"
+###############################################################################
+list.path = %BASE_ITEM_PATH%/%ITEM_COLLECTION_NAME%
+
+###############################################################################
+# Extensions are comma separated without spaces
+###############################################################################
+list.extensions = zip
+
+###############################################################################
+# The executable to run when an item in a collection item is selected
+###############################################################################
launcher = Nestopia
-list.path = ../ROMs/Nintendo NES
-list.extensions = nes
-
-media.video = ../Media/Nintendo NES/Videos
-media.title = ../Media/Nintendo NES/Titles
-media.box = ../Media/Nintendo NES/Boxes
-media.cart = ../Media/Nintendo NES/Carts
-media.snap = ../Media/Nintendo NES/Snaps
+###############################################################################
+# Uncomment and edit the following line to override the global Settings layout
+###############################################################################
+# layout = Default
+###############################################################################
+# Media paths on default scan for artwork:
+# %BASE_MEDIA_PATH%/%ITEM_COLLECTION_NAME%/Video
+# %BASE_MEDIA_PATH%/%ITEM_COLLECTION_NAME%/Title
+# %BASE_MEDIA_PATH%/%ITEM_COLLECTION_NAME%/Snap
+# %BASE_MEDIA_PATH%/%ITEM_COLLECTION_NAME%/Box
+# %BASE_MEDIA_PATH%/%ITEM_COLLECTION_NAME%/Cart
+#
+# This is done to help enforce a consistent directory stucture and streamline
+# the configuration process. To individually override artwork, uncomment and
+# edit the lines below:
+###############################################################################
+# media.video = ../Media/%COLLECTION_NAME%/Video
+# media.title = ../Media/%COLLECTION_NAME%/Title
+# media.snap = ../Media/%COLLECTION_NAME%/Snap
+# media.box = ../Media/%COLLECTION_NAME%/Box
+# media.cart = ../Media/%COLLECTION_NAME%/Cart
diff --git a/Package/Environment/Common/Meta/Hyperlist/AAE.xml b/Package/Environment/Common/Meta/Hyperlist/AAE.xml
new file mode 100644
index 0000000..7181758
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/AAE.xml
@@ -0,0 +1,359 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/American Laser Games.xml b/Package/Environment/Common/Meta/Hyperlist/American Laser Games.xml
new file mode 100644
index 0000000..208a6ff
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/American Laser Games.xml
@@ -0,0 +1,79 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Amstrad GX4000.xml b/Package/Environment/Common/Meta/Hyperlist/Amstrad GX4000.xml
new file mode 100644
index 0000000..981506c
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Amstrad GX4000.xml
@@ -0,0 +1,259 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Atari 2600.xml b/Package/Environment/Common/Meta/Hyperlist/Atari 2600.xml
new file mode 100644
index 0000000..a194534
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Atari 2600.xml
@@ -0,0 +1,6489 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Atari 5200.xml b/Package/Environment/Common/Meta/Hyperlist/Atari 5200.xml
new file mode 100644
index 0000000..afcb2ac
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Atari 5200.xml
@@ -0,0 +1,729 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Atari 7800.xml b/Package/Environment/Common/Meta/Hyperlist/Atari 7800.xml
new file mode 100644
index 0000000..0d225b6
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Atari 7800.xml
@@ -0,0 +1,599 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Atari Jaguar.xml b/Package/Environment/Common/Meta/Hyperlist/Atari Jaguar.xml
new file mode 100644
index 0000000..50ed098
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Atari Jaguar.xml
@@ -0,0 +1,549 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Atari Lynx.xml b/Package/Environment/Common/Meta/Hyperlist/Atari Lynx.xml
new file mode 100644
index 0000000..1aa48d0
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Atari Lynx.xml
@@ -0,0 +1,759 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Bally Astrocade.xml b/Package/Environment/Common/Meta/Hyperlist/Bally Astrocade.xml
new file mode 100644
index 0000000..1a3f32b
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Bally Astrocade.xml
@@ -0,0 +1,489 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Bandai WonderSwan Color.xml b/Package/Environment/Common/Meta/Hyperlist/Bandai WonderSwan Color.xml
new file mode 100644
index 0000000..9198a6c
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Bandai WonderSwan Color.xml
@@ -0,0 +1,949 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Casio PV-1000.xml b/Package/Environment/Common/Meta/Hyperlist/Casio PV-1000.xml
new file mode 100644
index 0000000..221b25d
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Casio PV-1000.xml
@@ -0,0 +1,59 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/ColecoVision.xml b/Package/Environment/Common/Meta/Hyperlist/ColecoVision.xml
new file mode 100644
index 0000000..ecfc204
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/ColecoVision.xml
@@ -0,0 +1,1409 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Commodore Amiga CD32.xml b/Package/Environment/Common/Meta/Hyperlist/Commodore Amiga CD32.xml
new file mode 100644
index 0000000..682ee0f
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Commodore Amiga CD32.xml
@@ -0,0 +1,1639 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/DICE.xml b/Package/Environment/Common/Meta/Hyperlist/DICE.xml
new file mode 100644
index 0000000..536ff10
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/DICE.xml
@@ -0,0 +1,149 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Daphne.xml b/Package/Environment/Common/Meta/Hyperlist/Daphne.xml
new file mode 100644
index 0000000..2503e85
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Daphne.xml
@@ -0,0 +1,179 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Emerson Arcadia 2001.xml b/Package/Environment/Common/Meta/Hyperlist/Emerson Arcadia 2001.xml
new file mode 100644
index 0000000..1b38946
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Emerson Arcadia 2001.xml
@@ -0,0 +1,559 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Entex Adventure Vision.xml b/Package/Environment/Common/Meta/Hyperlist/Entex Adventure Vision.xml
new file mode 100644
index 0000000..a08ac75
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Entex Adventure Vision.xml
@@ -0,0 +1,49 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Fairchild Channel F.xml b/Package/Environment/Common/Meta/Hyperlist/Fairchild Channel F.xml
new file mode 100644
index 0000000..0e043ca
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Fairchild Channel F.xml
@@ -0,0 +1,309 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/GCE Vectrex.xml b/Package/Environment/Common/Meta/Hyperlist/GCE Vectrex.xml
new file mode 100644
index 0000000..2a8682f
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/GCE Vectrex.xml
@@ -0,0 +1,239 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/MAME.xml b/Package/Environment/Common/Meta/Hyperlist/MAME.xml
new file mode 100644
index 0000000..63b6f9d
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/MAME.xml
@@ -0,0 +1,91549 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/MUGEN.xml b/Package/Environment/Common/Meta/Hyperlist/MUGEN.xml
new file mode 100644
index 0000000..745d225
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/MUGEN.xml
@@ -0,0 +1,459 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Magnavox Odyssey 2.xml b/Package/Environment/Common/Meta/Hyperlist/Magnavox Odyssey 2.xml
new file mode 100644
index 0000000..f85f61e
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Magnavox Odyssey 2.xml
@@ -0,0 +1,999 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Mattel Intellivision.xml b/Package/Environment/Common/Meta/Hyperlist/Mattel Intellivision.xml
new file mode 100644
index 0000000..1a27419
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Mattel Intellivision.xml
@@ -0,0 +1,1419 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/NEC PC Engine-CD.xml b/Package/Environment/Common/Meta/Hyperlist/NEC PC Engine-CD.xml
new file mode 100644
index 0000000..015adc2
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/NEC PC Engine-CD.xml
@@ -0,0 +1,1189 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/NEC PC Engine.xml b/Package/Environment/Common/Meta/Hyperlist/NEC PC Engine.xml
new file mode 100644
index 0000000..6e6ba19
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/NEC PC Engine.xml
@@ -0,0 +1,1599 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/NEC PC-FX.xml b/Package/Environment/Common/Meta/Hyperlist/NEC PC-FX.xml
new file mode 100644
index 0000000..c7a4f57
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/NEC PC-FX.xml
@@ -0,0 +1,629 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/NEC SuperGrafx.xml b/Package/Environment/Common/Meta/Hyperlist/NEC SuperGrafx.xml
new file mode 100644
index 0000000..6bb5567
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/NEC SuperGrafx.xml
@@ -0,0 +1,59 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/NEC TurboGrafx-16.xml b/Package/Environment/Common/Meta/Hyperlist/NEC TurboGrafx-16.xml
new file mode 100644
index 0000000..a35e131
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/NEC TurboGrafx-16.xml
@@ -0,0 +1,949 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/NEC TurboGrafx-CD.xml b/Package/Environment/Common/Meta/Hyperlist/NEC TurboGrafx-CD.xml
new file mode 100644
index 0000000..68e2fa9
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/NEC TurboGrafx-CD.xml
@@ -0,0 +1,469 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Nintendo 64.xml b/Package/Environment/Common/Meta/Hyperlist/Nintendo 64.xml
new file mode 100644
index 0000000..812eb33
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Nintendo 64.xml
@@ -0,0 +1,3039 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Nintendo Entertainment System.xml b/Package/Environment/Common/Meta/Hyperlist/Nintendo Entertainment System.xml
new file mode 100644
index 0000000..08647fa
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Nintendo Entertainment System.xml
@@ -0,0 +1,7919 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Nintendo Famicom.xml b/Package/Environment/Common/Meta/Hyperlist/Nintendo Famicom.xml
new file mode 100644
index 0000000..2ac7a71
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Nintendo Famicom.xml
@@ -0,0 +1,2919 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Nintendo Game Boy Advance.xml b/Package/Environment/Common/Meta/Hyperlist/Nintendo Game Boy Advance.xml
new file mode 100644
index 0000000..50a308e
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Nintendo Game Boy Advance.xml
@@ -0,0 +1,11299 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Nintendo Game Boy Color.xml b/Package/Environment/Common/Meta/Hyperlist/Nintendo Game Boy Color.xml
new file mode 100644
index 0000000..9b02d41
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Nintendo Game Boy Color.xml
@@ -0,0 +1,5359 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Nintendo Game Boy.xml b/Package/Environment/Common/Meta/Hyperlist/Nintendo Game Boy.xml
new file mode 100644
index 0000000..2c7dbe4
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Nintendo Game Boy.xml
@@ -0,0 +1,5659 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Nintendo GameCube.xml b/Package/Environment/Common/Meta/Hyperlist/Nintendo GameCube.xml
new file mode 100644
index 0000000..2594ce7
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Nintendo GameCube.xml
@@ -0,0 +1,6389 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Nintendo Pokemon Mini.xml b/Package/Environment/Common/Meta/Hyperlist/Nintendo Pokemon Mini.xml
new file mode 100644
index 0000000..88c5c42
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Nintendo Pokemon Mini.xml
@@ -0,0 +1,119 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Nintendo Super Famicom.xml b/Package/Environment/Common/Meta/Hyperlist/Nintendo Super Famicom.xml
new file mode 100644
index 0000000..e246e9e
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Nintendo Super Famicom.xml
@@ -0,0 +1,5119 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Nintendo Virtual Boy.xml b/Package/Environment/Common/Meta/Hyperlist/Nintendo Virtual Boy.xml
new file mode 100644
index 0000000..98c68f8
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Nintendo Virtual Boy.xml
@@ -0,0 +1,209 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/OpenBOR.xml b/Package/Environment/Common/Meta/Hyperlist/OpenBOR.xml
new file mode 100644
index 0000000..168085d
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/OpenBOR.xml
@@ -0,0 +1,589 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Panasonic 3DO.xml b/Package/Environment/Common/Meta/Hyperlist/Panasonic 3DO.xml
new file mode 100644
index 0000000..a234a32
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Panasonic 3DO.xml
@@ -0,0 +1,2169 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Philips VG 5000.xml b/Package/Environment/Common/Meta/Hyperlist/Philips VG 5000.xml
new file mode 100644
index 0000000..7b550af
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Philips VG 5000.xml
@@ -0,0 +1,219 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/PopCap.xml b/Package/Environment/Common/Meta/Hyperlist/PopCap.xml
new file mode 100644
index 0000000..71ae951
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/PopCap.xml
@@ -0,0 +1,829 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/RCA Studio II.xml b/Package/Environment/Common/Meta/Hyperlist/RCA Studio II.xml
new file mode 100644
index 0000000..02746ce
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/RCA Studio II.xml
@@ -0,0 +1,59 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/SNK Neo Geo CD.xml b/Package/Environment/Common/Meta/Hyperlist/SNK Neo Geo CD.xml
new file mode 100644
index 0000000..803142d
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/SNK Neo Geo CD.xml
@@ -0,0 +1,909 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/SNK Neo Geo Pocket Color.xml b/Package/Environment/Common/Meta/Hyperlist/SNK Neo Geo Pocket Color.xml
new file mode 100644
index 0000000..ea0e408
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/SNK Neo Geo Pocket Color.xml
@@ -0,0 +1,409 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/SNK Neo Geo.xml b/Package/Environment/Common/Meta/Hyperlist/SNK Neo Geo.xml
new file mode 100644
index 0000000..8caa4b6
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/SNK Neo Geo.xml
@@ -0,0 +1,1409 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Sammy Atomiswave.xml b/Package/Environment/Common/Meta/Hyperlist/Sammy Atomiswave.xml
new file mode 100644
index 0000000..02825cf
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Sammy Atomiswave.xml
@@ -0,0 +1,239 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/ScummVM.xml b/Package/Environment/Common/Meta/Hyperlist/ScummVM.xml
new file mode 100644
index 0000000..e3154d3
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/ScummVM.xml
@@ -0,0 +1,2079 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Sega 32X.xml b/Package/Environment/Common/Meta/Hyperlist/Sega 32X.xml
new file mode 100644
index 0000000..b621045
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Sega 32X.xml
@@ -0,0 +1,339 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Sega CD.xml b/Package/Environment/Common/Meta/Hyperlist/Sega CD.xml
new file mode 100644
index 0000000..d93494f
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Sega CD.xml
@@ -0,0 +1,1719 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Sega Dreamcast.xml b/Package/Environment/Common/Meta/Hyperlist/Sega Dreamcast.xml
new file mode 100644
index 0000000..f5602d3
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Sega Dreamcast.xml
@@ -0,0 +1,3479 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Sega Game Gear.xml b/Package/Environment/Common/Meta/Hyperlist/Sega Game Gear.xml
new file mode 100644
index 0000000..8f70baf
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Sega Game Gear.xml
@@ -0,0 +1,2599 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Sega Genesis.xml b/Package/Environment/Common/Meta/Hyperlist/Sega Genesis.xml
new file mode 100644
index 0000000..80e79e2
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Sega Genesis.xml
@@ -0,0 +1,7819 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Sega Master System.xml b/Package/Environment/Common/Meta/Hyperlist/Sega Master System.xml
new file mode 100644
index 0000000..1f4b8d8
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Sega Master System.xml
@@ -0,0 +1,2789 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Sega Model 2.xml b/Package/Environment/Common/Meta/Hyperlist/Sega Model 2.xml
new file mode 100644
index 0000000..2bf06cd
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Sega Model 2.xml
@@ -0,0 +1,569 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Sega Model 3.xml b/Package/Environment/Common/Meta/Hyperlist/Sega Model 3.xml
new file mode 100644
index 0000000..475f422
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Sega Model 3.xml
@@ -0,0 +1,239 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Sega Naomi.xml b/Package/Environment/Common/Meta/Hyperlist/Sega Naomi.xml
new file mode 100644
index 0000000..ad7e306
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Sega Naomi.xml
@@ -0,0 +1,1749 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Sega SG-1000.xml b/Package/Environment/Common/Meta/Hyperlist/Sega SG-1000.xml
new file mode 100644
index 0000000..222ac16
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Sega SG-1000.xml
@@ -0,0 +1,739 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Sega ST-V.xml b/Package/Environment/Common/Meta/Hyperlist/Sega ST-V.xml
new file mode 100644
index 0000000..ddccf77
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Sega ST-V.xml
@@ -0,0 +1,619 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Sega Saturn.xml b/Package/Environment/Common/Meta/Hyperlist/Sega Saturn.xml
new file mode 100644
index 0000000..c322a72
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Sega Saturn.xml
@@ -0,0 +1,3039 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Super Nintendo Entertainment System.xml b/Package/Environment/Common/Meta/Hyperlist/Super Nintendo Entertainment System.xml
new file mode 100644
index 0000000..44b07f3
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Super Nintendo Entertainment System.xml
@@ -0,0 +1,7879 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Tiger Game.com.xml b/Package/Environment/Common/Meta/Hyperlist/Tiger Game.com.xml
new file mode 100644
index 0000000..b44835f
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Tiger Game.com.xml
@@ -0,0 +1,209 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Touhou Project.xml b/Package/Environment/Common/Meta/Hyperlist/Touhou Project.xml
new file mode 100644
index 0000000..f1266f8
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Touhou Project.xml
@@ -0,0 +1,249 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/VTech CreatiVision.xml b/Package/Environment/Common/Meta/Hyperlist/VTech CreatiVision.xml
new file mode 100644
index 0000000..694ed4d
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/VTech CreatiVision.xml
@@ -0,0 +1,179 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/WoW Action Max.xml b/Package/Environment/Common/Meta/Hyperlist/WoW Action Max.xml
new file mode 100644
index 0000000..8bb867c
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/WoW Action Max.xml
@@ -0,0 +1,59 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Meta/Hyperlist/Zinc.xml b/Package/Environment/Common/Meta/Hyperlist/Zinc.xml
new file mode 100644
index 0000000..497f000
--- /dev/null
+++ b/Package/Environment/Common/Meta/Hyperlist/Zinc.xml
@@ -0,0 +1,469 @@
+
+
\ No newline at end of file
diff --git a/Package/Environment/Common/Settings.conf b/Package/Environment/Common/Settings.conf
index 9db1413..0581be9 100644
--- a/Package/Environment/Common/Settings.conf
+++ b/Package/Environment/Common/Settings.conf
@@ -47,3 +47,9 @@ attractModeTime = 45
#######################################
# do not set to "yes" unless you want your hard drive to quickly fill up
debug.logfps = no
+
+#######################################
+# Base folders of media and ROM files
+#######################################
+baseMediaPath=../Media
+baseItemPath=../ROMs
diff --git a/RetroFE/Source/CMakeLists.txt b/RetroFE/Source/CMakeLists.txt
index f0899fe..d7084a4 100644
--- a/RetroFE/Source/CMakeLists.txt
+++ b/RetroFE/Source/CMakeLists.txt
@@ -82,7 +82,6 @@ set(RETROFE_HEADERS
"${RETROFE_DIR}/Source/Database/Configuration.h"
"${RETROFE_DIR}/Source/Database/DB.h"
"${RETROFE_DIR}/Source/Database/MetadataDatabase.h"
- "${RETROFE_DIR}/Source/Database/MamelistMetadata.h"
"${RETROFE_DIR}/Source/Execute/AttractMode.h"
"${RETROFE_DIR}/Source/Execute/Launcher.h"
"${RETROFE_DIR}/Source/Graphics/Animate/Tween.h"
@@ -125,7 +124,6 @@ set(RETROFE_SOURCES
"${RETROFE_DIR}/Source/Database/Configuration.cpp"
"${RETROFE_DIR}/Source/Database/DB.cpp"
"${RETROFE_DIR}/Source/Database/MetadataDatabase.cpp"
- "${RETROFE_DIR}/Source/Database/MamelistMetadata.cpp"
"${RETROFE_DIR}/Source/Execute/AttractMode.cpp"
"${RETROFE_DIR}/Source/Execute/Launcher.cpp"
"${RETROFE_DIR}/Source/Graphics/Animate/Tween.cpp"
diff --git a/RetroFE/Source/Collection/Item.cpp b/RetroFE/Source/Collection/Item.cpp
index 8f0aa32..6b4e2ae 100644
--- a/RetroFE/Source/Collection/Item.cpp
+++ b/RetroFE/Source/Collection/Item.cpp
@@ -20,9 +20,7 @@
#include
Item::Item()
- : NumberPlayers(0)
- , NumberButtons(0)
- , Leaf(true)
+ : Leaf(true)
{
}
@@ -75,38 +73,23 @@ void Item::SetName(const std::string& name)
Name = name;
}
-int Item::GetNumberButtons() const
+std::string Item::GetNumberButtons() const
{
return NumberButtons;
}
-std::string Item::GetNumberButtonsString()
-{
- std::stringstream ss;
- ss << NumberButtons;
- return ss.str();
-}
-
-void Item::SetNumberButtons(int numberbuttons)
+void Item::SetNumberButtons(std::string numberbuttons)
{
NumberButtons = numberbuttons;
}
-int Item::GetNumberPlayers() const
+std::string Item::GetNumberPlayers() const
{
return NumberPlayers;
}
-std::string Item::GetNumberPlayersString()
-{
- std::stringstream ss;
- ss << NumberButtons;
- return ss.str();
-}
-
-
-void Item::SetNumberPlayers(int numberplayers)
+void Item::SetNumberPlayers(std::string numberplayers)
{
NumberPlayers = numberplayers;
}
diff --git a/RetroFE/Source/Collection/Item.h b/RetroFE/Source/Collection/Item.h
index 2109c8e..ca68c20 100644
--- a/RetroFE/Source/Collection/Item.h
+++ b/RetroFE/Source/Collection/Item.h
@@ -19,12 +19,10 @@ public:
void SetManufacturer(const std::string& manufacturer);
const std::string& GetName() const;
void SetName(const std::string& name);
- int GetNumberButtons() const;
- std::string GetNumberButtonsString();
- void SetNumberButtons(int numberbuttons);
- void SetNumberPlayers(int numberplayers);
- int GetNumberPlayers() const;
- std::string GetNumberPlayersString();
+ void SetNumberButtons(std::string numberbuttons);
+ std::string GetNumberButtons() const;
+ void SetNumberPlayers(std::string numberplayers);
+ std::string GetNumberPlayers() const;
const std::string& GetTitle() const;
const std::string& GetLCTitle() const;
void SetTitle(const std::string& title);
@@ -49,8 +47,8 @@ private:
std::string Year;
std::string Manufacturer;
std::string CloneOf;
- int NumberPlayers;
- int NumberButtons;
+ std::string NumberPlayers;
+ std::string NumberButtons;
bool Leaf;
};
diff --git a/RetroFE/Source/Database/MamelistMetadata.cpp b/RetroFE/Source/Database/MamelistMetadata.cpp
deleted file mode 100644
index 9dd7c03..0000000
--- a/RetroFE/Source/Database/MamelistMetadata.cpp
+++ /dev/null
@@ -1,132 +0,0 @@
-/* This file is part of RetroFE.
- *
- * RetroFE is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * RetroFE is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with RetroFE. If not, see .
- */
-
-#include "MamelistMetadata.h"
-#include "DB.h"
-#include "../Utility/Log.h"
-#include "Metadata.h"
-#include
-#include
-#include
-#include
-#include
-
-
-MamelistMetadata::MamelistMetadata(DB &dbInstance)
- : DBInstance(dbInstance)
-{
-}
-
-MamelistMetadata::~MamelistMetadata()
-{
-}
-
-bool MamelistMetadata::Import(std::string filename, std::string collection)
-{
- bool retVal = true;
- rapidxml::xml_document<> doc;
- rapidxml::xml_node<> * rootNode;
- char *error = NULL;
- sqlite3 *handle = DBInstance.GetHandle();
-
- std::ifstream f(filename.c_str());
-
- if (!f.good())
- {
- Logger::Write(Logger::ZONE_ERROR, "Mamelist", "Could not find mamelist metadata file at \"" + filename + "\"");
-
- retVal = false;
- }
-
- f.close();
-
- if(retVal)
- {
- Logger::Write(Logger::ZONE_INFO, "Mamelist", "Importing mamelist file \"" + filename + "\"");
- std::ifstream file(filename.c_str());
- std::vector buffer((std::istreambuf_iterator(file)), std::istreambuf_iterator());
-
- buffer.push_back('\0');
-
- doc.parse<0>(&buffer[0]);
-
- rootNode = doc.first_node("mame");
-
- sqlite3_exec(handle, "BEGIN IMMEDIATE TRANSACTION;", NULL, NULL, &error);
- for (rapidxml::xml_node<> * game = rootNode->first_node("game"); game; game = game->next_sibling())
- {
- rapidxml::xml_attribute<> *nameNode = game->first_attribute("name");
- rapidxml::xml_attribute<> *cloneOfXml = game->first_attribute("cloneof");
-
- if(nameNode != NULL)
- {
- std::string name = nameNode->value();
- rapidxml::xml_node<> *descriptionNode = game->first_node("description");
- rapidxml::xml_node<> *yearNode = game->first_node("year");
- rapidxml::xml_node<> *manufacturerNode = game->first_node("manufacturer");
- rapidxml::xml_node<> *inputNode = game->first_node("input");
-
- std::string description = (descriptionNode == NULL) ? nameNode->value() : descriptionNode->value();
- std::string year = (yearNode == NULL) ? "" : yearNode->value();
- std::string manufacturer = (manufacturerNode == NULL) ? "" : manufacturerNode->value();
- std::string cloneOf = (cloneOfXml == NULL) ? "" : cloneOfXml->value();
- std::string players;
- std::string buttons;
-
- if(inputNode != NULL)
- {
- rapidxml::xml_attribute<> *playersAttribute = inputNode->first_attribute("players");
- rapidxml::xml_attribute<> *buttonsAttribute = inputNode->first_attribute("buttons");
-
- if(playersAttribute)
- {
- players = playersAttribute->value();
- }
-
- if(buttonsAttribute)
- {
- buttons = buttonsAttribute->value();
- }
-
- }
-
- sqlite3_stmt *stmt;
- sqlite3_prepare_v2(handle,
- "UPDATE OR REPLACE Meta SET title=?, year=?, manufacturer=?, players=?, buttons=?, cloneOf=? WHERE name=? AND collectionName=?;",
- -1, &stmt, 0);
-
- sqlite3_bind_text(stmt, 1, description.c_str(), -1, SQLITE_TRANSIENT);
- sqlite3_bind_text(stmt, 2, year.c_str(), -1, SQLITE_TRANSIENT);
- sqlite3_bind_text(stmt, 3, manufacturer.c_str(), -1, SQLITE_TRANSIENT);
- sqlite3_bind_text(stmt, 4, players.c_str(), -1, SQLITE_TRANSIENT);
- sqlite3_bind_text(stmt, 5, buttons.c_str(), -1, SQLITE_TRANSIENT);
- sqlite3_bind_text(stmt, 6, cloneOf.c_str(), -1, SQLITE_TRANSIENT);
- sqlite3_bind_text(stmt, 7, name.c_str(), -1, SQLITE_TRANSIENT);
- sqlite3_bind_text(stmt, 8, collection.c_str(), -1, SQLITE_TRANSIENT);
-
- sqlite3_step(stmt);
- sqlite3_finalize(stmt);
-
- }
- }
- sqlite3_exec(handle, "COMMIT TRANSACTION;", NULL, NULL, &error);
-
- }
-
-
-
- return retVal;
-}
diff --git a/RetroFE/Source/Database/MamelistMetadata.h b/RetroFE/Source/Database/MamelistMetadata.h
deleted file mode 100644
index cb328fb..0000000
--- a/RetroFE/Source/Database/MamelistMetadata.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* This file is subject to the terms and conditions defined in
- * file 'LICENSE.txt', which is part of this source code package.
- */
-#pragma once
-
-#include "Metadata.h"
-
-class DB;
-
-class MamelistMetadata : Metadata
-{
-public:
- MamelistMetadata(DB &dbInstance);
- virtual ~MamelistMetadata();
- bool Import(std::string file, std::string collectionName);
-private:
- DB &DBInstance;
-};
diff --git a/RetroFE/Source/Database/MetadataDatabase.cpp b/RetroFE/Source/Database/MetadataDatabase.cpp
index 7cdb611..55c2149 100644
--- a/RetroFE/Source/Database/MetadataDatabase.cpp
+++ b/RetroFE/Source/Database/MetadataDatabase.cpp
@@ -18,7 +18,6 @@
#include "../Collection/Item.h"
#include "../Utility/Log.h"
#include "../Utility/Utils.h"
-#include "MamelistMetadata.h"
#include "Configuration.h"
#include "DB.h"
#include
@@ -83,8 +82,8 @@ bool MetadataDatabase::Initialize()
sql.append("year TEXT NOT NULL DEFAULT '',");
sql.append("manufacturer TEXT NOT NULL DEFAULT '',");
sql.append("cloneOf TEXT NOT NULL DEFAULT '',");
- sql.append("players INTEGER,");
- sql.append("buttons INTEGER);");
+ sql.append("players TEXT NOT NULL DEFAULT '',");
+ sql.append("buttons TEXT NOT NULL DEFAULT '');");
sql.append("CREATE UNIQUE INDEX IF NOT EXISTS MetaUniqueId ON Meta(collectionName, name);");
rc = sqlite3_exec(handle, sql.c_str(), NULL, 0, &error);
@@ -110,8 +109,10 @@ bool MetadataDatabase::ImportDirectory()
{
DIR *dp;
struct dirent *dirp;
- std::string metaPath = "Meta/Hyperlist";
- dp = opendir(metaPath.c_str());
+ std::string hyperListPath = "Meta/Hyperlist";
+ std::string mameListPath = "Meta/Mamelist";
+
+ dp = opendir(hyperListPath.c_str());
while((dirp = readdir(dp)) != NULL)
{
@@ -127,13 +128,39 @@ bool MetadataDatabase::ImportDirectory()
if(extension == ".xml")
{
- std::string importFile = Configuration::GetAbsolutePath() + "/" + metaPath + "/" + dirp->d_name;
+ std::string importFile = Configuration::GetAbsolutePath() + "/" + hyperListPath + "/" + dirp->d_name;
Logger::Write(Logger::ZONE_INFO, "Metadata", "Importing hyperlist: " + importFile);
+ Config.SetStatus("Scraping data from " + importFile);
ImportHyperList(importFile, collectionName);
}
}
}
+ dp = opendir(mameListPath.c_str());
+
+ while((dirp = readdir(dp)) != NULL)
+ {
+ if (dirp->d_type != DT_DIR && std::string(dirp->d_name) != "." && std::string(dirp->d_name) != "..")
+ {
+
+ std::string basename = dirp->d_name;
+
+ std::string extension = basename.substr(basename.find_last_of("."), basename.size()-1);
+ basename = basename.substr(0, basename.find_last_of("."));
+ std::string collectionName = basename.substr(0, basename.find_first_of("."));
+
+
+ if(extension == ".xml")
+ {
+ std::string importFile = Configuration::GetAbsolutePath() + "/" + mameListPath + "/" + dirp->d_name;
+ Logger::Write(Logger::ZONE_INFO, "Metadata", "Importing mamelist: " + importFile);
+ Config.SetStatus("Scraping data from " + importFile);
+ ImportMameList(importFile, collectionName);
+ }
+ }
+ }
+
+
return true;
}
@@ -175,8 +202,8 @@ void MetadataDatabase::InjectMetadata(CollectionInfo *collection)
std::string fullTitle = (char *)sqlite3_column_text(stmt, 1);
std::string year = (char *)sqlite3_column_text(stmt, 2);
std::string manufacturer = (char *)sqlite3_column_text(stmt, 3);
- int numberPlayers = (int)sqlite3_column_int(stmt, 4);
- int numberButtons = (int)sqlite3_column_int(stmt, 5);
+ std::string numberPlayers = (char *)sqlite3_column_text(stmt, 4);
+ std::string numberButtons = (char *)sqlite3_column_text(stmt, 5);
std::string cloneOf = (char *)sqlite3_column_text(stmt, 6);
std::string launcher;
std::string title = fullTitle;
@@ -342,3 +369,87 @@ bool MetadataDatabase::ImportHyperList(std::string hyperlistFile, std::string co
return retVal;
}
+bool MetadataDatabase::ImportMameList(std::string filename, std::string collectionName)
+{
+ bool retVal = true;
+ rapidxml::xml_document<> doc;
+ rapidxml::xml_node<> * rootNode;
+ char *error = NULL;
+ sqlite3 *handle = DBInstance.GetHandle();
+
+ Logger::Write(Logger::ZONE_INFO, "Mamelist", "Importing mamelist file \"" + filename + "\" (this will take a while)");
+ std::ifstream file(filename.c_str());
+
+ std::vector buffer((std::istreambuf_iterator(file)), std::istreambuf_iterator());
+
+ buffer.push_back('\0');
+
+ doc.parse<0>(&buffer[0]);
+
+ rootNode = doc.first_node("mame");
+
+ sqlite3_exec(handle, "BEGIN IMMEDIATE TRANSACTION;", NULL, NULL, &error);
+ for (rapidxml::xml_node<> * game = rootNode->first_node("game"); game; game = game->next_sibling())
+ {
+ rapidxml::xml_attribute<> *nameNode = game->first_attribute("name");
+ rapidxml::xml_attribute<> *cloneOfXml = game->first_attribute("cloneof");
+
+ if(nameNode != NULL)
+ {
+ std::string name = nameNode->value();
+ rapidxml::xml_node<> *descriptionNode = game->first_node("description");
+ rapidxml::xml_node<> *yearNode = game->first_node("year");
+ rapidxml::xml_node<> *manufacturerNode = game->first_node("manufacturer");
+ rapidxml::xml_node<> *inputNode = game->first_node("input");
+
+ std::string description = (descriptionNode == NULL) ? nameNode->value() : descriptionNode->value();
+ std::string year = (yearNode == NULL) ? "" : yearNode->value();
+ std::string manufacturer = (manufacturerNode == NULL) ? "" : manufacturerNode->value();
+ std::string cloneOf = (cloneOfXml == NULL) ? "" : cloneOfXml->value();
+ std::string players;
+ std::string buttons;
+
+ if(inputNode != NULL)
+ {
+ rapidxml::xml_attribute<> *playersAttribute = inputNode->first_attribute("players");
+ rapidxml::xml_attribute<> *buttonsAttribute = inputNode->first_attribute("buttons");
+
+ if(playersAttribute)
+ {
+ players = playersAttribute->value();
+ }
+
+ if(buttonsAttribute)
+ {
+ buttons = buttonsAttribute->value();
+ }
+
+ }
+
+ sqlite3_stmt *stmt;
+
+ sqlite3_prepare_v2(handle,
+ "INSERT OR REPLACE INTO Meta (name, title, year, manufacturer, players, buttons, cloneOf, collectionName) VALUES (?,?,?,?,?,?,?,?)",
+ -1, &stmt, 0);
+
+
+ sqlite3_bind_text(stmt, 1, name.c_str(), -1, SQLITE_TRANSIENT);
+ sqlite3_bind_text(stmt, 2, description.c_str(), -1, SQLITE_TRANSIENT);
+ sqlite3_bind_text(stmt, 3, year.c_str(), -1, SQLITE_TRANSIENT);
+ sqlite3_bind_text(stmt, 4, manufacturer.c_str(), -1, SQLITE_TRANSIENT);
+ sqlite3_bind_text(stmt, 5, players.c_str(), -1, SQLITE_TRANSIENT);
+ sqlite3_bind_text(stmt, 6, buttons.c_str(), -1, SQLITE_TRANSIENT);
+ sqlite3_bind_text(stmt, 7, cloneOf.c_str(), -1, SQLITE_TRANSIENT);
+ sqlite3_bind_text(stmt, 8, collectionName.c_str(), -1, SQLITE_TRANSIENT);
+
+ sqlite3_step(stmt);
+ sqlite3_finalize(stmt);
+ }
+ }
+
+ sqlite3_exec(handle, "COMMIT TRANSACTION;", NULL, NULL, &error);
+
+ return retVal;
+}
+
+
diff --git a/RetroFE/Source/Database/MetadataDatabase.h b/RetroFE/Source/Database/MetadataDatabase.h
index cb4f942..31c5ac0 100644
--- a/RetroFE/Source/Database/MetadataDatabase.h
+++ b/RetroFE/Source/Database/MetadataDatabase.h
@@ -22,6 +22,7 @@ public:
void InjectMetadata(CollectionInfo *collection);
bool ImportHyperList(std::string hyperlistFile, std::string collectionName);
+ bool ImportMameList(std::string filename, std::string collectionName);
private:
bool ImportDirectory();
diff --git a/RetroFE/Source/Graphics/PageBuilder.cpp b/RetroFE/Source/Graphics/PageBuilder.cpp
index 22b4805..18c6cd1 100644
--- a/RetroFE/Source/Graphics/PageBuilder.cpp
+++ b/RetroFE/Source/Graphics/PageBuilder.cpp
@@ -380,7 +380,7 @@ bool PageBuilder::BuildComponents(xml_node<> *layout, Page *page)
page->AddComponent(c);
}
}
-
+
for(xml_node<> *componentXml = layout->first_node("statusText"); componentXml; componentXml = componentXml->next_sibling("statusText"))
{
FC->LoadFont(Font, FontSize, FontColor);
diff --git a/RetroFE/Source/Main.cpp b/RetroFE/Source/Main.cpp
index 2c33411..57e7dd3 100644
--- a/RetroFE/Source/Main.cpp
+++ b/RetroFE/Source/Main.cpp
@@ -15,7 +15,6 @@
*/
#include "Database/Configuration.h"
-#include "Database/MamelistMetadata.h"
#include "Execute/Launcher.h"
#include "Utility/Log.h"
#include "Utility/Utils.h"
diff --git a/RetroFE/Source/RetroFE.cpp b/RetroFE/Source/RetroFE.cpp
index 02f9b14..4e0af24 100644
--- a/RetroFE/Source/RetroFE.cpp
+++ b/RetroFE/Source/RetroFE.cpp
@@ -498,7 +498,6 @@ Page *RetroFE::LoadSplashPage()
{
PageBuilder pb("Splash", "", Config, &FC);
Page * page = pb.BuildPage();
-// page->SetStatusText("foobar");
Config.SetCurrentCollection("");
page->SetCollection(new CollectionInfo("", "", "", "", ""));
page->Start();