[gnome-games/wip/exalm/rebrand: 99/124] playstation: Move into the app




commit c8aa56afb9c49de35166b4fcf4573f7cfa9f46e8
Author: Alexander Mikhaylenko <alexm gnome org>
Date:   Tue Mar 30 18:39:36 2021 +0500

    playstation: Move into the app

 meson_options.txt                                  |  1 -
 plugins/meson.build                                |  1 -
 plugins/playstation/data/meson.build               |  1 -
 plugins/playstation/data/playstation.plugin        |  6 ---
 plugins/playstation/meson.build                    |  2 -
 plugins/playstation/src/meson.build                | 44 ----------------------
 plugins/playstation/src/playstation-plugin.vala    | 26 -------------
 src/meson.build                                    | 12 +++++-
 src/platforms/platform-register.vala               | 10 +++++
 .../platforms/playstation}/disc-file-info.c        |  0
 .../platforms/playstation}/disc-file-info.h        |  0
 .../platforms/playstation}/disc-image-time.c       |  0
 .../platforms/playstation}/disc-image-time.h       |  0
 .../src => src/platforms/playstation}/disc-image.c |  0
 .../src => src/platforms/playstation}/disc-image.h |  0
 src/platforms/playstation/meson.build              | 17 +++++++++
 .../playstation}/playstation-disc-image.c          |  0
 .../platforms/playstation}/playstation-error.vala  |  0
 .../platforms/playstation}/playstation-header.vala |  0
 .../platforms/playstation}/playstation-parser.vala |  2 +-
 .../playstation}/playstation.gameinfo.xml.in       |  0
 .../playstation/playstation.gresource.xml          |  2 +-
 tools/update-gameinfo.sh                           |  2 +-
 23 files changed, 41 insertions(+), 85 deletions(-)
---
diff --git a/meson_options.txt b/meson_options.txt
index 29623095..f513dd9e 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -10,7 +10,6 @@ option (
 
 # Plugins
 # This must mirror the list in plugins/meson.build
-option ('playstation-plugin',   description: 'Support for PlayStation games',   type: 'boolean')
 option ('sega-cd-plugin',       description: 'Support for Sega CD games',       type: 'boolean')
 option ('sega-saturn-plugin',   description: 'Support for Sega Saturn games',   type: 'boolean')
 option ('steam-plugin',         description: 'Support for Steam games',         type: 'boolean')
diff --git a/plugins/meson.build b/plugins/meson.build
index 4089dbc4..1db92686 100644
--- a/plugins/meson.build
+++ b/plugins/meson.build
@@ -1,5 +1,4 @@
 plugins = [
-  'playstation',
   'sega-cd',
   'sega-saturn',
   'turbografx-cd',
diff --git a/src/meson.build b/src/meson.build
index a863e14f..2a7a6881 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -111,6 +111,14 @@ vala_sources = [
   'platforms/nintendo-ds/nintendo-ds-runner.vala',
   'platforms/nintendo-ds/nintendo-ds-snapshot.vala',
 
+  'platforms/playstation/disc-file-info.c',
+  'platforms/playstation/disc-image.c',
+  'platforms/playstation/disc-image-time.c',
+  'platforms/playstation/playstation-disc-image.c',
+  'platforms/playstation/playstation-error.vala',
+  'platforms/playstation/playstation-header.vala',
+  'platforms/playstation/playstation-parser.vala',
+
   'platforms/platform.vala',
   'platforms/platform-model.vala',
   'platforms/platform-register.vala',
@@ -204,6 +212,8 @@ vala_sources = [
   'main.vala',
 ]
 
+subdir('platforms/playstation')
+
 resources = gnome.compile_resources(
   'org.gnome.Games',
   'org.gnome.Games.gresource.xml',
@@ -237,7 +247,7 @@ dependencies = [
 
 gnome_games_exec = executable (
   'gnome-games',
-  vala_sources + resources,
+  vala_sources + resources + playstation_resources,
   dependencies: dependencies,
   vala_args: vala_args,
   c_args: c_args,
diff --git a/src/platforms/platform-register.vala b/src/platforms/platform-register.vala
index fac5b640..1969f9e3 100644
--- a/src/platforms/platform-register.vala
+++ b/src/platforms/platform-register.vala
@@ -230,6 +230,16 @@ private class Games.PlatformRegister : Object {
                );
                add_platform (platform);
 
+               platform = new Platform.with_mime_types (
+                       "PlayStation",
+                       _("PlayStation"),
+                       { "application/x-cue" },
+                       "application/x-playstation-rom",
+                       "playstation"
+               );
+               platform.parser_type = typeof (PlayStationParser);
+               add_platform (platform);
+
                platform = new Platform (
                        "Sega32X",
                        /* translators: known as "Mega Drive 32X", "Mega 32X" or "Super 32X" in other places 
*/
diff --git a/plugins/playstation/src/disc-file-info.c b/src/platforms/playstation/disc-file-info.c
similarity index 100%
rename from plugins/playstation/src/disc-file-info.c
rename to src/platforms/playstation/disc-file-info.c
diff --git a/plugins/playstation/src/disc-file-info.h b/src/platforms/playstation/disc-file-info.h
similarity index 100%
rename from plugins/playstation/src/disc-file-info.h
rename to src/platforms/playstation/disc-file-info.h
diff --git a/plugins/playstation/src/disc-image-time.c b/src/platforms/playstation/disc-image-time.c
similarity index 100%
rename from plugins/playstation/src/disc-image-time.c
rename to src/platforms/playstation/disc-image-time.c
diff --git a/plugins/playstation/src/disc-image-time.h b/src/platforms/playstation/disc-image-time.h
similarity index 100%
rename from plugins/playstation/src/disc-image-time.h
rename to src/platforms/playstation/disc-image-time.h
diff --git a/plugins/playstation/src/disc-image.c b/src/platforms/playstation/disc-image.c
similarity index 100%
rename from plugins/playstation/src/disc-image.c
rename to src/platforms/playstation/disc-image.c
diff --git a/plugins/playstation/src/disc-image.h b/src/platforms/playstation/disc-image.h
similarity index 100%
rename from plugins/playstation/src/disc-image.h
rename to src/platforms/playstation/disc-image.h
diff --git a/src/platforms/playstation/meson.build b/src/platforms/playstation/meson.build
new file mode 100644
index 00000000..c856e666
--- /dev/null
+++ b/src/platforms/playstation/meson.build
@@ -0,0 +1,17 @@
+sed = find_program ('sed')
+
+# TODO Game titles in the gameinfo file are meant to be localized
+playstation_gameinfo = custom_target (
+  'playstation.gameinfo.xml',
+  output: 'playstation.gameinfo.xml',
+  input: 'playstation.gameinfo.xml.in',
+  command: [sed, '-e', 's|<_title>|<title>|g;s|</_title>|</title>|g', '@INPUT@'],
+  capture: true
+)
+
+playstation_resources = gnome.compile_resources(
+  'playstation',
+  'playstation.gresource.xml',
+  dependencies: playstation_gameinfo,
+  c_name: 'playstation_resources'
+)
diff --git a/plugins/playstation/src/playstation-disc-image.c 
b/src/platforms/playstation/playstation-disc-image.c
similarity index 100%
rename from plugins/playstation/src/playstation-disc-image.c
rename to src/platforms/playstation/playstation-disc-image.c
diff --git a/plugins/playstation/src/playstation-error.vala b/src/platforms/playstation/playstation-error.vala
similarity index 100%
rename from plugins/playstation/src/playstation-error.vala
rename to src/platforms/playstation/playstation-error.vala
diff --git a/plugins/playstation/src/playstation-header.vala 
b/src/platforms/playstation/playstation-header.vala
similarity index 100%
rename from plugins/playstation/src/playstation-header.vala
rename to src/platforms/playstation/playstation-header.vala
diff --git a/plugins/playstation/src/playstation-parser.vala 
b/src/platforms/playstation/playstation-parser.vala
similarity index 98%
rename from plugins/playstation/src/playstation-parser.vala
rename to src/platforms/playstation/playstation-parser.vala
index 5a388cc2..8be66779 100644
--- a/plugins/playstation/src/playstation-parser.vala
+++ b/src/platforms/playstation/playstation-parser.vala
@@ -4,7 +4,7 @@
 public class Games.PlayStationParser : GameParser {
        private const string CUE_MIME_TYPE = "application/x-cue";
        private const string ICON_NAME = "media-optical-symbolic";
-       private const string GAMEINFO = 
"resource:///org/gnome/Games/plugin/playstation/playstation.gameinfo.xml";
+       private const string GAMEINFO = 
"resource:///org/gnome/Games/platforms/playstation/playstation.gameinfo.xml";
 
        private static GameinfoDoc gameinfo;
        private string uid;
diff --git a/plugins/playstation/src/playstation.gameinfo.xml.in 
b/src/platforms/playstation/playstation.gameinfo.xml.in
similarity index 100%
rename from plugins/playstation/src/playstation.gameinfo.xml.in
rename to src/platforms/playstation/playstation.gameinfo.xml.in
diff --git a/plugins/playstation/src/org.gnome.Games.plugin.playstation.gresource.xml 
b/src/platforms/playstation/playstation.gresource.xml
similarity index 71%
rename from plugins/playstation/src/org.gnome.Games.plugin.playstation.gresource.xml
rename to src/platforms/playstation/playstation.gresource.xml
index e92da81f..c84ddbb5 100644
--- a/plugins/playstation/src/org.gnome.Games.plugin.playstation.gresource.xml
+++ b/src/platforms/playstation/playstation.gresource.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <gresources>
-  <gresource prefix="/org/gnome/Games/plugin/playstation">
+  <gresource prefix="/org/gnome/Games/platforms/playstation">
     <file preprocess="xml-stripblanks">playstation.gameinfo.xml</file>
   </gresource>
 </gresources>
diff --git a/tools/update-gameinfo.sh b/tools/update-gameinfo.sh
index 6ecb710b..965dce5f 100755
--- a/tools/update-gameinfo.sh
+++ b/tools/update-gameinfo.sh
@@ -1,7 +1,7 @@
 #!/bin/bash
 
 TMP_GAMEINFO_DOC='gameinfo/out/playstation.gameinfo.xml.in.tmp'
-GAMEINFO_DOC='../plugins/playstation/src/playstation.gameinfo.xml.in'
+GAMEINFO_DOC='../src/platforms/playstation/playstation.gameinfo.xml.in'
 
 gameinfo/psxdatacenter-gameinfo.py
 # Sort the existing document before merging the already sorted newly generated


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]