[gnome-games] master-system: Support SG-1000 games
- From: Adrien Plazas <aplazas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-games] master-system: Support SG-1000 games
- Date: Wed, 3 Aug 2016 14:53:13 +0000 (UTC)
commit 4898548f432efe4f41f2837eb96f74051ef70fd4
Author: Adrien Plazas <kekun plazas laposte net>
Date: Wed Aug 3 16:40:30 2016 +0200
master-system: Support SG-1000 games
The SG-1000 MIME type have been discriminated from the Master System
one, hence we need to explicitly look for SG-1000 games.
https://bugzilla.gnome.org/show_bug.cgi?id=769472
.../master-system/src/master-system-plugin.vala | 16 ++++++++++++++++
1 files changed, 16 insertions(+), 0 deletions(-)
---
diff --git a/plugins/master-system/src/master-system-plugin.vala
b/plugins/master-system/src/master-system-plugin.vala
index 6d05664..700d28d 100644
--- a/plugins/master-system/src/master-system-plugin.vala
+++ b/plugins/master-system/src/master-system-plugin.vala
@@ -7,16 +7,21 @@ private class Games.MasterSystemPlugin : Object, Plugin {
private const string GAME_GEAR_PREFIX = "game-gear";
private const string GAME_GEAR_MIME_TYPE = "application/x-gamegear-rom";
+ private const string SG_1000_PREFIX = "sg-1000";
+ private const string SG_1000_MIME_TYPE = "application/x-sg1000-rom";
+
private const string MODULE_BASENAME = "libretro-master-system.so";
private const bool SUPPORTS_SNAPSHOTTING = true;
public GameSource get_game_source () throws Error {
var master_system_query = new MimeTypeTrackerQuery (MASTER_SYSTEM_MIME_TYPE, game_for_uri);
var game_gear_query = new MimeTypeTrackerQuery (GAME_GEAR_MIME_TYPE, game_for_uri);
+ var sg_1000_query = new MimeTypeTrackerQuery (GAME_GEAR_MIME_TYPE, sg_1000_game_for_uri);
var connection = Tracker.Sparql.Connection.@get ();
var source = new TrackerGameSource (connection);
source.add_query (master_system_query);
source.add_query (game_gear_query);
+ source.add_query (sg_1000_query);
return source;
}
@@ -48,6 +53,17 @@ private class Games.MasterSystemPlugin : Object, Plugin {
return new GenericGame (title, icon, cover, runner);
}
+
+ private static Game sg_1000_game_for_uri (string uri) throws Error {
+ var uid = new FingerprintUid (uri, SG_1000_PREFIX);
+ var title = new FilenameTitle (uri);
+ var icon = new DummyIcon ();
+ var media = new GriloMedia (title, SG_1000_MIME_TYPE);
+ var cover = new GriloCover (media, uid);
+ var runner = new RetroRunner (MODULE_BASENAME, uri, uid, SUPPORTS_SNAPSHOTTING);
+
+ return new GenericGame (title, icon, cover, runner);
+ }
}
[ModuleInit]
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]